DS004532#

EEG: Probabilistic Selection Task (PST) + PST with Cabergoline Challenge

Access recordings and metadata through EEGDash.

Citation: James F Cavanagh, Michael J Frank (2023). EEG: Probabilistic Selection Task (PST) + PST with Cabergoline Challenge. 10.18112/openneuro.ds004532.v1.2.0

Modality: eeg Subjects: 110 Recordings: 1009 License: CC0 Source: openneuro Citations: 0.0

Metadata: Complete (100%)

Quickstart#

Install

pip install eegdash

Access the data

from eegdash.dataset import DS004532

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

Filter by subject

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

Advanced query

dataset = DS004532(
    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{ds004532,
  title = {EEG: Probabilistic Selection Task (PST) + PST with Cabergoline Challenge},
  author = {James F Cavanagh and Michael J Frank},
  doi = {10.18112/openneuro.ds004532.v1.2.0},
  url = {https://doi.org/10.18112/openneuro.ds004532.v1.2.0},
}

About This Dataset#

Probabilistic Selection Task. Unpublished! Same sample as this published study: 10.1038/ncomms6394.

Study 1: 80 healthy participants + 5 placebo session from a pilot of the drug study. Total n=85. But Subj 173 might have bad EEG.

Study 2: 30 healthy participants (3 dropout) in a double-blind drug study. Total n=27. Drug was Cabergoline 1.25 mg.

If you look in the code folder at the .xls sheet, you’ll see that subjects had different initial IDs.

Study 1 subjects had subject IDs 101-180 plus the 5 placebo runs from an early test of ultra-low-dose cabergoline: these pilot runs were subject # 301/401 | 305/405. Study 2 subjects had IDs 306/406 | 335/435. Why the odd ranges for the drug study? Glad you asked. The dual numbers were for session: 300s were first session, 400s were second session. The last two digits were subject ID. (here with the benefit of BIDS formatting we have simply put them in as session 1 and session 2 with unique sub-#, which is BETTER).

For example. Joe Smith would have been 305 on visit 1, then 405 on visit 2. Jane Henderson would have been 306 on visit 1, then 406 on visit 2. Whatever visit got cab or placebo is indicated in the .xls sheet as well as on the Sess1_Drug and Sess2_Drug columns in the main .tsv file.

Task included in Matlab programming language. Data collected circa 2012-2013 in Laboratory for Neural Computation & Cognition at Brown. Check the .xls sheet under code folder for more meta data. A few old analysis scripts are included. - James F Cavanagh 02/15/2021

UPDATES: 1) Uploaded a .json sidecar developed by EEGLab for NEMAR indexing: task-PST_events.json 2) Since this was updated, I had to erase each subject’s *_events.json files. 3) Note that the Reward and Penalty feedback labels (‘FB: 0’ and ‘FB: +1’) are incorrect here. The actual feedback was ‘Correct!’ or ‘Incorrect.’ I’m just going to leave those as-is in the files since it doesn’t change too much. Run the task (under /stimuli) to see what the feedbacks look like. 4) there was a bug in the original task description that indicated this as ‘Simon Conflict’. This is not that task. This is a Probabilistic Selection Task. These should have been changed to PST, but if you see SimonConflict just realize that was an original mis-label.

Dataset Information#

Dataset ID

DS004532

Title

EEG: Probabilistic Selection Task (PST) + PST with Cabergoline Challenge

Year

2023

Authors

James F Cavanagh, Michael J Frank

License

CC0

Citation / DOI

doi:10.18112/openneuro.ds004532.v1.2.0

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{ds004532,
  title = {EEG: Probabilistic Selection Task (PST) + PST with Cabergoline Challenge},
  author = {James F Cavanagh and Michael J Frank},
  doi = {10.18112/openneuro.ds004532.v1.2.0},
  url = {https://doi.org/10.18112/openneuro.ds004532.v1.2.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: 110

  • Recordings: 1009

  • Tasks: 1

Channels & sampling rate
  • Channels: 64

  • Sampling rate (Hz): 500.0

  • Duration (hours): 0.0

Tags
  • Pathology: Not specified

  • Modality: —

  • Type: —

Files & format
  • Size on disk: 21.8 GB

  • File count: 1009

  • Format: BIDS

License & citation
  • License: CC0

  • DOI: doi:10.18112/openneuro.ds004532.v1.2.0

Provenance

API Reference#

Use the DS004532 class to access this dataset programmatically.

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

Bases: EEGDashDataset

OpenNeuro dataset ds004532. Modality: eeg; Experiment type: Learning; Subject type: Healthy. Subjects: 110; recordings: 137; 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/ds004532 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=ds004532

Examples

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