User Reference:NeuroStimulationParamsGUI

From BCI2000 Wiki
Jump to navigation Jump to search
An example configuration for the CereStim.

Functional Description

This Matlab tool helps create parameter files for the Blackrock CereStim and the Neuro Omega from Alpha Omega. It also can load parameter files and visualize the configurations. If this tool is desired for another stimulation device, please contact and it can be implemented.



  • William Engelhardt (

Version History

  • 2022/05/10: Initial working release R6736.
  • 2022/06/08: Can load existing parameter files and visualize multiple graphs.

Source Code Revisions

  • Initial development: 6736
  • Known to compile under: 6785
  • Broken since: --


Assuming you have already installed BCI2000, navigate to "tools", then "NeuroStimulationParamsGUI". This folder will contain the installation file for the Matlab application. Double-clicking this will automatically open Matlab, and install the app in your apps. You can find it under the header "APPS". Open this app, and you are set.

General Overview

Loading parameter files

Go to the header bar, click on Files, then Load Parameter File. This will load the parameters into the tables on the right, allowing you to visualize them.

Creating your own parameter files

The left panel is where you define the parameters for your desired stimulation. The bottom button, Export to parameter file, lets you export the tables on the Right Panel to a valid BCI2000 parameter file. To update the tables on the right, click Save Configuration to Tables.

Visualizing configurations

The middle panel contains three graphs, each with a different time scale. The top left, labeled Single Pulse, shows one single pulse. The top right graph shows the full time range of the stimulation pulses. The bottom shows the full stimulation train, which is mainly defined by the parameters Train Duration and Train Frequency. Each "pulse", where the height is 1, is the duration of the stimulation, which is shown in the top right figure. You can think of it as increasing the time scale as you go clockwise from the Single Pulse graph.

These graphs are updated automatically as you change the values in either the Left Panel or the tables. To choose which to visualize, this can be specified in the checklist on the bottom labeled Visualize Configurations. The name "Test Values" correspond to the values in the Left Panel. The legends for the Full stimulation and the Complete stimulation train specify the number of pulses visualized in the graph.

Viewing your parameters

The right panel is where you can look at the parameters as they would be in BCI2000. They are split up into two tables: Configurations and Triggers. The Configuration table specifies what you are seeing in the figures. The Triggers table correlates to when each configuration is triggered, and to which electrode(s) the configuration goes to.


  • Auto-increment Trigger Expression: If checked, when you add a trigger to the table it auto-increments the number of the expression. This is helpful for quickly adding new columns. If you want the trigger expression to stay constant, uncheck this option.
  • Auto-visualize new config: When you add a new configuration, it will automatically be checked in the "Visualize Configurations" and will be visualized. If not desired, uncheck and new configurations will not be automatically visualized. You can still visualize them by manually checking it in the "Visualize Configurations" list.


Refer to the CereStim Wiki page to see the description and limits on each parameter.


Refer to the Neuro Omega Wiki page to see the description and limits on each parameter.

  • The "Recording Channels" section changes the channels listed in the "Channel" dropdown. If you want to use a channel that is not in any of the options, you can manually change it in the table.

See also

Contributions:NeuroOmegaADC, Contributions:CereStim