This is an old revision of the document!
Table of Contents
Event TPR Signal
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.
- TPR signal is based on matching data from a range of frames against the same (or a different signal).
- When the two ranges match, an Event Label is created at the midpoint of the range.
- For example, if one occurrence of heel strike has been identified, this command can be used to determine all other heel strike events in a file.
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, it has many parameters as there are many options to manipulate this command.
Event_TPR_Signal /SIGNAL_TYPES= ! /SIGNAL_FOLDER=ORIGINAL /SIGNAL_NAMES= ! /PATTERN_FILE= ! /PATTERN_TYPE= ! /PATTERN_FOLDER=ORIGINAL ! /PATTERN_SIGNAL= /PATTERN_EVENT_NAME= ! /PATTERN_EVENT_INSTANCE=1 ! /SELECT_X=FALSE ! /SELECT_Y=FALSE ! /SELECT_Z=FALSE ! /TPR_WINDOW=7 ! /TOLERANCE=20.0 /EVENT_NAME= ;
Command Parameters
The following table shows the command parameters and descriptions:
Parameter | Description |
/SIGNAL_TYPES= | Type of signal used for matching: typically `LINK_MODEL_BASED`, `ANALOG`, or `TARGET`. |
!/SIGNAL_FOLDER= | Folder the matching signal is located in (e.g., `ORIGINAL`, `FILTERED`, `PROCESSED`). |
/SIGNAL_NAMES= | The label of the signal being scanned for pattern matches (e.g., `Rectified_EMG1`). |
!/PATTERN_FILE= | Filename of the file containing the reference waveform pattern. |
!/PATTERN_TYPE= | The type of signal in the pattern file — must match the matching signal type. |
!/PATTERN_FOLDER= | Folder used when the pattern was saved (e.g., `FILTERED`, `NORMALIZED`). |
!/PATTERN_SIGNAL= | Signal name from which the pattern was originally taken. |
/PATTERN_EVENT_NAME= | Event used in the original pattern file that marks the center of the pattern window. |
!/PATTERN_EVENT_INSTANCE= | Which instance of the pattern event to use (e.g., 1 = first, 2 = second). |
!/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 (in frames). Must match the length used when saving the pattern file. |
!/TOLERANCE= | Similarity threshold for match detection. Lower = stricter matching. Value depends on signal type. |
/EVENT_NAME= | Name of the event that will be created when a match is found. |
Dialog
A dialog will pop up when pipeline selection is edited by double clicking with the left mouse button (see diagram below).
A few points to consider when using this command:
- The Pattern file specifies the file that is to be used for the test signal.
- If Rotate Through Files is selected then the test signal is created from each file and used for the TPR of that file.
- If a file is specified then the test signal is defined from that one file and used for all other files.
- 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 “Text” button or importing the selected signals through the “Import Selected Signals” button.
- 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 Event_TPR_File for details on the command to apply the saved .tps file.
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's body- instead of having to redefine these events for the opposite side, let this command use the Target Pattern Recognition feature to identify them automatically. The following steps can be taken for this example:
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:
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's body to the other.
After this pipeline command has been run, the RHS event will begin to show as well.
Example 2
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`).
! Create a LHS event from a marker on the heel. We assume that one instance of LHS ! has already been identified. The command will find the other instances of LHS ! based on the pattern Event_TPR_Signal /PATTERN_FILE=C:\demo files\Example 1\walk1.c3d /PATTERN_TYPE=TARGET /PATTERN_SIGNAL=LHEEL ! /PATTERN_FOLDER=ORIGINAL /PATTERN_EVENT_NAME=LHS ! /PATTERN_EVENT_INSTANCE=1 ! /SELECT_X=FALSE /SELECT_Y=TRUE /SELECT_Z=TRUE ! /TPR_WINDOW=7 /TOLERANCE=20 /SIGNAL_TYPES=TARGET /SIGNAL_NAMES=LHEEL ! /SIGNAL_FOLDER=ORIGINAL /EVENT_NAME=LHS ;
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.