Table of Contents
Vector Coding
The Vector Coding command can be used to determine inter-segment coordination with the output being an angle from 0-360 degrees known as the coupling angle. All of the math behind Vector Coding is done internally with Visual3D, but a brief summary is provided here for user knowledge. This command is based on work by Robert Needham with more detailed explanations available in the References
Vector Coding Process
The Following section will outline the equations and steps followed while conducting the vector coding.
Coupling Angle Calculation
The command is based on changes in consecutive angles for proximal and distal segments of a given joint. Equation 1 and Equation 2 are used to calculate the coupling angle, with the equation used determined by the difference in consecutive angles for the proximal segment. If this difference is greater than zero Equation 1 and if it is less than zero Equation 2 is used.
Angle Conditions
Equation 3 displays conditions that are applied to the angle to avoid inaccuracies from special cases where there is no change in angle at consecutive points.
Angle Correction
The results above must be corrected to a value between 0 and 360 degrees. Equation 4 is used to make this correction.
Pipeline Command
The Vector_Coding command can be found in the Pipeline Workshop within the Signal Process folder as so:
Vector_Coding ! /SIGNAL_OWNER1= /SIGNAL_TYPE1= /SIGNAL_FOLDER1= /SIGNAL_NAME1= ! /SIGNAL_COMPONENT1= ! /SIGNAL_OWNER2= /SIGNAL_TYPE2= /SIGNAL_FOLDER2= /SIGNAL_NAME2= ! /SIGNAL_COMPONENT2= ! /RESULT_OWNER= ! /RESULT_FOLDER= PROCESSED /RESULT_NAME= ;
Command Parameters
The parameters that can be used to control the command are as follows:
| Signal Owner | The name of the file containing the given signal |
| Signal Type | The type of signal (force, target, link_model_based, etc.) |
| Signal Folder | The name of the folder containing the given signal |
| Signal Component | Which component of the signal is used |
| Result Owner | The name of the file that will contain the result |
| Result Folder | The name of the folder containing the resulting signal(s) |
| Result Name | The name of the resulting signal |
Understand the parameters of the Vector_Coding command:
SIGNAL1
The /SIGNAL_OWNER1, /SIGNAL_TYPE1, /SIGNAL_FOLDER1, and /SIGNAL_NAME1 parameters allow the user to specify which signal (by file, data type, folder, and name) should be used as the first signal for the Vector_Coding calculation. The proximal segment angle should be chosen as signal 1.
SIGNAL2
Similarly, the /SIGNAL_OWNER2, /SIGNAL_TYPE2, /SIGNAL_FOLDER2, and /SIGNAL_NAME2 parameters allow the user to specify the second signal for the Vector_Coding calculation. The distal segment angle should be chosen as signal 2.
RESULT
The /RESULT_OWNER, /RESULT_FOLDER, and /RESULT_NAME parameters allow the user to specify where the result of the vector coding should be saved.
- The result's data type the DERIVED folder.
- The result's folder defaults to being the PROCESSED folder.
Example: Performing Vector Coding on the Ankle
Compute_Model_Based_Data /RESULT_NAME= RIGHT_FOOT_ANGLE /FUNCTION=SEG_PROGRESSION_ANGLE /SEGMENT=Right Foot ! /REFERENCE_SEGMENT=LAB ! /RESOLUTION_COORDINATE_SYSTEM=LAB ! /USE_CARDAN_SEQUENCE=FALSE ! /NORMALIZATION=FALSE ! /NORMALIZATION_METHOD= ! /NORMALIZATION_METRIC= ! /NEGATEX=FALSE ! /NEGATEY=FALSE ! /NEGATEZ=FALSE ! /AXIS1=X ! /AXIS2=Y ! /AXIS3=Z ! /INCLUDE_REMOTE_ANGULAR_MOMENTUM=FALSE ! /TREADMILL_DATA=FALSE ! /TREADMILL_DIRECTION=UNIT_VECTOR(0,1,0) ! /TREADMILL_SPEED=0.0 ; Compute_Model_Based_Data /RESULT_NAME= RIGHT_SHANK_ANGLE /FUNCTION=SEG_PROGRESSION_ANGLE /SEGMENT= Right Shank ! /REFERENCE_SEGMENT=LAB ! /RESOLUTION_COORDINATE_SYSTEM=LAB ! /USE_CARDAN_SEQUENCE=FALSE ! /NORMALIZATION=FALSE ! /NORMALIZATION_METHOD= ! /NORMALIZATION_METRIC= ! /NEGATEX=FALSE ! /NEGATEY=FALSE ! /NEGATEZ=FALSE ! /AXIS1=X ! /AXIS2=Y ! /AXIS3=Z ! /INCLUDE_REMOTE_ANGULAR_MOMENTUM=FALSE ! /TREADMILL_DATA=FALSE ! /TREADMILL_DIRECTION=UNIT_VECTOR(0,1,0) ! /TREADMILL_SPEED=0.0 ; Vector_Coding /SIGNAL_OWNER1=*.c3d /SIGNAL_TYPE1=LINK_MODEL_BASED /SIGNAL_FOLDER1=ORIGINAL /SIGNAL_NAME1=RIGHT_SHANK_ANGLE /SIGNAL_COMPONENT1=X /SIGNAL_OWNER2=*.c3d /SIGNAL_TYPE2=LINK_MODEL_BASED /SIGNAL_FOLDER2=ORIGINAL /SIGNAL_NAME2=RIGHT_FOOT_ANGLE /SIGNAL_COMPONENT2=X /RESULT_OWNER=*.c3d !/RESULT_FOLDER=PROCESSED /RESULT_NAME=Ankle_Couple ;
References
The Vector Coding process is based on articles by Robert Needham.
Needham, R., Naemi, R., & Chockalingam, N. (2014). Quantifying lumbar–pelvis coordination during gait using a modified vector coding technique. Journal of Biomechanics, 47(5), 1020–1026. https://doi.org/10.1016/j.jbiomech.2013.12.032 [1]



