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.
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},
}
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.jsonfile.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.jsonfile.License
ODC Open Database License (ODbL). For more information, see the
LICENCEfile.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)
Cohort#
Dataset Statistics#
Age distribution by gender (n=43, range 18–39 yr, mean 23.3 yr)
Sex composition
Channel counts: 35 ch (n=100 recordings)
Sampling frequencies: 500.0 Hz (n=100 recordings)
Total recording duration: 109 h
Signal · Electrodes & live trace#
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
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 |
Runabout: A mobile EEG study of auditory oddball processing in laboratory and real-world conditions |
Author (year) |
|
Canonical |
— |
Importable as |
|
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 |
|
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},
}
API Reference#
eegdash.datasetEEGDashDatasetDS003620 · Liebherr2021eegdash/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
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/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.
BaseDataset from braindecode — windowed via create_windows_from_events.braindecodeDataLoader; supports parallel workers and on-the-fly augmentations.pytorchdatasets.load_dataset("EEGDash/ds003620").huggingfaceSwap 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.
See Also#
eegdash.dataset.EEGDashDataseteegdash.dataset