DS003810: eeg dataset, 10 subjects#

Motor Imagery vs Rest - Low-Cost EEG System

Access recordings and metadata through EEGDash.

Citation: Victoria Peterson, Catalina Maria Galvan, Hugo Sacha Hernadez, Ruben Spies (2021). Motor Imagery vs Rest - Low-Cost EEG System. 10.18112/openneuro.ds003810.v2.0.2

Modality: eeg Subjects: 10 Recordings: 50 License: CC0 Source: openneuro Citations: 2.0

Metadata: Complete (100%)

Quickstart#

Install

pip install eegdash

Access the data

from eegdash.dataset import DS003810

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

Filter by subject

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

Advanced query

dataset = DS003810(
    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{ds003810,
  title = {Motor Imagery vs Rest - Low-Cost EEG System},
  author = {Victoria Peterson and Catalina Maria Galvan and Hugo Sacha Hernadez and Ruben Spies},
  doi = {10.18112/openneuro.ds003810.v2.0.2},
  url = {https://doi.org/10.18112/openneuro.ds003810.v2.0.2},
}

About This Dataset#

This dataset consists of electroencephalography (EEG) signals adquired with a low-cost consumer-grade device. The 10 participants had no previous BCI experience. The BCI protocol consisted of two conditions, namely the kinesthetic imagination of grasping movement (MI) of the dominant hand and rest/idle condition.Five protocol runs were asked to be performed by the user. The first run, called RUN0, involved real grasping movement in order to better explain the protocol and to help the subject to focus on the sensation of making the movement. The rest of the runs (RUN1-RUN4) were equal, consisting of MI vs.Rest conditions. The EMG signals of the dominant hand was adquired for protocol control. During acquisition, the EEG signals were filtered between 0.5 and 45 Hz with a 3rd order Butterworth bandpass-filter.

Dataset Information#

Dataset ID

DS003810

Title

Motor Imagery vs Rest - Low-Cost EEG System

Author (year)

Peterson2021_Motor_Imagery_vs

Canonical

Importable as

DS003810, Peterson2021_Motor_Imagery_vs

Year

2021

Authors

Victoria Peterson, Catalina Maria Galvan, Hugo Sacha Hernadez, Ruben Spies

License

CC0

Citation / DOI

doi:10.18112/openneuro.ds003810.v2.0.2

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{ds003810,
  title = {Motor Imagery vs Rest - Low-Cost EEG System},
  author = {Victoria Peterson and Catalina Maria Galvan and Hugo Sacha Hernadez and Ruben Spies},
  doi = {10.18112/openneuro.ds003810.v2.0.2},
  url = {https://doi.org/10.18112/openneuro.ds003810.v2.0.2},
}

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: 10

  • Recordings: 50

  • Tasks: 1

Channels & sampling rate
  • Channels: 15

  • Sampling rate (Hz): 125.0

  • Duration (hours): Not calculated

Tags
  • Pathology: Not specified

  • Modality: —

  • Type: —

Files & format
  • Size on disk: 69.0 MB

  • File count: 50

  • Format: BIDS

License & citation
  • License: CC0

  • DOI: doi:10.18112/openneuro.ds003810.v2.0.2

Provenance

Electrode Layout#

Electrode layout — EEG · 15 sensors — 15 channels

Dataset Statistics#

Age distribution (n=10, range 20–30 yr)

202530

Sex distribution

4
6
Female  Male  Total: 10

Channel counts: 15 ch (n=50 recordings)

Sampling frequencies: 125.0 Hz (n=50 recordings)

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 — DS003810

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.

Files:
Size:
Subjects:
Click to load file structure…

API Reference#

Use the DS003810 class to access this dataset programmatically.

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

Bases: EEGDashDataset

Motor Imagery vs Rest - Low-Cost EEG System

Study:

ds003810 (OpenNeuro)

Author (year):

Peterson2021_Motor_Imagery_vs

Canonical:

Also importable as: DS003810, Peterson2021_Motor_Imagery_vs.

Modality: eeg. Subjects: 10; recordings: 50; 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/ds003810 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=ds003810 DOI: https://doi.org/10.18112/openneuro.ds003810.v2.0.2 NEMAR citation count: 2

Examples

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

See Also#