User Tutorial:P300 GUI for Offline Analysis Tutorial
Note: This page talks about the Matlab-based P300GUI tool, which is now outdated, as of BCI2000 v3.0. It is still available at http://www.bci2000.org/svn/tags/BCI2000.v2.1/src/contrib/Tools/P300GUI but is no longer under development. It has been superseded by the standalone P300Classifier tool, which is part of the BCI2000 core distribution. There are minor differences between the two user interfaces.
- Run src/contrib./Tools/P300GUI/P300_GUI.m
- Close the Editor window that appears, and type in P300_GUI
- A GUI such as the one to the right will appear
- In the upper left-hand column, click on Select Training Data
- Select the data files collected from the runs for THE, QUICK, BROWN, and FOX
- In the lower left-hand column, press the Generate Feature Weights button
- A pair of graphs should be displayed, similar to those below.
- The important feature is to notice that the red line in the upper graph, the accuracy, increases with more flashes
- Close the window of the graphs
- In the lower-middle column, type Training for File Prefix:, and 1 for File #s to Save
- Click on *.prm (v2)
- This will generate a .prm (parameter) file in the same folder as the data files
- Returning to BCI2000, click on Config and Load Parameters, selecting the new .prm file
- In the Application tab, change TextToSpell to JUMPS, and click Set Config
- Press Start to collect one more run of data
- Once the last run of data has finished, go back to the P300_GUI program and click Add Test Data in the upper right-hand column
- Select the newest set of data, and click Apply Feature Weights in the lower right-hand column - A new window of graphs will appear
- The important thing to see from these graphs is where the red line in the upper graph reaches 100%.
- In the example below, this is from 9 to 11, and then drops. This means that 10 flashes gives the best accuracy.
- If this does not give an acceptable level of accuracy, (typically 95% or higher), repeat more test runs to collect more data files. Add these data files as above, and click Apply Feature Weights in the lower right-hand column to look for how many flashes is needed. Repeat as necessary.
- In the lower middle column, type Trained for File Prefix and 1 for File #s to Save
- Click *.prm (v2) again to generate a Trained parameter file
- Close BCI2000, MatLab, and the P300_GUI programs
- Open BCI2000 with the batch\P3Speller_<Your_Amplifier>.bat file
- Click on Config, and Load Parameters
- Load the base parameter file for your amplifier, and then the Trained parameter file.
- In the Filtering tab, set EpochsToAverage to the ideal number found by how many flashes were needed to attain maximum accuracy. In our example, this would be 10.
- In the Application tab:
- NumberOfSequences to this number as well
- Delete the contents of the Text to Spell field
- Set InterpretMode → online free mode
- Make sure the DisplayResults box is checked
- Click on Target Matrix, and scroll to the bottom:
- In the first column replace 9 with BS
- In the second column replace 9 with <BS>
- Click Save Parameters and name as you see fit. Typically this parameter file would be P300_<Your Amplifier>_<Volunteer's Intials>_Free_Spelling.prm This file is now the file used for that volunteer in later P300 Spelling sessions
For full details regarding the P300 GUI, the User's Guide is available here.
To continue onto performing P300 spelling experiments, continue to Performing a P300 Spelling Session.