User Tools

Site Tools


visual3d:documentation:pipeline:event_commands:automatic_gait_events

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
visual3d:documentation:pipeline:event_commands:automatic_gait_events [2025/03/03 19:27] – [Command Parameters] wikisysopvisual3d:documentation:pipeline:event_commands:automatic_gait_events [2025/04/15 19:05] (current) – Cleaned up page and added links. 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:Documentation:Kinematics_and_Kinetics:External_Forces:Force_Assignment|Force Platform assignments]] exist for a motion trial, the **Automatic_Gait_Events** command __automatically__ detects these gait events and places an **event label** at the frames where the subject steps ON and OFF the surface of the platform.
-Gait events describe key moments in the walking or running cycle - such as heel-strikes and toe-offs. If [[Visual3D:Documentation:Kinematics_and_Kinetics:External_Forces:Force_Assignment|Force Platform assignments]] exist for a motion trial, the **Automatic_Gait_Events** command __automatically detects these gait events and places an **event label** at the frames where the subject steps ON and OFF the surface of the platform.__+
  
-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 describe the part of body which makes contact with the force platform. +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 describe the part of body which makes contact with the force platform. Contacts with the floor for which there are //no force platforms// can then be determined using **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.
  
-Contact with the floor for which there are //no force platforms// can be determined using **TPR**, this will be seen in the dialog box for this commandNo signals need to be provided for the TPR because Visual3D uses the kinematics of the segment making contact with the force platform.+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 must be created (for standard gait trials, this means a left/right foot segment must be created). 
 +  - If a force platform assignment exists in a dynamic trial, ON/OFF events will be created when [[Visual3D:Documentation:Kinematics_and_Kinetics:External_Forces:Force_Assignment|Force Assignments]] exist. A Force Assignment exists IF: 
 +    - A segment’s center of mass (ANY segment) falls within the specified [[Visual3D:Documentation:Modeling:Segments:Segment_to_COFP_Distance|distance between center of force pressure to segment]]. 
 +    - The force signal goes above the specified [[Visual3D:Documentation:Kinematics_and_Kinetics:External_Forces:Force_Platforms#Minimum_Force|minimum force platform value]]. 
 +  - 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 [[#Event_TPR_Signal|Event_TPR_Signal]] section for more information on this) 
 +    - 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
  
-==== 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 34: Line 40:
 |**! /FRAME_WINDOW = 8**|The frame window used for pattern recognition (default = 8)| |**! /FRAME_WINDOW = 8**|The frame window used for pattern recognition (default = 8)|
 |**! /USE_TPR=TRUE**|Enables TPR Algorithm to be used to find the heelstrike (HS) and toeoff (TO).| |**! /USE_TPR=TRUE**|Enables TPR Algorithm to be used to find the heelstrike (HS) and toeoff (TO).|
-| **! /TPR_EVENT_INSTANCE=1**  |Instances used to detect events using TPR.|+| **! /TPR_EVENT_INSTANCE=1** Which instance to use to detect events using TPR.|
  
-==== 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 46: Line 52:
  
  
-==== Examples ====+===== Examples =====
  
 The following examples will show different methods in which Automatic_Gait_Events can be used alongside other. The following examples will show different methods in which Automatic_Gait_Events can be used alongside other.
  
-=== Example 1 ===+==== Example 1: Simple Scenario ====
 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), you can simply add the command into the pipeline, which will look as follows: 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), you can simply add the command into the pipeline, which will look as follows:
- 
  
 <code> <code>
Line 66: Line 71:
 {{:visual3d:documentation:pipeline:event_commands:event_label_data_tree_new_folder.png?300|}} {{:visual3d:documentation:pipeline:event_commands:event_label_data_tree_new_folder.png?300|}}
  
-=== Example 2 ===+==== 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.  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. 
Line 132: Line 137:
 {{:visual3d:documentation:pipeline:event_commands:samplegraph.png?500|}} {{:visual3d:documentation:pipeline:event_commands:samplegraph.png?500|}}
  
-==== Notes ====+==== Example 3: Mimicking Automatic_Gait_Events ====
  
-=== Gait Event Acronyms === +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.
-Definitions of gait event acronyms used in Visual3D are shown below.+
  
-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: +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.
- +
-1. Kinematic Events: +
-<code> +
-**RHS**= Right Heel Strike +
-**RTO**= Right Toe Off +
-**LHS**= Left Heel Strike +
-**LTO**= Left Toe Off +
-</code> +
- +
-2. Kinetic Events: +
-<code> +
-**RON**= Right On +
-**ROFF**= Right Off +
-**LON**= Left On +
-**LOFF**= Left Off +
-</code> +
- +
-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. +
- +
-=== Outline === +
-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. +
- +
-  - 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).\\ +
-  - If a force platform assignment exists in a dynamic trial, ON/OFF events will be created when [[Visual3D:Documentation:Kinematics_and_Kinetics:External_Forces:Force_Assignment|Force Assignments]] exist. A Force Assignment exists IF:\\ +
-    - A segment’s center of mass (ANY segment) falls within the specified [[Visual3D:Documentation:Modeling:Segments:Segment_to_COFP_Distance|distance between center of force pressure to segment]].\\ +
-    - The force signal goes above the specified [[Visual3D:Documentation:Kinematics_and_Kinetics:External_Forces:Force_Platforms#Minimum_Force|minimum force platform value]].\\ +
-  - 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 [[#Event_TPR_Signal|Event_TPR_Signal]] section for more information on this)\\ +
-    - 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\\ +
- +
-=== 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. +
-  * 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.+
  
 <code> <code>
Line 295: Line 261:
 </code> </code>
  
-=== Event_TPR_Signal === +===== Notes ===== 
-A description of the use of [[Visual3D:Documentation:Pipeline:Event_Commands:Event_TPR_Signal|Event_TPR_Signal]] for determining gait events when a force platform signal is present is presented in the following article: + 
-  * **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.+==== Gait Event Acronyms ==== 
 +Definitions of gait event acronyms used in Visual3D are shown below. 
 + 
 +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: 
 +<code> 
 +**RHS**= Right Heel Strike 
 +**RTO**= Right Toe Off 
 +**LHS**= Left Heel Strike 
 +**LTO**= Left Toe Off 
 +</code> 
 + 
 +2. Kinetic Events: 
 +<code> 
 +**RON**= Right On 
 +**ROFF**= Right Off 
 +**LON**= Left On 
 +**LOFF**= Left Off 
 +</code> 
 + 
 +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:Documentation:Pipeline:Event_Commands:Event_TPR_Signal|Event_TPR_Signal]] for determining gait events when a force platform signal is present is presented in Stanhope et al.'s paper "A Kinematic-Based Technique for Event Time Determination During Gait."((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:Documentation:Pipeline:Event_Commands:Event_TPR_Signal|Event_TPR_Signal]] for the Automatic Gait algorithm uses the Axial and AP trajectory of the proximal end of the foot segment for detecting **Heel Strike**, while using the distal end of the foot segment for detecting **Toe Off**. [[Visual3D:Documentation:Pipeline:Event_Commands:Event_TPR_Signal|Event_TPR_Signal]] for the Automatic Gait algorithm uses the Axial and AP trajectory of the proximal end of the foot segment for detecting **Heel Strike**, while using the distal end of the foot segment for detecting **Toe Off**.
Line 305: Line 295:
 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's specific pattern at the heel and toe to find other instances of the subject/trial specific pattern within a trial. The algorithm works very well, but if the pattern changes within a trial then the different HS or TO may not be identified. 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's specific pattern at the heel and toe to find other instances of the subject/trial specific pattern within a trial. The algorithm works very well, but if the pattern changes within a trial then the different HS or TO may not be identified.
  
-=== Visual3D Versions supporting Subject Prefixes ===+==== Working with Multisubject Data ====
  
-When defining events for subjects that use a prefix to define the data belonging to that subjectevent labels will also have the prefix of the subject the events belong to.+Visual3D handles [[visual3d:documentation:definitions:multisubject|multisubject]] data by using the [[visual3d:documentation:definitions:subject_prefixes|subject prefixes]] in the C3D file to distinguish which data belongs to which subject. In this case the automatic gait event labels will also have the prefix of the subject to which the events belong.
  
 **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/sequence specified will automatically use the specific events prefixed for each subject as they are processed. **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/sequence specified will automatically use the specific events prefixed for each subject as they are processed.
- 
- 
- 
- 
  
visual3d/documentation/pipeline/event_commands/automatic_gait_events.txt · Last modified: 2025/04/15 19:05 by wikisysop