NM000161: eeg dataset, 20 subjects#
BNCI 2024-001 Handwritten Character Classification dataset
Citation: Markus R. Crell, Gernot R. Müller-Putz (2024). BNCI 2024-001 Handwritten Character Classification dataset. 10.82901/nemar.nm000161
20-participant EEG dataset — BNCI 2024-001 Handwritten Character Classification dataset.
Quickstart#
Install
pip install eegdash
Access the data
from eegdash.dataset import NM000161
dataset = NM000161(cache_dir="./data")
# Get the raw object of the first recording
raw = dataset.datasets[0].raw
print(raw.info)
Filter by subject
dataset = NM000161(cache_dir="./data", subject="01")
Advanced query
dataset = NM000161(
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{nm000161,
title = {BNCI 2024-001 Handwritten Character Classification dataset},
author = {Markus R. Crell and Gernot R. Müller-Putz},
doi = {10.82901/nemar.nm000161},
url = {https://doi.org/10.82901/nemar.nm000161},
}
About This Dataset#
BNCI 2024-001 Handwritten Character Classification dataset.
Schema: HED 8.4.0 | Browse: https://www.hedtags.org/hed-schema-browser
BNCI 2024-001 Handwritten Character Classification dataset
letter_a
View full README
BNCI 2024-001 Handwritten Character Classification dataset
letter_a
├─ Sensory-event, Experimental-stimulus, Visual-presentation
└─ Agent-action
└─ Write
├─ Hand
└─ Label/a
letter_d
├─ Sensory-event, Experimental-stimulus, Visual-presentation
└─ Agent-action
└─ Write
├─ Hand
└─ Label/d
letter_e
├─ Sensory-event, Experimental-stimulus, Visual-presentation
└─ Agent-action
└─ Write
├─ Hand
└─ Label/e
letter_f
├─ Sensory-event, Experimental-stimulus, Visual-presentation
└─ Agent-action
└─ Write
├─ Hand
└─ Label/f
letter_j
├─ Sensory-event, Experimental-stimulus, Visual-presentation
└─ Agent-action
└─ Write
├─ Hand
└─ Label/j
letter_n
├─ Sensory-event, Experimental-stimulus, Visual-presentation
└─ Agent-action
└─ Write
├─ Hand
└─ Label/n
letter_o
├─ Sensory-event, Experimental-stimulus, Visual-presentation
└─ Agent-action
└─ Write
├─ Hand
└─ Label/o
letter_s
├─ Sensory-event, Experimental-stimulus, Visual-presentation
└─ Agent-action
└─ Write
├─ Hand
└─ Label/s
letter_t
├─ Sensory-event, Experimental-stimulus, Visual-presentation
└─ Agent-action
└─ Write
├─ Hand
└─ Label/t
letter_v
├─ Sensory-event, Experimental-stimulus, Visual-presentation
└─ Agent-action
└─ Write
├─ Hand
└─ Label/v
Paradigm-Specific Parameters
Detected paradigm: motor_imagery
Imagery tasks: handwriting of letters a, d, e, f, j, n, o, s, t, v
Cue duration: 2.0 s
Imagery duration: 4.0 s
Data Structure
Trials: 60
Blocks per session: 15
Block duration: 340 s
Trials context: per_class
Preprocessing
Data state: raw
Preprocessing applied: True
Steps: notch filtering, bandpass filtering, bad channel interpolation, EOG artifact correction (SGEYESUB), ICA for artifact removal, re-referencing to CAR, bad segment rejection, lowpass filtering, downsampling, epoching
Highpass filter: 0.3 Hz
Lowpass filter: 70.0 Hz
Bandpass filter: {‘low_cutoff_hz’: 0.3, ‘high_cutoff_hz’: 70.0}
Notch filter: [50] Hz
Filter type: Butterworth
Filter order: 4
Artifact methods: ICA, SGEYESUB
Re-reference: car
Downsampled to: 128 Hz
Epoch window: [-4.5, 4.0]
Notes: Two datasets created: dataset 1 (0.3-3 Hz, 10 Hz sampling) and dataset 2 (0.3-40 Hz, 128 Hz sampling). Bad segments rejected if exceeding ±120 μV or kurtosis/probability > 7 SD from mean.
Signal Processing
Classifiers: Shrinkage Linear Discriminant Analysis (sLDA), EEGNet CNN
Feature extraction: low-frequency EEG, broadband EEG, continuous kinematics decoding
Frequency bands: analyzed=[0.3, 70.0] Hz
Spatial filters: CAR
Cross-Validation
Method: 2-times repeated 5-fold cross-validation
Folds: 5
Evaluation type: cross_session
Performance (Original Study)
Accuracy: 26.2%
10 Letters Direct Lowfreq: 23.1
10 Letters Twostep: 26.2
5 Letters Direct Lowfreq: 39.0
5 Letters Twostep: 46.7
Kinematics Correlation Range: 0.10-0.57
Chance Level Correlation: 0.04
BCI Application
Applications: communication, character_selection
Environment: laboratory
Online feedback: False
Tags
Pathology: Healthy
Modality: Motor
Type: Motor
Documentation
Description: Classification of handwritten letters from EEG through continuous kinematic decoding
DOI: 10.1016/j.compbiomed.2024.109132
License: CC-BY-4.0
Investigators: Markus R. Crell, 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
Address: Graz, Austria
Country: Austria
Repository: BNCI Horizon 2020
Publication year: 2024
Ethics approval: Ethics Committee at Graz University of Technology
Keywords: Brain-computer interface (BCI), Electroencephalography (EEG), Handwriting, Continuous movement decoding, Non-invasive
Abstract
This study explores the classification of ten letters (a,d,e,f,j,n,o,s,t,v) from non-invasive neural signals of 20 participants. Letters were classified with direct classification from low-frequency and broadband EEG, and a two-step approach comprising continuous decoding of hand kinematics followed by classification. The two-step approach yielded significantly higher performances of 26.2% for ten letters and 46.7% for five letters. Hand kinematics could be reconstructed with correlation of 0.10 to 0.57 (average chance level: 0.04). Results suggest movement speed as the most informative kinematic for decoding short hand movements.
Methodology
Participants wrote 10 letters using right index finger with motion capture tracking (30 Hz, 2D positions). Two-round session with 7 runs (round 1) and 8 runs (round 2), 40 trials per run, 8.5s per trial. Training phase included 4 steps: observation, guided following, unguided following, and execution without feedback. Classification using sliding-window approach with sLDA and EEGNet CNN. Trajectory decoding using EEGNet architecture adapted for regression of position-based (px, py, vx, vy), distance-based (d, ḋ, θ, θ̇), and speed-based (s) kinematics.
References
Crell, M. R., & Muller-Putz, G. R. (2024). Handwritten character classification from EEG through continuous kinematic decoding. Computers in Biology and Medicine, 182, 109132. https://doi.org/10.1016/j.compbiomed.2024.109132 Notes .. versionadded:: 1.3.0 This dataset is notable for exploring non-invasive EEG-based handwritten character classification, which could enable communication for individuals with limited movement capacity. The study demonstrated that handwritten characters can be classified from non-invasive EEG and that decoding movement kinematics prior to classification improves performance.
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
Cohort#
Dataset Statistics#
Age distribution by gender (n=20, range 28–28 yr, mean 27.0 yr)
Channel counts: 60 ch (n=40 recordings)
Sampling frequencies: 500.0 Hz (n=40 recordings)
Total recording duration: 33 h
Signal · Electrodes & live trace#
Live trace viewer — sub-13 · ses-0 · task-imagery · run-0
Showing one representative recording out of
20 subjects and 40 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 · 60 sensors — 60 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
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.
Full dataset metadata table
Dataset ID |
|
Title |
BNCI 2024-001 Handwritten Character Classification dataset |
Author (year) |
|
Canonical |
— |
Importable as |
|
Year |
2024 |
Authors |
Markus R. Crell, Gernot R. Müller-Putz |
License |
CC-BY-4.0 |
Citation / DOI |
|
Source links |
OpenNeuro | NeMAR | Source URL |
Copy-paste BibTeX
@dataset{nm000161,
title = {BNCI 2024-001 Handwritten Character Classification dataset},
author = {Markus R. Crell and Gernot R. Müller-Putz},
doi = {10.82901/nemar.nm000161},
url = {https://doi.org/10.82901/nemar.nm000161},
}
API Reference#
eegdash.datasetEEGDashDatasetNM000161 · Crell2024eegdash/dataset/registry.py · [source ↗]- class eegdash.dataset.NM000161(cache_dir: str, query: dict | None = None, s3_bucket: str | None = None, **kwargs)[source]#
BNCI 2024-001 Handwritten Character Classification dataset
- Study:
nm000161(NeMAR)- Author (year):
Crell2024- Canonical:
—
Also importable as:
NM000161,Crell2024.Modality:
eeg; Experiment type:Motor; Subject type:Healthy. Subjects: 20; recordings: 40; 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
Notes
Each item is a recording; recording-level metadata are available via
dataset.description.querysupports MongoDB-style filters on fields inALLOWED_QUERY_FIELDSand is combined with the dataset filter. Dataset-specific caveats are not provided in the summary metadata.References
OpenNeuro dataset: https://openneuro.org/datasets/nm000161 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=nm000161 DOI: https://doi.org/10.82901/nemar.nm000161
Examples
>>> from eegdash.dataset import NM000161 >>> dataset = NM000161(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.
BaseDataset from braindecode — windowed via create_windows_from_events.braindecodeDataLoader; supports parallel workers and on-the-fly augmentations.pytorchSwap any load_dataset(...) call for nm000161 to reproduce the tutorial on this dataset.
Citation
Markus R. Crell, Gernot R. Müller-Putz (2024). BNCI 2024-001 Handwritten Character Classification dataset. 10.82901/nemar.nm000161
Provenance
¹Contributed to nemar in BIDS format.
²Curated & ingested by the EEGDash catalog; see CITATION.cff for canonical reference.
³Persistent identifier: 10.82901/nemar.nm000161.
See Also#
eegdash.dataset.EEGDashDataseteegdash.dataset