EEGdashOpenNeuroDS005557
Iss. 5557 · 16 subjects · 58 recordings · CC0
Dataset Brief · Free Recall with Closed-Loop Stimulation at Encoding (Encodin…

DS005557: ieeg dataset, 16 subjects#

Free Recall with Closed-Loop Stimulation at Encoding (Encoding Classifier)

Citation: Haydn G. Herrema, Michael J. Kahana (—). Free Recall with Closed-Loop Stimulation at Encoding (Encoding Classifier). 10.18112/openneuro.ds005557.v1.0.0

16-participant iEEG dataset — Free Recall with Closed-Loop Stimulation at Encoding (Encoding Classifier).

iEEG · 110 (7), 112 (6), 76 (5), 126 (4), 108 (4), 109 (4), 127 (3), 60 (2), 62 (2), 120 (2), 83 (2), 128 (2), 70 (2), 67 (2), 64 (2), 97 (2), 121, 136, 118, 124, 99, 125, 95 ch1000 HzBIDS 1.7.0Task · FR35 sessionsOtherVisualMemory
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 DS005557

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

Filter by subject

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

Advanced query

dataset = DS005557(
    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{ds005557,
  title = {Free Recall with Closed-Loop Stimulation at Encoding (Encoding Classifier)},
  author = {Haydn G. Herrema and Michael J. Kahana},
  doi = {10.18112/openneuro.ds005557.v1.0.0},
  url = {https://doi.org/10.18112/openneuro.ds005557.v1.0.0},
}
§ 02Study · The README

About This Dataset#

This dataset contains behavioral events and intracranial electrophysiology recordings from a delayed free recall task with closed-loop stimulation at encoding, using a classifier trained on encoding data. The experiment consists of participants studying a list of words, presented visually one at a time, completing simple arithmetic problems that function as a distractor, and then freely recalling the words from the just-presented list in any order. The data was collected at clinical sites across the country as part of a collaboration with the Computational Memory Lab at the University of Pennsylvania. This dataset is a closed-loop stimulation version of the FR1 and FR2 datasets.

This study contains closed-loop electrical stimulation of the brain during encoding. There is no stimulation during the distractor or retrieval phases. Stimulation is delivered to a single electrode at a time, and the stimulation parameters are included in the bevavioral events tsv files, denoting the anode/cathode labels, amplitude, pulse frequency, pulse width, and pulse count.

Free Recall with Closed-Loop Stimulation at Encoding (Encoding Classifier)

Description

Classifier Details

The L2 logistic regression classifier is trained to predict whether an encoded item will be subsequently recalled based on the neural features during encoding, using data from a participant’s FR1 sessions. The bipolar recordings during the 0-1366 ms interval after word presentation are filtered with a Butterworth band stop filter (58-62 Hz, 4th order) to remove 60 Hz line noise, and then a Morlet wavelet transformation (wavenumber = 5) is applied to the signal to estimate spectral power, using 8 log-spaced wavelets between 3-180 Hz (center frequencies 3.0, 5.4, 9.7, 17.4, 31.1, 55.9, 100.3, 180 Hz) and 1365 ms mirrored buffers. The powers are log-transformed prior to removal of the buffer, and then z-transformed based on the within-session mean and standard deviation across all encoding events. These z-transformed log power values represent the feature matrix, and the label vector is the recalled status of the encoded items. The penalty parameter is chosen based on the value that leads to the highest average AUC for all prior participants with at least two FR1 sessiona, and is inversely weighted according to the class (i.e., recalled v. not recalled) imbalance to ensure the best fit values of the penalty parameter are comparable across different class distributions (recall rates). Class weights are computed as: (1/Na) / ((1/Na + 1/Nb) / 2) where Na and Nb are the number of events in each class.

After at least 3 training sessions with a minimum of 15 lists, each participant’s classifier is tested using leave-one-session-out (LOSO) cross validation, and the true AUC is compared to a 200-sample AUC distribution generated from classification of label-permuted data. p < 0.05 (one-sided) is used as the significance threshold for continuing to the closed-loop task.

Closed-Loop Procedure

Each session contains 26 lists (the first being a practice list) and there is no stimulation on the first 4 lists. The classifier ouput for each presented item on the first 4 lists is compared to the classifier output when tested on data from all previous sessions using a two-sample Kolmogorov-Smirnov test. The null hypothesis that the current session and the training data come from the same distribution must not be rejected (p > 0.05) for the closed-loop task to continue.

The remaining 22 lists are equally divided into stimulation and no stimulation lists, with conditions balanced in each half of the session. On stimulation lists, classifier output is evaluated during the 0-1366 ms interval following word presentation onset. The input values are normalized using the mean and standard deviation across encoding events on all prior no stimulation lists in the session. If the classifier output is below the median classifier output from the training sessions, stimulation occurs immediately following the 1366 ms decoding interval and lasts for 500 ms. With a 750-1000 ms inter-stimulus interval, there is enough time for stimulation artifacts to subside before the next word onset (next classifier decoding).

To Note

* The iEEG recordings are labeled either “monopolar” or “bipolar.” The monopolar recordings are referenced (typically a mastoid reference), but should always be re-referenced before analysis. The bipolar recordings are referenced according to a paired scheme indicated by the accompanying bipolar channels tables. * Each subject has a unique montage of electrode locations. MNI and Talairach coordinates are provided when available. * Recordings done with the Blackrock system are in units of 250 nV, while recordings done with the Medtronic system are estimated through testing to have units of 0.1 uV. We have completed the scaling to provide values in V.

Contact

For questions or inquiries, please contact sas-kahana-sysadmin@sas.upenn.edu.

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Age distribution by gender (n=16, range 20–53 yr, mean 39.3 yr)

202535404550
Female · 6Male · 10

Sex composition

18
subjects
Female
8
Male
10
F : M ratio
0.80 : 1
44% female · n = 18 subjects with reported sex.
HandednessRight · 16Left · 2

Channel counts (ch)

60626467707683959799108109110112118120121124125126127128136

Sampling frequencies: 1000.0 Hz (n=58 recordings)

Total recording duration: 51 h

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 110 (7), 112 (6), 76 (5), 126 (4), 108 (4), 109 (4), 127 (3), 60 (2), 62 (2), 120 (2), 83 (2), 128 (2), 70 (2), 67 (2), 64 (2), 97 (2), 121, 136, 118, 124, 99, 125, 95 ch · iEEG · 1000 Hz · 16 subjects, 58 recordings
Live trace viewer — sub-R1163T · ses-0 · task-FR3

Showing one representative recording out of 16 subjects and 58 recordings in this dataset. Browse the full set on OpenNeuro; drop any other _ieeg.{set,edf,bdf,vhdr} file onto the viewer (or pass ?ieeg=<url>) to inspect it.

Electrode layout — iEEG · 76 sensors — 76 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 — DS005557
§ 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

DS005557

Title

Free Recall with Closed-Loop Stimulation at Encoding (Encoding Classifier)

Author (year)

Herrema2024_Classifier

Canonical

Importable as

DS005557, Herrema2024_Classifier

Year

Authors

Haydn G. Herrema, Michael J. Kahana

License

CC0

Citation / DOI

doi:10.18112/openneuro.ds005557.v1.0.0

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{ds005557,
  title = {Free Recall with Closed-Loop Stimulation at Encoding (Encoding Classifier)},
  author = {Haydn G. Herrema and Michael J. Kahana},
  doi = {10.18112/openneuro.ds005557.v1.0.0},
  url = {https://doi.org/10.18112/openneuro.ds005557.v1.0.0},
}
§ 06API · Programmatic access

API Reference#

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

Free Recall with Closed-Loop Stimulation at Encoding (Encoding Classifier)

Study:

ds005557 (OpenNeuro)

Author (year):

Herrema2024_Classifier

Canonical:

Also importable as: DS005557, Herrema2024_Classifier.

Modality: ieeg; Experiment type: Memory; Subject type: Other. Subjects: 16; recordings: 58; 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/ds005557 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=ds005557 DOI: https://doi.org/10.18112/openneuro.ds005557.v1.0.0 NEMAR citation count: 0

Examples

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

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

Citation

Haydn G. Herrema, Michael J. Kahana (n.d.). Free Recall with Closed-Loop Stimulation at Encoding (Encoding Classifier). 10.18112/openneuro.ds005557.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.ds005557.v1.0.0.

BIDS
BIDS 1.7.0
Sidecars
channels
Machine-readable

See Also#