DS005691#

SpinalExpect_Invasive

Access recordings and metadata through EEGDash.

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

Modality: ieeg Subjects: 8 Recordings: 60 License: CC0 Source: openneuro Citations: 0.0

Metadata: Complete (100%)

Quickstart#

Install

pip install eegdash

Access the data

from eegdash.dataset import DS005691

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

Filter by subject

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

Advanced query

dataset = DS005691(
    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{ds005691,
  title = {SpinalExpect_Invasive},
  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.ds005691.v1.0.0},
  url = {https://doi.org/10.18112/openneuro.ds005691.v1.0.0},
}

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 (included n=8, patients with neuropathic pain following epidural electrode implantation into the cervical spinal canal, dorsal to the spinal cord) 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 stimulatino 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.

Montage: Lead placement alongside the cervical spinal cord varied across patients. In each patient, we recorded from eight epidural contacts (3 mm length, 1 mm spacing) placed alongside the dorsal cervical spinal cord. The fourth contact (counted from the most caudal contact) served as a reference. The ground was an extra wire twisted around the wire for the sixth contact (counted from the most caudal contact).

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”.

Dataset Information#

Dataset ID

DS005691

Title

SpinalExpect_Invasive

Year

2024

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.ds005691.v1.0.0

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{ds005691,
  title = {SpinalExpect_Invasive},
  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.ds005691.v1.0.0},
  url = {https://doi.org/10.18112/openneuro.ds005691.v1.0.0},
}

Found an issue with this dataset?

If you encounter any problems with this dataset (missing files, incorrect metadata, loading errors, etc.), please let us know!

Report an Issue on GitHub

Technical Details#

Subjects & recordings
  • Subjects: 8

  • Recordings: 60

  • Tasks: 1

Channels & sampling rate
  • Channels: 7

  • Sampling rate (Hz): 2500.0

  • Duration (hours): 0.0

Tags
  • Pathology: Other

  • Modality: Multisensory

  • Type: Attention

Files & format
  • Size on disk: 723.0 MB

  • File count: 60

  • Format: BIDS

License & citation
  • License: CC0

  • DOI: doi:10.18112/openneuro.ds005691.v1.0.0

Provenance

API Reference#

Use the DS005691 class to access this dataset programmatically.

class eegdash.dataset.DS005691(cache_dir: str, query: dict | None = None, s3_bucket: str | None = None, **kwargs)[source]#

Bases: EEGDashDataset

OpenNeuro dataset ds005691. Modality: ieeg; Experiment type: Attention; Subject type: Other. Subjects: 8; recordings: 8; 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/ds005691 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=ds005691

Examples

>>> from eegdash.dataset import DS005691
>>> dataset = DS005691(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, overwrite=False)[source]#

Save the dataset to disk.

Parameters:
  • path (str or Path) – Destination file path.

  • overwrite (bool, default False) – If True, overwrite existing file.

Return type:

None

See Also#