EEGdashNeMARNM000220
Iss. 220 · 3 subjects · 6 recordings · CC-BY-4.0
Dataset Brief · BEETL Competition 2021 Motor Imagery Dataset A — transfer lea…

NM000220: eeg dataset, 3 subjects#

BEETL Competition 2021 Motor Imagery Dataset A — transfer learning benchmark

Access recordings and metadata through EEGDash.

Citation: [Unspecified1], [Unspecified2] (20). BEETL Competition 2021 Motor Imagery Dataset A — transfer learning benchmark. 10.82901/nemar.nm000220

Modality: eeg Subjects: 3 Recordings: 6 License: CC-BY-4.0 Source: nemar

Metadata: Complete (100%)

3-participant EEG dataset — BEETL Competition 2021 Motor Imagery Dataset A — transfer learning benchmark.

EEG · 63 ch500 HzBIDS 1.7.0Task · imagery
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 NM000220

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

Filter by subject

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

Advanced query

dataset = NM000220(
    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{nm000220,
  title = {BEETL Competition 2021 Motor Imagery Dataset A — transfer learning benchmark},
  author = {[Unspecified1] and [Unspecified2]},
  doi = {10.82901/nemar.nm000220},
  url = {https://doi.org/10.82901/nemar.nm000220},
}
§ 02Study · The README

About This Dataset#

Beetl2021-A is a preprocessed motor imagery EEG dataset from the BEETL Competition Task 2 (NeurIPS 2021), comprising data from 3 healthy subjects collected during an online racing game (Cybathlon2020IC). The dataset contains 63-channel EEG recordings at 500 Hz with four-class motor imagery tasks (rest, left hand, right hand, feet) and serves as a benchmark for evaluating transfer learning and domain adaptation methods across heterogeneous EEG datasets and subjects. This dataset is part of a larger competition focused on advancing transfer learning for subject independence and cross-dataset generalization in brain-computer interfacing.

EEG data were acquired at 500 Hz from 63 channels using standard 1005 montage during an online BCI racing game (Cybathlon2020IC) with visual feedback. The experimental protocol comprised 5 training races and 10 testing races per subject, with each trial lasting 4 seconds. Motor imagery tasks included four classes: rest, left hand, right hand, and feet. Online preprocessing included 1-100 Hz bandpass filtering and 50 Hz notch filtering. Data underwent offline preprocessing with identical bandpass (1-100 Hz) and notch (50 Hz) filtering before release. The dataset was part of the BEETL Competition Task 2, which focused on transfer learning from multiple source datasets (Cho2017, BNCI2014, PhysionetMI) to target datasets with different EEG setups and electrode configurations.

DOI

BEETL Competition 2021 Motor Imagery Dataset A — transfer learning benchmark

Overview

How to Access via MOABB

Install MOABB and load this dataset directly:

View full README

DOI

BEETL Competition 2021 Motor Imagery Dataset A — transfer learning benchmark

Overview

How to Access via MOABB

Install MOABB and load this dataset directly:

from moabb.datasets import Beetl2021_A
from moabb.paradigms import MotorImagery
paradigm = MotorImagery()
dataset = Beetl2021_A()
X, y, metadata = paradigm.get_data(dataset)

For more details see the MOABB documentation and the MOABB dataset page.

Citation

If you use this dataset please cite the primary publication:

NEMAR / MOABB Benchmark Collection

This BIDS-formatted dataset was converted from the original data using the MOABB pipeline and re-hosted on NEMAR as part of the MOABB benchmark collection.

The original data and license terms apply — see dataset_description.json for details.

NEMAR Metadata#

[![DOI](https://img.shields.io/badge/DOI-10.82901%2Fnemar.nm000220-blue)](https://doi.org/10.82901/nemar.nm000220) # BEETL Competition 2021 Motor Imagery Dataset A — transfer learning benchmark ## Overview Beetl2021-A is a preprocessed motor imagery EEG dataset from the BEETL Competition Task 2 (NeurIPS 2021), comprising data from 3 healthy subjects collected during an online racing game (Cybathlon2020IC). The dataset contains 63-channel EEG recordings at 500 Hz with four-class motor imagery tasks (rest, left hand, right hand, feet) and serves as a benchmark for evaluating transfer learning and domain adaptation methods across heterogeneous EEG datasets and subjects. This dataset is part of a larger competition focused on advancing transfer learning for subject independence and cross-dataset generalization in brain-computer interfacing. ## Dataset Summary | Property | Value | |---|—| | Subjects | 4 | | Channels | 63 | | Classes | 4 | | Trial length | 4 s | | Sampling frequency | 500 Hz | | Sessions | 1 | | Total trials | 1490 | | Paradigm | MotorImagery | ## Data Collection Methods EEG data were acquired at 500 Hz from 63 channels using standard 1005 montage during an online BCI racing game (Cybathlon2020IC) with visual feedback. The experimental protocol comprised 5 training races and 10 testing races per subject, with each trial lasting 4 seconds. Motor imagery tasks included four classes: rest, left hand, right hand, and feet. Online preprocessing included 1-100 Hz bandpass filtering and 50 Hz notch filtering. Data underwent offline preprocessing with identical bandpass (1-100 Hz) and notch (50 Hz) filtering before release. The dataset was part of the BEETL Competition Task 2, which focused on transfer learning from multiple source datasets (Cho2017, BNCI2014, PhysionetMI) to target datasets with different EEG setups and electrode configurations. ## How to Access via MOABB Install MOABB and load this dataset directly: `python from moabb.datasets import Beetl2021_A from moabb.paradigms import MotorImagery paradigm = MotorImagery() dataset = Beetl2021_A() X, y, metadata = paradigm.get_data(dataset) ` For more details see the [MOABB documentation](https://moabb.neurotechx.com/) and the [MOABB dataset page](https://moabb.neurotechx.com/docs/generated/moabb.datasets.Beetl2021_A.html). ## Citation If you use this dataset please cite the primary publication: > DOI: [10.48550/arXiv.2202.12950](https://doi.org/10.48550/arXiv.2202.12950) ## NEMAR / MOABB Benchmark Collection This BIDS-formatted dataset was converted from the original data using the [MOABB](https://moabb.neurotechx.com/) pipeline and re-hosted on [NEMAR](https://nemar.org/) as part of the MOABB benchmark collection. The original data and license terms apply — see dataset_description.json for details.

License: CC-BY-4.0

Authors:

  • [Unspecified1]

  • [Unspecified2]

Versions:

Version

DOI

Released

current

10.82901/nemar.nm000220

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Channel counts: 63 ch (n=6 recordings)

Sampling frequencies: 500.0 Hz (n=6 recordings)

Total recording duration: 59 min

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 63 ch · EEG · 500 Hz · 3 subjects, 6 recordings
Live trace viewer — sub-1 · ses-0 · task-imagery · run-0

Showing one representative recording out of 3 subjects and 6 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 · 63 sensors — 63 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 — NM000220
§ 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

NM000220

Title

BEETL Competition 2021 Motor Imagery Dataset A — transfer learning benchmark

Author (year)

Canonical

Importable as

NM000220

Year

20

Authors

[Unspecified1], [Unspecified2]

License

CC-BY-4.0

Citation / DOI

10.82901/nemar.nm000220

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{nm000220,
  title = {BEETL Competition 2021 Motor Imagery Dataset A — transfer learning benchmark},
  author = {[Unspecified1] and [Unspecified2]},
  doi = {10.82901/nemar.nm000220},
  url = {https://doi.org/10.82901/nemar.nm000220},
}
§ 06API · Programmatic access

API Reference#

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

BEETL Competition 2021 Motor Imagery Dataset A — transfer learning benchmark

Study:

nm000220 (NeMAR)

Author (year):

Canonical:

Also importable as: NM000220.

Modality: eeg; Subject type: Unknown. Subjects: 3; recordings: 6; 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/nm000220 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=nm000220 DOI: https://doi.org/10.82901/nemar.nm000220

Examples

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

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

Citation

[Unspecified1], [Unspecified2] (20). BEETL Competition 2021 Motor Imagery Dataset A — transfer learning benchmark. 10.82901/nemar.nm000220

Provenance

¹Contributed to nemar in BIDS format.

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

³Persistent identifier: 10.82901/nemar.nm000220.

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

See Also#