EEGdashNeMARNM000149
Iss. 149 · 10 subjects · 90 recordings · CC-BY-4.0
Dataset Brief · BNCI 2019-001 Motor Imagery dataset for Spinal Cord Injury pa…

NM000149: eeg dataset, 10 subjects#

BNCI 2019-001 Motor Imagery dataset for Spinal Cord Injury patients

Citation: Patrick Ofner, Andreas Schwarz, Joana Pereira, Daniela Wyss, Renate Wildburger, Gernot R. Müller-Putz (2019). BNCI 2019-001 Motor Imagery dataset for Spinal Cord Injury patients. 10.82901/nemar.nm000149

10-participant EEG dataset — BNCI 2019-001 Motor Imagery dataset for Spinal Cord Injury patients.

EEG · 61 ch256 HzBIDS 1.9.0Task · imageryOtherVisualMotor
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 NM000149

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

Filter by subject

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

Advanced query

dataset = NM000149(
    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{nm000149,
  title = {BNCI 2019-001 Motor Imagery dataset for Spinal Cord Injury patients},
  author = {Patrick Ofner and Andreas Schwarz and Joana Pereira and Daniela Wyss and Renate Wildburger and Gernot R. Müller-Putz},
  doi = {10.82901/nemar.nm000149},
  url = {https://doi.org/10.82901/nemar.nm000149},
}
§ 02Study · The README

About This Dataset#

BNCI 2019-001 Motor Imagery dataset for Spinal Cord Injury patients.

Schema: HED 8.4.0 | Browse: https://www.hedtags.org/hed-schema-browser

DOI

BNCI 2019-001 Motor Imagery dataset for Spinal Cord Injury patients

supination

View full README

DOI

BNCI 2019-001 Motor Imagery dataset for Spinal Cord Injury patients

supination
     ├─ Sensory-event, Experimental-stimulus, Visual-presentation
     └─ Agent-action
        └─ Imagine
           ├─ Turn
           ├─ Forearm
           └─ Label/supination

pronation
     ├─ Sensory-event, Experimental-stimulus, Visual-presentation
     └─ Agent-action
        └─ Imagine
           ├─ Turn
           ├─ Forearm
           └─ Label/pronation

hand_open
     ├─ Sensory-event, Experimental-stimulus, Visual-presentation
     └─ Agent-action
        └─ Imagine, Open, Hand

palmar_grasp
     ├─ Sensory-event, Experimental-stimulus, Visual-presentation
     └─ Agent-action
        └─ Imagine, Grasp, Hand

lateral_grasp
├─ Sensory-event, Experimental-stimulus, Visual-presentation
└─ Agent-action
   └─ Imagine
      ├─ Grasp
      ├─ Hand
      └─ Label/lateral

Paradigm-Specific Parameters

  • Detected paradigm: motor_imagery

  • Imagery tasks: hand_open, palmar_grasp, lateral_grasp, pronation, supination

  • Cue duration: 3.0 s

  • Imagery duration: 3.0 s

Data Structure

  • Trials: 360

  • Trials per class: hand_open=72, palmar_grasp=72, lateral_grasp=72, pronation=72, supination=72

  • Blocks per session: 9

  • Trials context: total per subject (72 trials per class)

Preprocessing

  • Data state: raw (GDF format)

  • Preprocessing applied: True

  • Steps: bandpass filter, notch filter, ICA, artifact rejection

  • Highpass filter: 0.01 Hz

  • Lowpass filter: 100 Hz

  • Bandpass filter: {‘low_cutoff_hz’: 0.01, ‘high_cutoff_hz’: 100.0}

  • Notch filter: [50] Hz

  • Filter type: Chebyshev

  • Filter order: 8

  • Artifact methods: ICA, visual inspection, abnormal joint probability, abnormal kurtosis

  • Re-reference: CAR

  • Notes: Noisy channels were visually inspected and removed. AFz was removed by default as it is sensitive to eye blinks and eye movements. ICA was performed on 0.3-70 Hz filtered signals using extended infomax. PCA dimensionality reduction retained 99% variance. Artifact-contaminated ICs (muscle and eye-related) were removed. Trials with values above/below ±100 μV, abnormal joint probabilities, or abnormal kurtosis (5x SD threshold) were rejected. Final analysis used 0.3-3 Hz bandpass filter.

Signal Processing

  • Classifiers: Shrinkage LDA, sLDA

  • Feature extraction: time-domain low-frequency signals, MRCPs, ICA

  • Frequency bands: analyzed=[0.3, 3.0] Hz

  • Spatial filters: CAR

Cross-Validation

  • Method: 10x10-fold

  • Folds: 10

  • Evaluation type: within_subject, cross_validation

Performance (Original Study)

  • Accuracy: 45.3%

  • Peak Accuracy 5Class: 45.3

  • Peak Latency 5Class S: 1.1

  • Confidence Interval Lower: 40.3

  • Confidence Interval Upper: 50.3

  • Chance Level 5Class: 20.0

  • Significance Level 5Class: 22.3

  • Peak Accuracy 3Class Subset: 53.0

  • Peak Latency 3Class Subset S: 1.0

  • Online Accuracy 2Class: 68.4

  • Online Tpr: 31.75

  • Online Fp Per Min: 3.4

BCI Application

  • Applications: neuroprosthetic, upper_limb_control, hand_grasp_control

  • Environment: indoor

  • Online feedback: True

Tags

  • Pathology: Spinal Cord Injury

  • Modality: Motor

  • Type: Motor

Documentation

  • Description: This dataset investigates whether attempted arm and hand movements in persons with spinal cord injury can be decoded from low-frequency EEG signals (MRCPs). The study includes offline 5-class classification and online proof-of-concept for self-paced movement detection.

  • DOI: 10.1038/s41598-019-43594-9

  • Associated paper DOI: 10.1038/s41598-019-43594-9

  • License: CC-BY-4.0

  • Investigators: Patrick Ofner, Andreas Schwarz, Joana Pereira, Daniela Wyss, Renate Wildburger, Gernot R. Müller-Putz

  • Senior author: Gernot R. Müller-Putz

  • Contact: gernot.mueller@tugraz.at

  • Institution: Graz University of Technology

  • Department: Institute of Neural Engineering, BCI-Lab

  • Address: Graz, Austria

  • Country: Austria

  • Repository: Zenodo

  • Data URL: https://doi.org/10.5281/zenodo.2222268

  • Publication year: 2019

  • Funding: European ICT Programme Project H2020-643955 ‘MoreGrasp’

  • Ethics approval: Ethics committee for the hospitals of the Austrian general accident insurance institution AUVA (approval number 3/2017)

  • Acknowledgements: This work is supported by the European ICT Programme Project H2020-643955 ‘MoreGrasp’.

Abstract

We show that persons with spinal cord injury (SCI) retain decodable neural correlates of attempted arm and hand movements. We investigated hand open, palmar grasp, lateral grasp, pronation, and supination in 10 persons with cervical SCI. Discriminative movement information was provided by the time-domain of low-frequency electroencephalography (EEG) signals. Based on these signals, we obtained a maximum average classification accuracy of 45% (chance level was 20%) with respect to the five investigated classes. Pattern analysis indicates central motor areas as the origin of the discriminative signals. Furthermore, we introduce a proof-of-concept to classify movement attempts online in a closed loop, and tested it on a person with cervical SCI. We achieved here a modest classification performance of 68.4% with respect to palmar grasp vs hand open (chance level 50%).

Methodology

10 participants with cervical SCI were recruited from a rehabilitation center (AUVA rehabilitation clinic, Tobelbad, Austria). Participants were aged 20-78 years with neurological level of injury C1-C7 and AIS scores A-D. They sat in wheelchairs and attempted/executed movements based on visual cues shown on screen. Each trial lasted 5 seconds with a fixation cross and beep at start, class cue displayed at 2 seconds. 9 runs with 40 trials per run were recorded (360 trials total, 72 per class). EEG was recorded from 61 electrodes using g.tec g.USBamps and g.GAMMAsys/g.LADYbird active electrode system at 256 Hz with 0.01-100 Hz bandpass and 50 Hz notch filter. Preprocessing included visual inspection, ICA artifact removal, trial rejection, and 0.3-3 Hz bandpass filtering. Classification used shrinkage LDA with 10x10 cross-validation. Online proof-of-concept used modified training paradigm with ready/go cues and 3-class classifier (hand open, palmar grasp, rest) with pre/post class detection logic.

References

Ofner, P. et al. (2019). Attempted arm and hand movements can be decoded from low-frequency EEG from persons with spinal cord injury. Scientific Reports, 9(1), 7134. https://doi.org/10.1038/s41598-019-43594-9 Notes .. versionadded:: 1.2.0 Appelhoff, S., Sanderson, M., Brooks, T., Vliet, M., Quentin, R., Holdgraf, C., Chaumon, M., Mikulan, E., Tavabi, K., Hochenberger, R., Welke, D., Brunner, C., Rockhill, A., Larson, E., Gramfort, A. and Jas, M. (2019). MNE-BIDS: Organizing electrophysiological data into the BIDS format and facilitating their analysis. Journal of Open Source Software 4: (1896). https://doi.org/10.21105/joss.01896 Pernet, C. R., Appelhoff, S., Gorgolewski, K. J., Flandin, G., Phillips, C., Delorme, A., Oostenveld, R. (2019). EEG-BIDS, an extension to the brain imaging data structure for electroencephalography. Scientific Data, 6, 103. https://doi.org/10.1038/s41597-019-0104-8 Generated by MOABB 1.5.0 (Mother of All BCI Benchmarks) NeuroTechX/moabb

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Age distribution by gender (n=10, range 2018–2018 yr)

2015
Other · 10

Channel counts: 61 ch (n=90 recordings)

Sampling frequencies: 256.0 Hz (n=90 recordings)

Total recording duration: 7 h 32 min

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 61 ch · EEG · 256 Hz · 10 subjects, 90 recordings
Live trace viewer — sub-6 · ses-0 · task-imagery · run-3

Showing one representative recording out of 10 subjects and 90 recordings in this dataset. Browse the full set on OpenNeuro; drop any other _eeg.{set,edf,bdf,vhdr} file onto the viewer (or pass ?eeg=<url>) to inspect it.

Electrode layout — EEG · 61 sensors — 61 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 — NM000149
§ 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

NM000149

Title

BNCI 2019-001 Motor Imagery dataset for Spinal Cord Injury patients

Author (year)

Ofner2019

Canonical

Importable as

NM000149, Ofner2019

Year

2019

Authors

Patrick Ofner, Andreas Schwarz, Joana Pereira, Daniela Wyss, Renate Wildburger, Gernot R. Müller-Putz

License

CC-BY-4.0

Citation / DOI

10.82901/nemar.nm000149

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{nm000149,
  title = {BNCI 2019-001 Motor Imagery dataset for Spinal Cord Injury patients},
  author = {Patrick Ofner and Andreas Schwarz and Joana Pereira and Daniela Wyss and Renate Wildburger and Gernot R. Müller-Putz},
  doi = {10.82901/nemar.nm000149},
  url = {https://doi.org/10.82901/nemar.nm000149},
}
§ 06API · Programmatic access

API Reference#

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

BNCI 2019-001 Motor Imagery dataset for Spinal Cord Injury patients

Study:

nm000149 (NeMAR)

Author (year):

Ofner2019

Canonical:

Also importable as: NM000149, Ofner2019.

Modality: eeg; Experiment type: Motor; Subject type: Other. Subjects: 10; recordings: 90; 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/nm000149 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=nm000149 DOI: https://doi.org/10.82901/nemar.nm000149

Examples

>>> from eegdash.dataset import NM000149
>>> dataset = NM000149(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 descriptorNM000149.croissant.json (MLCommons schema, ingestible by PyTorch / TensorFlow / JAX).mlcommons
Examples using EEGDashcurated · start here

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

Citation

Patrick Ofner, Andreas Schwarz, Joana Pereira, Daniela Wyss, Renate Wildburger, … (2019). BNCI 2019-001 Motor Imagery dataset for Spinal Cord Injury patients. 10.82901/nemar.nm000149

Provenance

¹Contributed to nemar in BIDS format.

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

³Persistent identifier: 10.82901/nemar.nm000149.

BIDS
BIDS 1.9.0
Sidecars
events · events.json · channels · eeg.json
Provenance
Machine-readable
Mirrors

See Also#