====== Indefinite Integral ======
This pipeline command computes an indefinite integral from the start event to the stop event. This is a cumulative integral, with the value of each frame indicating the cumulative sum from the start event's initial value. This cumulative sum process uses the [[http://en.wikipedia.org/wiki/Trapezoidal_rule|trapezoidal rule]].
For a given signal, s, the value of its integral at a given frame at time t is computed from the previous frame, at time t-1, as follows:
integral (t) = integral (t-1) + ((s(t)+s(t-1))* T / 2)
where T = time between frames (this is the data rate)
===== Command =====
The command can be edited via text editor. The details on the command are found below:
Indefinite_Integral
/Signal_Types=The type of signal to be evaluated
/Signal_Folder=The name of the signal folder
/Signal_Names=The name of the signal to be evaluated
/Result_Types=The type of signal to be evaluated
/Result_Folder= The name of the resulting folder
/Result_Names= The names of the resulting signal. If left blank the same number is used
/Apply_As_Suffix_To_Signal_Name=The result is given the same name as the original signal with the suffix added
/Event_Sequence= The event sequence
/Exclude_Events= The exclude events
/Event_Instance= The instance of the event sequence
/Initial_Value= The value of the integral at the start event
;
==== Notes ====
The [[Visual3D:Documentation:Pipeline:Metric_Commands:Metric_Integrate|Metric_Integrate]] command will return the integral as a metric.
Valid Result_Types are restricted according to the Signal_Types that are input into the command. If the Signal_Types are from the [[visual3d:documentation:c3d_signal_types:target_data_type|TARGET]] data type, then the result type can only be [[visual3d:documentation:c3d_signal_types:target_data_type|TARGET]], [[visual3d:documentation:visual3d_signal_types:derived_data_type|DERIVED]], or [[visual3d:documentation:visual3d_signal_types:metric_data_type|METRIC]].
The Initial_Value parameter, if used, must be a signal expression that can return multiple components. The same Initial_Value expression is used for all signals.
==== Examples ====
This example calculates the velocity of the center of mass from force platform data during a vertical jump using the **Indefinite_Integral** command. Constants of integration (initial value) must be determined. In this case, the initial value is the initial velocity at the start of the preparation for the jump which is zero.
**Note:** This is only an example and you should check the constants of integration for your analysis.
!************************************************************************
! Take the vertical GRF, subtract the body weight, and divide the
! result by body mass to get the vertical CoM acceleration
!************************************************************************
! Add the two signals from F1 and F2 - end result is GRF for both plates
Add_Signals
/SIGNAL_TYPES=FORCE+FORCE
/SIGNAL_NAMES=FP1+FP2
/SIGNAL_FOLDER=PROCESSED+PROCESSED
/RESULT_NAME=GRF
/RESULT_FOLDER=PROCESSED
;
! Subtract the body weight in N - Metric is MASS_N
Subtract_Signals
/SIGNAL_TYPES=DERIVED+METRIC
/SIGNAL_FOLDER=PROCESSED
/SIGNAL_NAMES=GRF+MASS_N
/COMPONENT_SEQUENCE=Z, ALL
/RESULT_NAME=GRF_R
! /RESULT_FOLDER=PROCESSED
;
! Divide the result by body mass to get the vertical CoM acceleration
Divide_Signals
/SIGNAL_TYPES=DERIVED+METRIC
/SIGNAL_FOLDER=PROCESSED
/SIGNAL_NAMES=GRF_R+MASS
/COMPONENT_SEQUENCE=ALL
/RESULT_NAME=COM_GRF_Z_ACCEL
! /RESULT_FOLDER=PROCESSED
;
!************************************************************
! Integrate the vertical CoM acceleration over time to get the
! change in vertical CoM velocity. Initial value is zero
!***********************************************************
Indefinite_Integral
/SIGNAL_TYPES=DERIVED
/SIGNAL_NAMES=COM_GRF_Z_ACCEL
/SIGNAL_FOLDER=PROCESSED
/RESULT_SUFFIX=_VEL
! /RESULT_FOLDER=PROCESSED
! /START_AT_EVENT=
! /END_AT_EVENT=
! /INITIAL_VALUE=0
;
==== Legacy Parameters ====
Earlier versions of Visual3D accepted the following parameters for this command. These parameters are no longer supported.
Indefinite_Integral
/Signal_Types=The type of signal to be evaluated
/Signal_Names=The name of the signal to be evaluated
/Signal_Folder=The name of the signal folder
/Result_Folder= The name of the resulting folder
/Result_Suffix= The result is given the same name as the original signal with the suffix added
/Start_At_Event= The event at the beginning of the range
/End_At_Event= The event at the end of the range
/Initial_Value= The value of the integral at the start event