NM000149: eeg dataset, 10 subjects#

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

Access recordings and metadata through EEGDash.

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.

Modality: eeg Subjects: 10 Recordings: 90 License: CC-BY-4.0 Source: nemar

Metadata: Complete (90%)

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},
}

About This Dataset#

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

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

Dataset Overview

  • Code: BNCI2019-001

  • Paradigm: imagery

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

View full README

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

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

Dataset Overview

  • Code: BNCI2019-001

  • Paradigm: imagery

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

  • Subjects: 10

  • Sessions per subject: 1

  • Events: supination=776, pronation=777, hand_open=779, palmar_grasp=925, lateral_grasp=926

  • Trial interval: [2, 5] s

  • Runs per session: 9

  • File format: GDF

  • Contributing labs: Graz University of Technology Institute of Neural Engineering BCI-Lab, AUVA rehabilitation clinic Tobelbad

Acquisition

  • Sampling rate: 256.0 Hz

  • Number of channels: 61

  • Channel types: eeg=61, eog=3

  • Channel names: AFz, C1, C2, C3, C4, C5, C6, CCP1h, CCP2h, CCP3h, CCP4h, CCP5h, CCP6h, CP1, CP2, CP3, CP4, CP5, CP6, CPP1h, CPP2h, CPP3h, CPP4h, CPP5h, CPP6h, CPz, Cz, F1, F2, F3, F4, FC1, FC2, FC3, FC4, FC5, FC6, FCC1h, FCC2h, FCC3h, FCC4h, FCC5h, FCC6h, FCz, FFC1h, FFC2h, FFC3h, FFC4h, FFC5h, FFC6h, Fz, P1, P2, P3, P4, P5, P6, POz, PPO1h, PPO2h, Pz, eog-l, eog-m, eog-r

  • Montage: 10-5

  • Hardware: g.tec

  • Software: EEGlab 14.1.1b

  • Reference: left earlobe

  • Ground: AFF2h

  • Sensor type: active electrode

  • Line frequency: 50.0 Hz

  • Online filters: 50 Hz notch, 0.01-100 Hz bandpass

  • Cap manufacturer: g.tec medical engineering GmbH

  • Cap model: g.GAMMAsys/g.LADYbird

  • Electrode type: active electrode

  • Auxiliary channels: EOG (3 ch, above nasion, below outer canthi left, below outer canthi right)

Participants

  • Number of subjects: 10

  • Health status: patients

  • Clinical population: spinal cord injury

  • Age: mean=49.8, min=20, max=78

  • Gender distribution: male=9, female=1

  • Handedness: right-handed (all participants originally)

  • Species: human

Experimental Protocol

  • Paradigm: imagery

  • Task type: attempted movement

  • Number of classes: 5

  • Class labels: supination, pronation, hand_open, palmar_grasp, lateral_grasp

  • Trial duration: 5.0 s

  • Tasks: hand_open, palmar_grasp, lateral_grasp, pronation, supination

  • Study design: motor imagery and attempted movements

  • Feedback type: visual feedback (online paradigm only - movement icon displayed when movement detected)

  • Stimulus type: visual cue

  • Stimulus modalities: visual, auditory

  • Primary modality: visual

  • Synchronicity: synchronous

  • Mode: both

  • Training/test split: True

  • Instructions: Participants were instructed to attempt or execute movements based on class cue displayed on screen. They were asked to focus gaze on fixation cross, avoid eye movements, swallowing, and blinking during trial period.

HED Event Annotations

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

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) https://github.com/NeuroTechX/moabb

Dataset Information#

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

Unknown

Source links

OpenNeuro | NeMAR | Source URL

Found an issue with this dataset?

If you encounter any problems with this dataset (missing files, incorrect metadata, loading errors, etc.), please let us know!

Report an Issue on GitHub

Technical Details#

Subjects & recordings
  • Subjects: 10

  • Recordings: 90

  • Tasks: 1

Channels & sampling rate
  • Channels: 61

  • Sampling rate (Hz): 256.0

  • Duration (hours): 7.536291232638889

Tags
  • Pathology: Other

  • Modality: Visual

  • Type: Motor

Files & format
  • Size on disk: 1.2 GB

  • File count: 90

  • Format: BIDS

License & citation
  • License: CC-BY-4.0

  • DOI: —

Provenance

API Reference#

Use the NM000149 class to access this dataset programmatically.

class eegdash.dataset.NM000149(cache_dir: str, query: dict | None = None, s3_bucket: str | None = None, **kwargs)[source]#

Bases: EEGDashDataset

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

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, overwrite=False)[source]#

Save the dataset to disk.

Parameters:
  • path (str or Path) – Destination file path.

  • overwrite (bool, default False) – If True, overwrite existing file.

Return type:

None

See Also#