EEGdashNeMARNM000129
Iss. 129 · 70 subjects · 70 recordings · Non-commercial research use
Dataset Brief · Liu2020 – BETA SSVEP benchmark dataset

NM000129: eeg dataset, 70 subjects#

Liu2020 – BETA SSVEP benchmark dataset

Citation: Bingchuan Liu, Xiaoshan Huang, Yijun Wang, Xiaogang Chen, Xiaorong Gao (2019). Liu2020 – BETA SSVEP benchmark dataset. 10.82901/nemar.nm000129

70-participant EEG dataset — Liu2020 – BETA SSVEP benchmark dataset.

EEG · 64 ch250 HzBIDS 1.9.0Task · ssvepHealthyVisualPerception
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 NM000129

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

Filter by subject

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

Advanced query

dataset = NM000129(
    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{nm000129,
  title = {Liu2020 – BETA SSVEP benchmark dataset},
  author = {Bingchuan Liu and Xiaoshan Huang and Yijun Wang and Xiaogang Chen and Xiaorong Gao},
  doi = {10.82901/nemar.nm000129},
  url = {https://doi.org/10.82901/nemar.nm000129},
}
§ 02Study · The README

About This Dataset#

BETA SSVEP benchmark dataset.

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

DOI

BETA SSVEP benchmark dataset

8.6

View full README

DOI

BETA SSVEP benchmark dataset

8.6
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/8_6

8.8
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/8_8

9
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/9

9.2
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/9_2

9.4
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/9_4

9.6
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/9_6

9.8
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/9_8

10
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/10

10.2
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/10_2

10.4
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/10_4

10.6
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/10_6

10.8
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/10_8

11
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/11

11.2
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/11_2

11.4
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/11_4

11.6
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/11_6

11.8
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/11_8

12
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/12

12.2
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/12_2

12.4
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/12_4

12.6
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/12_6

12.8
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/12_8

13
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/13

13.2
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/13_2

13.4
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/13_4

13.6
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/13_6

13.8
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/13_8

14
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/14

14.2
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/14_2

14.4
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/14_4

14.6
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/14_6

14.8
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/14_8

15
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/15

15.2
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/15_2

15.4
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/15_4

15.6
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/15_6

15.8
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/15_8

8
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/8

8.2
     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Label/8_2

8.4
├─ Sensory-event
├─ Experimental-stimulus
├─ Visual-presentation
└─ Label/8_4

Paradigm-Specific Parameters

  • Detected paradigm: ssvep

  • Stimulus frequencies: [8.0, 8.2, 8.4, 8.6, 8.8, 9.0, 9.2, 9.4, 9.6, 9.8, 10.0, 10.2, 10.4, 10.6, 10.8, 11.0, 11.2, 11.4, 11.6, 11.8, 12.0, 12.2, 12.4, 12.600000000000001, 12.8, 13.0, 13.2, 13.4, 13.600000000000001, 13.8, 14.0, 14.2, 14.4, 14.600000000000001, 14.8, 15.0, 15.2, 15.4, 15.600000000000001, 15.8] Hz

  • Frequency resolution: 0.2 Hz

Data Structure

  • Trials: 160

  • Blocks per session: 4

Preprocessing

  • Data state: epoched

  • Notch filter: 50 Hz

  • Filter type: zero-phase FIR

  • Downsampled to: 250.0 Hz

Signal Processing

  • Classifiers: TRCA, msTRCA, FBCCA, CCA

  • Feature extraction: CCA, TRCA, FBCCA

  • Frequency bands: bandpass=[3.0, 100.0] Hz

  • Spatial filters: CCA, TRCA

Cross-Validation

  • Method: leave-one-block-out

  • Folds: 4

  • Evaluation type: within_subject

BCI Application

  • Applications: speller

  • Environment: classroom

  • Online feedback: True

Tags

  • Pathology: healthy

  • Modality: visual

  • Type: perception

Documentation

  • DOI: 10.3389/fnins.2020.00627

  • License: Non-commercial research use

  • Investigators: Bingchuan Liu, Xiaoshan Huang, Yijun Wang, Xiaogang Chen, Xiaorong Gao

  • Senior author: Xiaorong Gao

  • Institution: Tsinghua University

  • Department: Department of Biomedical Engineering, Tsinghua University

  • Country: CN

  • Repository: Tsinghua BCI Lab

  • Data URL: http://bci.med.tsinghua.edu.cn/upload/liubingchuan/

  • Publication year: 2020

  • Funding: National Key Research and Development Program of China (No. 2017YFB1002505); Strategic Priority Research Program of Chinese Academy of Sciences (No. XDB32040200); Key Research and Development Program of Guangdong Province (No. 2018B030339001); National Natural Science Foundation of China (Grant No. 61431007)

  • Ethics approval: Ethics Committee of Tsinghua University, No. 20190002

  • Keywords: SSVEP, BCI, EEG, benchmark, JFPM

References

B. Liu, X. Huang, Y. Wang, X. Chen, and X. Gao, “BETA: A Large Benchmark Database Toward SSVEP-BCI Application,” Frontiers in Neuroscience, vol. 14, p. 627, 2020. DOI: 10.3389/fnins.2020.00627 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.4.3 (Mother of All BCI Benchmarks) NeuroTechX/moabb

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Age distribution by gender (n=70, range 10–64 yr, mean 25.1 yr)

101520253035404560
Female · 28Male · 42

Sex composition

70
subjects
Female
28
Male
42
F : M ratio
0.67 : 1
40% female · n = 70 subjects with reported sex.

Channel counts: 64 ch (n=70 recordings)

Sampling frequencies: 250.0 Hz (n=70 recordings)

Total recording duration: 13 h 1 min

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 64 ch · EEG · 250 Hz · 70 subjects, 70 recordings
Live trace viewer — sub-13 · ses-0 · task-ssvep · run-0

Showing one representative recording out of 70 subjects and 70 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 · 62 sensors — 62 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 — NM000129
§ 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

NM000129

Title

Liu2020 – BETA SSVEP benchmark dataset

Author (year)

Liu2020

Canonical

Importable as

NM000129, Liu2020

Year

2019

Authors

Bingchuan Liu, Xiaoshan Huang, Yijun Wang, Xiaogang Chen, Xiaorong Gao

License

Non-commercial research use

Citation / DOI

10.82901/nemar.nm000129

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{nm000129,
  title = {Liu2020 – BETA SSVEP benchmark dataset},
  author = {Bingchuan Liu and Xiaoshan Huang and Yijun Wang and Xiaogang Chen and Xiaorong Gao},
  doi = {10.82901/nemar.nm000129},
  url = {https://doi.org/10.82901/nemar.nm000129},
}
§ 06API · Programmatic access

API Reference#

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

Liu2020 – BETA SSVEP benchmark dataset

Study:

nm000129 (NeMAR)

Author (year):

Liu2020

Canonical:

Also importable as: NM000129, Liu2020.

Modality: eeg; Experiment type: Perception; Subject type: Healthy. Subjects: 70; recordings: 70; 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/nm000129 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=nm000129 DOI: https://doi.org/10.82901/nemar.nm000129

Examples

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

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

Citation

Bingchuan Liu, Xiaoshan Huang, Yijun Wang, Xiaogang Chen, Xiaorong Gao (2019). Liu2020 – BETA SSVEP benchmark dataset. 10.82901/nemar.nm000129

Provenance

¹Contributed to nemar in BIDS format.

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

³Persistent identifier: 10.82901/nemar.nm000129.

BIDS
BIDS 1.9.0
Sidecars
events · events.json · channels · eeg.json
Provenance
Non-commercial research use · 10.82901/nemar.nm000129
Machine-readable
Mirrors

See Also#