EEGdashNeMARNM000217
Iss. 217 · 44 subjects · 176 recordings · CC-BY-4.0
Dataset Brief · P300 dataset BI2015b from a "Brain Invaders" experiment

NM000217: eeg dataset, 44 subjects#

P300 dataset BI2015b from a “Brain Invaders” experiment

Citation: Louis Korczowski, Martine Cederhout, Anton Andreev, Grégoire Cattan, Pedro Luiz Coelho Rodrigues, Violette Gautheret, Marco Congedo (2019). P300 dataset BI2015b from a “Brain Invaders” experiment.

44-participant EEG dataset — P300 dataset BI2015b from a "Brain Invaders" experiment.

EEG · 32 ch512 HzBIDS 1.9.0Task · p300HealthyVisualAttention
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 NM000217

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

Filter by subject

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

Advanced query

dataset = NM000217(
    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{nm000217,
  title = {P300 dataset BI2015b from a "Brain Invaders" experiment},
  author = {Louis Korczowski and Martine Cederhout and Anton Andreev and Grégoire Cattan and Pedro Luiz Coelho Rodrigues and Violette Gautheret and Marco Congedo},
}
§ 02Study · The README

About This Dataset#

P300 dataset BI2015b from a “Brain Invaders” experiment.

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

P300 dataset BI2015b from a “Brain Invaders” experiment

Target
├─ Sensory-event
├─ Experimental-stimulus
View full README

P300 dataset BI2015b from a “Brain Invaders” experiment

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

  • Number of repetitions: 12

Data Structure

  • Trials: variable per subject (up to 8 attempts per level, 9 levels per session, 3 sessions)

  • Blocks per session: 9

  • Trials context: per session (9 levels per session, 3 sessions with different flash durations)

Preprocessing

  • Data state: raw EEG with synchronized hardware tagging via USB digital-to-analog converter (reduced jitter compared to software tagging)

  • Preprocessing applied: False

  • Notes: Data were stored with no digital filter applied. USB digital-to-analog converter connected to the g.USBamp trigger channel was used to synchronize experimental tags produced by Brain Invaders with EEG signals to reduce jitter.

Signal Processing

  • Classifiers: Riemannian Minimum Distance to Mean (RMDM), xDAWN, Riemannian MDM

  • Feature extraction: Covariance/Riemannian, xDAWN

Cross-Validation

  • Evaluation type: cross_session

Performance (Original Study)

  • Note: Real-time adaptive classifier used during experiment, performance variable per subject

BCI Application

  • Applications: gaming

  • Environment: small room with a surface of four meters square, containing a 24’ screen

  • Online feedback: True

Tags

  • Pathology: Healthy

  • Modality: Visual

  • Type: Perception

Documentation

  • Description: EEG recordings of 50 subjects playing to a visual P300 Brain-Computer Interface (BCI) videogame named Brain Invaders. The interface uses the oddball paradigm on a grid of 36 symbols (1 Target, 35 Non-Target) that are flashed pseudo-randomly to elicit the P300 response. Three conditions: flash duration 50ms, 80ms or 110ms.

  • DOI: 10.5281/zenodo.3266930

  • Associated paper DOI: hal-02172347

  • License: CC-BY-4.0

  • Investigators: Louis Korczowski, Martine Cederhout, Anton Andreev, Grégoire Cattan, Pedro Luiz Coelho Rodrigues, Violette Gautheret, Marco Congedo

  • Senior author: Marco Congedo

  • Institution: GIPSA-lab, CNRS, University Grenoble-Alpes, Grenoble INP

  • Address: GIPSA-lab, 11 rue des Mathématiques, Grenoble Campus BP46, F-38402, France

  • Country: France

  • Repository: Zenodo

  • Data URL: https://doi.org/10.5281/zenodo.3266930

  • Publication year: 2019

  • Ethics approval: Ethical Committee of the University of Grenoble Alpes (Comité d’Ethique pour la Recherche Non-Interventionnelle)

  • Keywords: Electroencephalography (EEG), P300, Brain-Computer Interface, Experiment

Abstract

We describe the experimental procedures for an experiment dataset that we have made publicly available at https://doi.org/10.5281/zenodo.3266930 in mat and csv formats. This dataset contains electroencephalographic (EEG) recordings of 50 subjects playing to a visual P300 Brain-Computer Interface (BCI) videogame named Brain Invaders. The interface uses the oddball paradigm on a grid of 36 symbols (1 Target, 35 Non-Target) that are flashed pseudo-randomly to elicit the P300 response. EEG data were recorded using 32 active wet electrodes with three conditions: flash duration 50ms, 80ms or 110ms. The experiment took place at GIPSA-lab, Grenoble, France, in 2015.

Methodology

The experiment consisted of three game sessions of Brain Invaders of 9 levels each with different flash duration (110ms, 80ms, 50ms). Before and after the three game sessions, around one minute of resting state and eyes closed conditions were recorded. The interface is composed of 36 aliens. A repetition is composed of 12 flashes of pseudo-random groups of six symbols chosen in such a way that after each repetition each symbol has flashed exactly two times. The ratio of Target versus non-Target is one-to-five. During the experiment, the output of a real-time adaptive Riemannian Minimum Distance to Mean (RMDM) classifier was used for assessing the participants’ command. This scheme allows a calibration-free classifier.

References

Korczowski, L., Cederhout, M., Andreev, A., Cattan, G., Rodrigues, P. L. C., Gautheret, V., & Congedo, M. (2019). Brain Invaders Cooperative versus Competitive: Multi-User P300-based Brain-Computer Interface Dataset (BI2015b) https://hal.archives-ouvertes.fr/hal-02172347 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

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Age distribution by gender (n=44, range 24–24 yr, mean 23.0 yr)

20
Other · 44

Channel counts: 32 ch (n=176 recordings)

Sampling frequencies: 512.0 Hz (n=176 recordings)

Total recording duration: 26 h

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 32 ch · EEG · 512 Hz · 44 subjects, 176 recordings
Live trace viewer — sub-13 · ses-0 · task-p300 · run-0

Showing one representative recording out of 44 subjects and 176 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 · 32 sensors — 32 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 — NM000217
§ 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

NM000217

Title

P300 dataset BI2015b from a “Brain Invaders” experiment

Author (year)

Korczowski2015_P300_BI2015b

Canonical

Importable as

NM000217, Korczowski2015_P300_BI2015b

Year

2019

Authors

Louis Korczowski, Martine Cederhout, Anton Andreev, Grégoire Cattan, Pedro Luiz Coelho Rodrigues, Violette Gautheret, Marco Congedo

License

CC-BY-4.0

Citation / DOI

Unknown

Source links

OpenNeuro | NeMAR | Source URL

§ 06API · Programmatic access

API Reference#

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

P300 dataset BI2015b from a “Brain Invaders” experiment

Study:

nm000217 (NeMAR)

Author (year):

Korczowski2015_P300_BI2015b

Canonical:

Also importable as: NM000217, Korczowski2015_P300_BI2015b.

Modality: eeg; Experiment type: Attention; Subject type: Healthy. Subjects: 44; recordings: 176; 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/nm000217 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=nm000217

Examples

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

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

Citation

Louis Korczowski, Martine Cederhout, Anton Andreev, Grégoire Cattan, Pedro Luiz Coelho Rodrigues, … (2019). P300 dataset BI2015b from a "Brain Invaders" experiment.

Provenance

¹Contributed to nemar in BIDS format.

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

BIDS
BIDS 1.9.0
Sidecars
events · events.json · channels · eeg.json
Provenance
CC-BY-4.0 · DOI not on file
Machine-readable
Mirrors

See Also#