EEGdashOpenNeuroDS004123
Iss. 4123 · 29 subjects · 30 recordings · CC0
Dataset Brief · BCIT Traffic Complexity

DS004123: eeg dataset, 29 subjects#

BCIT Traffic Complexity

Citation: Jonathan Touryan (data and curation), Greg Apker (data), Brent Lance (data), Scott Kerick (data), Anthony Ries (data), Justin Brooks (data), Kaleb McDowell (data), Tony Johnson (curation), Kay Robbins (curation) (20). BCIT Traffic Complexity. 10.18112/openneuro.ds004123.v1.0.0

29-participant EEG dataset — BCIT Traffic Complexity.

EEG · 74 ch1024 HzBIDS 1.7.0HED ✓Task · DriveWithComplexityHealthyVisualAttention
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 DS004123

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

Filter by subject

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

Advanced query

dataset = DS004123(
    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{ds004123,
  title = {BCIT Traffic Complexity},
  author = {Jonathan Touryan (data and curation) and Greg Apker (data) and Brent Lance (data) and Scott Kerick (data) and Anthony Ries (data) and Justin Brooks (data) and Kaleb McDowell (data) and Tony Johnson (curation) and Kay Robbins (curation)},
  doi = {10.18112/openneuro.ds004123.v1.0.0},
  url = {https://doi.org/10.18112/openneuro.ds004123.v1.0.0},
}
§ 02Study · The README

About This Dataset#

Overview: The Traffic Complexity study was designed to collect extended time-on-task measurements of

subjects performing a driving task in a simulated environment in order to assess fatigue-based performance through novel biomarkers. Similar to the Baseline Driving study, the Speed Control study was intended to identify periods of driver fatigue via predictive algorithms formulated from the analysis of driver EEG data, in comparison to the objective performance measures, and in contrast with the (non-fatigued) Calibration driving session for the subject. Traffic Complexity extended the paradigm by modulating the visual complexity and the frequency of perturbation events vs. Baseline Driving.

Further information is available on request from cancta.net.

BCIT Traffic Complexity

Introduction

Methods

Subjects: Volunteers from the local community recruited through advertisements. Apparatus: Driving simulator with steering wheel and brake / foot pedals (Real Time Technologies; Dearborn, MI); Video Refresh Rate (VRR) = 900 Hz; Vehicle data log file Sampling Rate (SR) = 100 Hz);

View full README

BCIT Traffic Complexity

Introduction

Methods

Subjects: Volunteers from the local community recruited through advertisements. Apparatus: Driving simulator with steering wheel and brake / foot pedals (Real Time Technologies; Dearborn, MI); Video Refresh Rate (VRR) = 900 Hz; Vehicle data log file Sampling Rate (SR) = 100 Hz); EEG (BioSemi 64 (+8) channel systems with 4 eye and 2 mastoid channels recorded; SR=2048 Hz); Eye Tracking (Sensomotoric Instruments (SMI); REDEYE250). Initial setup: Upon arrival to the lab, subjects were given an introduction to the primary study for which they were recruited and provided informed consent and provided demographics information.

This was followed by a practice session, to acclimate the subject to the driving simulator. The driving practice task lasted 10-15 min, until asymptotic performance in steering and speed control was demonstrated and lack of motion sickness was reported.

Subjects were then outfitted and prepped for eye tracking and EEG acquisition. Task organization: Subjects would perform the Baseline Driving task and the Traffic Complexity task, with counter-balancing used across subjects as to which of them came first.

The Baseline Driving run was 45 minutes of continuous driving, with subjects responsible for speed and steering control. Both driving tasks were conducted on the same simulated long, straight road. The Baseline run was done in a visually sparse environment, and the Traffic Complexity runs included pedestrians and other traffic. In each case, the subject was instructed to stay within the boundaries of the right-most lane, and to drive at the posted speed limits.

The vehicle was periodically subject to lateral perturbing forces, which could be applied to either side of the vehicle, pushing the vehicle out of the center of the lane; and the subject was instructed to execute corrective steering actions to return the vehicle to the center of the lane. Independent variables: Visual Complexity (high vs. low), Perturbation Frequency (high vs. low). Dependent variables: Reaction times to perturbations, continuous performance based on vehicle log (steering wheel angle, lane position, heading error, etc.), Task-Induced Fatigue Scale (TIFS), Karolinska Sleepiness Scale (KSS), Visual Analog Scale of Fatigue (VAS-F). Note: Questionnaire data is available upon request from cancta.net. Additional data acquired: Participant Enrollment Questionnaire, Subject Questionnaire for Current Session, Simulator Sickness Questionnaire. Experimental Locations: Teledyne Corporation, Durham, NC. Note 1: This dataset has a corresponding dataset in the BCIT Calibration Driving ds004118 which has the 15 minute driving task performed prior to this one. Note 2: This dataset has a corresponding dataset in the BCIT Baseline Driving ds004120 which was a longer driving task in a sparse environment.

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Channel counts: 74 ch (n=30 recordings)

Sampling frequencies: 1024.0 Hz (n=30 recordings)

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 74 ch · EEG · 1024 Hz · 29 subjects, 30 recordings
Live trace viewer — sub-13 · ses-01 · task-DriveWithComplexity · run-1

Showing one representative recording out of 29 subjects and 30 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 · 64 sensors — 64 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 — DS004123
§ 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

DS004123

Title

BCIT Traffic Complexity

Author (year)

Touryan2022_BCIT_Traffic

Canonical

Importable as

DS004123, Touryan2022_BCIT_Traffic

Year

20

Authors

Jonathan Touryan (data and curation), Greg Apker (data), Brent Lance (data), Scott Kerick (data), Anthony Ries (data), Justin Brooks (data), Kaleb McDowell (data), Tony Johnson (curation), Kay Robbins (curation)

License

CC0

Citation / DOI

doi:10.18112/openneuro.ds004123.v1.0.0

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{ds004123,
  title = {BCIT Traffic Complexity},
  author = {Jonathan Touryan (data and curation) and Greg Apker (data) and Brent Lance (data) and Scott Kerick (data) and Anthony Ries (data) and Justin Brooks (data) and Kaleb McDowell (data) and Tony Johnson (curation) and Kay Robbins (curation)},
  doi = {10.18112/openneuro.ds004123.v1.0.0},
  url = {https://doi.org/10.18112/openneuro.ds004123.v1.0.0},
}
§ 06API · Programmatic access

API Reference#

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

BCIT Traffic Complexity

Study:

ds004123 (OpenNeuro)

Author (year):

Touryan2022_BCIT_Traffic

Canonical:

Also importable as: DS004123, Touryan2022_BCIT_Traffic.

Modality: eeg; Experiment type: Attention; Subject type: Healthy. Subjects: 29; recordings: 30; 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/ds004123 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=ds004123 DOI: https://doi.org/10.18112/openneuro.ds004123.v1.0.0 NEMAR citation count: 0

Examples

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

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

Citation

Jonathan Touryan (data and curation), Greg Apker (data), Brent Lance (data), Scott Kerick (data), Anthony Ries (data), … (20). BCIT Traffic Complexity. 10.18112/openneuro.ds004123.v1.0.0

Provenance

¹Contributed to openneuro in BIDS format.

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

³Persistent identifier: 10.18112/openneuro.ds004123.v1.0.0.

BIDS
BIDS 1.7.0
Sidecars
events · channels · electrodes · coordsystem
Machine-readable

See Also#