EEGdashOpenNeuroDS006593
Iss. 6593 · 21 subjects · 21 recordings · CC0
Dataset Brief · cBCI Matrix Multimodal Dataset

DS006593: eeg dataset, 21 subjects#

cBCI Matrix Multimodal Dataset

Citation: Basak Celik, Tab Memmott, Matthew Lawhead, Srikar Ananthoju, Deniz Erdogmus (20). cBCI Matrix Multimodal Dataset. 10.18112/openneuro.ds006593.v1.0.0

21-participant EEG dataset — cBCI Matrix Multimodal Dataset.

EEG · 19 ch300 HzBIDS 1.7.0Task · MatrixCalibrationHealthyVisualAttention
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 DS006593

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

Filter by subject

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

Advanced query

dataset = DS006593(
    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{ds006593,
  title = {cBCI Matrix Multimodal Dataset},
  author = {Basak Celik and Tab Memmott and Matthew Lawhead and Srikar Ananthoju and Deniz Erdogmus},
  doi = {10.18112/openneuro.ds006593.v1.0.0},
  url = {https://doi.org/10.18112/openneuro.ds006593.v1.0.0},
}
§ 02Study · The README

About This Dataset#

This dataset contains recordings of EEG and EyeTracking for a BCI spelling task. The data were collected in 2023 at Northeastern University.

  • N=21

  • Calibration task were proctored using BciPy [1]

  • The dataset is organized in accordance with the Brain Imaging Data Structure (BIDS) specification (version 1.7.0).

    Calibration data were collected from control participants (n=21, mean age 23.6 ± 3.1 years) in a quiet lab room at Northeastern University. EEG data were collected using the DSI-24, dry electrode cap (Wearable Sensing, San Diego CA) at a sampling rate of 300 Hz. The device employs a hardware filter permitting a collection bandwidth of 0.003–150 Hz. Data were recorded from Fp1/2, Fz, F3/4, F7/8, Cz, C3/4, T7/T8, T3/T4, Pz, P3/P4, P7/P8, T5/T6, O1/2 with linked-ear reference (A1 and A2) and ground at A1. All data were collected using a Lenovo Legion 5 Pro Laptop with Windows 11, an Intel Core i7-11800H @ 2.30 GHz, 16 GB DDR4 RAM, and a NVIDIA GeForce RTX 3050. Trigger fidelity on the experiment laptop was verified using the Matrix Time Test Task in BciPy and a photodiode. The results of this timing test were used to determine static offsets between hardware and prevent experimentation with any timing violations greater than +/− 10 ms. The Eyetracker data were collected using a portable eye tracker (Tobii Pro Nano) at a sampling rate of 60 Hz. The matrix paradigm and the data acquisition modules are developed in BciPy [1], which is a standalone application for experimental data collection. This work focuses on a specific BCI paradigm called single-character-presentation (SCP) based visual presentation, which consists of symbols presented in matrix form and individually highlighted in randomized order. Calibration task presented letter characters at a rate of 4 Hz, with 100 inquiries consisting of 10 letters each (1 target, 9 non-target). In 10% of the inquiries, only non-target characters were shown. The stimuli included all 26 letters of the English alphabet, as well as the characters “_” for space and “<“ for backspace. The order of target stimuli was randomly distributed among the inquiries. Between inquiries, there was a two-second blank screen. Each inquiry consisted of a one-second prompt showing the target letter, followed by a 0.5s fixation, and then the presentation of 10 letters. The letters were displayed in the center of the screen, in white on a black background. Target prompts and stimuli were presented in white, while fixation crosses were rendered in red.

    Multimodal Sensor Fusion for EEG-Based BCI Typing Systems

    Dataset Overview

    The experimental protocol was approved by the Northeastern University Institutional Review Board (IRB). All participants provided written informed consent prior to participation.

    Directory Structure

    The datasets follows the BIDS convention with the following structure: /sub-[subject]/ses-[session]/[eeg or et]. To load the BIDS formatted data into BciPy Simulator, please see the following directory: /sourcedata/bcipy_metadata. This directory contains the raw BciPy parameter files. It also contains the output of the matrix display (matrix.png) for eyetracking visualization.

    Contact Information

    For questions or issues regarding this dataset, please contact the corresponding author Basak Celik via email. [1] Memmott T, Koçanaoğulları A, Lawhead M, Klee D, Dudy S, Fried-Oken M, Oken B. BciPy: brain-computer interface software in Python. Brain-Computer Interfaces, 8(4), 137-53, 2021.

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Channel counts: 19 ch (n=21 recordings)

Sampling frequencies: 300.0 Hz (n=21 recordings)

Total recording duration: 5 h 36 min

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 19 ch · EEG · 300 Hz · 21 subjects, 21 recordings
Live trace viewer — sub-S016 · ses-01 · task-MatrixCalibration · run-01

Showing one representative recording out of 21 subjects and 21 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 · 19 sensors — 19 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 — DS006593
§ 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

DS006593

Title

cBCI Matrix Multimodal Dataset

Author (year)

Celik2025

Canonical

Importable as

DS006593, Celik2025

Year

20

Authors

Basak Celik, Tab Memmott, Matthew Lawhead, Srikar Ananthoju, Deniz Erdogmus

License

CC0

Citation / DOI

doi:10.18112/openneuro.ds006593.v1.0.0

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{ds006593,
  title = {cBCI Matrix Multimodal Dataset},
  author = {Basak Celik and Tab Memmott and Matthew Lawhead and Srikar Ananthoju and Deniz Erdogmus},
  doi = {10.18112/openneuro.ds006593.v1.0.0},
  url = {https://doi.org/10.18112/openneuro.ds006593.v1.0.0},
}
§ 06API · Programmatic access

API Reference#

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

cBCI Matrix Multimodal Dataset

Study:

ds006593 (OpenNeuro)

Author (year):

Celik2025

Canonical:

Also importable as: DS006593, Celik2025.

Modality: eeg; Experiment type: Attention; Subject type: Healthy. Subjects: 21; recordings: 21; 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/ds006593 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=ds006593 DOI: https://doi.org/10.18112/openneuro.ds006593.v1.0.0

Examples

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

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

Citation

Basak Celik, Tab Memmott, Matthew Lawhead, Srikar Ananthoju, Deniz Erdogmus (20). cBCI Matrix Multimodal Dataset. 10.18112/openneuro.ds006593.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.ds006593.v1.0.0.

BIDS
BIDS 1.7.0
Sidecars
events · events.json · channels · eeg.json
Machine-readable

See Also#