EEGdashNeMARNM000313
Iss. 313 · 24 subjects · 288 recordings · CC-BY-4.0
Dataset Brief · Mainsah et al. 2025 — bigP3BCI

NM000313: eeg dataset, 24 subjects#

Mainsah et al. 2025 — bigP3BCI: An Open, Diverse and Machine Learning Ready P300-based Brain-Computer Interface Dataset (Study S2)

Citation: Boyla Mainsah, Chance Fleeting, Thomas Balmat, Eric Sellers, Leslie Collins (2019). Mainsah et al. 2025 — bigP3BCI: An Open, Diverse and Machine Learning Ready P300-based Brain-Computer Interface Dataset (Study S2). 10.13026/0byy-ry86

24-participant EEG dataset — Mainsah et al. 2025 — bigP3BCI: An Open, Diverse and Machine Learning Ready P300-based Brain-Computer Interface Dataset (Study S2).

EEG · 32 ch256 HzBIDS 1.9.0Task · p300HealthyVisualPerception
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 NM000313

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

Filter by subject

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

Advanced query

dataset = NM000313(
    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{nm000313,
  title = {Mainsah et al. 2025 — bigP3BCI: An Open, Diverse and Machine Learning Ready P300-based Brain-Computer Interface Dataset (Study S2)},
  author = {Boyla Mainsah and Chance Fleeting and Thomas Balmat and Eric Sellers and Leslie Collins},
  doi = {10.13026/0byy-ry86},
  url = {https://doi.org/10.13026/0byy-ry86},
}
§ 02Study · The README

About This Dataset#

BigP3BCI Study S2 — 9x8 house/tool paradigm (24 healthy subjects).

Code: Mainsah2025-S2

Paradigm: p300 DOI: 10.13026/0byy-ry86 Subjects: 24 Sessions per subject: 1 Events: Target=2, NonTarget=1 Trial interval: [0, 1.0] s

Mainsah2025-S2

Acquisition

Sampling rate: 256.0 Hz Number of channels: 32 Channel types: eeg=32 Montage: standard_1020 Hardware: g.USBamp (g.tec) Line frequency: 60.0 Hz

View full README

Mainsah2025-S2

Acquisition

Sampling rate: 256.0 Hz Number of channels: 32 Channel types: eeg=32 Montage: standard_1020 Hardware: g.USBamp (g.tec) Line frequency: 60.0 Hz

Participants

Number of subjects: 24 Health status: healthy

Experimental Protocol

Paradigm: p300 Number of classes: 2 Class labels: Target, NonTarget

HED Event Annotations

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

     ├─ Sensory-event
     ├─ Experimental-stimulus
     ├─ Visual-presentation
     └─ Target

NonTarget
├─ Sensory-event
├─ Experimental-stimulus
├─ Visual-presentation
└─ Non-target

Paradigm-Specific Parameters

Detected paradigm: p300

Signal Processing

Feature extraction: P300_ERP_detection

Cross-Validation

Method: calibration-then-test Evaluation type: within_subject

BCI Application

Applications: speller Environment: laboratory Online feedback: True

Tags

Modality: visual Type: perception

Documentation

Description: BigP3BCI: the largest public P300 BCI dataset, containing EEG recordings from ~267 subjects across 20 studies using 6x6 or 9x8 character grids with various stimulus paradigms. DOI: 10.13026/0byy-ry86 License: CC-BY-4.0 Investigators: Boyla Mainsah, Chance Fleeting, Thomas Balmat, Eric Sellers, Leslie Collins Institution: Duke University; East Tennessee State University Country: US Repository: PhysioNet Data URL: https://physionet.org/content/bigp3bci/1.0.0/ Publication year: 2025

References

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#

Channel counts: 32 ch (n=288 recordings)

Sampling frequencies: 256.0000766323896 Hz (n=288 recordings)

Total recording duration: 13 h 21 min

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 32 ch · EEG · 256 Hz · 24 subjects, 288 recordings
Live trace viewer — sub-1 · ses-0 · task-p300 · run-0

Showing one representative recording out of 24 subjects and 288 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 — NM000313
§ 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

NM000313

Title

Mainsah et al. 2025 — bigP3BCI: An Open, Diverse and Machine Learning Ready P300-based Brain-Computer Interface Dataset (Study S2)

Author (year)

Mainsah2025_S2

Canonical

Importable as

NM000313, Mainsah2025_S2

Year

2019

Authors

Boyla Mainsah, Chance Fleeting, Thomas Balmat, Eric Sellers, Leslie Collins

License

CC-BY-4.0

Citation / DOI

doi:10.13026/0byy-ry86

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{nm000313,
  title = {Mainsah et al. 2025 — bigP3BCI: An Open, Diverse and Machine Learning Ready P300-based Brain-Computer Interface Dataset (Study S2)},
  author = {Boyla Mainsah and Chance Fleeting and Thomas Balmat and Eric Sellers and Leslie Collins},
  doi = {10.13026/0byy-ry86},
  url = {https://doi.org/10.13026/0byy-ry86},
}
§ 06API · Programmatic access

API Reference#

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

Mainsah et al. 2025 — bigP3BCI: An Open, Diverse and Machine Learning Ready P300-based Brain-Computer Interface Dataset (Study S2)

Study:

nm000313 (NeMAR)

Author (year):

Mainsah2025_S2

Canonical:

Also importable as: NM000313, Mainsah2025_S2.

Modality: eeg; Experiment type: Perception; Subject type: Healthy. Subjects: 24; recordings: 288; 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/nm000313 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=nm000313 DOI: https://doi.org/10.13026/0byy-ry86

Examples

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

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

Citation

Boyla Mainsah, Chance Fleeting, Thomas Balmat, Eric Sellers, Leslie Collins (2019). Mainsah et al. 2025 — bigP3BCI: An Open, Diverse and Machine Learning Ready P300-based Brain-Computer Interface Dataset (Study S2). 10.13026/0byy-ry86

Provenance

¹Contributed to nemar in BIDS format.

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

³Persistent identifier: 10.13026/0byy-ry86.

BIDS
BIDS 1.9.0
Sidecars
events · events.json · channels · eeg.json
Provenance
CC-BY-4.0 · 10.13026/0byy-ry86
Machine-readable
Mirrors

See Also#