Setup SSVEP BCI example
Contents
Abstract
The SSVEP-BCI plugin beholds a Brain Computer Interface (BCI) using Steady-State-Visual-Evoked-Potentials (SSVEP). It was developed under the Master Thesis "Development of a BCI based on real-time neural source localization", in which the so called Bremen-BCI was used as a role model in order to setup classification pipeline and visualization. This tutorial describes both the setup of the processing pipeline and usage of the SSVEP-BCI plugin.
Editing the Processing Pipeline
In the following figure an edited setup of the SSVEP-BCI processing pipeline is shown in the MNE-Scan GUI environment. For this example the NoiseReduction plugin was interposed as a preprocessing step in order to increase the Signal-to-Noise ratio. However, the SSVEP-BCI plugin can also be processed with "raw" (unfiltered) data by connecting it directly with the acquisition plugin.
Adjusting the SSVEP-BCI
Like already mentioned, in the thesis "Development of a BCI based on real-time neural source localization" different scientific approaches are combined in order to realize this BCI. The adjustment of these features can be done by clicking the configuration icon: on the SSVEP-BCI's GUI which is depictured in the previous figure. With this command, the configuration GUI is opened which is shown in the following figure.
The adjustments can be done online during the processing of the plugin with the configuration GUI:
Channel Select
The channel select is realized with a .txt-file which is located under "MNE-CPP Folder-bin-mne_scan_plugins-resources-ssvepBCI", like the already included "Pinning-Scheme-Duke-Dry-64.txt" file. These files behold the mapping of the channel names according to the channel number in the FIFF-file. You can change the current selected folder or link the plugin to a new edited file. In the latter case, the new edited file-name has to be changed in line 241 of the "ssvepbciconfiguration.cpp" file. Also the default channels can be changed in the ssvepbci.cpp file in line 104 and 106. Now the channel can be selected or deleted by drag&drop between the available- and delete-section
Feature Extraction
The feature extraction can be realized with either the MEC or the CCA algorithm. Both approaches are described in the corresponding thesis. Also the number of generated harmonics of the reference signal can be set in this frame.
Classification
The state of classification is displayed with five different progress bars belonging each to a different SSVEP frequency. The thresholds can be set with the double-spin-boxes by moving the slider (threshold) up and down.
For a classification indeed to be confirmed, the classification has to be done several times in a sliding list. Following parameter can be set for this process:
- Number of Classification Hits: is the minimal number of classification hits until there is a confirmation.
- Size of Classification: is the size of possible entries in to the classification list. By logic, this value is always bigger or equal than the "Number of Classification Hits".
- Number of Classification Breaks: Since there are a lot of subject dependent variations, the algorithm needs to be paused between two classifications. Therefore a number of classification breaks can be set with this parameter.
If a classification has been confirmed, its name will be displayed red and also can be seen in the LCD-number field.
Accuracy Feature
In order to determine accuracy and robustness of the plugin, a measurement can be started with the screen keyboard device. For this purpose a Measurement can be started and stopped in the corresponding frame. However, the screen keyboard has to be set before which is explained in the following section.
Adjusting the Stimulation
The configuration of the stimulation can be set by clicking the stimulation icon: