visual3d:documentation:pipeline:metric_commands:metric_cross_product
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
visual3d:documentation:pipeline:metric_commands:metric_cross_product [2024/07/03 17:41] – created sgranger | visual3d:documentation:pipeline:metric_commands:metric_cross_product [2025/10/03 17:35] (current) – [Example: Computing Step Length from Stride Vectors Using Dot Product] wikisysop | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | Creates | + | ====Overview==== |
+ | The Metric Cross Product command is used to create | ||
- | The command acts on the active files. | + | ====Pipeline Command==== |
- | {{MetricCrossProductDlg.png}} | + | The command, as seen in the pipeline workshop, is below. |
< | < | ||
Metric_Cross_Product | Metric_Cross_Product | ||
- | /RESULT_METRIC_NAME=The name of the result signal | + | ! /RESULT_FILE= |
- | ! / | + | ! / |
- | ! /METRIC1_FILE=The movement trial containing the first metric value | + | /RESULT_METRIC_NAME= |
- | /METRIC1_NAME=The name of the metric signal to be evaluated | + | ! /METRIC1_FILE= |
- | ! / | + | ! / |
- | ! /METRIC2_FILE=The movement trial containing the second metric value | + | /METRIC1_NAME= |
- | /METRIC2_NAME=The name of the metric signal folder | + | ! /METRIC2_FILE= |
- | ! / | + | ! / |
- | ! / | + | / |
- | ! / | + | ! / |
- | ! / | + | ! / |
- | ! / | + | ! / |
- | ! / | + | ! / |
+ | ! / | ||
; | ; | ||
</ | </ | ||
+ | |||
+ | ====Command Parameters==== | ||
+ | |||
+ | The following table shows the command parameters seen above and their descriptions: | ||
+ | |||
+ | |**RESULT_METRIC_NAME**|**The name of the result signal**| | ||
+ | |**RESULT_METRIC_FOLDER**|**The name of the result signal folder**| | ||
+ | |**METRIC1_FILE**|**The movement trial containing the first metric value**| | ||
+ | |**METRIC1_NAME**|**The name of the signal containing the first metric value**| | ||
+ | |**METRIC1_FOLDER**|**The name of the metric signal folder**| | ||
+ | |**DIVIDE_BY_METRIC2_LENGTH**|**(True or False) Divide the resulting signal by the length of the second metric**| | ||
+ | |**GENERATE_MEAN_AND_STDDEV**|**(True or False)Generate the mean and standard deviation for all of the metrics created**| | ||
+ | |**APPEND_TO_EXISTING_VALUES**|**(True or False)Append this list of metrics to an existing metric of the same result name**| | ||
+ | |**GENERATE_VECTOR_LENGTH_METRIC**|**(True or False)Generate metric value for vector length**| | ||
+ | |**RETAIN_NO_DATA_VALUES**|**In cases where there is NO_DATA at an event, you need to specify the parameter / | ||
+ | |||
+ | ====Dialog==== | ||
+ | The command can be edited in a text editor or in a dialog form. To edit in the dialog pop up form either click on the **Edit** button in the pipeline workshop or double-click on the pipeline command. The dialog is shown below. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | The dialog box allows you to assign values to the command parameters outlined above. | ||
=== Metric_File === | === Metric_File === | ||
Line 39: | Line 63: | ||
The results are concatenated to an existing signal. | The results are concatenated to an existing signal. | ||
+ | ====Example: | ||
+ | In this example the **Metric Cross Product** command is used along with **Metric Vector Between Events** and **Automatic Gait Events** to find the width of each step in a gait trial. | ||
+ | |||
+ | First all files are selected as active and key gait events are defined for each trial: | ||
+ | |||
+ | < | ||
+ | Select_Active_File | ||
+ | / | ||
+ | ; | ||
+ | |||
+ | Automatic_Gait_Events | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | Next **Metric Vector Between Events** is used twice for each side to define vectors for the proximal end of each foot between gait events: | ||
+ | |||
+ | < | ||
+ | Metric_Vector_Between_Events | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ; | ||
+ | |||
+ | Metric_Vector_Between_Events | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | / | ||
+ | ! / | ||
+ | ; | ||
+ | |||
+ | Metric_Vector_Between_Events | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | ; | ||
+ | |||
+ | Metric_Vector_Between_Events | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | Now that the vectors for the feet have been defined, **Metric Cross Product** can be used to compute the dot product of those vectors and determine the step width for each stride: | ||
+ | |||
+ | < | ||
+ | ! Calculate LeftStepWidth by taking cross product of LeftStep vector and StrideVectors_MEAN | ||
+ | ! Generate Mean and STD DEV | ||
+ | Metric_Cross_Product | ||
+ | ! / | ||
+ | / | ||
+ | ! / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | / | ||
+ | ; | ||
+ | |||
+ | ! Calculate RightStepWidth by taking cross product of RightStep vector and StrideVectors_MEAN | ||
+ | ! Generate Mean and STD DEV | ||
+ | Metric_Cross_Product | ||
+ | ! / | ||
+ | / | ||
+ | ! / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | / | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | The **METRIC: | ||
+ | {{: | ||
+ | A more complete example including dot products is available [[visual3d: |
visual3d/documentation/pipeline/metric_commands/metric_cross_product.1720028500.txt.gz · Last modified: 2024/07/03 17:41 by sgranger