===== Data Types ===== Sift's main purpose is to help users explore their data in a way that is both intuitive and meaningful. That being the case, it's helpful to understand the types of data that are stored in [[Visual3D:Documentation:C3D_Signal_Types:C3D_Format|.c3d files]] and [[Visual3D:Documentation:Definitions:File_Formats:CMZ_Format_|.cmz files]] as well as how Sift handles each type. ==== Parameters ==== [[Visual3D:Documentation:C3D_Signal_Types:C3D_Format#C3D_Parameter_Format|Parameters]] are individual metadata items from a .c3d file. These define the data collection process (e.g., the number of analog channels or the sampling rate) and specify the location and type of data within the file. Parameters may be as simple as a single number or as complex as a list of names. Parameters are generally abstracted away from the user in Sift, but are used "under the hood" whenever Sift is matching signals from the same motion capture frames (e.g., for [[sift:application:plot_controls#signal_signal|Signal-Signal plots]]) or when [[sift:application:run_v3d_engine_dialog|running the Visual3D engine]] with the loaded library. ==== Signals ==== Signals are data items recorded over time by your motion-capture or data-acquisition system. Mathematically, signals are discretely sampled functions whose independent variable is time. Signals may be scalar-valued (e.g., a single voltage output by a strain gauge) or vector-valued (e.g., the x,y,z coordinates of a target marker). Regardless of whether the signal is scalar- or vector-valued, Sift allows users to work with the signals in their files as 1D waveforms. === Traces === A trace can be thought of as the actual data (such as the time series {1.1, 1.7, 1.3, 0.9, 1.2,...}) associated with a particular signal (e.g., LAnkleMoment_X) at a particular time (e.g., frames 341-1518 of a recording). Traces are generally taken from the time period [[Visual3D:Documentation:Pipeline:Event_Commands:Event_Define_Event_Sequence|defined by an event sequence]], such as RON (Right Foot On) followed by ROFF (Right Foot Off), and then time-normalized to allow for comparison between traces. Time-normalization is not required, however, and users may want to explore their signals in a raw, unnormalized manner if questions of duration are important. {{:sift_SignalsAndTraces.png}} An example of many time-normalized traces plotted for the AnkleAngleX signal. ==== Events ==== Events indicate specific moments in a .c3d file with semantic meaning, such as Right Heel Strike for walking or Ball Release for throwing. Visual3D can [[Visual3D:Documentation:Pipeline:Event_Commands:Automatic_Gait_Events|automatically create gait events]] if the .c3d file includes force platform assignments, otherwise it is necessary to [[Visual3D:Documentation:Pipeline:Event_Commands:Example_-_Gait_Events_using_Kinematic_Data|reconstruct these events]] from the file's kinematic data. Events are incredibly useful in Sift because they form the basis of identifying traces from signals [[Visual3D:Documentation:Pipeline:Event_Commands:Event_Define_Event_Sequence|using an event sequence]]. Events can also be used to [[sift:application:update_cmzs_dialog#excluded_data|exclude traces from analysis]] and can be used as intermediate events for [[sift:curve_registration:curve_registration_for_biomechanical_waveforms|landmark registration]]. ==== Metrics ==== It is sometimes useful to compute quantities which in some way collapse the time dimension of traces (e.g., the mean value of a trace over a duration) or the spatial dimension of models (e.g., the center of mass of entire model). These quantities are called [[Visual3D:Documentation:Visual3D_Signal_Types:METRIC_Data_Type|metrics]] and they do not vary as a function of time or any other variable. A number of [[Visual3D:Documentation:Pipeline:Metric_Commands:Metric_Commands_Overview|pipeline commands]] exist to calculate common metrics from signals. {{:sift_metric_example.png}} An example of many maximum ground reaction force metrics plotted.