EEGdashOpenNeuroDS004264
Iss. 4264 · 21 subjects · 21 recordings · CC0
Dataset Brief · Steer the Ship

DS004264: eeg dataset, 21 subjects#

Steer the Ship

Citation: Cameron D. Hassall, Yan Yan, Laurence T. Hunt (—). Steer the Ship. 10.18112/openneuro.ds004264.v1.1.0

21-participant EEG dataset — Steer the Ship.

EEG · 31 ch1000 HzBIDS 1.2.1Task · steertheshipHealthyVisualLearning
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 DS004264

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

Filter by subject

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

Advanced query

dataset = DS004264(
    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{ds004264,
  title = {Steer the Ship},
  author = {Cameron D. Hassall and Yan Yan and Laurence T. Hunt},
  doi = {10.18112/openneuro.ds004264.v1.1.0},
  url = {https://doi.org/10.18112/openneuro.ds004264.v1.1.0},
}
§ 02Study · The README

About This Dataset#

Twenty-one participants learned to control the trajectory of a ship, represented by centrally presented rotating arrow. Prior to each round participants were cued about the degree of controller and environmental noise (“wind”) they would experience. During the round, participants pressed the ‘f’ and ‘j’ keys to apply angular force in either a clockwise or counterclockwise direction. The goal of the task was to keep the ship closely oriented towards a target. Points were accumulated depending on the mean distance to target. The ship would crash if it strayed too far from the target (and the round would end). Each round lasted up to 1 minute. The underlying physics were based on the pole-and-cart problem (i.e., unstable).

There were four noise conditions:

1: No noise 2: Environmental noise only (ship occasionally moved on its own) 3: Controller noise only (amount of force varied) 4: Environmental and controller noise Participant 12 should be excluded from event-locked analyses due to bad triggers (trigger cable was partially disconnected).

Steer the Ship

Also note that the RT for the first button press in each round is not recorded (but is recorded in the participantActions column). Trigger Modifiers (added to condition numbers) Add 0: Condition cue Add 10: Start of round Add 20: Left button press Add 30: Right button press Add 40: Left button press (computer) Add 50: Right button press (computer) Add 60: Crash Add 70: Success (reached 1 minute of play) Add 80: Points displayed 

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Age distribution by gender (n=21, range 21–41 yr, mean 25.8 yr)

20253040
Female · 16Male · 5

Sex composition

21
subjects
Female
16
Male
5
F : M ratio
3.20 : 1
76% female · n = 21 subjects with reported sex.
HandednessRight · 19Left · 2

Channel counts: 31 ch (n=21 recordings)

Sampling frequencies: 1000.0 Hz (n=21 recordings)

Total recording duration: 7 h 27 min

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 31 ch · EEG · 1000 Hz · 21 subjects, 21 recordings
Live trace viewer — sub-13 · task-steertheship

Showing one representative recording out of 21 subjects and 21 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 · 31 sensors — 31 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 — DS004264
§ 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

DS004264

Title

Steer the Ship

Author (year)

Hassall2022_Steer

Canonical

Importable as

DS004264, Hassall2022_Steer

Year

Authors

Cameron D. Hassall, Yan Yan, Laurence T. Hunt

License

CC0

Citation / DOI

doi:10.18112/openneuro.ds004264.v1.1.0

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{ds004264,
  title = {Steer the Ship},
  author = {Cameron D. Hassall and Yan Yan and Laurence T. Hunt},
  doi = {10.18112/openneuro.ds004264.v1.1.0},
  url = {https://doi.org/10.18112/openneuro.ds004264.v1.1.0},
}
§ 06API · Programmatic access

API Reference#

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

Steer the Ship

Study:

ds004264 (OpenNeuro)

Author (year):

Hassall2022_Steer

Canonical:

Also importable as: DS004264, Hassall2022_Steer.

Modality: eeg. Subjects: 21; recordings: 21; 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/ds004264 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=ds004264 DOI: https://doi.org/10.18112/openneuro.ds004264.v1.1.0 NEMAR citation count: 0

Examples

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

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

Citation

Cameron D. Hassall, Yan Yan, Laurence T. Hunt (n.d.). Steer the Ship. 10.18112/openneuro.ds004264.v1.1.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.ds004264.v1.1.0.

BIDS
BIDS 1.2.1
Sidecars
events · events.json · channels · eeg.json
Machine-readable

See Also#