From BCI2000 Wiki
Revision as of 18:42, 30 January 2012 by Jhill (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


P300GUI is a Matlab-based application that uses SWDA to optimize linear classifier weights for P300 detection.

Note: The Matlab-based P300GUI tool is now outdated, and superseded by the standalone P300Classifier tool, which is part of the BCI2000 core distribution.




Dean Krusienski

Assistant Professor
Electrical Engineering
University of North Florida

email: deankrusienski[at]

Version History

  • V2.0 09/30/05
Original Release
  • V2.01 11/07/05
Added 8 channel P300 montage
  • V2.02 12/15/05
Now able to plot averages with unequal numbers of sequences for testing
Added channel number checks
  • V2.03 12/21/05
Changed to standard default analysis settings
Made compatible with floating point (32) data
  • V2.04 12/23/05
Added warning for unequal train and test sampling rates
Corrected target definition to be printed character
Added classification of spaces (_) and printing of backspaces (<)
Updated to read latest BCI2000 header
  • V2.05 02/13/06
Now compatible with new target definition matrix
  • V2.051 02/17/06
Added fix for German characters - umlaut characters classified as standard characters
  • V2.052 02/21/06
Made data loading more memory efficient
  • V2.06 02/22/06
Added variable response window start point
Implemented new function to load BCI2000 data
Resized plot windows
  • V2.061 03/14/06
Corrected classification for non-square matrices
Changed to save MUD prior to training classification
  • V2.07 03/15/06
Created a button to generate and save a BCI2000 parameter file fragment based on the selected MUD matrix
  • V2.08 03/30/06
Added Least Squares and Logistic Regression options
Fixed problem with *.prm Software Chs.
Removed MA window from interface (now uses same values as DF)
  • V2.09 04/12/06
Changed to compare row/column results rather than “Text to Spell’
Encoded Online (“Free spelling”) data, assuming that the selected character is the target.
  • BCI2000 v2.0 Release 02/06/08
Updated to be compatible and fully functional with BCI2000 v2.0 P3Speller data, and backward compatible with previous versions.
Symbol rate figure replaces the percent correct ribbon figure.
Fixed CAR filter generation.
This version has not been verified with P3AV data.

Source Code Revisions

  • Initial development: 1098
  • Tested under: 1142

Functional Description

The P300 GUI (Graphical User Interface) can be used to train and test a linear classifier for detection of evoked potentials collected with BCI2000 and visualize the waveforms and classification results. It is designed for analysis of BCI2000 data collected using the P3Speller or P3AV paradigms. The program generates feature weights derived via various regression techniques. The specifics of the feature space and training routine can be manipulated using the GUI. The feature weights derived by the GUI can be saved and imported into BCI2000 as a parameter file fragment for online testing. The GUI is capable of performing several functions independently:

  • Classifier Training: generates feature weights from BCI2000 P3Speller or P3AV data files (classifier weights can be saved and imported into BCI2000)
  • Classifier Testing: applies current or previously created feature weights to BCI2000 P3Speller or P3AV data files and compares the results
  • Visualizing evoked potentials from BCI2000 P3Speller or P3AV data files

Further information

For a detailed description and step-by-step introduction, see the P300 GUI User's Guide document.

See also