EEGdashOpenNeuroDS005692
Iss. 5692 · 30 subjects · 59 recordings · CC0
Dataset Brief · SpinalExpect_NonInvasive

DS005692: eeg dataset, 30 subjects#

SpinalExpect_NonInvasive

Citation: Max-Philipp Stenner, Cindy Marquez Nossa, Tino Zaehle, Elena Azanon, Hans-Jochen Heinze, Matthias Deliano, Lars Buentjen (2022). SpinalExpect_NonInvasive. 10.18112/openneuro.ds005692.v1.0.0

30-participant EEG dataset — SpinalExpect_NonInvasive.

EEG · 25 ch5000 HzBIDS 1.6Task · countingDeviants2 sessionsHealthyMultisensoryAttention
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 DS005692

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

Filter by subject

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

Advanced query

dataset = DS005692(
    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{ds005692,
  title = {SpinalExpect_NonInvasive},
  author = {Max-Philipp Stenner and Cindy Marquez Nossa and Tino Zaehle and Elena Azanon and Hans-Jochen Heinze and Matthias Deliano and Lars Buentjen},
  doi = {10.18112/openneuro.ds005692.v1.0.0},
  url = {https://doi.org/10.18112/openneuro.ds005692.v1.0.0},
}
§ 02Study · The README

About This Dataset#

Contact person:

Max-Philipp Stenner, email: max-philipp.stenner@med.ovgu.de or max-philipp.stenner@lin-magdeburg.de, ORCID: 0000-0002-3694-1887

Brief overview of the tasks in the experiment:

The goal was to reveal whether temporal expectation influences initial sensory processing in the human spinal cord. In each trial, subjects (n=30, healthy, young) received at least one electric median nerve stimulation on the left wrist. Their task was to silently count in how many (rare) trials in each block (~5 min) there were two median nerve stimuli in rapid succession (80 ms ISI), and to report that number at the end of each block. In each trial, the median nerve stimulation was preceded by an auditory cue. In alternating blocks, the time interval between the auditory cue and the (first) median nerve stimulation was either fixed at 1100 ms, or varied randomly (uniform distribution) between 100 and 2100 ms. Each subject (except for sub-24) completed two days of testing. Whether a session began with a constant-interval block or variable-interval block was counterbalanced across subjects.

Montage:

Adapted from/extended beyond Chander, B. S., Deliano, M., Azañón, E., Büntjen, L., & Stenner, M. P. (2022). Non-invasive recording of high-frequency signals from the human spinal cord. NeuroImage, 253, 119050, as follows. Electrodes were placed in three rings around the neck. “Sr” in the channel names stands for “spinal ring”. There was a caudal, middle, and cranial ring of electrodes. The middle ring was connecting a point above the spinous process of the sixth cervical vertebra (SrC6), and a point above the thyroid cartilage (“SrF”). Between these two electrodes, the remaining six electrodes for the middle ring were evenly spaced around the neck. “L” in channel names means left, “R” means right, “B” means “back”, “F” means front, and “M” means middle. For the caudal and cranial rings, electrodes were placed approximately 2 cm below (“_b”) and 2 cm above (“_a”) the corresponding electrodes of the middle ring, respectively.

Events:

There are three events of interest. “S1” is a keypress of the experimenter, to advance the task upon breaks. “S1” can therefore be used to identify the start of each new block. “S70” corresponds to the auditory cue. “S130” corresponds to median nerve stimulation. “S99” is a “placeholder” that corresponds to no stimulus at all. The placeholder was used to enable “double stimuli”, i.e., a rapid succession of two median nerve stimulations with an ISI of 80 ms. Most trials follow a sequence of “S70” - “S130” - “S99”. Deviant trials have “S70” - “S130” - “S130”.

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Age distribution by gender (n=30, range 20–32 yr, mean 26.0 yr)

202530
Female · 12Male · 18

Sex composition

30
subjects
Female
12
Male
18
F : M ratio
0.67 : 1
40% female · n = 30 subjects with reported sex.

Channel counts: 25 ch (n=59 recordings)

Sampling frequencies: 5000.0 Hz (n=59 recordings)

Total recording duration: 112 h

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 25 ch · EEG · 5000 Hz · 30 subjects, 59 recordings
Live trace viewer — sub-13 · ses-2 · task-countingDeviants

Showing one representative recording out of 30 subjects and 59 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.

No scalp electrode layout is currently indexed for this dataset. Once the eegdash montage registry ingests it, the interactive viewer will appear here automatically.

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 — DS005692
§ 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

DS005692

Title

SpinalExpect_NonInvasive

Author (year)

Stenner2024_SpinalExpect_NonInvasive

Canonical

Importable as

DS005692, Stenner2024_SpinalExpect_NonInvasive

Year

2022

Authors

Max-Philipp Stenner, Cindy Marquez Nossa, Tino Zaehle, Elena Azanon, Hans-Jochen Heinze, Matthias Deliano, Lars Buentjen

License

CC0

Citation / DOI

doi:10.18112/openneuro.ds005692.v1.0.0

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{ds005692,
  title = {SpinalExpect_NonInvasive},
  author = {Max-Philipp Stenner and Cindy Marquez Nossa and Tino Zaehle and Elena Azanon and Hans-Jochen Heinze and Matthias Deliano and Lars Buentjen},
  doi = {10.18112/openneuro.ds005692.v1.0.0},
  url = {https://doi.org/10.18112/openneuro.ds005692.v1.0.0},
}
§ 06API · Programmatic access

API Reference#

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

SpinalExpect_NonInvasive

Study:

ds005692 (OpenNeuro)

Author (year):

Stenner2024_SpinalExpect_NonInvasive

Canonical:

Also importable as: DS005692, Stenner2024_SpinalExpect_NonInvasive.

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

Examples

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

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

Citation

Max-Philipp Stenner, Cindy Marquez Nossa, Tino Zaehle, Elena Azanon, Hans-Jochen Heinze, … (2022). SpinalExpect_NonInvasive. 10.18112/openneuro.ds005692.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.ds005692.v1.0.0.

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

See Also#