EEGdashOpenNeuroDS006940
Iss. 6940 · 7 subjects · 935 recordings · CC0
Dataset Brief · Dataset

DS006940: eeg dataset, 7 subjects#

Dataset: EEG-Controlled Exoskeleton for Walking and Standing - A Longitudinal Study of Healthy Individuals

Citation: Shantanu Sarkar, Kevin Nathan, Jose L. Contreras-Vidal (2025). Dataset: EEG-Controlled Exoskeleton for Walking and Standing - A Longitudinal Study of Healthy Individuals. 10.18112/openneuro.ds006940.v1.0.0

7-participant EEG dataset — Dataset: EEG-Controlled Exoskeleton for Walking and Standing - A Longitudinal Study of Healthy Individuals.

EEG · 64 ch100 HzBIDS 1.8.015 tasks9 sessionsHealthyMotorMotor
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 DS006940

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

Filter by subject

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

Advanced query

dataset = DS006940(
    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{ds006940,
  title = {Dataset: EEG-Controlled Exoskeleton for Walking and Standing - A Longitudinal Study of Healthy Individuals},
  author = {Shantanu Sarkar and Kevin Nathan and Jose L. Contreras-Vidal},
  doi = {10.18112/openneuro.ds006940.v1.0.0},
  url = {https://doi.org/10.18112/openneuro.ds006940.v1.0.0},
}
§ 02Study · The README

About This Dataset#

EEG-Controlled Exoskeleton for Walking and Standing

A Longitudinal Motor Imagery Study in Healthy Adults Dataset Overview This dataset contains multimodal recordings from a brain–machine interface (BMI) training study involving seven healthy adult participants (ages 20–30, Mean = 24.3, SD = 3.8). The study focused on open-loop and closed-loop control of a lower-limb exoskeleton (Rex Bionics) using EEG and inertial sensor data. Each participant completed nine sessions over several weeks, structured into training and trial phases.

Experimental Design

* Participants: 7 healthy adults (4 male, 3 female) * Sessions: 9 per participant * Training Phase: Motor imagery calibration * Trial Phase: Closed-loop BMI control (walk/stop) * Conditions: Walk / Stop (motor imagery)

Task Structure and Naming Convention Each session includes multiple motor imagery tasks organized as follows:

Training: The training phase is used to calibrate the BMI decoder. Participants perform motor imagery tasks without feedback.

TrialXX:

The trial phase consists of 12 closed-loop BMI trials per session, labeled trial01 to trial12. During these trials, participants use motor imagery to control the exoskeleton in real time.

Block 1: Trials 1–4

View full README

Task Structure and Naming Convention Each session includes multiple motor imagery tasks organized as follows:

Training: The training phase is used to calibrate the BMI decoder. Participants perform motor imagery tasks without feedback.

TrialXX:

The trial phase consists of 12 closed-loop BMI trials per session, labeled trial01 to trial12. During these trials, participants use motor imagery to control the exoskeleton in real time.

Block 1: Trials 1–4 Block 2: Trials 5–8 Block 3: Trials 9–12 walk6min / stop6min:

After completing the 12 trials, participants perform two extended motor imagery tasks: walk6min – Imagining continuous walking for 6 minutes stop6min – Imagining standing still for 6 minutes Data Modalities * EEG: 60 scalp channels + 4 EOG channels * IMU: 3-axis accelerometer, gyroscope, magnetometer, and quaternion * Sensor Placement: IMUs mounted on participant forehead and exosuit back brace * Decoder Signals/Feedback: Logged control signals and BMI predictions

Additional Materials * MIQ-RS: Motor Imagery Questionnaire – Revised Second Version (PDFs in derivatives/MIQ-RS/) * Validation Tables: Data availability, synchronization, and electrode placement (derivatives/validation/) * Raw Data: Provided without filtering or artifact removal

BIDS Structure * dataset_description.json: Metadata and provenance * sub-XX/ses-YY/: EEG and IMU recordings per session * derivatives/: MIQ-RS responses and validation spreadsheets

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Channel counts: 64 ch (n=935 recordings)

Sampling frequencies: 100.0 Hz (n=935 recordings)

Total recording duration: 34 h

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 64 ch · EEG · 100 Hz · 7 subjects, 935 recordings
Live trace viewer — sub-01 · ses-02 · task-trial08

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

Electrode layout — EEG · 60 sensors — 60 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 — DS006940
§ 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

DS006940

Title

Dataset: EEG-Controlled Exoskeleton for Walking and Standing - A Longitudinal Study of Healthy Individuals

Author (year)

Sarkar2025_StudyOF

Canonical

Importable as

DS006940, Sarkar2025_StudyOF

Year

2025

Authors

Shantanu Sarkar, Kevin Nathan, Jose L. Contreras-Vidal

License

CC0

Citation / DOI

doi:10.18112/openneuro.ds006940.v1.0.0

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{ds006940,
  title = {Dataset: EEG-Controlled Exoskeleton for Walking and Standing - A Longitudinal Study of Healthy Individuals},
  author = {Shantanu Sarkar and Kevin Nathan and Jose L. Contreras-Vidal},
  doi = {10.18112/openneuro.ds006940.v1.0.0},
  url = {https://doi.org/10.18112/openneuro.ds006940.v1.0.0},
}
§ 06API · Programmatic access

API Reference#

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

Dataset: EEG-Controlled Exoskeleton for Walking and Standing - A Longitudinal Study of Healthy Individuals

Study:

ds006940 (OpenNeuro)

Author (year):

Sarkar2025_StudyOF

Canonical:

Also importable as: DS006940, Sarkar2025_StudyOF.

Modality: eeg; Experiment type: Motor; Subject type: Healthy. Subjects: 7; recordings: 935; tasks: 15.

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/ds006940 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=ds006940 DOI: https://doi.org/10.18112/openneuro.ds006940.v1.0.0

Examples

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

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

Citation

Shantanu Sarkar, Kevin Nathan, Jose L. Contreras-Vidal (2025). Dataset: EEG-Controlled Exoskeleton for Walking and Standing - A Longitudinal Study of Healthy Individuals. 10.18112/openneuro.ds006940.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.ds006940.v1.0.0.

BIDS
BIDS 1.8.0
Sidecars
electrodes · coordsystem · eeg.json
Machine-readable

See Also#