EEGdashOpenNeuroDS003620
Iss. 3620 · 44 subjects · 100 recordings · CC0
Dataset Brief · Runabout

DS003620: eeg dataset, 44 subjects#

Runabout: A mobile EEG study of auditory oddball processing in laboratory and real-world conditions

Citation: Magnus Liebherr, Andrew W. Corcoran, Phillip M. Alday, Scott Coussens, Valeria Bellan, Caitlin A. Howlett, Maarten A. Immink, Mark Kohler, Matthias Schlesewsky, Ina Bornkessel-Schlesewsky (20). Runabout: A mobile EEG study of auditory oddball processing in laboratory and real-world conditions. 10.18112/openneuro.ds003620.v1.1.1

44-participant EEG dataset — Runabout: A mobile EEG study of auditory oddball processing in laboratory and real-world conditions.

EEG · 35 ch500 HzBIDS 1.4Task · oddballHealthyAuditoryAttention
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 DS003620

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

Filter by subject

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

Advanced query

dataset = DS003620(
    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{ds003620,
  title = {Runabout: A mobile EEG study of auditory oddball processing in laboratory and real-world conditions},
  author = {Magnus Liebherr and Andrew W. Corcoran and Phillip M. Alday and Scott Coussens and Valeria Bellan and Caitlin A. Howlett and Maarten A. Immink and Mark Kohler and Matthias Schlesewsky and Ina Bornkessel-Schlesewsky},
  doi = {10.18112/openneuro.ds003620.v1.1.1},
  url = {https://doi.org/10.18112/openneuro.ds003620.v1.1.1},
}
§ 02Study · The README

About This Dataset#

This dataset contains raw and pre-processed EEG data from a mobile EEG study investigating the effects of cognitive task demands, motor demands, and environmental complexity on attentional processing (see below for experiment details).

All preprocessing and analysis code is deposited in the code directory. The entire MATLAB pipeline can be reproduced by executing the run_pipeline.m script. In order to run these scripts, you will need to ensure you have the required MATLAB toolboxes and R packages on your system. You will also need to adapt def_local.m to specify local paths to MATLAB and EEGLAB. Descriptive statistics and mixed-effects models can be reproduced in R by running the stat_analysis.R script.

See below for software details.

Overview

Citing this dataset

In addition to citing this dataset, please cite the original manuscript reporting data collection and experimental procedures.

For more information, see the dataset_description.json file.

License

View full README

Overview

Citing this dataset

In addition to citing this dataset, please cite the original manuscript reporting data collection and experimental procedures.

For more information, see the dataset_description.json file.

License

ODC Open Database License (ODbL). For more information, see the LICENCE file.

Format

Dataset is formatted according to the EEG-BIDS extension (Pernet et al., 2019) and the BIDS extension proposal for common electrophysiological derivatives (BEP021) v0.0.1, which can be found here: https://docs.google.com/document/d/1PmcVs7vg7Th-cGC-UrX8rAhKUHIzOI-uIOh69_mvdlw/edit#heading=h.mqkmyp254xh6 Note that BEP021 is still a work in progress as of 2021-03-01.

Generally, you can find data in the .tsv files and descriptions in the accompanying .json files.

An important BIDS definition to consider is the “Inheritance Principle” (see 3.5 in the BIDS specification: http://bids.neuroimaging.io/bids_spec.pdf), which states:

Any metadata file (.json, .bvec, .tsv, etc.) may be defined at any directory level. The values from the top level are inherited by all lower levels unless they are overridden by a file at the lower level.

Details about the experiment

Forty-four healthy adults aged 18-40 performed an oddball task involving complex tone (piano and horn) stimuli in three settings: (1) sitting in a quiet room in the lab (LAB); (2) walking around a sports field (FIELD); (3) navigating a route through a university campus (CAMPUS).

Participants performed each environmental condition twice: once while attending to oddball stimuli (i.e. counting the number of presented deviant tones; COUNT), and once while disregarding or ignoring the tone stimuli (IGNORE). EEG signals were recorded from 32 active electrodes using a Brain Vision LiveAmp 32 amplifier. See manuscript for further details.

MATLAB software details

MATLAB Version: 9.7.0.1319299 (R2019b) Update 5 MATLAB License Number: 678256 Operating System: Microsoft Windows 10 Enterprise Version 10.0 (Build 18363) Java Version: Java 1.8.0_202-b08 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode * MATLAB (v9.7) * Simulink (v10.0) * Curve Fitting Toolbox (v3.5.10) * DSP System Toolbox (v9.9) * Image Processing Toolbox (v11.0) * MATLAB Compiler (v7.1) * MATLAB Compiler SDK (v6.7) * Parallel Computing Toolbox (v7.1) * Signal Processing Toolbox (v8.3) * Statistics and Machine Learning Toolbox (v11.6) * Symbolic Math Toolbox (v8.4) * Wavelet Toolbox (v5.3)

The following toolboxes/helper functions were also used: * EEGLAB (v2019.1) * ERPLAB (v8.10) * ICLabel (v1.3) * clean_rawdata (v2.3) * bids-matlab-tools (v5.2) * dipfit (v3.4) * firfilt (v2.4) * export_fig (v3.12) * ColorBrewer (v3.1.0)

R software details

R version 3.6.2 (2019-12-12) Platform: x86_64-w64-mingw32/x64 (64-bit) locale: _LC_COLLATE=English_Australia.1252_, _LC_CTYPE=English_Australia.1252_, _LC_MONETARY=English_Australia.1252_, _LC_NUMERIC=C_ and _LC_TIME=English_Australia.1252_ attached base packages: * stats * graphics * grDevices * utils * datasets * methods * base

other attached packages: * sjPlot(v.2.8.7) * emmeans(v.1.5.1) * car(v.3.0-10) * carData(v.3.0-4) * lme4(v.1.1-23) * Matrix(v.1.2-18) * data.table(v.1.13.0) * forcats(v.0.5.0) * stringr(v.1.4.0) * dplyr(v.1.0.2) * purrr(v.0.3.4) * readr(v.1.4.0) * tidyr(v.1.1.2) * tibble(v.3.0.4) * ggplot2(v.3.3.2) * tidyverse(v.1.3.0)

loaded via a namespace (and not attached): * nlme(v.3.1-149) * pbkrtest(v.0.4-8.6) * fs(v.1.5.0) * lubridate(v.1.7.9) * insight(v.0.12.0) * httr(v.1.4.2) * numDeriv(v.2016.8-1.1) * tools(v.3.6.2) * backports(v.1.1.10) * utf8(v.1.1.4) * R6(v.2.4.1) * sjlabelled(v.1.1.7) * DBI(v.1.1.0) * colorspace(v.1.4-1) * withr(v.2.3.0) * tidyselect(v.1.1.0) * curl(v.4.3) * compiler(v.3.6.2) * performance(v.0.5.0) * cli(v.2.1.0) * rvest(v.0.3.6) * xml2(v.1.3.2) * sandwich(v.3.0-0) * labeling(v.0.3) * bayestestR(v.0.7.2) * scales(v.1.1.1) * mvtnorm(v.1.1-1) * digest(v.0.6.25) * foreign(v.0.8-76) * minqa(v.1.2.4) * rio(v.0.5.16) * pkgconfig(v.2.0.3) * dbplyr(v.1.4.4) * rlang(v.0.4.8) * readxl(v.1.3.1) * rstudioapi(v.0.11) * farver(v.2.0.3) * generics(v.0.0.2) * zoo(v.1.8-8) * jsonlite(v.1.7.1) * zip(v.2.1.1) * magrittr(v.1.5) * parameters(v.0.8.6) * Rcpp(v.1.0.5) * munsell(v.0.5.0) * fansi(v.0.4.1) * abind(v.1.4-5) * lifecycle(v.0.2.0) * stringi(v.1.4.6) * multcomp(v.1.4-14) * MASS(v.7.3-53) * plyr(v.1.8.6) * grid(v.3.6.2) * blob(v.1.2.1) * parallel(v.3.6.2) * sjmisc(v.2.8.6) * crayon(v.1.3.4) * lattice(v.0.20-41) * ggeffects(v.0.16.0) * haven(v.2.3.1) * splines(v.3.6.2) * pander(v.0.6.3) * sjstats(v.0.18.1) * hms(v.0.5.3) * knitr(v.1.30) * pillar(v.1.4.6) * boot(v.1.3-25) * estimability(v.1.3) * effectsize(v.0.3.3) * codetools(v.0.2-16) * reprex(v.0.3.0) * glue(v.1.4.2) * modelr(v.0.1.8) * vctrs(v.0.3.4) * nloptr(v.1.2.2.2) * cellranger(v.1.1.0) * gtable(v.0.3.0) * assertthat(v.0.2.1) * xfun(v.0.18) * openxlsx(v.4.2.2) * xtable(v.1.8-4) * broom(v.0.7.1) * coda(v.0.19-4) * survival(v.3.2-7) * lmerTest(v.3.1-3) * statmod(v.1.4.34) * TH.data(v.1.0-10) * ellipsis(v.0.3.1)

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Age distribution by gender (n=43, range 18–39 yr, mean 23.3 yr)

1520253035
Female · 28Male · 15

Sex composition

44
subjects
Female
29
Male
15
F : M ratio
1.93 : 1
66% female · n = 44 subjects with reported sex.
HandednessRight · 40Left · 1

Channel counts: 35 ch (n=100 recordings)

Sampling frequencies: 500.0 Hz (n=100 recordings)

Total recording duration: 109 h

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 35 ch · EEG · 500 Hz · 44 subjects, 100 recordings
Live trace viewer — sub-13 · task-oddball

Showing one representative recording out of 44 subjects and 100 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 — DS003620
§ 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

DS003620

Title

Runabout: A mobile EEG study of auditory oddball processing in laboratory and real-world conditions

Author (year)

Liebherr2021

Canonical

Importable as

DS003620, Liebherr2021

Year

20

Authors

Magnus Liebherr, Andrew W. Corcoran, Phillip M. Alday, Scott Coussens, Valeria Bellan, Caitlin A. Howlett, Maarten A. Immink, Mark Kohler, Matthias Schlesewsky, Ina Bornkessel-Schlesewsky

License

CC0

Citation / DOI

doi:10.18112/openneuro.ds003620.v1.1.1

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{ds003620,
  title = {Runabout: A mobile EEG study of auditory oddball processing in laboratory and real-world conditions},
  author = {Magnus Liebherr and Andrew W. Corcoran and Phillip M. Alday and Scott Coussens and Valeria Bellan and Caitlin A. Howlett and Maarten A. Immink and Mark Kohler and Matthias Schlesewsky and Ina Bornkessel-Schlesewsky},
  doi = {10.18112/openneuro.ds003620.v1.1.1},
  url = {https://doi.org/10.18112/openneuro.ds003620.v1.1.1},
}
§ 06API · Programmatic access

API Reference#

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

Runabout: A mobile EEG study of auditory oddball processing in laboratory and real-world conditions

Study:

ds003620 (OpenNeuro)

Author (year):

Liebherr2021

Canonical:

Also importable as: DS003620, Liebherr2021.

Modality: eeg; Experiment type: Attention; Subject type: Healthy. Subjects: 44; recordings: 100; 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/ds003620 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=ds003620 DOI: https://doi.org/10.18112/openneuro.ds003620.v1.1.1 NEMAR citation count: 4

Examples

>>> from eegdash.dataset import DS003620
>>> dataset = DS003620(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 FacePre-bundled mirror at EEGDash/ds003620 · pull with datasets.load_dataset("EEGDash/ds003620").huggingface
Croissant 1.0Machine-readable JSON-LD descriptorDS003620.croissant.json (MLCommons schema, ingestible by PyTorch / TensorFlow / JAX).mlcommons
Examples using EEGDashcurated · start here

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

Citation

Magnus Liebherr, Andrew W. Corcoran, Phillip M. Alday, Scott Coussens, Valeria Bellan, … (20). Runabout: A mobile EEG study of auditory oddball processing in laboratory and real-world conditions. 10.18112/openneuro.ds003620.v1.1.1

Provenance

¹Contributed to openneuro in BIDS format.

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

³Persistent identifier: 10.18112/openneuro.ds003620.v1.1.1.

BIDS
BIDS 1.4
Sidecars
not yet probed
Machine-readable

See Also#