DS004706#

Spatial memory and non-invasive closed-loop stimulus timing

Access recordings and metadata through EEGDash.

Citation: Joseph H. Rudoler, Matthew R. Dougherty, Brandon S. Katerman, James P. Bruska, Woohyeuk Chang, David J. Halpern, Nicholas B. Diamond, Michael J. Kahana (2023). Spatial memory and non-invasive closed-loop stimulus timing. 10.18112/openneuro.ds004706.v1.0.0

Modality: eeg Subjects: 34 Recordings: 2711 License: CC0 Source: openneuro Citations: 3.0

Metadata: Complete (100%)

Quickstart#

Install

pip install eegdash

Access the data

from eegdash.dataset import DS004706

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

Filter by subject

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

Advanced query

dataset = DS004706(
    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{ds004706,
  title = {Spatial memory and non-invasive closed-loop stimulus timing},
  author = {Joseph H. Rudoler and Matthew R. Dougherty and Brandon S. Katerman and James P. Bruska and Woohyeuk Chang and David J. Halpern and Nicholas B. Diamond and Michael J. Kahana},
  doi = {10.18112/openneuro.ds004706.v1.0.0},
  url = {https://doi.org/10.18112/openneuro.ds004706.v1.0.0},
}

About This Dataset#

This dataset contains behavioral events and electrophysiological recordings from an experiment run in the Computational Memory Lab at the University of Pennsylvania from 2021-2022 with funding from U.S. Army Medical Research and Development Command (USAMRDC) through the Medical Technology Enterprise Consortium (MTEC) project MTEC-20-06-MOM-013, “Restoring memory with task-independent semi-chronic closed-loop direct brain stimulation and non-invasive closed-loop stimulus timing optimization”. This experiment constitutes the non-invasive portion of the project, which targeted memory improvement through classifier-based stimulus presentation. The experiment is a hybrid spatial-navigation and free recall paradigm in which subjects play the role of a courier delivering items to stores across a virtual town, and are subsequently asked to recall their deliveries. There are two phases - “read-only” and “closed-loop”. In read-only sessions, there is no classifier-based timing manipulation and participants simply perform the task in order to generate training data for the models used in subsequent closed-loop sessions. After collecting sufficient training data, classifier models predict recall in closed-loop sessions and the stimulus presentation is timed to coincide with predicted good or bad memory encoding. Two publications are based on this experiment: “Neural correlates of memory in an immersive spatiotemporal context”_ studies the navigation and memory dynamics in read-only sessions, and “Optimizing learning via real-time neural decoding” (link pending) explores the results of the closed-loop manipulation. Note: memory dynamics in closed-loop sessions are potentially influenced by the closed-loop timing manipulation, and so may be biased in a way that precludes them from analyses of general mnemonic function. The read-only sessions, however, were not subject to this manipulation and therefore can be used for studying spatial and episodic memory (as in the first paper mentioned above).

Dataset Information#

Dataset ID

DS004706

Title

Spatial memory and non-invasive closed-loop stimulus timing

Year

2023

Authors

Joseph H. Rudoler, Matthew R. Dougherty, Brandon S. Katerman, James P. Bruska, Woohyeuk Chang, David J. Halpern, Nicholas B. Diamond, Michael J. Kahana

License

CC0

Citation / DOI

doi:10.18112/openneuro.ds004706.v1.0.0

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{ds004706,
  title = {Spatial memory and non-invasive closed-loop stimulus timing},
  author = {Joseph H. Rudoler and Matthew R. Dougherty and Brandon S. Katerman and James P. Bruska and Woohyeuk Chang and David J. Halpern and Nicholas B. Diamond and Michael J. Kahana},
  doi = {10.18112/openneuro.ds004706.v1.0.0},
  url = {https://doi.org/10.18112/openneuro.ds004706.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: 34

  • Recordings: 2711

  • Tasks: 2

Channels & sampling rate
  • Channels: 137 (298), 128 (298)

  • Sampling rate (Hz): 2048.0

  • Duration (hours): 0.0

Tags
  • Pathology: Healthy

  • Modality: Visual

  • Type: Memory

Files & format
  • Size on disk: 1.3 TB

  • File count: 2711

  • Format: BIDS

License & citation
  • License: CC0

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

Provenance

API Reference#

Use the DS004706 class to access this dataset programmatically.

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

Bases: EEGDashDataset

OpenNeuro dataset ds004706. Modality: eeg; Experiment type: Memory; Subject type: Healthy. Subjects: 34; recordings: 298; tasks: 2.

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/ds004706 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=ds004706

Examples

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