====== Generic Pipeline to Create CMZ ====== Almost every step that can be accomplished using the user interface can also be accomplished using a pipeline command - the pipeline is essentially a set of commands/functions that allow you to streamline your data processing and reproducible for other subjects. It's always recommended to learn the manual steps PRIOR to writing a pipeline command - learning the interface will help you build your pipeline. [[https://www.has-motion.com/download/examples/Pipelines/Building_CMZ.zip|Download sample script]] When writing a pipeline to build a CMZ file, your script should follow the general procedure outlined below. ===== Load Static Trial ===== - [[Visual3D:Documentation:Pipeline:Model_Commands:Create_Hybrid_Model|Create_Hybrid_Model]]: Load static C3D file - [[Visual3D:Documentation:Pipeline:Model_Commands:Apply_Model_Template|Apply_Model_Template]]: Apply model template (MDH file) - Tutorial to build a model template can be found [[Visual3D:Tutorials:Modeling:Building_a_6_DOF_Model_|here]]. - Set necessary model metrics (most metrics should be calculated based on markers, but height and weight always need to be entered manually): - [[Visual3D:Documentation:Pipeline:Model_Commands:Set_Subject_Height|Set_Subject_Height]] - [[Visual3D:Documentation:Pipeline:Model_Commands:Set_Subject_Weight|Set_Subject_Weight]] ===== Load Dynamic Trials ===== - [[Visual3D:Documentation:Pipeline:File_Commands:File_Open|File_Open]]: Load dynamic C3D files - [[Visual3D:Documentation:Pipeline:Model_Commands:Assign_Model_File|Assign_Model_File]]: Associated static trial with appropriate dynamic trials - Note: If a marker falls off during data collection, you should re-take a static trial and associate the appropriate dynamic trials ===== Process Target and Analog Signals ===== - [[Visual3D:Documentation:Pipeline:File_Commands:Select_Active_File|Select_Active_File]]: Set active file to ALL_FILES - [[Visual3D:Documentation:Visual3D_Signal_Types:Used_Process|Set Use Processed:]] - [[Visual3D:Documentation:Pipeline:Other_Commands:Set_Use_Processed_Targets|Set_Use_Processed_Targets]]: Set to TRUE - [[Visual3D:Documentation:Pipeline:Other_Commands:Set_Use_Processed_Analog|Set_Use_Processed_Analog]]: Set to TRUE - [[Visual3D:Documentation:Pipeline:Force_Commands:Set_Force_Platform_Threshold|Set_Force_Platform_Threshold]]: Common minimum values are: - Overground plates: 20 N - Treadmill: 50 N - Gap fill & Filter Target Data: - [[Visual3D:Documentation:Pipeline:Signal_Commands:Interpolate|Interpolate]] - [[Visual3D:Documentation:Pipeline:Signal_Commands:Lowpass_Filter|Lowpass_Filter]] - Filter Analog data: - [[Visual3D:Documentation:Pipeline:Signal_Commands:Lowpass_Filter|Lowpass_Filter]] - If using treadmill data ONLY use [[Visual3D:Documentation:Pipeline:Force_Commands:FP_Auto_Baseline|FP_Auto_Baseline]] - [[Visual3D:Documentation:Pipeline:File_Commands:Recalc|Recalc]] ===== Gait Events ===== ==== Gait Events with Force Platforms ==== - [[Visual3D:Documentation:Definitions:Clean_Foot_Strike|Check for clean force assignments]] - [[Visual3D:Documentation:Pipeline:Report_Commands:Interactive_Graph_Signals|Interactive_Graph_Signals]]: - Plot vertical component of KINETIC_KINEMATIC::LFT::FORCE_1 - [[Visual3D:Documentation:Pipeline:Report_Commands:Interactive_Graph_Signals|Interactive_Graph_Signals]]: - Plot vertical component of KINETIC_KINEMATIC::RFT::FORCE_1 - [[Visual3D:Documentation:Pipeline:Other_Commands:Open_Force_Dialogs|Open_Force_Dialogs]]: Open force assignment dialog - [[Visual3D:Documentation:Pipeline:Other_Commands:Switch_Between_Tabs|Switch_Between_Tabs]]: Switch to Signals and Events tag - [[Visual3D:Documentation:Pipeline:Pipeline_Commands:Pipeline_Breakpoint|Pipeline_Breakpoint]]: Pause pipeline to manually check force assignments - Remove any force assignment that is not [[Visual3D:Documentation:Definitions:Clean_Foot_Strike|clean]] - Remove any partial force assignments (this includes force assignments at the start/end of the trial) - [[Visual3D:Documentation:Pipeline:File_Commands:Select_Active_File|Select_Active_File]]: Set active file to ALL_FILES - [[Visual3D:Documentation:Pipeline:Event_Commands:Automatic_Gait_Events|Automatic_Gait_Events]]: Create gait events ==== Gait Events WITHOUT Force Platforms ==== - [[Visual3D:Documentation:Pipeline:Event_Commands:Example_-_Gait_Events_using_Kinematic_Data|Kinematic Gait Events]] ===== Report and Data Review ===== - [[Visual3D:Documentation:Pipeline:Report_Commands:Open_Report_Template|Open_Report_Template]]: Load report template (RGT file) - Stop pipeline to review data prior to export: - [[Visual3D:Documentation:Pipeline:Other_Commands:Switch_Between_Tabs|Switch_Between_Tabs]] - [[Visual3D:Documentation:Pipeline:Pipeline_Commands:Pipeline_Breakpoint|Pipeline_Breakpoint]] Notes: * Many users are skipping report templates - but it's highly recommended to even create a simple report template to review data prior to export. No data collection is perfect, and reviewing the data prior to exporting ensures the data is a quality assurance step. * Instructions to create a report template can be found [[Visual3D:Tutorials:Reports:Creating_a_Report|here]] * The report template contains any signals defined using the [[Visual3D:Documentation:Visual3D_Signal_Types:LINK_MODEL_BASED_Data_Type#Link_Model_Based_Items|Compute Model Based Function]] ===== Signal Definitions and Processing ===== - [[Visual3D:Documentation:Pipeline:Signal_Commands:Signal_Commands_Overview|Calculate Additional Signals]] - [[Visual3D:Documentation:Pipeline:Metric_Commands:Metric_Commands_Overview|Calculate Metrics]] ===== Export ===== - [[Visual3D:Documentation:Pipeline:File_Commands:Export_Data_To_ASCII_File|Export data to a text file]] ===== Save ===== - [[Visual3D:Documentation:Pipeline:File_Commands:File_Save|Save CMZ]]