Jump to content

User Reference:StimulationConfigurationIntegrativeTool (SCIT)

From BCI2000 Wiki

This Matlab tool helps create parameter files for the Blackrock CereStim, the Neuro Omega from Alpha Omega, the g.Estim from g.Tec, and the Cortec Brain Interchange. It also can load parameter files and visualize the configurations. If this tool is desired for another stimulation device, follow this tutorial page: Programming Reference:Implementing Stimulator in SCIT.

An example configuration for the CereStim.

Versioning

Authors

  • William Engelhardt (engelhardt@neurotechcenter.org)

Version History

  • 2022/05/10: Initial working release R6736.
  • 2022/06/08: Can load existing parameter files and visualize multiple graphs.
  • 2023/03/29: Added gEstim device.
  • 2023/09/26: Major redesign, added Cortec device.

Source Code Revisions

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

Installation

Assuming you have already installed BCI2000, navigate to "tools", then "StimulationConfigurationIntegrativeTool". 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

Build your configuration in the left panel and the graphs will update as you go. Once you have the configuration you like, click the Save Configuration to Tables button to store the configuration in the tables in the right panel. You can do this as many times as you like, until you have all the configurations stored in the tables. Review the configurations by switching your "Experiment Condition" in the top middle box. Finally, click on the Export to parameter file button on the bottom right. This saved parameter file can directly be imported into BCI2000.

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, called a burst. The bottom shows the full stimulation train, which is mainly defined by the parameters Train Duration and Train Frequency. 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 button group on the top labeled Experiment Conditions. The name "BUILD CONFIG" correspond to the values in the Left Panel. The legends for the Burst of Pulses 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 the shape and duration of the stimulation. The Triggers table correlates to when each configuration is triggered, and to which electrode(s) the configuration goes to.

The parameters are visualized by "Experiment Conditions" to best mimic what will happen in an experiment. If they have the same triggers, the configurations will be visualized together, as they will also be happening at the same time in the experiment.

Channel Visualization

In the bottom middle there is a visualization of the available channels for stimulation. They are color coded to convey the certain configuration that will be stimulated for that channel. If the channel is a square, it means it is a return channel (only for NeuroOmega and Cortec).

The channels can also be interacted with! When visualizing a certain Experiment Condition, click on a channel to add it to that trigger. If there are multiple configurations for that condition, then clicking on it multiple times will cycle through the available options. If it is possible to choose a return channel, these will also be cycled through. If building your configuration, clicking on a certain channel will change the drop-down value that is selected.

Preferences

  • 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.
  • Increase font size
  • Decrease font size


CereStim

Figure 1: An example configuration for the CereStim.
Figure 1: An example configuration for the CereStim.
Figure 1: An example configuration for the CereStim.

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

NeuroOmega

Figure 2: An example configuration for the NeuroOmega.
Figure 2: An example configuration for the NeuroOmega.
Figure 2: An example configuration for the NeuroOmega.

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.

gEstim

Figure 3: An example configuration for the gEstim.
Figure 3: An example configuration for the gEstim.
Figure 3: An example configuration for the gEstim.

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

Cortec

Figure 4: An example configuration for the Cortec Brain Interchange.
Figure 4: An example configuration for the Cortec Brain Interchange.
Figure 4: An example configuration for the Cortec Brain Interchange.

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

Custom Stimulator

See Programming Reference:Implementing Stimulator in SCIT page to learn how to implement your own stimulator!

See also

Contributions:NeuroOmegaADC, Contributions:CereStim, Contributions:gEstimFilter