Tutorial: Automatic EMG Events: Difference between revisions

From Software Product Documentation
Jump to navigation Jump to search
Line 39: Line 39:


== Processing and Filtering Raw EMG Signals ==
== Processing and Filtering Raw EMG Signals ==
This meta command can be used to process EMG data in two ways; First, through the moving RMS filtering to remove noise from the analog signal while maintaining overall power, amplitude and energy, muscle activation patterns, and fatigue properties [cite]. Second, TKEO will be used on the raw signals to perform a more rigorous filtration that will allow for onset/offset contraction detection. The TKEO will reduce power and amplitude but is more accurate when finding exact timing of events [cite]. We initialize a for loop to go through all EMG signals in the open file.
This meta command can be used to process EMG data in two ways; First, through the '''moving RMS''' filtering to remove noise from the analog signal while maintaining overall power, amplitude and energy, muscle activation patterns, and fatigue properties ['''cite''']. Second, '''TKEO''' will be used on the raw signals to perform a more rigorous filtration that will allow for onset/offset contraction detection. The '''TKEO''' will reduce power and amplitude but is more accurate when finding exact timing of events ['''cite'''].  
 
We initialize a for loop to go through all EMG signals in the open file.
 
For_Each
/Iteration_Parameter_Name= SIGNAL
/Items= ::SIGNAL_NAMES
;

Revision as of 14:44, 15 May 2023

Overview

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. Using the data download from Tutorial EMG, we can look at automatically detecting periods of low muscle activity to help us auto populate EMG onset/offset detection.

In this tutorial we will:

  1. Load EMG data into Visual 3D
  2. Perform a series of signal filtering commands including:
    1. Bandpass filter
    2. Full-wave rectify
    3. Moving Root Mean Squared (RMS)
    4. Teager-Kaiser Energy Operator (TKEO)
  3. Automatically detect low muscle activity
  4. Generate TKEO threshold to perform Onset Offset detection
  5. Visualize the event detection and demonstrate the effects of changing the meta parameters

Preparing for the Tutorial

Tutorial data download:

The following pipeline has been provided as a meta_function, 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, follow tutorial_.

meta-commands download:

Loading Data and Calling the Meta-Function

Open the trial_1.c3d file from the Tutorial download into Visual3D.

To begin the automatic detection, we first need to follow the typical processing procedure for EMG signals, going through all signals individually. We will work through the pipeline of Automatic_EMG_Events. You may look through the meta-command file along with this description, or use this pipeline to help build your own.

We begin by initializing the pipeline as a meta-command. This command will take two parameters, Signals_Names and ThresholdPercent. The signal names are associated with your EMGs and associated .c3d files. The threshold percent determines what percent of the maximum signal voltage you want to consider as noise or low muscle activity.

! BEGIN_META
! META_CMD_NAME=Automatic_EMG_Events
! META_PARAM= SIGNAL_NAMES:string::yes
! META_PARAM= ThresholdPercent:string::no
! META_HIGHPASS= 
! META_LOWPASS= 
! END_META

Processing and Filtering Raw EMG Signals

This meta command can be used to process EMG data in two ways; First, through the moving RMS filtering to remove noise from the analog signal while maintaining overall power, amplitude and energy, muscle activation patterns, and fatigue properties [cite]. Second, TKEO will be used on the raw signals to perform a more rigorous filtration that will allow for onset/offset contraction detection. The TKEO will reduce power and amplitude but is more accurate when finding exact timing of events [cite].

We initialize a for loop to go through all EMG signals in the open file.

For_Each
/Iteration_Parameter_Name= SIGNAL
/Items= ::SIGNAL_NAMES
;
Retrieved from ""