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
The Following section will outline the equations and steps followed while conducting the vector coding.
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.
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.
The results above must be corrected to a value between 0 and 360 degrees. Equation 4 is used to make this correction.
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= ;
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:
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.
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.
The /RESULT_OWNER, /RESULT_FOLDER, and /RESULT_NAME parameters allow the user to specify where the result of the vector coding should be saved.
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 ;
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]