====== Metric Cross Product ====== ====Overview==== The Metric Cross Product command is used to create a cross product of two metric vectors. This could include finding the torque acting on a joint or other similar uses. The command can be found within the **Pipeline Workshop** in the **Metric** folder. The command acts on the active files. ====Pipeline Command==== The command, as seen in the pipeline workshop, is below. Metric_Cross_Product ! /RESULT_FILE= ! /RESULT_METRIC_FOLDER=PROCESSED /RESULT_METRIC_NAME= ! /METRIC1_FILE= ! /METRIC1_FOLDER=PROCESSED /METRIC1_NAME= ! /METRIC2_FILE= ! /METRIC2_FOLDER=PROCESSED /METRIC2_NAME= ! /DIVIDE_BY_METRIC2_LENGTH=TRUE ! /GENERATE_MEAN_AND_STDDEV=TRUE ! /APPEND_TO_EXISTING_VALUES=FALSE ! /GENERATE_VECTOR_LENGTH_METRIC=FALSE ! /RETAIN_NO_DATA_VALUES=FALSE ; ====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 /Retain_No_Data_Values=TRUE should you want this included in the resulting signal.**| ====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. {{:MetricCrossProductDlg.png}} The dialog box allows you to assign values to the command parameters outlined above. === Metric_File === If **Metric1_File** or **Metric2_File** are empty, Visual3D uses each active file when processing the command. These parameters exist because the user may want to compute the dot product relative to a signal in the GLOBAL workspace or a specified file. === Divide_By_Metric2_Length === When this is true, a unit vector of Metric2 is used. === Append_to_Existing_Values === The results are concatenated to an existing signal. ====Examples==== ===Simple example: Stride Vectors=== Here we use the **Metric Cross Product** command to compute step width from previously calculated stride vectors found using **Metric Vector Between Events**. The command is as follows: Metric_Cross_Product ! /METRIC1_FILE= /METRIC1_NAME=RightStep ! /METRIC1_FOLDER=PROCESSED /METRIC2_FILE=GLOBAL /METRIC2_NAME=StrideVectors_MEAN ! /METRIC2_FOLDER=PROCESSED ! /DIVIDE_BY_METRIC2_LENGTH=TRUE /RESULT_METRIC_NAME=RightStepWidth ! /RESULT_METRIC_FOLDER=PROCESSED ! /GENERATE_MEAN_AND_STDDEV=TRUE ! /APPEND_TO_EXISTING_VALUES=FALSE /GENERATE_VECTOR_LENGTH_METRIC=TRUE ; In the case that you already know or have calculated step length and know the associated stride vectors, the cross product can be used to compute step width. ===Complex example=== For a more in depth example similar to the one above go to [[visual3d:documentation:pipeline:signal_commands:mimicking_temporal_distance_command|this tutorial]].