Documentation Site Map Main Page Reference List Motion Capture Visual3D Overview Visual3D Installation License Activation Getting Started Visual3D Documentation Overview Pipeline Commands Reference Expressions Overview CalTester Mode Overview List of Tutorials Visual3D Examples Overview Troubleshooting Sift Sift Overview Installation Getting Started Sift Documentation Overview Knowledge Discovery for Biomechanical Data Tutorial Overview Troubleshooting Inspect3D Inspect3D Overview Inspect3D Installation Overview Inspect3D Getting Started Overview Inspect3D Documentation Overview Knowledge Discovery in Inspect3D Inspect3D Tutorials Overview Troubleshooting DSX Suite DSX Overview DSX Definitions DSX Suite Installation DSX Tutorials DSX Release Notes xManager Overview PlanDSX Overview Surface3D Overview Orient3D Overview CalibrateDSX Overview Locate3D Overview X4D Overview
This is an old revision of the document!
| in some cases, the emg data and motion capture data may be out of sync with each other. this can occur because of a physiological issue known as electromechanical delay (emd), or because of technical issues with data collection (e.g. the saved emg signal might be "delayed" because the emg system is wireless). shift_frames.png the command **shift_frames** shifts a signal forward/backward in time by a number of frames. the command is below: <code> shift_frames /signal_types=analog ! /signal_names= ! /signal_folder=original ! /result_suffix= ! /result_folder=processed /frame_shift= the number of frames to shift (expression) /replacement_value= the value to replace the unknown values caused by the shift (expression). ; </code> * when a signal is shifted forward in time, the frames at the beginning of the file have unknown values. * when a signal is shifted backward in time, the frames at the end of the file have unknown values. * these unknown values can be specified by the **/replacement_value** parameter. * if no **/replacement_value** is specified visual 3d uses a value of 0 except when the **signal_type** parameter is a **target** and value of **data_not_found** (e.g. unreliable value) is used. for example, shift all analog signals in time based on the value of a metric signal and replace the unknown values with **data_not_found** (e.g. no value). <code> ! shift frames - the shift value metric::processed::shift was calculated previously shift_frames /signal_types=analog ! /signal_names= ! /signal_folder=original ! /result_suffix= ! /result_folder=processed /frame_shift= metric::processed::shift /replacement_value= data_not_found ; </code> **note:** force, cofp, and freemoment signals are derived from analog signals, so these values cannot be shifted; the analog signals should be shifted, and the option to use processed analog signals for computing forces should be set to true. for example, to shift the signal 1fx by one analog frame and to replace the first frame with the value -99 **shift_frames** /signal_types=analog /signal_names=1fx ! /signal_folder=original ! /result_suffix= ! /result_folder=processed /frame_shift=1 /replacement_value=-99 **:**