class moabb.datasets.DemonsP300[source][source]

Visual P300 dataset recorded in Virtual Reality (VR) game Raccoons versus Demons.

Dataset Description

We publish dataset of visual P300 BCI performed in Virtual Reality (VR) game Raccoons versus Demons (RvD). Data contains reach labels incorporating information about stimulus chosen enabling us to estimate model’s confidence at each stimulus prediction stage. target channel contains standard P300 target/non-target labels, while mult_target channel contains multiclass labels (numbers of activated stimuli).


60 healthy participants (23 males) naive to BCI with mean age 28 years from 19 to 45 y.o. took part in the study. All subject signed informed consent and passed primary prerequisites on their health and condition.

Stimulation and EEG recording

The EEG was recorded with NVX-52 encephalograph (MCS, Zelenograd, Russia) at 500 Hz. We used 8 sponge electrodes (Cz, P3, P4, PO3, POz, PO4, O1, O2). Stimuli were presented with HTC Vive Pro VR headset with TTL hardware sync

Experimental procedure

Participants were asked to play the P300 BCI game in virtual reality. BCI was embedded into a game plot with the player posing as a forest warden. The player was supposed to feed animals and protect them from demons. Game mechanics consisted in demons jumping (visually activating), so player have to concentrate on one demon (chosen freely). That produced P300 response in time of the deamon jump. That was the way to trigger fireball torwards a deamon predicted by classifier from EEG data.

More info can be found in [1] [2] [3].



Goncharenko V., Grigoryan R., and Samokhina A. (May 12, 2020), Raccoons vs Demons: multiclass labeled P300 dataset,


Goncharenko V., Grigoryan R., and Samokhina A., Approaches to multiclass classifcation of P300 potential datasets, Intelligent Data Processing: Theory and Applications:Book of abstract of the 13th International Conference, Moscow, 2020. — Moscow: Russian Academy of Sciences, 2020. — 472 p.ISBN 978-5-907366-16-9


Goncharenko V., Grigoryan R., and Samokhina A., P300 potentials dataset and approaches to its processing, Труды 63-й Всероссийской научной конференции МФТИ. 23–29 ноября 2020 года. Прикладные математика и информатика. — Москва : МФТИ, 2020. – 334 с. ISBN 978-5-7417-0757-9


data_path(subject[, path, force_update, …])

Get path to local copy of a subject data.

download([subject_list, path, force_update, …])

Download all data from the dataset.


Return the data correspoonding to a list of subjects.


Reads data from HDF file

data_path(subject: int, path=None, force_update=False, update_path=None, verbose=None)[source][source]

Get path to local copy of a subject data.

  • subject (int) – Number of subject to use

  • path (None | str) – Location of where to look for the data storing location. If None, the environment variable or config parameter MNE_DATASETS_(dataset)_PATH is used. If it doesn’t exist, the “~/mne_data” directory is used. If the dataset is not found under the given path, the data will be automatically downloaded to the specified folder.

  • force_update (bool) – Force update of the dataset even if a local copy exists.

  • update_path (bool | None **Deprecated**) – If True, set the MNE_DATASETS_(dataset)_PATH in mne-python config to the given path. If None, the user is prompted.

  • verbose (bool, str, int, or None) – If not None, override default verbose level (see mne.verbose()).


path – Local path to the given data file. This path is contained inside a list of length one, for compatibility.

Return type

list of str

classmethod read_hdf(filename)numpy.ndarray[source][source]

Reads data from HDF file


array of _act_dtype