The Neurophysiological Biomarker Toolbox (NBT)

Back to Viewing the EEG with Net Station

Running a calibration session

You will carry out two spelling sessions:

  1. A 'calibration' session to record EEG data to be used by BCI2000 to identify EEG responses of interest in this specific subject. This improves spelling accuracy a lot, because the latency, amplitude, and topography of evoked responses are highly variable between subjects.
  2. A 'performance' session where BCI2000 knows what to look for in the subject's EEG, and the spelling should be accurate.

BCI2000 tutorial

  1. Start BCI2000 by double-clicking the file “P3Speller_AmpServer.bat” on the desktop of the PC (C:\Course Mind & Machine). BCI2000 will start and the operator window will pop up:
    Figure 2 BCI2000 main screen

  2. Everytime BCI2000 starts, it loads default settings, so we must configure the experiment to our liking. To do this, click the Config button: this opens a window, in which you can configure everything that is relevant to your experiment. You can do this manually or load a pre-configured parameter file.
    Figure 3 BCI2000 config screen

  3. For this tutorial we have prepared a parameter file that you can load. See the section 'more information' on this page to learn more about the settings in the Config window so that you can set your own settings. To load the parameter file, click Load parameters and go to the directory “C:\Course Mind & Machine”. Open the file “BCI2000 parameters.prm”.
  4. Go to the Storage tab and fill in the name of your subject in the SubjectName box, e.g., MAM16.S0010. The DataDirectory is already configured: it is the directory C:\Documents and Settings\EGI\My Documents\Course Mind & Machine. This is the directory where your file will be stored with the filename SubjectName:SessionNumber:RunNumber.dat. E.g. ALEXS001R01.dat is the eeg data for the first session and first run of the subject ALEX.
  5. To choose a different word for the subject to spell, go to the Application tab, scroll down and find the TextToSpell input box. Make sure to use capitals when writing the word.
  6. Close the Config window. The settings will not be lost as long as you don't close BCI2000.
  7. Click Set Config in the operator screen. The spelling task will load:

  8. The warnings in green text in the log say that for technical reasons, the inter-stimulus interval is a bit different from the settings in the Config window. You don't have to worry about this.
  9. Before you start the spelling session, make sure that the subject understands the task: he/she should focus on the letter in the grid that is the first letter of the word in the top of the screen. He/she could count the number of times it flashes or think 'yes!' (or something like that) when it flashes. Also, if you have pressed Start and realized that you have forgotten something, you have to start a new session in Net Station and restart BCI2000. The process 'AmpServerPro.exe' must be ended before restarting BCI2000. To do this, press Control Alt Delete on the PC to open the Task Manager, go to the tab 'Processes' and if you see the process AmpServerPro.exe, select it and press the button End Process:

  10. To start the spelling session, click the Start button. Don't forget to click on the letter matrix to make the windows in front of it disappear. Also, remember to switch the subject's screen to the PC screen output:

  11. When all the letters have been spelled, the words TIME OUT! will appear, which means the task has ended.
  12. Close BCI2000 by first ending the process 'AmpServerPro.exe', and then going to the operator window by pressing and holding the ALT key, and pressing the TAB key until you have selected 'operator'. You can then click Quit to quit BCI2000.

Continue to Generating feature weights

More information on BCI2000 configuration

The parameters you can set in the Config window:


  • DataDirectory: Set this to the directory in which you want to save the data files and parameters files.
  • SubjectName, SubjectSession and SubjectRun: The name and numbers you fill in here will be put into the name of the data file in the following format: <Name>S<Session>R<Run>.dat


  • Source Filter: here you can set the notch filter and high- and low-pass filters. The “P300Classifier.prm” file uses a frequency range of 1-9 Hz, because the P300 is a modulation of the EEG power, mainly at the theta frequency range (4-8 Hz). Higher frequencies do not give much more information about the P300. Also, because the subject is in a semi-relaxed state during the speller task, alpha waves (8-13 Hz) can especially be a source of noise. Alpha waves occur when you are in a relaxed state, especially with your eyes closed.
  • TransmitChList: This is a list of numbers indicating from which electrodes the data should be used during classification. It does not specify which channels should be recorded from; BCI2000 automatically saves the data of all electrodes it receives. Use the chart in the lab (“Hydrocel Geodesic Sensor Net”) to find which numbers represent which electrodes.


  • EpochLength: the length in ms of the piece of EEG data after every stimulus that BCI2000 uses for classification. The default length in BCI2000 is 800 ms. If there is a P300, it will certainly occur during this window.
  • EpochsToAverage: BCI2000 will carry out the classification based on the averaged event-related response (ERP) from stimulus onset to the value of EpochLength. EpochsToAverage is the number of epochs that are accumulated before averaging them, which should normally be equal to NumberOfSequences. It is possible to set them differently, but it is not clear which epochs are then averaged.
  • Classifier: 'edit matrix' shows the information that BCI2000 uses to classify the EEG epochs. It contains the weights (in the tab 'weight') that are associated with each time point (in the tab 'input element (bin)' for the electrodes that it selected (in the tab 'input channel').

    It is possible to manually set the weights according to the timebins where you expect the target ERPs (especially the P300) to differ the most from the standard ERPs. However, this ignores between-subject variability in EEG and its relation to the stimuli during the P300 speller task. It is therefore recommended to use the program P300Classifier, which generates the best possible weights for the EEG of a particular subject using a linear classification algorithm. You will learn more about P300Classifier in the section Generating feature weights.


  • Window
    • WindowBackgroundColor: the color of the background in hexadecimal values. See this color chart for which numbers to use for which colors. The numbers should be preceded by “0x” in the input box.
  • Sequencing
    • NumberOfSequences: This specifies how many sequences of 12 stimuli (6 row and 6 column stimuli) will be presented before the computer will decide which letter the subject attended to. If you set this to 10, it means that there will be a total of 120 stimuli for each letter. One out of six row or column flashes will contain the target letter, so the target letter will flash a total of 120/6 = 20 times.
  • Speller Targets
    • TargetDefinitions: As you can see in Figure 4, this table lists the items in the letter matrix ('display' column) and the corresponding outputs that will be typed ('enter' column). You can change this to anything you want, even words instead of single letters.
    • TextColor and TextColorIntensified: the color of the text when there is no flash and during a flash, respectively. Note that BackgroundColor is not the background color of the window, but the background color of the area that a letter occupies.

Figure 4 Edit the letter matrix

courses/setting_up_netstation_and_bci2000.txt · Last modified: 2016/01/20 16:33 by Klaus Linkenkaer-Hansen
The NBTwiki platform - version 2.8 - 9 May 2013
Copyright (C) 2008-2015