visual3d:documentation:pipeline:event_commands:event_tpr_signal
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:event_tpr_signal [2025/04/23 18:30] – [Overview] wikisysop | visual3d:documentation:pipeline:event_commands:event_tpr_signal [2025/04/28 18:38] (current) – wikisysop | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Event TPR Signal ====== | ====== Event TPR Signal ====== | ||
- | ==== Overview ==== | + | ===== Overview |
The Event_TPR_Signal command performs pattern recognition on a signal by scanning the trial for segments that match a **Target Pattern Recognition (TPR) file**. When a segment of the trial is sufficiently similar to the pattern, an event is placed at the frame of best match. | The Event_TPR_Signal command performs pattern recognition on a signal by scanning the trial for segments that match a **Target Pattern Recognition (TPR) file**. When a segment of the trial is sufficiently similar to the pattern, an event is placed at the frame of best match. | ||
Line 9: | Line 9: | ||
- | ==== Pipeline Command ==== | + | A **pattern file** mut be available. This file defines the reference shape that Visual3D will try to match in the trial, it must also use the same signal type and coordinate structure. |
+ | ===== Pipeline Command ===== | ||
+ | The command below is as seen on the Visual3D application, | ||
< | < | ||
Line 31: | Line 33: | ||
</ | </ | ||
- | ==== Event TPR Signal | + | ===== Command |
- | The command | + | The following table shows the command |
- | |**Event_TPR_Signal** | + | |**Parameter** |**Description** | |
- | |**/ | + | |**/SIGNAL_TYPES=** |
- | |**/Pattern_Type=** |The type of signal used as the test signal. | + | |**!/SIGNAL_FOLDER=** |
- | |**/Pattern_Signal=** |The names of the signals used as the test signal. | + | |**/SIGNAL_NAMES=** |
- | |**/Pattern_Folder=** |The name of the signal | + | |**!/PATTERN_FILE=** | Filename |
- | |**/Signal_Types=** |The type of signal to be compared with the test signal. | + | |**!/PATTERN_TYPE=** | The type of signal in the pattern file - must match the matching |
- | |**/Signal_Names=** |The names of the signals to be compared with the test signal. | + | |**!/PATTERN_FOLDER=** | Folder used when the pattern was saved (e.g., `FILTERED`, `NORMALIZED`). | |
- | |**/Signal_Folder=** | + | |**!/PATTERN_SIGNAL=** | Signal name from which the pattern |
- | |**/Pattern_Event_Name=** |The event at which the pattern | + | |**/PATTERN_EVENT_NAME=** |
- | |**/Pattern_Event_Instance=**|The occurence | + | |**!/PATTERN_EVENT_INSTANCE=**| Which instance of the pattern |
- | |**/Event_Name=** |The name to be given to the threshold | + | |**!/SELECT_X, Y, Z=FALSE** | Indicates which component(s) of the signal vector to compare - set `TRUE` for any axis you want matched. | |
- | |**/ | + | |**!/TPR_WINDOW=** | Length of the matching window |
- | |**/Select_Y=** |(True or False)Use this component | + | |**!/TOLERANCE=** |
- | |**/Select_Z=** |(True or False)Use this component of the signals. | + | |**/EVENT_NAME=** |
- | |**/TPR_Window=** |The range of frames of data used for the comparison. | | + | |
- | |**/Tolerance=** | + | |
- | \\ | + | |
+ | =====Dialog===== | ||
A dialog will pop up when pipeline selection is edited by double clicking with the left mouse button (see diagram below). | A dialog will pop up when pipeline selection is edited by double clicking with the left mouse button (see diagram below). | ||
Line 64: | Line 65: | ||
* Changing the **radius** will change the number of frames used. | * Changing the **radius** will change the number of frames used. | ||
* The parameter SIGNAL_TYPES and SIGNAL_NAMES are required parameters and need to be specified. This can be done by editing the command via the " | * The parameter SIGNAL_TYPES and SIGNAL_NAMES are required parameters and need to be specified. This can be done by editing the command via the " | ||
- | * If you wish to save the TPR signal for further use in other cmo files for pattern matching, then use the dialog to set the parameters and then click **Save TPR Signal** button. The button will not appear until you have completed setting the parameters. After clicking the button, a browser will open and you can select a folder and filename for your TPR signal file. The file extension will be .tps. Go to [[Visual3D: | + | * If you wish to save the TPR signal for further use in other CMZ files for pattern matching, then use the dialog to set the parameters and then click **Save TPR Signal** button. The button will not appear until you have completed setting the parameters. After clicking the button, a browser will open and you can select a folder and filename for your TPR signal file. The file extension will be .tps. Go to [[Visual3D: |
- | ==== Example ==== | + | ===== Examples ===== |
+ | The following examples will show the use of the Event_TPR_Signal command in the Visual3D application. | ||
+ | |||
+ | ====Example 1: Matching Opposite-side Gait Events==== | ||
+ | |||
+ | In some cases, users may already have events defined for one side of the participant' | ||
+ | |||
+ | **1.** As you can see, a .c3d file is loaded in which contains ONLY **Left-side** events. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | **2.** Either in the command dialog box, or within the text editor, enter the following details, this is converting the Left Heel Strike event to the same on the Right Side: | ||
+ | |||
+ | |{{: | ||
+ | Event_TPR_Signal | ||
+ | / | ||
+ | ! / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | / | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | For the **Pattern File**, I have it set for the trial which contains the pre-determined events. This will essentially be applying the same logic that goes for one side of the participant' | ||
+ | |||
+ | After this pipeline command has been run, the RHS event will begin to show as well. However, if you were to graph the R Hip Angle, you may notice that there are many more occurrences than expected, the number of frames being evaluated may need to be changed in order to better represent the number of occurrences. The following adjustment was made: | ||
+ | |||
+ | < | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | The following image shows both the Left and Right Hip Angles with the highlighted events (Blue- LHS, Red- RHS): | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ====Example | ||
+ | Automatically detect right foot strike during running using the Y-axis acceleration of the right ankle, based on a template waveform. Then, save a refined version of this event’s pattern and evaluate how well it aligns with the force plate contact (`RHS`). | ||
- | Below is an example script: | ||
< | < | ||
Line 94: | Line 141: | ||
+ | ---- | ||
+ | |||
+ | =====Notes===== | ||
+ | |||
+ | A description of the use of TPR 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. | ||
visual3d/documentation/pipeline/event_commands/event_tpr_signal.1745433007.txt.gz · Last modified: 2025/04/23 18:30 by wikisysop