Contributions:gEstimFilter: Difference between revisions
Wengelhardt (talk | contribs) Added QuietStimulation parameter |
Wengelhardt (talk | contribs) No edit summary |
||
| Line 1: | Line 1: | ||
[[File:gEstim_PRO.jpg|400px|thumb|right|g.tec g.Estim PRO cortical stimulator]] | [[File:gEstim_PRO.jpg|400px|thumb|right|g.tec g.Estim PRO cortical stimulator]] | ||
This filter allows for cortical stimulation with the g.tec gEstim PRO. | This filter allows for cortical stimulation with the g.tec gEstim PRO. | ||
| Line 25: | Line 24: | ||
==Parameters== | ==Parameters== | ||
The gEstim device is configured in the gEstim tab. The configurable parameters are: | The gEstim device is configured in the gEstim tab. The configurable parameters are: | ||
===ActivateEstim=== | |||
===<u>Set-up Preferences</u>=== | |||
====ActivateEstim==== | |||
Enables/disables device. | Enables/disables device. | ||
===UseStimulusPresentation=== | |||
====UseStimulusPresentation==== | |||
[[File:Estim_with_StimulusPresentation.png|600px|thumb|center|upright=2.5|Figure 1: Adding an additional row labeled <code>EstimOn</code> to stimuli to trigger stimulation]] | [[File:Estim_with_StimulusPresentation.png|600px|thumb|center|upright=2.5|Figure 1: Adding an additional row labeled <code>EstimOn</code> to stimuli to trigger stimulation]] | ||
This parameter can be enabled when using the Stimulus Presentation application module, and it is desired to stimulate on a particular stimulus, as defined in Stimulus Presentation's Stimuli parameter. To configure this functionality, enable this parameter and then navigate to the Application tab in BCI2000 and scroll down to the Stimuli matrix, as shown in Fig. 1. After opening the Stimuli matrix, add another row and name it <code>EstimOn</code>. Now, stimulation will be triggered on all stimuli defined in this matrix has its <code>EstimOn</code> row set to <code>1</code>. Stimulation will not occur on stimuli that have this row set to <code>0</code>. | This parameter can be enabled when using the Stimulus Presentation application module, and it is desired to stimulate on a particular stimulus, as defined in Stimulus Presentation's Stimuli parameter. To configure this functionality, enable this parameter and then navigate to the Application tab in BCI2000 and scroll down to the Stimuli matrix, as shown in Fig. 1. After opening the Stimuli matrix, add another row and name it <code>EstimOn</code>. Now, stimulation will be triggered on all stimuli defined in this matrix has its <code>EstimOn</code> row set to <code>1</code>. Stimulation will not occur on stimuli that have this row set to <code>0</code>. | ||
===StimulationExpression=== | |||
[[File:GEstimCheckmarkOptions.png|frame|right|upright=3|The on/off options for gEstim]] | |||
====UseMultipleConfigurations==== | |||
Enables the use of StimulationConfigurations table. This allows for multiple stimulation configurations during a run. | |||
====DoSelfTest==== | |||
Enables user to disable the Self-test. g.Tec recommends performing the self-test before every use in case the device is faulty. | |||
====QuietStimulation==== | |||
Enable to silent the stimulation. | |||
===<u>Stimulation Parameters</u>=== | |||
====StimulationConfigurations==== | |||
[[File:GEstimConfigTable.png|frame|center|upright=3|StimulationConfigurations table]] | |||
Table that allows for multiple configurations. The parameters in the table are the same as below. The first row, <code>Expression</code>, can either correlate to uploading the stimulation or uploading ''and'' starting the stimulation. '''To start immediately after upload, leave <code>StimulationExpression</code> empty'''. Otherwise, <code>StimulationExpression</code> will start the stimulation that was uploaded. The <code>AbortExpression</code> will still abort any active stimulation. | |||
====StimulationExpression==== | |||
Expression to start g.Estim stimulation. See the [[User_Reference:Expression_Syntax|expression]] page for more details on how to define an expression. | Expression to start g.Estim stimulation. See the [[User_Reference:Expression_Syntax|expression]] page for more details on how to define an expression. | ||
===AbortExpression=== | ====AbortExpression==== | ||
Expression to abort g.Estim stimulation. | Expression to abort g.Estim stimulation. | ||
===Modularity=== | ====Modularity==== | ||
[[File:gEstim_pulse_parameters.png|600px|thumb|right|upright=2.5|Configurable parameters of stimulation profile]] | [[File:gEstim_pulse_parameters.png|600px|thumb|right|upright=2.5|Configurable parameters of stimulation profile]] | ||
Modularity of pulses; Biphasic or Monophasic | Modularity of pulses; Biphasic or Monophasic | ||
===Polarity=== | ====Polarity==== | ||
Polarity of pulses; Alternating or Steady | Polarity of pulses; Alternating or Steady | ||
===PhaseDuration=== | ====PhaseDuration==== | ||
Duration of time of each +/- phase. | Duration of time of each +/- phase. | ||
===InterphaseDuration=== | ====InterphaseDuration==== | ||
Duration of time with no stimulation between each pulse's phases. | Duration of time with no stimulation between each pulse's phases. | ||
===Magnitude=== | ====Magnitude==== | ||
Magnitude of the pulse in milliamps. This quantity is peak-to-zero. | Magnitude of the pulse in milliamps. This quantity is peak-to-zero. | ||
===NumberOfPulses=== | ====NumberOfPulses==== | ||
Number of pulses per train. | Number of pulses per train. | ||
===PulseFrequency=== | ====PulseFrequency==== | ||
Frequency of each pulse in a train. Note that the ''PhaseDuration'' and ''InterphaseDuration'' impose a limit on the ''PulseFrequency''. Make sure this parameter adheres to this limitation. | Frequency of each pulse in a train. Note that the ''PhaseDuration'' and ''InterphaseDuration'' impose a limit on the ''PulseFrequency''. Make sure this parameter adheres to this limitation. | ||
===NumberOfTrains=== | ====NumberOfTrains==== | ||
Number of trains. | Number of trains. | ||
===FrequencyOfTrains=== | ====FrequencyOfTrains==== | ||
Frequency of trains. Note that the total duration of each train (determined by length of each pulse and the number of pulses) imposes a restriction on this parameter. Make sure that ''FrequencyOfTrains'' adheres to this restriction. | Frequency of trains. Note that the total duration of each train (determined by length of each pulse and the number of pulses) imposes a restriction on this parameter. Make sure that ''FrequencyOfTrains'' adheres to this restriction. | ||
===Jitter=== | ====Jitter==== | ||
Jitter of trains between 0 and 100% in increments of 1% | Jitter of trains between 0 and 100% in increments of 1% | ||
=== | |||
===<u>Electrode Settings</u>=== | |||
===ElectrodeType=== | |||
====ElectrodeType==== | |||
Type of electrode being used: 1 Circle, 2 Depth, 3 Other. | Type of electrode being used: 1 Circle, 2 Depth, 3 Other. | ||
===CircleDiameter=== | ====CircleDiameter==== | ||
For circle electrode type. Exposed diameter of the electrode in micrometers in increments of 1μm. | For circle electrode type. Exposed diameter of the electrode in micrometers in increments of 1μm. | ||
===ContactDiameter=== | ====ContactDiameter==== | ||
For depth electrode type. Contact diameter of the electrode in micrometers in increments of 1μm. | For depth electrode type. Contact diameter of the electrode in micrometers in increments of 1μm. | ||
===ContactLength=== | ====ContactLength==== | ||
For depth electrode type. Contact length of the electrode in micrometers in increments of 1μm. | For depth electrode type. Contact length of the electrode in micrometers in increments of 1μm. | ||
===ExposedSurfaceArea=== | ====ExposedSurfaceArea==== | ||
For other electrode type. Exposed surface area of electrode in square micrometers between in increments of 1μm<sup>2</sup>. | For other electrode type. Exposed surface area of electrode in square micrometers between in increments of 1μm<sup>2</sup>. | ||
| Line 82: | Line 103: | ||
==[[User Reference: | ==[[User Reference:StimulationConfigurationIntegrativeTool (SCIT)|SCIT]]== | ||
To help out with creating the BCI2000 parameters, a GUI has been made which should make it easy to translate your stimulation specifications into BCI2000 parameter files. The GUI also visualizes the stimulation from three different perspectives, making it easy to tell if your parameters are really what you want. There is a [[User Reference: | To help out with creating the BCI2000 parameters, a GUI has been made which should make it easy to translate your stimulation specifications into BCI2000 parameter files. The GUI also visualizes the stimulation from three different perspectives, making it easy to tell if your parameters are really what you want. There is a [[User Reference:StimulationConfigurationIntegrativeTool (SCIT)|Stimulation Configuration tool user reference]] which will further tell you how to use this tool. | ||
<gallery mode="packed" widths=500px heights=500px> | <gallery mode="packed" widths=500px heights=500px> | ||
File:gEstimGUIimg.png|Figure 3: The gEstim GUI which creates BCI2000 parameters from stimulation specifications. | File:gEstimGUIimg.png|Figure 3: The gEstim GUI which creates BCI2000 parameters from stimulation specifications. | ||
</gallery> | </gallery> | ||
This tool currently does not have the new <code>StimulationConfigurations</code> parameter, so it only allows for one configuration to be exported. | |||
==Latency== | ==Latency== | ||
[[File:gEstim_latency.png|400px|thumb|center|upright=2.5|Latency of stimulation]] | [[File:gEstim_latency.png|400px|thumb|center|upright=2.5|Latency of stimulation]] | ||
The above figure details the latency between positive evaluation of the ''StimulationExpression'' and pulse delivery. | The above figure details the latency between positive evaluation of the ''StimulationExpression'' and pulse delivery. | ||
Revision as of 17:07, 3 October 2023

This filter allows for cortical stimulation with the g.tec gEstim PRO.
Versioning
Authors
Kristopher Kaleb Goering (kaleb.goering@gmail.com)
Alexander Belsten (belsten@neurotechcenter.org)
Source Code Revisions
- Initial development: --
- Tested under: 6191
- Known to compile under: 6191
- Broken since: --
Functional Description
This extension resides in the Application module and allows for electrical stimulation. Note: As of rev.6131, this extension does not work the the gEstim FES Research. The extension has only been tested with the g.Estim PRO.
Integration into BCI2000
This extension resides in the private directory of BCI2000. It must be enabled in CMake by selecting BUILD_GESTIMFILTER. Then recompile the BCI2000FrameworkAppModule, and the application module you are using. Lastly, append the enable flag to your batch file (ex: Start executable StimulusPresentation --local --ActivateEstim=1).
Usage
Parameters
The gEstim device is configured in the gEstim tab. The configurable parameters are:
Set-up Preferences
ActivateEstim
Enables/disables device.
UseStimulusPresentation

EstimOn to stimuli to trigger stimulationThis parameter can be enabled when using the Stimulus Presentation application module, and it is desired to stimulate on a particular stimulus, as defined in Stimulus Presentation's Stimuli parameter. To configure this functionality, enable this parameter and then navigate to the Application tab in BCI2000 and scroll down to the Stimuli matrix, as shown in Fig. 1. After opening the Stimuli matrix, add another row and name it EstimOn. Now, stimulation will be triggered on all stimuli defined in this matrix has its EstimOn row set to 1. Stimulation will not occur on stimuli that have this row set to 0.

UseMultipleConfigurations
Enables the use of StimulationConfigurations table. This allows for multiple stimulation configurations during a run.
DoSelfTest
Enables user to disable the Self-test. g.Tec recommends performing the self-test before every use in case the device is faulty.
QuietStimulation
Enable to silent the stimulation.
Stimulation Parameters
StimulationConfigurations

Table that allows for multiple configurations. The parameters in the table are the same as below. The first row, Expression, can either correlate to uploading the stimulation or uploading and starting the stimulation. To start immediately after upload, leave StimulationExpression empty. Otherwise, StimulationExpression will start the stimulation that was uploaded. The AbortExpression will still abort any active stimulation.
StimulationExpression
Expression to start g.Estim stimulation. See the expression page for more details on how to define an expression.
AbortExpression
Expression to abort g.Estim stimulation.
Modularity

Modularity of pulses; Biphasic or Monophasic
Polarity
Polarity of pulses; Alternating or Steady
PhaseDuration
Duration of time of each +/- phase.
InterphaseDuration
Duration of time with no stimulation between each pulse's phases.
Magnitude
Magnitude of the pulse in milliamps. This quantity is peak-to-zero.
NumberOfPulses
Number of pulses per train.
PulseFrequency
Frequency of each pulse in a train. Note that the PhaseDuration and InterphaseDuration impose a limit on the PulseFrequency. Make sure this parameter adheres to this limitation.
NumberOfTrains
Number of trains.
FrequencyOfTrains
Frequency of trains. Note that the total duration of each train (determined by length of each pulse and the number of pulses) imposes a restriction on this parameter. Make sure that FrequencyOfTrains adheres to this restriction.
Jitter
Jitter of trains between 0 and 100% in increments of 1%
Electrode Settings
ElectrodeType
Type of electrode being used: 1 Circle, 2 Depth, 3 Other.
CircleDiameter
For circle electrode type. Exposed diameter of the electrode in micrometers in increments of 1μm.
ContactDiameter
For depth electrode type. Contact diameter of the electrode in micrometers in increments of 1μm.
ContactLength
For depth electrode type. Contact length of the electrode in micrometers in increments of 1μm.
ExposedSurfaceArea
For other electrode type. Exposed surface area of electrode in square micrometers between in increments of 1μm2.
State Variables
EstimStimulus
This binary state is 1 when a stimulation train is running and 0 otherwise.s
EstimCurrent
Applied current in µA, reported from the stimulator. 16 bit state.
EstimVoltage
Applied voltage in mV, reported from the stimulator. 16 bit state.
EstimImpedance
Impedance of tissue in Ω in 16 bit state. Calculated using EstimCurrent and EstimVoltage values.
SCIT
To help out with creating the BCI2000 parameters, a GUI has been made which should make it easy to translate your stimulation specifications into BCI2000 parameter files. The GUI also visualizes the stimulation from three different perspectives, making it easy to tell if your parameters are really what you want. There is a Stimulation Configuration tool user reference which will further tell you how to use this tool.
-
Figure 3: The gEstim GUI which creates BCI2000 parameters from stimulation specifications.
This tool currently does not have the new StimulationConfigurations parameter, so it only allows for one configuration to be exported.
Latency

The above figure details the latency between positive evaluation of the StimulationExpression and pulse delivery.
