DS004944#

Dataset of BCI2000-compatible intraoperative ECoG with neuromorphic encoding

Access recordings and metadata through EEGDash.

Citation: Filippo Costa, Niklaus Krayenbühl, Georgia Ramantani, Ece Boran, Kristina König, Johannes Sarnthein (2024). Dataset of BCI2000-compatible intraoperative ECoG with neuromorphic encoding. 10.18112/openneuro.ds004944.v1.1.0

Modality: ieeg Subjects: 22 Recordings: 379 License: CC0 Source: openneuro Citations: 1.0

Metadata: Complete (100%)

Quickstart#

Install

pip install eegdash

Access the data

from eegdash.dataset import DS004944

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

Filter by subject

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

Advanced query

dataset = DS004944(
    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{ds004944,
  title = {Dataset of BCI2000-compatible intraoperative ECoG with neuromorphic encoding},
  author = {Filippo Costa and Niklaus Krayenbühl and Georgia Ramantani and Ece Boran and Kristina König and Johannes Sarnthein},
  doi = {10.18112/openneuro.ds004944.v1.1.0},
  url = {https://doi.org/10.18112/openneuro.ds004944.v1.1.0},
}

About This Dataset#

Overview

This dataset comprises recordings of intraoperative Electrocorticography (ECoG) from 22 patients undergoing resective epilepsy surgery. For each patient, the dataset is organized into pre-resection recording (referred to as SITUATION1A) and post-resection recording (referred to as SITUATION2A).

We provide raw ECoG recordings for each patient and a derivative folder that contains all the main processing stages performed with our neuromorphic processing pipeline: https://doi.org/10.1038/s41467-024-47495-y_.

View full README

Overview

This dataset comprises recordings of intraoperative Electrocorticography (ECoG) from 22 patients undergoing resective epilepsy surgery. For each patient, the dataset is organized into pre-resection recording (referred to as SITUATION1A) and post-resection recording (referred to as SITUATION2A).

We provide raw ECoG recordings for each patient and a derivative folder that contains all the main processing stages performed with our neuromorphic processing pipeline: https://doi.org/10.1038/s41467-024-47495-y_.

The pipeline preprocesses ECoG recordings in real-time and performs Asynchronous Delta Modulator (ADM) encoding with a custom BCI2000 module. The ADM-encoded data are processed by a hardware Spiking Neural Network (SNN). The SNN-encoded data are then used to detect epileptiform patterns in the ECoG. The code to perform preprocessing and ADM encoding in BCI2000, together with the code to detect epileptiform patterns from SNN-encoded data, are provided at CostaFilippo/BCI2000_DYNAP-SE.git_.

In a previous publication, this dataset has been analyzed with a offline software algorithm: https://doi.org/10.1016/j.clinph.2019.07.008_.

The annotations of the epileptiform patterns detected with the offline approach are provided at: sub-*/ses-SITUATION*/sub-*_ses-SITUATION*_task-acute_events.tsv.

The annotations of the epileptiform patterns detected with the online neuromorphic processing are provided at derivative/sub-*/ses-SITUATION*/sub-*_ses-SITUATION*_task-EV.csv.

Dataset Structure

The derivative folder is structured as follows:

  • sub-*

  • ses-SITUATION1A - *task-BCI.dat - *task-ADM.csv - *task-SNN.csv - *task-EV.csv

  • ses-SITUATION2A - *task-BCI.dat - *task-ADM.csv - *task-SNN.csv - *task-EV.csv

File Descriptions

  • derivative

  • task-BCI.dat: BCI2000-compatible file containing the ECoG recording.

  • task-ADM.csv: ADM encoding of the ECoG recording.

  • task-SNN.csv: SNN encoding of the ECoG recording.

  • task-EV.cvs: Annotations of the detected epileptiform patterns in the ECoG recording.

Data Formats

Details of the neuromorphic processing pipeline can be found at https://doi.org/10.1038/s41467-024-47495-y_.

task-BCI.dat

The BCI2000-compatible file contains the raw ECoG recording.

It can be streamed in real-time using the ‘FilePlayback’ BCI2000 module.

task-ADM.csv

The ADM file is formatted as follows:

  • _pulseType_: -1 for DN pulse, +1 for UP pulse.

  • _pulseTime_: Time at which the pulse occurred.

  • _channel_: Channel in which the pulse occurred.

  • _band_: 0 for EEG band, 1 for HFO band

task-SNN.csv

The SNN file is formatted as follows:

  • _time_: Time at which the SNN neuron activated.

  • _neuronId_: Number id of the SNN neuron (DYNAP-SE numbering from 0 to 1024).

  • _neuronCounter_: Number id of the SNN neuron (sequential numbering from 0 to 40).

  • _moduleName_: Population (ACC_4_0; ACC_0_4), band (EEG; HFO) and module number (ch 0-7) of the neuron. - ACC_4_0 = ACC UP - ACC_0_4 = ACC DN

  • _moduleId_: Module number (0-7).

  • _channelId_: Channel for which the SNN neuron activated.

task-EV.csv

The EV file contains annotations of the detected epileptiform patterns with the following format:

  • _time_: time of the detected event.

  • _channelId_: channel id of the detected event.

  • _location_: channel name of the detected event.

Contact Information

For inquiries or additional information, please contact Filippo.Costa@usz.ch or Johannes.Sarnthein@usz.ch

Acknowledgements

We thank V. Dimakopoulos for help in reformatting the data to BIDS. We acknowledge a grant awarded by the Swiss National Science Foundation (funded by the SNSF 204651 to JS and GI with GR and NK as project partners). The funder had no role in the design or analysis of the study.

Dataset Information#

Dataset ID

DS004944

Title

Dataset of BCI2000-compatible intraoperative ECoG with neuromorphic encoding

Year

2024

Authors

Filippo Costa, Niklaus Krayenbühl, Georgia Ramantani, Ece Boran, Kristina König, Johannes Sarnthein

License

CC0

Citation / DOI

doi:10.18112/openneuro.ds004944.v1.1.0

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{ds004944,
  title = {Dataset of BCI2000-compatible intraoperative ECoG with neuromorphic encoding},
  author = {Filippo Costa and Niklaus Krayenbühl and Georgia Ramantani and Ece Boran and Kristina König and Johannes Sarnthein},
  doi = {10.18112/openneuro.ds004944.v1.1.0},
  url = {https://doi.org/10.18112/openneuro.ds004944.v1.1.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: 22

  • Recordings: 379

  • Tasks: 1

Channels & sampling rate
  • Channels: 3 (20), 6 (12), 5 (12), 4 (10), 23 (6), 20 (4), 19 (4), 28 (2), 15 (2), 10 (2), 22 (2), 25 (2), 21 (2), 11 (2), 17 (2), 2 (2), 27 (2)

  • Sampling rate (Hz): 2000.0

  • Duration (hours): 0.0

Tags
  • Pathology: Epilepsy

  • Modality: Other

  • Type: Clinical/Intervention

Files & format
  • Size on disk: 451.1 MB

  • File count: 379

  • Format: BIDS

License & citation
  • License: CC0

  • DOI: doi:10.18112/openneuro.ds004944.v1.1.0

Provenance

API Reference#

Use the DS004944 class to access this dataset programmatically.

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

Bases: EEGDashDataset

OpenNeuro dataset ds004944. Modality: ieeg; Experiment type: Clinical/Intervention; Subject type: Epilepsy. Subjects: 22; recordings: 44; 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/ds004944 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=ds004944

Examples

>>> from eegdash.dataset import DS004944
>>> dataset = DS004944(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#