moabb.datasets.RomaniBF2025ERP#

class moabb.datasets.RomaniBF2025ERP(data_folder: str | None = None, subjects: List[str] | None = None, exclude_subjects: List[str] | None = ['P15', 'P18'], calibration_length: int = 60, n_targets: int = 10, t_target: int = 1, nt_target: int = 2, interval: tuple = [-0.1, 1.0], extra_runs: bool = True, include_inference: bool = False, load_failed: bool = False, montage: str = 'standard_1020')[source]#

MOABB class for BrainForm event-related potentials (ERP) dataset.

Dataset summary

#Subj

22

#Chan

8

#Trials / class

540 NT / 60 T

Trials length

1 s

Freq

250 Hz

#Sessions

up to 3

BrainForm event-related potentials (ERP) dataset.

The BrainForm dataset [1] is a dataset collected using a serious game for brain-computer interface (BCI) training and data collection. It includes EEG recordings from multiple subjects performing a ERP task on 10 unique stimuli. The dataset is organized in BIDS format and contains calibration and inference sessions.

Each subject performed two calibration sessions, one with a checkerboard texture on the targets, the other one with a grain texture. Each calibration was followed by an inference session where the subject played the game. The game consisted of two separate tasks: in the first one, the subject had to hit moving aliens using the color matched target; in the second one, they need to follow a randomized sequence of colors by hitting the corresponding targets to unlock a door.

Calibration sessions consisted of 60 trials on a single training target, for a total of 600 events (60 trials x 10 unique targets). This means that by default, the data is unbalanced, with 60 target events and 540 non-target events per session. In inference sessions, the number of events varied depending on the subject’s performance

A total of 16 subjects took an optional free-play run after the main protocol, where they could choose their favorite texture and play the game again. The extra sessions include a calibration and can be included by setting the extra_runs parameter. The full protocol is described in [1]. A study on cross-subject decoding using this dataset is presented in [2].

A total of 2 subjects (15 and 18) did not complete the full protocol and are excluded by default.

For many subjects, multiple calibration attempts were not successful, but they can be included by setting the exclude_failed parameter to False.

Inference sessions can be included along with calibration by setting the include_inference parameter to True, but the triggers only indicate the stimulus onset and not ground truth labels.

You can test the dataset with the following code:

Examples

Loading the dataset and then create a subset of the available sessions and runs for subject P01 and P02: >>> paradigm = P300(resample=128) >>> dataset = RomaniBF2025ERP(include_inference=True, exclude_failed=False) >>> subset = paradigm.get_data(dataset, [0, 1])

Expected output: Sessions for subject 2: [‘0grain’, ‘1cb’, ‘2cbExtra’]

Notes

  • EEG signals were recorded using a g.tec Unicorn with a sampling rate of 250 Hz and conductive gel applied.

  • Data were collected in Trento, Italy, where the power line frequency is 50 Hz.

  • EEG was recorded from 8 scalp electrodes according to the international 10–20 system: “Fz”, “C3”, “Cz”, “C4”, “Pz”, “PO7”, “Oz”, “PO8” EEG signals were referenced to the right mastoid and grounded to the left mastoid.

  • Events for the calibration are encoded as follows:
    • 1: Target

    • 2: NonTarget

  • For inference sessions, events only indicate stimulus onset without ground truth labels (from 1 to 10).

Subjects indexing: {0: ‘P01’, 1: ‘P02’, 2: ‘P03’, 3: ‘P04’, 4: ‘P05’, 5: ‘P06’, 6: ‘P07’, 7: ‘P08’, 8: ‘P09’, 9: ‘P10’, 10: ‘P11’, 11: ‘P12’, 12: ‘P13’, 13: ‘P14’, 14: ‘P16’, 15: ‘P17’, 16: ‘P19’, 17: ‘P20’, 18: ‘P21’, 19: ‘P22’, 20: ‘P23’, 21: ‘P24’}

References

[1] (1,2)

M. Romani, D. Zanoni, E. Farella, and L. Turchet, “BrainForm: a Serious Game for BCI Training and Data Collection,” Oct. 14, 2025, arXiv: arXiv:2510.10169. doi: 10.48550/arXiv.2510.10169.

[2]

M. Romani, F. Paissan, A. Fossà, and E. Farella, “Explicit modelling of subject dependency in BCI decoding,” Sept. 27, 2025, arXiv: arXiv:2509.23247. doi: 10.48550/arXiv.2509.23247.

data_path(subject, path=None, force_update=False, update_path=None, verbose=None) str[source]#

Return the path to the dataset. Required abstract method from BaseDataset.

Parameters:
  • subject (int) – Subject identifier

  • path (str, optional) – Not used for this dataset

  • force_update (bool) – Not used for this dataset

  • update_path (bool) – Not used for this dataset

  • verbose (bool) – Not used for this dataset

Returns:

Path to the dataset folder

Return type:

str