EEGdashNeMARNM000175
Iss. 175 · 5 subjects · 5 recordings · CC0
Dataset Brief · fNIRS Finger Tapping

NM000175: fnirs dataset, 5 subjects#

fNIRS Finger Tapping

Citation: Robert Luke, Eric Larson, Alexandre Gramfort, Macquarie University (—). fNIRS Finger Tapping.

5-participant fNIRS dataset — fNIRS Finger Tapping.

fNIRS · 56 ch8 HzBIDS 1.9.0Task · tapping
Layer 01Study
What was asked
Hypothesis, independent & dependent variables, paradigm, cohort, and the editorial caveats around what the recordings can and cannot answer.
Layer 02Signal · BIDS
What was recorded
Sidecars, channels & electrodes, coordinate system, event semantics, and quality stats from the NEMAR pipeline when available.
Layer 03Training · ML
What you can train on
Recommended access modes — MNE Raw, braindecode windows, PyTorch DataLoader — plus the targets the metadata makes addressable.
§ 01Access · Get started

Quickstart#

Install

pip install eegdash

Access the data

from eegdash.dataset import NM000175

dataset = NM000175(cache_dir="./data")
# Get the raw object of the first recording
raw = dataset.datasets[0].raw
print(raw.info)

Filter by subject

dataset = NM000175(cache_dir="./data", subject="01")

Advanced query

dataset = NM000175(
    cache_dir="./data",
    query={"subject": {"$in": ["01", "02"]}},
)

Iterate recordings

for rec in dataset:
    print(rec.subject, rec.raw.info['sfreq'])

If you use this dataset in your research, please cite the original authors.

BibTeX

@dataset{nm000175,
  title = {fNIRS Finger Tapping},
  author = {Robert Luke and Eric Larson and Alexandre Gramfort and Macquarie University},
}
§ 02Study · The README

About This Dataset#

Example fNIRS dataset that is formated according to the BIDS specification.

This repository provides an example dataset demonstrating how a BIDS dataset should be stored.

And also demonstrates how to convert measurements obtained using a NIRx device to BIDS using MNE-BIDS (see branches below for script details).

BIDS fNIRS Example Dataset

DOI The fNIRS BIDS specification is a work in progress. Expect changes while the BEP is in developement.

Experiment Description

This experiment examines how the motor cortex is activated during a finger tapping task.

Participants are asked to either tap their left thumb to fingers, tap their right thumb to fingers, or nothing (control).

View full README

BIDS fNIRS Example Dataset

DOI The fNIRS BIDS specification is a work in progress. Expect changes while the BEP is in developement.

Experiment Description

This experiment examines how the motor cortex is activated during a finger tapping task.

Participants are asked to either tap their left thumb to fingers, tap their right thumb to fingers, or nothing (control). Tapping lasts for 5 seconds as is propted by an auditory cue.

Sensors are placed over the motor cortex as described in the montage section in the link below, short channels are attached to the scalp too. Further details about the experiment (including presentation code) can be found at rob-luke/experiment-fNIRS-tapping

Data Description

The dataset contains measurements from 5 participants. All details have been anonymised by hand in the raw data. Alternatively the anonymise argument could be used when writing the BIDS dataset.

How to use this repository

I have used branches in this repository to describe the steps taken to convert this data to the BIDS format.

Using the GitHub interface you can select the branch you wish to view. The branches are… * 00-Raw-data: Contains just the raw recordings * 01-Raw-to-SNIRF: Converts the original data to snirf, but not BIDS. * 02-Raw-to-BIDS: Converts the original data to BIDS (or as close as can be automated, before manual editing and movement to master). * master: Dataset in BIDS format.

Branches 00 and 01 are only included for interested researchers. To generate the data in master use branch 02, then remove the sourcedata directory and manually enter the author in to dataset_description.json.

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Age distribution (n=5, range 20–53 yr, mean 33.0 yr · sex per subject not reported)

20253050

Sex composition

5
subjects
Female
3
Male
2
F : M ratio
1.50 : 1
60% female · n = 5 subjects with reported sex.

Channel counts: 56 ch (n=5 recordings)

Sampling frequencies: 7.8125 Hz (n=5 recordings)

Total recording duration: 3 h 48 min

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 56 ch · fNIRS · 8 Hz · 5 subjects, 5 recordings
Electrode layout — fNIRS · 24 sensors — 24 channels

NEMAR Processing Statistics#

The plots below are generated by NEMAR’s automated EEG pipeline. The histogram shows pipeline success for data cleaning and ICA decomposition, the percentage of data frames and EEG channels retained after artefact removal, line noise per channel (RMS, dB), and the age/gender distribution of participants.

HED event descriptors word cloud HED event descriptors word cloud — NM000175
§ 05Manifest · BIDS tree

Manifest#

File Explorer#

Browse the BIDS file structure of this dataset. Records are fetched on demand from the EEGDash catalog the first time you open the explorer.

Recordings
Files
Subjects
Modalities
Click to load file structure…
Full dataset metadata table

Dataset ID

NM000175

Title

fNIRS Finger Tapping

Author (year)

Luke2024

Canonical

Importable as

NM000175, Luke2024

Year

Authors

Robert Luke, Eric Larson, Alexandre Gramfort, Macquarie University

License

CC0

Citation / DOI

Unknown

Source links

OpenNeuro | NeMAR | Source URL

§ 06API · Programmatic access

API Reference#

Signature
eegdash.dataset
class
eegdash.dataset.NM000175(cache_dir, query=None, s3_bucket=None, **kwargs)
Bases: EEGDashDataset
Author (year)Luke2024
Canonical
Importable asNM000175 · Luke2024
Sourceeegdash/dataset/registry.py · [source ↗]
class eegdash.dataset.NM000175(cache_dir: str, query: dict | None = None, s3_bucket: str | None = None, **kwargs)[source]#

fNIRS Finger Tapping

Study:

nm000175 (NeMAR)

Author (year):

Luke2024

Canonical:

Also importable as: NM000175, Luke2024.

Modality: fnirs. Subjects: 5; recordings: 5; tasks: 1.

Parameters:
  • cache_dir (str | Path) – Directory where data are cached locally.

  • query (dict | None) – Additional MongoDB-style filters to AND with the dataset selection. Must not contain the key dataset.

  • s3_bucket (str | None) – Base S3 bucket used to locate the data.

  • **kwargs (dict) – Additional keyword arguments forwarded to EEGDashDataset.

data_dir#

Local dataset cache directory (cache_dir / dataset_id).

Type:

Path

query#

Merged query with the dataset filter applied.

Type:

dict

records#

Metadata records used to build the dataset, if pre-fetched.

Type:

list[dict] | None

Notes

Each item is a recording; recording-level metadata are available via dataset.description. query supports MongoDB-style filters on fields in ALLOWED_QUERY_FIELDS and is combined with the dataset filter. Dataset-specific caveats are not provided in the summary metadata.

References

OpenNeuro dataset: https://openneuro.org/datasets/nm000175 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=nm000175

Examples

>>> from eegdash.dataset import NM000175
>>> dataset = NM000175(cache_dir="./data")
>>> recording = dataset[0]
>>> raw = recording.load()
__init__(cache_dir: str, query: dict | None = None, s3_bucket: str | None = None, **kwargs)[source]#
save(path: str, overwrite: bool = False, offset: int = 0)[source]#

Save datasets to files by creating one subdirectory for each dataset:

path/
    0/
        0-raw.fif | 0-epo.fif
        description.json
        raw_preproc_kwargs.json (if raws were preprocessed)
        window_kwargs.json (if this is a windowed dataset)
        window_preproc_kwargs.json  (if windows were preprocessed)
        target_name.json (if target_name is not None and dataset is raw)
    1/
        1-raw.fif | 1-epo.fif
        description.json
        raw_preproc_kwargs.json (if raws were preprocessed)
        window_kwargs.json (if this is a windowed dataset)
        window_preproc_kwargs.json  (if windows were preprocessed)
        target_name.json (if target_name is not None and dataset is raw)
Parameters:
  • path (str) –

    Directory in which subdirectories are created to store

    -raw.fif | -epo.fif and .json files to.

  • overwrite (bool) – Whether to delete old subdirectories that will be saved to in this call.

  • offset (int) – If provided, the integer is added to the id of the dataset in the concat. This is useful in the setting of very large datasets, where one dataset has to be processed and saved at a time to account for its original position.

Access modesMNE → braindecode → PyTorch → ML
.rawMNE Raw object — standard tools (filter, epoch, ICA, plot_psd).mne
DataLoaderWraps the windowed dataset into a PyTorch DataLoader; supports parallel workers and on-the-fly augmentations.pytorch
Zarr cacheOptional braindecode Zarr mirror for fast resume; persisted to cache_dir.zarr
Hugging FaceNo per-dataset mirror published yet — browse the EEGDash org listing for sibling datasets. See the datasets loader API.huggingface
Croissant 1.0Machine-readable JSON-LD descriptorNM000175.croissant.json (MLCommons schema, ingestible by PyTorch / TensorFlow / JAX).mlcommons
Examples using EEGDashcurated · start here

Swap any load_dataset(...) call for nm000175 to reproduce the tutorial on this dataset.

Citation

Robert Luke, Eric Larson, Alexandre Gramfort, Macquarie University (n.d.). fNIRS Finger Tapping.

Provenance

¹Contributed to nemar in BIDS format.

²Curated & ingested by the EEGDash catalog; see CITATION.cff for canonical reference.

BIDS
BIDS 1.9.0
Sidecars
events · channels · coordsystem
Provenance
CC0 · DOI not on file
Machine-readable
Mirrors

See Also#