Jump to content

User Reference:StimulationConfigurationIntegrativeTool (SCIT): Difference between revisions

From BCI2000 Wiki
Renamed page from NeuroStimulationParamsGUI
 
Added Cortec, updated descriptions
Line 1: Line 1:
[[Image:CerestimGUIimg1.png|500px|right|thumb|frame|An example configuration for the CereStim. ]]
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, please contact the author and it can be implemented.
 
[[Image:CerestimGUIimg.png|500px|right|thumb|frame|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 engelhardt@neurotechcenter.org and it can be implemented.
==Versioning==
==Versioning==
===Authors===
===Authors===
Line 10: Line 10:
* 2022/05/10: Initial working release R6736.  
* 2022/05/10: Initial working release R6736.  
* 2022/06/08: Can load existing parameter files and visualize multiple graphs.  
* 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===
===Source Code Revisions===
Line 17: Line 19:


==Installation==
==Installation==
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.
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==
==General Overview==
Line 23: Line 25:
Go to the header bar, click on <code>Files</code>, then <code>Load Parameter File</code>. This will load the parameters into the tables on the right, allowing you to visualize them.
Go to the header bar, click on <code>Files</code>, then <code>Load Parameter File</code>. This will load the parameters into the tables on the right, allowing you to visualize them.
===Creating your own parameter files===
===Creating your own parameter files===
The left panel is where you define the parameters for your desired stimulation. The bottom button, <code>Export to parameter file</code>, lets you export the tables on the Right Panel to a valid BCI2000 parameter file. To update the tables on the right, click <code>Save Configuration to Tables</code>.
Build your configuration in the left panel and the graphs will update as you go. Once you have the configuration you like, click the <code>Save Configuration to Tables</code> 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 <code>Export to parameter file</code> button on the bottom right. This saved parameter file can directly be imported into BCI2000.
 
===Visualizing configurations===
===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 <code>Train Duration</code> and <code>Train Frequency</code>. 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.  
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 <code>Train Duration</code> and <code>Train Frequency</code>. 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.  
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===
===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.  
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===
===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.  
*''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.
*''Increase font size''
*''Decrease font size''  




==CereStim==
==CereStim==
<gallery mode="packed" widths=350px heights=350px>
[[File:CerestimGUIimg.png|frameless|center|upright=4|Figure 1: An example configuration for the CereStim.]]
File:CerestimGUIimg.png|Figure 1: An example configuration for the CereStim.
<div class="center">Figure 1: An example configuration for the CereStim.</div>
</gallery>
 
Refer to the [[Contributions:CereStim|CereStim Wiki page]] to see the description and limits on each parameter.  
Refer to the [[Contributions:CereStim|CereStim Wiki page]] to see the description and limits on each parameter.  


==NeuroOmega==
==NeuroOmega==
<gallery mode="packed" widths=350px heights=350px>
[[File:NeuroOmegaGUIimg1.png|frameless|center|upright=4|Figure 2: An example configuration for the NeuroOmega.]]
File:NeuroOmegaGUIimg1.png|Figure 2: An example configuration for the NeuroOmega.
<div class="center">Figure 2: An example configuration for the NeuroOmega.</div>
</gallery>
 
Refer to the [[Contributions:NeuroOmegaADC|Neuro Omega Wiki page]] to see the description and limits on each parameter.
Refer to the [[Contributions:NeuroOmegaADC|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.
* 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==
==gEstim==
<gallery mode="packed" widths=350px heights=350px>
[[File:gEstimGUIimg.png|frameless|center|upright=4|Figure 3: An example configuration for the gEstim.]]
File:gEstimGUIimg.png|Figure 3: An example configuration for the gEstim.
<div class="center">Figure 3: An example configuration for the gEstim.</div>
</gallery>
 
Refer to the [[Contributions:gEstimFilter|gEstim Wiki page]] to see the description and limits on each parameter.
Refer to the [[Contributions:gEstimFilter|gEstim Wiki page]] to see the description and limits on each parameter.
==Cortec==
[[File:CortecGUIimg.png|frameless|center|upright=4|Figure 4: An example configuration for the Cortec Brain Interchange.]]
<div class="center">Figure 4: An example configuration for the Cortec Brain Interchange.</div>
Refer to the [[CortecADC|Cortec Wiki page]] to see the description and limits on each parameter.


==See also==
==See also==

Revision as of 22:25, 2 October 2023

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, please contact the author and it can be implemented.

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.

See also

Contributions:NeuroOmegaADC, Contributions:CereStim, Contributions:gEstimFilter