visual3d:documentation:pipeline:event_commands:automatic_gait_events
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
visual3d:documentation:pipeline:event_commands:automatic_gait_events [2025/02/13 19:10] – [Overview] wikisysop | visual3d:documentation:pipeline:event_commands:automatic_gait_events [2025/04/28 14:07] (current) – wikisysop | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Automatic Gait Events ===== | + | ====== Automatic Gait Events ====== |
+ | ===== Overview ===== | ||
+ | Gait events describe key moments in the walking or running cycle - such as heel-strikes and toe-offs. If [[Visual3D: | ||
- | ==== Overview ==== | + | Before running this command, the model must have segments created so that the program can recognize the left from the right. These segments are not limited to feet, they simply |
- | Gait events | + | |
- | Before running | + | The following is an overall outline of how to use this command. As a reminder, the **Automatic_Gait_Events** pipeline command can be used to create gait events __if__ force platforms exist in a dynamic trial and ON/OFF events indicate kinetic cycles and HS/TO indicate kinematic cycles. |
+ | - A static trial must be loaded into the workspace and a minimum of two segments | ||
+ | - If a force platform assignment exists in a dynamic trial, ON/OFF events will be created when [[Visual3D: | ||
+ | - A segment’s center of mass (ANY segment) falls within | ||
+ | - The force signal goes above the specified [[Visual3D: | ||
+ | - If “Use Pattern Recognition to Create (L/R)HS and (L/R)TO labels” is checked, and if an ON/OFF event was created in a trial, a HS/TO event will be created in the trial based on the position of the foot segment: (See [[# | ||
+ | - HS events will be created based on the Axial and AP position of the proximal end of the foot | ||
+ | - TO events will be created based on the Axial and AP position of the distal end of the foot | ||
- | Contact with the floor for which there are //no force platforms// can be determined using **Temporal Proximity Rule (TPR)**, this will be seen in the dialog box for this command. No signals need to be provided for the TPR because Visual3D uses the kinematics of the segment making contact with the force platform. | + | ===== Pipeline Command |
- | + | ||
- | ==== Pipeline Command ==== | + | |
This pipeline command was updated in version 5 so that users no longer need so specify the direction of gravity, as Visual3D can determine this internally. Both versions of the command are listed below. | This pipeline command was updated in version 5 so that users no longer need so specify the direction of gravity, as Visual3D can determine this internally. Both versions of the command are listed below. | ||
Line 31: | Line 37: | ||
The following table shows the command parameters for **Version 5+**. | The following table shows the command parameters for **Version 5+**. | ||
- | |**Automatic_Gait_Events**|**Parameter Description**| | + | |**Parameter**|**Parameter Description**| |
|**! / | |**! / | ||
- | |**! / | + | |**! / |
- | | **! / | + | | **! / |
- | ==== Dialog ==== | + | ===== Dialog |
The dialog for the command can be accessed by double-clicking it the left mouse button while placed in the pipeline. | The dialog for the command can be accessed by double-clicking it the left mouse button while placed in the pipeline. | ||
Line 43: | Line 49: | ||
* **Use Pattern Recognition to Create (L/R)HS and (L/R)TO Labels**: applies pattern recognition to identify gait cycle events. | * **Use Pattern Recognition to Create (L/R)HS and (L/R)TO Labels**: applies pattern recognition to identify gait cycle events. | ||
* **Frame Window for Pattern Recognition**: | * **Frame Window for Pattern Recognition**: | ||
- | * **Instance of ON/OFF to use for TPR**: Determines | + | * **Instance of ON/OFF to use for TPR**: Determines |
- | ==== Notes ==== | + | |
- | === Gait Event Acronyms === | ||
- | Definitions of the gait event acronyms used in Visual3D are shown below. | ||
- | The automatic gait events command and many of the events created | + | ===== Examples ===== |
+ | |||
+ | The following examples will show different methods in which Automatic_Gait_Events can be used alongside other. | ||
+ | |||
+ | ==== Example 1: Simple Scenario ==== | ||
+ | The first example shows the functionality | ||
- | 1. The kinematically based category includes: | ||
< | < | ||
- | **RHS**= Right Heel Strike | + | Automatic_Gait_Events |
- | **RTO**= Right Toe Off | + | ! / |
- | **LHS**= Left Heel Strike | + | ! /USE_TPR=TRUE |
- | **LTO**= Left Toe Off | + | ! / |
+ | ; | ||
</ | </ | ||
- | 2. The kinetically based category refers | + | After executing the pipeline, you will notice a new folder in your Signals and Events tab called **EVENT_LABEL**, |
+ | |||
+ | {{: | ||
+ | |||
+ | ==== Example 2: Start-to-Finish ==== | ||
+ | |||
+ | In the next example, the **Automatic_Gait_Events** command will be used with other commands to allow a user to go from starting with empty workspace to finding and highlighting events. | ||
+ | |||
+ | * Open the user-selected workspace file. ([[visual3d: | ||
+ | * **Automatically detect gait events.** | ||
+ | * Iterate through and highlight all gait events. ([[visual3d: | ||
+ | * Switch to Signals and Events tab, and graph X-component of Force Platform signal (events will be shown on this graph). ([[visual3d: | ||
+ | |||
+ | The pipeline will look as follows: | ||
< | < | ||
- | **RON**= Right On | + | File_Open |
- | **ROFF**= Right Off | + | /FILE_NAME= |
- | **LON**= Left On | + | ! /FILE_PATH= |
- | **LOFF**= Left Off | + | ! / |
- | </code> | + | ! /SUFFIX= |
+ | ! /SET_PROMPT=File_Open | ||
+ | ! / | ||
+ | ! / | ||
+ | ; | ||
- | All RON events are also RHS events, but RON events are only created when contact is made with a force platform. | + | Automatic_Gait_Events |
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ; | ||
- | This provides a means to declare a range of data for reporting only when in contact with the force platform. This is because Joint Moments and Joint Powers, for example, do not have meaningful data when the foot is in contact with ground but no ground reaction forces are measured. | ||
- | === Outline === | + | For_Each |
- | The following is an overall outline of the use of this command. As a reminder: | + | / |
- | * The **Automatic_Gait_Events** pipeline command can be used to create gait events __if__ force platforms exist in a dynamic trial. | + | ! / |
- | * ON/OFF events indicate kinetic cycles and HS/TO indicate kinematic cycles. | + | /ITEMS= LHS+LTO+LOFF+LON+RHS+RTO+ROFF+RON |
+ | ; | ||
- | - A static trial must be loaded into the workspace and a minimum of two segments must be created (for standard gait trials, this means a left/right foot segment must be created).\\ | + | Highlight_Event_Label |
- | - If a force platform assignment exists in a dynamic trial, ON/OFF events will be created when [[Visual3D:Documentation:Kinematics_and_Kinetics: | + | /EVENT_LABEL= |
- | - A segment’s center of mass (ANY segment) falls within the specified [[Visual3D: | + | ! / |
- | - The force signal goes above the specified [[Visual3D: | + | ; |
- | - If “Use Pattern Recognition to Create (L/R)HS and (L/R)TO labels” is checked, and if an ON/OFF event was created in a trial, a HS/TO event will be created in the trial based on the position of the foot segment: (See [[# | + | |
- | - HS events will be created based on the Axial and AP position of the proximal end of the foot\\ | + | End_For_Each |
- | - TO events will be created based on the Axial and AP position of the distal end of the foot\\ | + | /ITERATION_PARAMETER_NAME=EVENT |
+ | ; | ||
+ | |||
+ | Switch_Between_Tabs | ||
+ | /SHOW_SIGNALS_AND_EVENTS_TAB=TRUE | ||
+ | ! / | ||
+ | ! / | ||
+ | ; | ||
+ | |||
+ | Interactive_Graph_Signals | ||
+ | /SIGNAL_TYPES=FORCE | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | / | ||
+ | </code> | ||
+ | |||
+ | After having run this pipeline, | ||
+ | \\ | ||
+ | {{: | ||
+ | |||
+ | ==== Example 3: Mimicking Automatic_Gait_Events ==== | ||
- | === Equivalent Pipeline Commands === | ||
To show the simplicity of this command, an example pipeline will be shown below to mimic the same functionality using other existing commands, however, it will not necessarily produce the precise TPR created events. | To show the simplicity of this command, an example pipeline will be shown below to mimic the same functionality using other existing commands, however, it will not necessarily produce the precise TPR created events. | ||
- | * Creating events from kinematic data is accurate to approximately plus/minus 2 frames. | + | |
- | * In this example, the subject is walking in the +Y direction of the laboratory. The Automatic_Gait_Events command allows Visual3D to determine the direction of walking from the data. | + | Creating events from kinematic data is accurate to approximately plus/minus 2 frames. In this example, the subject is walking in the +Y direction of the laboratory. The Automatic_Gait_Events command allows Visual3D to determine the direction of walking from the data. |
< | < | ||
Line 95: | Line 149: | ||
; | ; | ||
- | If_Condition | + | Conditional_Statement |
- | / | + | / |
+ | ! / | ||
+ | ! / | ||
; | ; | ||
Set_Pipeline_Parameter | Set_Pipeline_Parameter | ||
Line 114: | Line 170: | ||
/VALUE=LTO | /VALUE=LTO | ||
; | ; | ||
- | Else | + | |
+ | Conditional_Statement_End | ||
+ | / | ||
+ | ; | ||
+ | |||
+ | Conditional_Statement | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
; | ; | ||
! Right foot events | ! Right foot events | ||
Line 133: | Line 197: | ||
/VALUE=RTO | /VALUE=RTO | ||
; | ; | ||
- | End_If | + | Conditional_Statement_End |
+ | / | ||
; | ; | ||
Line 196: | Line 261: | ||
</ | </ | ||
- | === Event_TPR_Signal | + | ===== Notes ===== |
- | A description of the use of [[Visual3D: | + | |
- | * **Stanhope SJ, Kepple TM, McGuire DA, Roman NL.**(1990) "A Kinematic-Based Technique for Event Time Determination During Gait." Medical and Biological Engineering and Computing 28:355-360. | + | |
- | [[Visual3D: | + | ==== Gait Event Acronyms ==== |
- | * **Heel Strike**: uses the signal KINETIC_KINEMATIC:: | + | Definitions of gait event acronyms used in Visual3D |
- | * **Toe Off**: uses the signal KINETIC_KINEMATIC:: | + | |
- | + | ||
- | The HS and TO pattern recognition algorithms are not a generic one size fits all gait recognition algorithm, but rather it looks at the first ON and OFF events and matches the subject' | + | |
- | + | ||
- | === Visual3D Versions supporting Subject Prefixes | + | |
- | + | ||
- | When defining events for subjects that use a prefix to define the data belonging to that subject, | + | |
- | + | ||
- | **NOTE**: When using events | + | |
- | + | ||
- | + | ||
- | ==== Examples ==== | + | |
- | + | ||
- | The following examples will show different methods in which Automatic_Gait_Events can be used alongside other commands for user applications. | + | |
- | + | ||
- | === Example 1 === | + | |
- | The first example shows the functionality of the **Automatic_Gait_Events** command. After loading in your workspace containing a static and dynamic trial (with force assignments), | + | |
+ | The automatic gait events command, many of the events created in the tutorials, and events used in the example files have a 3 (or 4) character label that have been used consistently throughout history. The labels are divided into two categories: | ||
+ | 1. Kinematic Events: | ||
< | < | ||
- | Automatic_Gait_Events | + | **RHS**= Right Heel Strike |
- | ! / | + | **RTO**= Right Toe Off |
- | ! /USE_TPR=TRUE | + | **LHS**= Left Heel Strike |
- | ! / | + | **LTO**= Left Toe Off |
- | ; | + | |
</ | </ | ||
- | After executing the pipeline, you will notice a new folder in your Signals and Events tab called **EVENT_LABEL**, | + | 2. Kinetic |
- | + | ||
- | {{: | + | |
- | + | ||
- | === Example | + | |
- | + | ||
- | In the next example, the **Automatic_Gait_Events** command will be used alongside others in a pipeline which allows the user to do the following starting from an empty project workspace: | + | |
- | * Open the user-selected workspace file. ([[visual3d: | + | |
- | * **Automatically detect gait events.** | + | |
- | * Iterate through and highlight LHS, LTO, and BTWN event labels. ([[visual3d: | + | |
- | * Switch to Signals and Events | + | |
- | + | ||
- | The pipeline will look as follows: | + | |
< | < | ||
- | File_Open | + | **RON**= Right On |
- | /FILE_NAME= | + | **ROFF**= Right Off |
- | ! /FILE_PATH= | + | **LON**= Left On |
- | ! / | + | **LOFF**= Left Off |
- | ! /SUFFIX= | + | </code> |
- | ! /SET_PROMPT=File_Open | + | |
- | ! / | + | |
- | ! / | + | |
- | ; | + | |
- | Automatic_Gait_Events | + | All RON events are also RHS events, but RON events are only created when contact is made with a force platform. This provides a means to declare a range of data for reporting only when in contact with the force platform. This is because Joint Moments and Joint Powers, for example, do not have meaningful data when the foot is in contact with ground but no ground reaction forces are measured. |
- | ! / | + | |
- | ! / | + | |
- | ! / | + | |
- | ; | + | |
+ | ==== Event_TPR_Signal ==== | ||
+ | A description of the use of [[Visual3D: | ||
- | For_Each | + | [[Visual3D:Documentation:Pipeline: |
- | / | + | * **Heel Strike**: uses the signal KINETIC_KINEMATIC:: |
- | ! / | + | * **Toe Off**: uses the signal KINETIC_KINEMATIC::RFT::DistEndPos and KINETIC_KINEMATIC:: |
- | /ITEMS= LHS+LTO+LOFF+LON+RHS+RTO+ROFF+RON | + | |
- | ; | + | |
- | + | ||
- | Highlight_Event_Label | + | |
- | / | + | |
- | ! / | + | |
- | ; | + | |
- | + | ||
- | End_For_Each | + | |
- | / | + | |
- | ; | + | |
- | + | ||
- | Switch_Between_Tabs | + | |
- | / | + | |
- | ! / | + | |
- | ! / | + | |
- | ; | + | |
- | + | ||
- | Interactive_Graph_Signals | + | |
- | / | + | |
- | / | + | |
- | / | + | |
- | / | + | |
- | / | + | |
- | / | + | |
- | ! / | + | |
- | ! / | + | |
- | / | + | |
- | </ | + | |
- | + | ||
- | After having simply run this pipeline, the program is able to display | + | |
- | \\ | + | |
- | {{:visual3d:documentation:pipeline:event_commands:samplegraph.png? | + | |
+ | The HS and TO pattern recognition algorithms are not a generic one size fits all gait recognition algorithm, but rather it looks at the first ON and OFF events and matches the subject' | ||
+ | ==== Working with Multisubject Data ==== | ||
+ | Visual3D handles [[visual3d: | ||
+ | **NOTE**: When using events in a command, the commands will iterate across subjects contained in the current workspace. As such, events and sequences listed as command parameters should NOT contain a prefix. As each subject is processed, the event range/ | ||
visual3d/documentation/pipeline/event_commands/automatic_gait_events.1739473810.txt.gz · Last modified: 2025/02/13 19:10 by wikisysop