EEGdashNeMARNM000170
Iss. 170 · 10 subjects · 90 recordings · CC-BY-4.0
Dataset Brief · BNCI 2025-002 Continuous 2D Trajectory Decoding dataset

NM000170: eeg dataset, 10 subjects#

BNCI 2025-002 Continuous 2D Trajectory Decoding dataset

Citation: Hannah S Pulferer, Brynja Ásgeirsdóttir, Valeria Mondini, Andreea I Sburlea, Gernot R Müller-Putz (2022). BNCI 2025-002 Continuous 2D Trajectory Decoding dataset. 10.82901/nemar.nm000170

10-participant EEG dataset — BNCI 2025-002 Continuous 2D Trajectory Decoding dataset.

EEG · 60 ch200 HzBIDS 1.9.0Task · imagery3 sessionsOtherVisualMotor
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 NM000170

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

Filter by subject

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

Advanced query

dataset = NM000170(
    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{nm000170,
  title = {BNCI 2025-002 Continuous 2D Trajectory Decoding dataset},
  author = {Hannah S Pulferer and Brynja Ásgeirsdóttir and Valeria Mondini and Andreea I Sburlea and Gernot R Müller-Putz},
  doi = {10.82901/nemar.nm000170},
  url = {https://doi.org/10.82901/nemar.nm000170},
}
§ 02Study · The README

About This Dataset#

BNCI 2025-002 Continuous 2D Trajectory Decoding dataset.

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

DOI

BNCI 2025-002 Continuous 2D Trajectory Decoding dataset

snakerun

View full README

DOI

BNCI 2025-002 Continuous 2D Trajectory Decoding dataset

snakerun
     ├─ Experiment-structure
     └─ Label/snakerun

freerun
     ├─ Experiment-structure
     └─ Label/freerun

eyerun
├─ Experiment-structure
└─ Label/eyerun

Paradigm-Specific Parameters

  • Detected paradigm: motor_imagery

  • Imagery tasks: attempted arm/hand movement (2D continuous trajectory)

Data Structure

  • Trials: {‘calibration_eyeruns’: 38, ‘calibration_snakeruns’: 48, ‘50%_EEG_feedback_snakeruns’: 36, ‘100%_EEG_feedback_snakeruns’: 36, ‘freeruns’: 9}

  • Trials context: per_paradigm_type

Preprocessing

  • Data state: preprocessed

  • Preprocessing applied: True

  • Steps: anti-aliasing filter (25 Hz), notch filter (50 Hz), downsampling to 100 Hz, bad channel interpolation, eye artifact subtraction (SGEYESUB algorithm), removal of frontal (AF) row channels, high-pass filter (0.18 Hz), common average re-reference, pops and drifts attenuation (HEAR algorithm), low-pass filter (3 Hz), downsampling to 20 Hz

  • Highpass filter: 0.18 Hz

  • Lowpass filter: 3.0 Hz

  • Notch filter: [50] Hz

  • Filter type: Not specified

  • Artifact methods: SGEYESUB (eye artifact subtraction), HEAR (pops and drifts removal)

  • Re-reference: common average reference

  • Downsampled to: 20.0 Hz

Signal Processing

  • Classifiers: PLS regression with UKF smoothing

  • Feature extraction: Temporal features (7 time points × 55 channels = 385 features), sLORETA (source localization)

  • Spatial filters: Minimum norm imaging

Cross-Validation

  • Method: across-session

  • Evaluation type: within-subject, learning effects over sessions

Performance (Original Study)

  • Normalized Correlation Mean: 0.31

  • Normalized Correlation Std: 0.02

  • Correlation Range Rc: 0.4-0.5

  • Nrmse Calibration: 0.1

  • Nrmse 100% Feedback: 0.12

BCI Application

  • Applications: neuroprosthesis, robotic arm control, upper limb restoration

  • Environment: laboratory

  • Online feedback: True

Tags

  • Pathology: Healthy, Spinal cord injury

  • Modality: Visual

  • Type: Motor attempt, Continuous decoding

Documentation

  • Description: Continuous 2D trajectory decoding from attempted movement: across-session performance in able-bodied and feasibility in a spinal cord injured participant

  • DOI: 10.1088/1741-2552/ac689f

  • License: CC-BY-4.0

  • Investigators: Hannah S Pulferer, Brynja Ásgeirsdóttir, Valeria Mondini, Andreea I Sburlea, Gernot R Müller-Putz

  • Senior author: Gernot R Müller-Putz

  • Contact: gernot.mueller@tugraz.at

  • Institution: Institute of Neural Engineering, Graz University of Technology

  • Address: Stremayrgasse 16/IV, 8010 Graz, Austria

  • Country: Austria

  • Repository: GitHub

  • Data URL: sccn/labstreaminglayer

  • Publication year: 2022

  • Funding: European Research Council ERC-CoG 2015 681231 ‘Feel Your Reach’; NTU-TUG joint PhD program

  • Ethics approval: Medical University of Graz, votum number 32–583 ex 19/20

  • Keywords: electroencephalography, trajectory decoding, learning effects, source localization, motor control, neuroplasticity, brain-computer interface

References

Kobler, R. J., Almeida, I., Sburlea, A. I., & Muller-Putz, G. R. (2022). Continuous 2D trajectory decoding from attempted movement: across-session performance in able-bodied and feasibility in a spinal cord injured participant. Journal of Neural Engineering, 19(3), 036005. https://doi.org/10.1088/1741-2552/ac689f Notes .. versionadded:: 1.3.0 This dataset is designed for continuous decoding research, specifically for predicting 2D hand movement trajectories from EEG. Unlike classification-based motor imagery datasets, this dataset contains continuous trajectory labels suitable for regression-based decoders.

The paradigm “imagery” is used for compatibility with MOABB’s motor imagery processing pipelines, though the actual task involves attempted (rather than imagined) movements. See Also BNCI2014_001 : 4-class motor imagery dataset BNCI2014_004 : 2-class motor imagery dataset 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 24–24 yr, mean 24.0 yr)

20
Other · 10

Channel counts: 60 ch (n=180 recordings)

Sampling frequencies: 200.0 Hz (n=180 recordings)

Total recording duration: 56 h

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 60 ch · EEG · 200 Hz · 10 subjects, 90 recordings
Live trace viewer — sub-6 · ses-1ses2 · task-imagery · run-0

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 · 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 HED event descriptors word cloud — NM000170
§ 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

NM000170

Title

BNCI 2025-002 Continuous 2D Trajectory Decoding dataset

Author (year)

Pulferer2025

Canonical

Importable as

NM000170, Pulferer2025

Year

2022

Authors

Hannah S Pulferer, Brynja Ásgeirsdóttir, Valeria Mondini, Andreea I Sburlea, Gernot R Müller-Putz

License

CC-BY-4.0

Citation / DOI

10.82901/nemar.nm000170

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{nm000170,
  title = {BNCI 2025-002 Continuous 2D Trajectory Decoding dataset},
  author = {Hannah S Pulferer and Brynja Ásgeirsdóttir and Valeria Mondini and Andreea I Sburlea and Gernot R Müller-Putz},
  doi = {10.82901/nemar.nm000170},
  url = {https://doi.org/10.82901/nemar.nm000170},
}
§ 06API · Programmatic access

API Reference#

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

BNCI 2025-002 Continuous 2D Trajectory Decoding dataset

Study:

nm000170 (NeMAR)

Author (year):

Pulferer2025

Canonical:

Also importable as: NM000170, Pulferer2025.

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/nm000170 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=nm000170 DOI: https://doi.org/10.82901/nemar.nm000170

Examples

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

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

Citation

Hannah S Pulferer, Brynja Ásgeirsdóttir, Valeria Mondini, Andreea I Sburlea, Gernot R Müller-Putz (2022). BNCI 2025-002 Continuous 2D Trajectory Decoding dataset. 10.82901/nemar.nm000170

Provenance

¹Contributed to nemar in BIDS format.

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

³Persistent identifier: 10.82901/nemar.nm000170.

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

See Also#