EEGdashNeMARON002578
Iss. 2578 · 2 subjects · 2 recordings · CC0
Dataset Brief · Visual Oddball Task (256 channels)

ON002578: eeg dataset, 2 subjects#

Visual Oddball Task (256 channels)

Citation: Arnaud Delorme, Scott Makeig (20). Visual Oddball Task (256 channels). 10.82901/nemar.on002578

2-participant EEG dataset — Visual Oddball Task (256 channels).

EEG · 256 ch256 HzBIDS 1.8.0Task · attention
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 ON002578

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

Filter by subject

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

Advanced query

dataset = ON002578(
    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{on002578,
  title = {Visual Oddball Task (256 channels)},
  author = {Arnaud Delorme and Scott Makeig},
  doi = {10.82901/nemar.on002578},
  url = {https://doi.org/10.82901/nemar.on002578},
}
§ 02Study · The README

About This Dataset#

Data for this selective attention task was collected in 2004

at the Swartz Center for Computational Neuroscience at UCSD.

These datasets are part of a larger corpus of 32-channel data

collected a few years prior. The experiment is identical although the number of channel is larger (256), the electrode positions are scanned and the anatomical MRI is provided (allowing for precise source localization). See publication for more details.

DOI

Raw data manipulation before export: - Fuse all BDF BIOSEMI files and reference to electrode 135 (see loadallbdf_2020.m) - Fuse with presentation file information (see loadallbdf_2020.m) - Remove spurious events of type ‘condition’ and ‘201’ (see clean_events.m) - Add HED tags (see addHEDTags.m) - Convert MRI to NIFTI format (MRIcron) and reorient (MRIcrogl) (see convert_nifti.m)

NEMAR curation changes (2026-05-21)

View full README

DOI

Raw data manipulation before export: - Fuse all BDF BIOSEMI files and reference to electrode 135 (see loadallbdf_2020.m) - Fuse with presentation file information (see loadallbdf_2020.m) - Remove spurious events of type ‘condition’ and ‘201’ (see clean_events.m) - Add HED tags (see addHEDTags.m) - Convert MRI to NIFTI format (MRIcron) and reorient (MRIcrogl) (see convert_nifti.m)

NEMAR curation changes (2026-05-21)

BIDS validator: 7 errors + 109 warnings → 0 errors + 94 warnings. Raw .set/.fdt binary payloads unchanged.

participants.tsv

  • Header had participant_id listed twice (participant_id, gender, participant_id, age), and the duplicate column repeated the subject ID. Dropped the duplicate so the header is participant_id, gender, age. Two data rows now read sub-001 F 30 and sub-002 M 30. Closes the TSV_COLUMN_HEADER_DUPLICATE, TSV_COLUMN_MISSING, and PARTICIPANT_ID_MISMATCH errors.

dataset_description.json

  • BIDSVersion: "v1.2.1""1.8.0" (BIDS-canonical, no leading v). Closes UNKNOWN_BIDS_VERSION.

  • Added DatasetType: "raw".

  • Added GeneratedBy: [{Name: "nemar-cli", Version: "0.8.8", CodeURL: "https://github.com/nemar-org/nemar-cli"}].

sub-NNN/eeg/sub-NNNtask-attentionelectrodes.tsv (2 files)

  • git mv to sub-NNN/eeg/sub-NNN_electrodes.tsv (dropped the task- entity — electrode positions are subject-level, not task-level per BIDS). Closes EXCESSIVE_ELECTRODE_SPECIFICITY ×2 and dependent SIDECAR_KEY_RECOMMENDED:TaskName warnings.

sub-NNN/eeg/sub-NNNtask-attentioncoordsystem.json (2 files)

  • git mv to sub-NNN/eeg/sub-NNN_coordsystem.json (same rationale). Closes EXCESSIVE_COORDSYSTEM_SPECIFICITY ×2 and JSON_SCHEMA_VALIDATION_ERROR:EEGCoordinateSystem (file contents unchanged; value "CTF" is a valid BIDS coordinate system once the file is at the subject-level path).

task-attention_events.json (new, consolidating root sidecar)

  • Created at dataset root, replacing the two byte-identical per-subject _events.json files (removed) plus the orphan root events.json (also removed). BIDS inheritance carries this single file to both subjects.

  • All time columns (onset, duration, response_time): "Units": "second""Units": "s" (BIDS-canonical SI symbol).

  • Added sample column definition (was undocumented).

  • value column: removed the obsolete Levels block — the old keys x11..x55 did not match any cells in events.tsv, which is what triggered the TSV_VALUE_INCORRECT_TYPE errors on bare numerics like 34 (sub-001 line 249) and 35 (sub-002 line 252). Closes both errors.

  • value column: preserved the HED dictionary from the orphan root events.json (12 entries: numeric trigger codes 31/33-35/41-45 plus the string classes Picture, Response, boundary) and re-anchored it under value.HED to match the actual column name in events.tsv. The orphan had nested it under a non-existent column type, so the annotations were unreachable; their content is unchanged.

Removed files

  • events.json (root) — orphan that nested HED tags under a non-existent column type. Salvageable HED entries now live in the new task-attention_events.json under value.HED. Removing this file also closes the HED_ERROR:SIDECAR_INVALID on sub-001.

  • sub-001/eeg/sub-001_task-attention_events.json, sub-002/eeg/sub-002_task-attention_events.json — byte-identical to each other; both replaced by the inheriting root sidecar.

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Age distribution by gender (n=2, range 30–30 yr, mean 30.0 yr)

30
Other · 2

Sex composition

2
subjects
Female
1
Male
1
F : M ratio
1.00 : 1
50% female · n = 2 subjects with reported sex.

Channel counts: 256 ch (n=2 recordings)

Sampling frequencies: 256.0 Hz (n=2 recordings)

Total recording duration: 1 h 27 min

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 256 ch · EEG · 256 Hz · 2 subjects, 2 recordings
Live trace viewer — sub-001 · task-attention

Showing one representative recording out of 2 subjects and 2 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 · 256 sensors — 256 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 — ON002578
§ 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

ON002578

Title

Visual Oddball Task (256 channels)

Author (year)

Canonical

Importable as

ON002578

Year

20

Authors

Arnaud Delorme, Scott Makeig

License

CC0

Citation / DOI

10.82901/nemar.on002578

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{on002578,
  title = {Visual Oddball Task (256 channels)},
  author = {Arnaud Delorme and Scott Makeig},
  doi = {10.82901/nemar.on002578},
  url = {https://doi.org/10.82901/nemar.on002578},
}
§ 06API · Programmatic access

API Reference#

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

Visual Oddball Task (256 channels)

Study:

on002578 (NeMAR)

Author (year):

nan

Canonical:

Also importable as: ON002578, nan.

Modality: eeg. Subjects: 2; recordings: 2; 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/on002578 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=on002578 DOI: https://doi.org/10.82901/nemar.on002578

Examples

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

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

Citation

Arnaud Delorme, Scott Makeig (20). Visual Oddball Task (256 channels). 10.82901/nemar.on002578

Provenance

¹Contributed to nemar in BIDS format.

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

³Persistent identifier: 10.82901/nemar.on002578.

BIDS
BIDS 1.8.0
Sidecars
events · channels · electrodes · coordsystem · eeg.json
Provenance
Machine-readable
Mirrors

See Also#