NM000203: eeg dataset, 13 subjects#
P300 dataset from initial spot study
Citation: Jan Sosulski, David Hübner, Aaron Klein, Michael Tangermann (2019). P300 dataset from initial spot study.
13-participant EEG dataset — P300 dataset from initial spot study.
Quickstart#
Install
pip install eegdash
Access the data
from eegdash.dataset import NM000203
dataset = NM000203(cache_dir="./data")
# Get the raw object of the first recording
raw = dataset.datasets[0].raw
print(raw.info)
Filter by subject
dataset = NM000203(cache_dir="./data", subject="01")
Advanced query
dataset = NM000203(
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{nm000203,
title = {P300 dataset from initial spot study},
author = {Jan Sosulski and David Hübner and Aaron Klein and Michael Tangermann},
}
About This Dataset#
P300 dataset from initial spot study.
Schema: HED 8.4.0 | Browse: https://www.hedtags.org/hed-schema-browser
P300 dataset from initial spot study
Target
├─ Sensory-event
├─ Experimental-stimulus
View full README
P300 dataset from initial spot study
Target
├─ Sensory-event
├─ Experimental-stimulus
├─ Visual-presentation
└─ Target
NonTarget
├─ Sensory-event
├─ Experimental-stimulus
├─ Visual-presentation
└─ Non-target
Paradigm-Specific Parameters
Detected paradigm: p300
Number of targets: 1
Data Structure
Trials: Variable: optimization part used time-limited trials (20 minutes per strategy), validation part used 20 trials per SOA
Trials per class: target=13 per trial (after preprocessing, originally 15), non_target=65 per trial (after preprocessing, originally 75)
Trials context: Each trial consisted of 90 stimuli (15 target, 75 non-target). After preprocessing (removing first and last 6 epochs), 78 data points available per trial: 13 target and 65 non-target epochs.
Signal Processing
Classifiers: rLDA, Shrinkage LDA
Feature extraction: Mean amplitude in time intervals
Frequency bands: analyzed=[1.5, 40.0] Hz
Cross-Validation
Method: 13-fold
Folds: 13
Evaluation type: within_session
Performance (Original Study)
Auc: 0.701
Mean Auc Ucb: 0.701
Mean Auc Rand: 0.704
Mean Auc P300 Ucb: 0.67
Mean Auc P300 Rand: 0.681
Mean Auc Fixed60: 0.517
BCI Application
Applications: communication
Online feedback: False
Tags
Pathology: Healthy
Modality: Auditory
Type: Research
Documentation
Description: Auditory oddball ERP dataset from 13 healthy subjects. Two sinusoidal tones (target 1000 Hz, non-target 500 Hz) presented at various stimulus onset asynchronies (SOAs, 60-600 ms). 31-channel EEG recorded at 1000 Hz with BrainProducts BrainAmp DC. Raw BrainVision format data.
DOI: 10.48550/arXiv.2109.06011
License: CC-BY-SA-4.0
Investigators: Jan Sosulski, David Hübner, Aaron Klein, Michael Tangermann
Senior author: Michael Tangermann
Contact: jan.sosulski@blbt.uni-freiburg.de; davhuebn@gmail.com; kleinaa@cs.uni-freiburg.de; michael.tangermann@donders.ru.nl
Institution: University of Freiburg
Country: DE
Repository: FreiDok
Publication year: 2021
Funding: Cluster of Excellence BrainLinks-BrainTools funded by the German Research Foundation (DFG) [grant number EXC 1086]; DFG project SuitAble [grant number TA 1258/1-1]; state of Baden-Württemberg, Germany, through bwHPC and the German Research Foundation (DFG) [grant number INST 39/963-1 FUGG]
Ethics approval: Approved by the ethics committee of the university medical center of Freiburg
Acknowledgements: Experiments were performed according to the Declaration of Helsinki.
Keywords: Bayesian optimization, individual experimental parameters, brain-computer interfaces, learning from small data, auditory event-related potentials, closed-loop parameter optimization
Abstract
The decoding of brain signals recorded via, e.g., an electroencephalogram, using machine learning is key to brain-computer interfaces (BCIs). Stimulation parameters or other experimental settings of the BCI protocol typically are chosen according to the literature. The decoding performance directly depends on the choice of parameters, as they influence the elicited brain signals and optimal parameters are subject-dependent. Thus a fast and automated selection procedure for experimental parameters could greatly improve the usability of BCIs. We evaluate a standalone random search and a combined Bayesian optimization with random search into a closed-loop auditory event-related potential protocol. We aimed at finding the individually best stimulation speed—also known as stimulus onset asynchrony (SOA)—that maximizes the classification performance of a regularized linear discriminant analysis.
Methodology
The experiment was divided into two parts: (1) Optimization part: four strategies (AUC-ucb, AUC-rand, P300-ucb, P300-rand) each allocated 20 minutes to find optimal SOA. Strategies alternated to minimize non-stationarity effects. (2) Validation part: evaluated SOAs from each optimization strategy plus fixed 60ms SOA using 20 trials each (in blocks of 5 trials). Features were mean amplitudes in 5 time intervals ([100, 170], [171, 230], [231, 300], [301, 410], [411, 500] ms) across 31 channels (155 dimensions total). Classification used rLDA with automatic shrinkage regularization and 13-fold cross-validation on single trials.
References
Sosulski, J., Tangermann, M.: Electroencephalogram signals recorded from 13 healthy subjects during an auditory oddball paradigm under different stimulus onset asynchrony conditions. Dataset. DOI: 10.6094/UNIFR/154576 Sosulski, J., Tangermann, M.: Spatial filters for auditory evoked potentials transfer between different experimental conditions. Graz BCI Conference. 2019.
Sosulski, J., Hübner, D., Klein, A., Tangermann, M.: Online Optimization of Stimulation Speed in an Auditory Brain-Computer Interface under Time Constraints. arXiv preprint. 2021. Notes .. versionadded:: 0.4.5 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
Cohort#
Dataset Statistics#
Age distribution by gender (n=13, range 23–23 yr, mean 22.0 yr)
Channel counts: 31 ch (n=800 recordings)
Sampling frequencies: 1000.0 Hz (n=800 recordings)
Total recording duration: 8 h 54 min
Signal · Electrodes & live trace#
Live trace viewer — sub-13 · ses-38soa256 · task-p300 · run-0
Showing one representative recording out of
13 subjects and 800 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 · 31 sensors — 31 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 |
P300 dataset from initial spot study |
Author (year) |
— |
Canonical |
— |
Importable as |
|
Year |
2019 |
Authors |
Jan Sosulski, David Hübner, Aaron Klein, Michael Tangermann |
License |
CC-BY-SA-4.0 |
Citation / DOI |
Unknown |
Source links |
OpenNeuro | NeMAR | Source URL |
API Reference#
eegdash.datasetEEGDashDataset- class eegdash.dataset.NM000203(cache_dir: str, query: dict | None = None, s3_bucket: str | None = None, **kwargs)[source]#
P300 dataset from initial spot study
- Study:
nm000203(NeMAR)- Author (year):
nan- Canonical:
—
Also importable as:
NM000203,nan.Modality:
eeg. Subjects: 13; recordings: 800; 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
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/nm000203 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=nm000203
Examples
>>> from eegdash.dataset import NM000203 >>> dataset = NM000203(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 nm000203 to reproduce the tutorial on this dataset.
Citation
Jan Sosulski, David Hübner, Aaron Klein, Michael Tangermann (2019). P300 dataset from initial spot study.
Provenance
¹Contributed to nemar in BIDS format.
²Curated & ingested by the EEGDash catalog; see CITATION.cff for canonical reference.
See Also#
eegdash.dataset.EEGDashDataseteegdash.dataset