User Tools

Site Tools


visual3d:documentation:emg:processing:total_emg_power

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
visual3d:documentation:emg:processing:total_emg_power [2024/06/18 13:27] sgrangervisual3d:documentation:emg:processing:total_emg_power [2024/07/17 15:45] (current) – created sgranger
Line 1: Line 1:
-===== Introduction =====+====== Total EMG Power ====== 
 + 
 +==== Introduction ====
  
 To determine when a muscle is activated a threshold needs to be chosen from a period of inactivity. When the signal surpasses the threshold, the muscle is turned on. There are three different ways to do so. To determine when a muscle is activated a threshold needs to be chosen from a period of inactivity. When the signal surpasses the threshold, the muscle is turned on. There are three different ways to do so.
Line 7: Line 9:
   - EMG Onset based on automatic detection   - EMG Onset based on automatic detection
  
-===== EMG Onset using Event_Threshold =====+==== EMG Onset using Event_Threshold ====
  
 Computing the onset of an EMG signal can be quite tricky. In this example, we describe a pipeline for a straightforward estimation of EMG onset based on the EMG envelope and [[Visual3D:Documentation:Pipeline:Event_Commands:Event_Threshold|Event Threshold]]. This is not a definitive definition, but simply a starting point for the user. Two events should be created at the start and beginning of the rest period. Three event labels are identified on this figure. The yellow and red events specify the "rest period". This is arbitrary and is specified by the user explicitly. The blue event label is the first threshold crossing above the "median + 3*standard deviation". Computing the onset of an EMG signal can be quite tricky. In this example, we describe a pipeline for a straightforward estimation of EMG onset based on the EMG envelope and [[Visual3D:Documentation:Pipeline:Event_Commands:Event_Threshold|Event Threshold]]. This is not a definitive definition, but simply a starting point for the user. Two events should be created at the start and beginning of the rest period. Three event labels are identified on this figure. The yellow and red events specify the "rest period". This is arbitrary and is specified by the user explicitly. The blue event label is the first threshold crossing above the "median + 3*standard deviation".
  
-{{Emg2.jpg}} +{{:Emg2.jpg}} 
-==== Pipeline ====+=== Pipeline ===
  
 The following pipeline first includes a low pass filter, a high pass filter and a moving RMS. The first event named REST1 is created by selecting the first frame indicating the start of the rest. The second event named REST2 is created by selecting the frame number at the end of the rest. A typical threshold is median + 3*standard deviation. The median and standard deviation are then calculated by using the [[Visual3D:Documentation:Pipeline:Metric_Commands:Metric_Mean|Metric_Median]] and [[Visual3D:Documentation:Pipeline:Metric_Commands:Metric_StdDev|Metric_StdDev]] functions. The [[Visual3D:Documentation:Pipeline:Event_Commands:Event_Threshold|Event_Threshold]] pipeline command is then used to compute the threshold by computing the median + 3*standard deviation. The following pipeline first includes a low pass filter, a high pass filter and a moving RMS. The first event named REST1 is created by selecting the first frame indicating the start of the rest. The second event named REST2 is created by selecting the frame number at the end of the rest. A typical threshold is median + 3*standard deviation. The median and standard deviation are then calculated by using the [[Visual3D:Documentation:Pipeline:Metric_Commands:Metric_Mean|Metric_Median]] and [[Visual3D:Documentation:Pipeline:Metric_Commands:Metric_StdDev|Metric_StdDev]] functions. The [[Visual3D:Documentation:Pipeline:Event_Commands:Event_Threshold|Event_Threshold]] pipeline command is then used to compute the threshold by computing the median + 3*standard deviation.
Line 126: Line 128:
 </code> </code>
  
-==== Pipeline for computing the number of frames the signal is on ====+=== Pipeline for computing the number of frames the signal is on ===
  
 To calculate how long a signal is on or how long a muscle is active, a signal will be created to be set as zero when below the threshold, and one when the signal is above the threshold. To calculate how long a signal is on or how long a muscle is active, a signal will be created to be set as zero when below the threshold, and one when the signal is above the threshold.
Line 185: Line 187:
 </code> </code>
  
-===== EMG Onset based on TKEO =====+==== EMG Onset based on TKEO ====
  
 Computing the onset of an EMG signal can be quite tricky. In this example, we describe a pipeline for a straightforward estimation of EMG onset based on the the [[Visual3D:Documentation:Pipeline:Signal_Commands:Teager_Kaiser_Energy|Teager-Kaiser Energy Operator]] and [[Visual3D:Documentation:Pipeline:Event_Commands:Event_Threshold|Event_Threshold]]. This is not a definitive definition, but simply a starting point for the user. The following figure shows an EMG signal before and after the Teager Kaiser Energy Operator is implemented. Computing the onset of an EMG signal can be quite tricky. In this example, we describe a pipeline for a straightforward estimation of EMG onset based on the the [[Visual3D:Documentation:Pipeline:Signal_Commands:Teager_Kaiser_Energy|Teager-Kaiser Energy Operator]] and [[Visual3D:Documentation:Pipeline:Event_Commands:Event_Threshold|Event_Threshold]]. This is not a definitive definition, but simply a starting point for the user. The following figure shows an EMG signal before and after the Teager Kaiser Energy Operator is implemented.
  
-{{Teager_Kaiser.jpg}} +{{:Teager_Kaiser.jpg}} 
-==== Pipeline ====+=== Pipeline ===
  
 The following pipeline follows the same general format as above, yet at the beginning there is a Highpass Filter and a Teager Kaiser Energy Operator instead of a Lowpass filter and a HighPass Filter. The following pipeline follows the same general format as above, yet at the beginning there is a Highpass Filter and a Teager Kaiser Energy Operator instead of a Lowpass filter and a HighPass Filter.
Line 292: Line 294:
 </code> </code>
  
-===== EMG Onset based on Automatic Detection =====+==== EMG Onset based on Automatic Detection ====
  
 The following meta-command may be used to process EMG analog signals to find "resting" thresholds automatically, without using a reference file. Processing motion files with multiple EMG signals can become tedious when manually extracting events and identifying points of “rest”. We can manually detect sections of minimal activity within a motion trial to set as a reference threshold. The pipeline to compute this automated detection has been provided as a meta-command, and you may copy and paste it into your **Visual3D x64 > Plugins > Meta-Commands** folder. For more information on Meta-Commands and how they work, see [[Visual3D:Documentation:Pipeline:Meta_Commands:Meta_Commands_Overview|Pipeline Commands:Meta Commands]]. For a detailed tutorial on how to use Automatic_EMG_Events, head to the tutorial page: The following meta-command may be used to process EMG analog signals to find "resting" thresholds automatically, without using a reference file. Processing motion files with multiple EMG signals can become tedious when manually extracting events and identifying points of “rest”. We can manually detect sections of minimal activity within a motion trial to set as a reference threshold. The pipeline to compute this automated detection has been provided as a meta-command, and you may copy and paste it into your **Visual3D x64 > Plugins > Meta-Commands** folder. For more information on Meta-Commands and how they work, see [[Visual3D:Documentation:Pipeline:Meta_Commands:Meta_Commands_Overview|Pipeline Commands:Meta Commands]]. For a detailed tutorial on how to use Automatic_EMG_Events, head to the tutorial page:
visual3d/documentation/emg/processing/total_emg_power.1718717270.txt.gz · Last modified: 2024/06/18 13:27 by sgranger