OpenBMI_MI#
- class dpeeg.datasets.OpenBMI_MI(subjects: list[int] | None = None, tmin: float = 0, tmax: float | None = None, baseline: tuple[int, int] | None = None, picks: list[str] | None = None, resample: float | None = None, rename: str | None = None)[source]#
BMI/OpenBMI dataset for MI.
Dataset summary
Subj
Chan
Time
Cls
Freq
Sess
54
62
4.0 s
2
1000 Hz
2
This data set consists of EEG data from 54 subjects of a study published in [1]. EEG signals were recorded with a sampling rate of 1,000 Hz and collected with 62 Ag/AgCl electrodes. The EEG amplifier used in the experiment was a BrainAmp (Brain Products; Munich, Germany). The channels were nasion-referenced and grounded to electrode AFz. Additionally, an EMG electrode recorded from each flexor digitorum profundus muscle with the olecranon used as reference. The impedances of the EEG electrodes were maintained below 10 k during the entire experiment.
MI paradigm The MI paradigm was designed following a well-established system protocol. For all blocks, the first 3 s of each trial began with a black fixation cross that appeared at the center of the monitor to prepare subjects for the MI task. Afterwards, the subject performed the imagery task of grasping with the appropriate hand for 4 s when the right or left arrow appeared as a visual cue. After each task, the screen remained blank for 6 s (± 1.5 s). The experiment consisted of training and test phases; each phase had 100 trials with balanced right and left hand imagery tasks. During the online test phase, the fixation cross appeared at the center of the monitor and moved right or left, according to the real-time classifier output of the EEG signal.
References
- Parameters:
subjects (list of int, optional) – List of subject number. If
None, all subjects will be loaded.tmin-tmax (float) – Start and end time of the epochs in seconds, relative to the time locked event. The closest or matching samples corresponding to the start and end time are included. Default is start and end time of epochs, respectively.
baseline (tuple of int, optional) – The time interval to consider as “baseline” when applying baseline correction. If
None, do not apply baseline correction.picks (list of str, optional) – Channels to include. If
None, pick all channels.resample (float, optional) – Resample data.
rename (str, optional) – Rename the dataset.
- get_data(progressbar: bool = True, verbose='ERROR') dict[int, MultiSessEEGData]#
Return the data correspoonding to a list of subjects.
The returned data is a dictionary with the following structure:
data = {‘subject_id’ : {‘session_id’ : EEGData}}
- get_epochs(progressbar: bool = True, verbose='ERROR') dict[int, dict[str, Epochs]]#
Return the epochs correspoonding to a list of subjects.
The returned data is a dictionary with the following structure:
data = {‘subject_id’ : {‘session_id’ : Epochs}}
- get_raw(progressbar: bool = True, verbose='ERROR') dict[int, dict[str, dict[str, Raw]]]#
Return the raw correspoonding to a list of subjects.
The returned data is a dictionary with the following structure:
data = {‘subject_id’: {‘session_id’: {‘run_id’: Raw}}}
subjects are on top, then we have sessions, then runs. A session is a recording done in a single day, without removing the EEG cap. A session is constitued of at least one run. A run is a single contigous recording. Some dataset break session in multiple runs.