EEGdash›NeMAR›NM000280
Iss. 280 · 47 subjects · 138 recordings · CC-BY-4.0
Dataset Brief · A steady-state visual evoked potential (SSVEP)-based BCI data…

NM000280: eeg dataset, 47 subjects#

A steady-state visual evoked potential (SSVEP)-based BCI dataset in children and adolescents

Access recordings and metadata through EEGDash.

Citation: Emily Schrag, Daniel Comaduran Marquez, Adam Kirton, Eli Kinney-Lang (2026). A steady-state visual evoked potential (SSVEP)-based BCI dataset in children and adolescents. 10.82901/nemar.nm000280

Modality: eeg Subjects: 47 Recordings: 138 License: CC-BY-4.0 Source: nemar

Metadata: Complete (100%)

47-participant EEG dataset — A steady-state visual evoked potential (SSVEP)-based BCI dataset in children and adolescents.

EEG · 16 ch256 HzBIDS 1.9.04 tasks
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 NM000280

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

Filter by subject

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

Advanced query

dataset = NM000280(
    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{nm000280,
  title = {A steady-state visual evoked potential (SSVEP)-based BCI dataset in children and adolescents},
  author = {Emily Schrag and Daniel Comaduran Marquez and Adam Kirton and Eli Kinney-Lang},
  doi = {10.82901/nemar.nm000280},
  url = {https://doi.org/10.82901/nemar.nm000280},
}
§ 02Study · The README

About This Dataset#

EEG from 47 neurotypical children and adolescents (5-18 years, mean 12.6 +/- 3.9;

19 female) who each completed a two-stage SSVEP-BCI session: a stimulus personalization pipeline, then an online 4-target SSVEP game. Recorded with a g.tec g.GAMMAsys gel-based system (g.USBamp, g.GAMMAcap), 16 channels at 256 Hz, earlobe reference, Fpz ground.

Released by the BCI4Kids program to support signal-processing methods developed

specifically for pediatric SSVEP-BCI data.

DOI

A steady-state visual evoked potential (SSVEP)-based BCI dataset in children and adolescents

Contents

sub-<label>/ses-S001/eeg/ BrainVision EEG + BIDS sidecars sourcedata/ the original Zenodo v3.0 distribution, verbatim

Tasks

View full README

DOI

A steady-state visual evoked potential (SSVEP)-based BCI dataset in children and adolescents

Contents

sub-<label>/ses-S001/eeg/ BrainVision EEG + BIDS sidecars sourcedata/ the original Zenodo v3.0 distribution, verbatim

Tasks

| task | description |
|------|-------------|
| `T1` | Stimulus personalization: 12 stimuli (4 contrasts x 3 sizes), all flickering at 10 Hz. |
| `T2`, `T3` | Online 4-target SSVEP game at 6.25 / 10 / 11.11 / 14.28 Hz, played on two themed maps -- once with the participant's personal stimulus and once with a high-contrast standard. |
| `T4` | An additional game run, present for sub-P026 only. |

Four participants (sub-P016, sub-P023, sub-P039, sub-P043) have a single game run rather than two.

The acq entity

Game runs carry acq-<stimulus><map>, joining two properties the upstream filenames separated with an underscore (acq-C4S1_M1), which BIDS would read as two entities: * stimulus – BW is the high-contrast standard stimulus; C<x>S<y> is the

personal stimulus at contrast <x>, size <y>.

* map – M1 or M2, the themed map used for that game.

So acq-C4S1M1 is “personal stimulus, contrast 4 size 1, map 1”, and acq-BWM2 is “standard stimulus, map 2”.

Events

events.tsv reports the Unity marker stream verbatim, as logged during the experiment. Game runs additionally logged the live fbCCA classifier output in a separate stream; that stream is not folded into trial_type, because it is the frequency the system identified rather than the frequency the participant was asked to look at.

Trial labels are not ground truth. The frequency a participant was instructed to attend is recorded in the per-game movement CSVs under sourcedata/, together with the corner-to-frequency mapping, which was randomised across the game. Treating the classifier’s selection as the label biases benchmarks toward fbCCA’s behaviour.

Provenance

The Zenodo release states BIDS in its dataset_description.json and README, but ships raw XDF recordings with BIDS-style filenames and no sidecars. This deposit converts those recordings to BrainVision with mne-bids, deriving channels.tsv, events.tsv and the JSON sidecars. Channel order, the microvolt-to-volt scaling and the standard_1020 montage follow the MOABB Schrag2026Pediatric reader, so this deposit and that loader agree.

No electrode coordinate files are included. Positions were never digitised for this study, and writing the idealised standard_1020 template coordinates would have required labelling them space-CapTrak, which asserts a measurement that did not happen. All channels carry standard 10-20 names, so the template montage is recoverable in one call (raw.set_montage("standard_1020")), which is what the MOABB reader does.

Everything published on Zenodo – including the comfort ratings, the movement CSVs and videos, the surveys and the supplementary files, none of which BIDS represents – is preserved unchanged under sourcedata/.

Ethics

This study was approved by the **University of Calgary Conjoint Health Research Ethics Board under ID REB25-0723**. Informed assent and parental consent were obtained for all participants, and all participants – or their guardians – consented to the sharing and publication of their de-identified data. The data were collected from participants recruited through the Healthy Infants and Children’s Clinical Research Program, a community-based healthy-control recruitment program.

Licence

CC-BY-4.0, following the licence the authors set on Zenodo version 3.0. Earlier versions (1.0 and 2) were CC-BY-ND-4.0. Note that the dataset_description.json inside the version 3.0 archive still carries the superseded CC-BY-ND-4.0 string and the older concept DOI; the Zenodo record itself is authoritative and states CC-BY-4.0.

Citation

Schrag, E., Comaduran Marquez, D., Kirton, A., & Kinney-Lang, E. (2026). *A steady-state visual evoked potential-based brain-computer interface dataset in children and adolescents.* Research Square preprint. https://doi.org/10.21203/rs.3.rs-9347306/v1 Dataset: https://doi.org/10.5281/zenodo.19440996

NEMAR Metadata#

[![DOI](https://img.shields.io/badge/DOI-10.82901%2Fnemar.nm000280-blue)](https://doi.org/10.82901/nemar.nm000280) # A steady-state visual evoked potential (SSVEP)-based BCI dataset in children and adolescents EEG from 47 neurotypical children and adolescents (5-18 years, mean 12.6 +/- 3.9; 19 female) who each completed a two-stage SSVEP-BCI session: a stimulus personalization pipeline, then an online 4-target SSVEP game. Recorded with a g.tec g.GAMMAsys gel-based system (g.USBamp, g.GAMMAcap), 16 channels at 256 Hz, earlobe reference, Fpz ground. Released by the BCI4Kids program to support signal-processing methods developed specifically for pediatric SSVEP-BCI data. ## Contents

sub-<label>/ses-S001/eeg/ BrainVision EEG + BIDS sidecars sourcedata/ the original Zenodo v3.0 distribution, verbatim

## Tasks | task | description | |------|————-| | T1 | Stimulus personalization: 12 stimuli (4 contrasts x 3 sizes), all flickering at 10 Hz. | | T2, T3 | Online 4-target SSVEP game at 6.25 / 10 / 11.11 / 14.28 Hz, played on two themed maps – once with the participant’s personal stimulus and once with a high-contrast standard. | | T4 | An additional game run, present for sub-P026 only. | Four participants (sub-P016, sub-P023, sub-P039, sub-P043) have a single game run rather than two. ## The acq entity Game runs carry acq-<stimulus><map>, joining two properties the upstream filenames separated with an underscore (acq-C4S1_M1), which BIDS would read as two entities: * stimulus – BW is the high-contrast standard stimulus; C<x>S<y> is the

personal stimulus at contrast <x>, size <y>.

  • map – M1 or M2, the themed map used for that game.

So acq-C4S1M1 is “personal stimulus, contrast 4 size 1, map 1”, and acq-BWM2 is “standard stimulus, map 2”. ## Events events.tsv reports the Unity marker stream verbatim, as logged during the experiment. Game runs additionally logged the live fbCCA classifier output in a separate stream; that stream is not folded into trial_type, because it is the frequency the system identified rather than the frequency the participant was asked to look at. > Trial labels are not ground truth. The frequency a participant was > instructed to attend is recorded in the per-game movement CSVs under > sourcedata/, together with the corner-to-frequency mapping, which was > randomised across the game. Treating the classifier’s selection as the label > biases benchmarks toward fbCCA’s behaviour. ## Provenance The Zenodo release states BIDS in its dataset_description.json and README, but ships raw XDF recordings with BIDS-style filenames and no sidecars. This deposit converts those recordings to BrainVision with mne-bids, deriving channels.tsv, events.tsv and the JSON sidecars. Channel order, the microvolt-to-volt scaling and the standard_1020 montage follow the MOABB Schrag2026Pediatric reader, so this deposit and that loader agree. No electrode coordinate files are included. Positions were never digitised for this study, and writing the idealised standard_1020 template coordinates would have required labelling them space-CapTrak, which asserts a measurement that did not happen. All channels carry standard 10-20 names, so the template montage is recoverable in one call (raw.set_montage(“standard_1020”)), which is what the MOABB reader does. Everything published on Zenodo – including the comfort ratings, the movement CSVs and videos, the surveys and the supplementary files, none of which BIDS represents – is preserved unchanged under sourcedata/. ## Ethics This study was approved by the University of Calgary Conjoint Health Research Ethics Board under ID REB25-0723. Informed assent and parental consent were obtained for all participants, and all participants – or their guardians – consented to the sharing and publication of their de-identified data. The data were collected from participants recruited through the Healthy Infants and Children’s Clinical Research Program, a community-based healthy-control recruitment program. ## Licence CC-BY-4.0, following the licence the authors set on Zenodo version 3.0. Earlier versions (1.0 and 2) were CC-BY-ND-4.0. Note that the dataset_description.json inside the version 3.0 archive still carries the superseded CC-BY-ND-4.0 string and the older concept DOI; the Zenodo record itself is authoritative and states CC-BY-4.0. ## Citation Schrag, E., Comaduran Marquez, D., Kirton, A., & Kinney-Lang, E. (2026). A steady-state visual evoked potential-based brain-computer interface dataset in children and adolescents. Research Square preprint. https://doi.org/10.21203/rs.3.rs-9347306/v1 Dataset: https://doi.org/10.5281/zenodo.19440996

License: CC-BY-4.0

Authors:

  • Emily Schrag

  • Daniel Comaduran Marquez

  • Adam Kirton

  • Eli Kinney-Lang

Versions:

Version

DOI

Released

current

10.82901/nemar.nm000280

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Age distribution by gender (n=47, range 5–18 yr, mean 12.6 yr)

51015
Female · 19Male · 28

Sex composition

47
subjects
Female
19
Male
28
F : M ratio
0.68 : 1
40% female · n = 47 subjects with reported sex.

Channel counts: 16 ch (n=138 recordings)

Sampling frequencies: 256.0 Hz (n=138 recordings)

Total recording duration: 22 h 12 min

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 16 ch · EEG · 256 Hz · 47 subjects, 138 recordings
Live trace viewer — sub-P001 · ses-S001 · task-T1 · run-1

Showing one representative recording out of 47 subjects and 138 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 · 16 sensors — 16 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 — NM000280
§ 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

NM000280

Title

A steady-state visual evoked potential (SSVEP)-based BCI dataset in children and adolescents

Author (year)

—

Canonical

—

Importable as

NM000280

Year

2026

Authors

Emily Schrag, Daniel Comaduran Marquez, Adam Kirton, Eli Kinney-Lang

License

CC-BY-4.0

Citation / DOI

10.82901/nemar.nm000280

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{nm000280,
  title = {A steady-state visual evoked potential (SSVEP)-based BCI dataset in children and adolescents},
  author = {Emily Schrag and Daniel Comaduran Marquez and Adam Kirton and Eli Kinney-Lang},
  doi = {10.82901/nemar.nm000280},
  url = {https://doi.org/10.82901/nemar.nm000280},
}
§ 06API · Programmatic access

API Reference#

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

A steady-state visual evoked potential (SSVEP)-based BCI dataset in children and adolescents

Study:

nm000280 (NeMAR)

Author (year):

—

Canonical:

—

Also importable as: NM000280.

Modality: eeg; Subject type: Unknown. Subjects: 47; recordings: 138; tasks: 4.

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

Examples

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

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

Citation

Emily Schrag, Daniel Comaduran Marquez, Adam Kirton, Eli Kinney-Lang (2026). A steady-state visual evoked potential (SSVEP)-based BCI dataset in children and adolescents. 10.82901/nemar.nm000280

Provenance

¹Contributed to nemar in BIDS format.

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

³Persistent identifier: 10.82901/nemar.nm000280.

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

See Also#