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.
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},
}
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.
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
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#
[](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 |
|---|---|---|
|
Cohort#
Dataset Statistics#
Age distribution by gender (n=47, range 5–18 yr, mean 12.6 yr)
Sex composition
Channel counts: 16 ch (n=138 recordings)
Sampling frequencies: 256.0 Hz (n=138 recordings)
Total recording duration: 22 h 12 min
Signal · Electrodes & live trace#
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
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 |
A steady-state visual evoked potential (SSVEP)-based BCI dataset in children and adolescents |
Author (year) |
— |
Canonical |
— |
Importable as |
|
Year |
2026 |
Authors |
Emily Schrag, Daniel Comaduran Marquez, Adam Kirton, Eli Kinney-Lang |
License |
CC-BY-4.0 |
Citation / DOI |
|
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},
}
API Reference#
eegdash.datasetEEGDashDataset- 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
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/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.
BaseDataset from braindecode — windowed via create_windows_from_events.braindecodeDataLoader; supports parallel workers and on-the-fly augmentations.pytorchSwap 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.
See Also#
eegdash.dataset.EEGDashDataseteegdash.dataset