alexvisual
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
alexvisual [2025/08/13 17:10] – created wikisysop | alexvisual [2025/08/13 19:09] (current) – wikisysop | ||
---|---|---|---|
Line 5: | Line 5: | ||
===Converting Between .json and .cmz=== | ===Converting Between .json and .cmz=== | ||
- | - Open up the **Pipeline Workshop** | + | 1. Open up the **Pipeline Workshop**\\ |
- | | + | 2. Use ' |
Set_Pipeline_Parameter_To_Folder_Path | Set_Pipeline_Parameter_To_Folder_Path | ||
Line 18: | Line 18: | ||
! / | ! / | ||
; | ; | ||
- | | + | |
- | | + | 3. Use ' |
Set_Pipeline_Parameter_To_List_Of_Files | Set_Pipeline_Parameter_To_List_Of_Files | ||
Line 30: | Line 30: | ||
! / | ! / | ||
; | ; | ||
+ | |||
+ | 4. With all the files loaded into the pipeline, the next step is to run the for-loop that converts all the .json to .cmz files. This requires 5 commands: For_Each, File_New, File_Open, File_Save_As, | ||
+ | |||
+ | For_Each | ||
+ | / | ||
+ | / | ||
+ | /ITEMS= ::FILES | ||
+ | ; | ||
+ | | ||
+ | File_New | ||
+ | ; | ||
+ | | ||
+ | File_Open | ||
+ | /FILE_NAME= ::INDEX | ||
+ | ! /FILE_PATH= | ||
+ | ! / | ||
+ | ! /SUFFIX= | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ; | ||
+ | | ||
+ | File_Save_As | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ; | ||
+ | | ||
+ | End_For_Each | ||
+ | / | ||
+ | ; | ||
+ | |||
+ | This pipeline itself will convert all the .json files to workspaces(.cmz) and can be run individually. But for consistency, | ||
+ | |||
+ | ===Assigning Tags=== | ||
+ | |||
+ | In this dataset, the variables that are analyzed more in depth are whether or not the subject made or missed the shot and during which quarter of the experiment did the free throw trial take place. Tags are placed on each subject that will allow each trial to be easier identified when analyzed in **Sift**. | ||
+ | |||
+ | Many of the Tag commands are run multiple times in this pipeline, so each different command will be shown here once and the order of the pipeline will be provided so that it can be built manually. If you are having difficulty recreating the pipeline, the complete pipeline can be downloaded at the end of this V3D section. | ||
+ | |||
+ | 1. ' | ||
+ | |||
+ | Select_Active_File | ||
+ | / | ||
+ | ! /QUERY= | ||
+ | ! / | ||
+ | ; | ||
+ | |||
+ | 2. To assign a tag the ' | ||
+ | |||
+ | Assign_Tags_To_Files | ||
+ | / | ||
+ | /QUERY= PARAMETERS:: | ||
+ | ! change this to " | ||
+ | /TAGS= missed | ||
+ | ! change the tag to ' | ||
+ | ; | ||
+ | |||
+ | 3. Now, this subject performed 125 trials. Since the main research question being proposed is about fatigue, the 125 trials are divided into 4 sections (quarters) so that each quarter can be analyzed separately and compared. To create the proper tags for this, conditional statements are used and depending on which iteration of the for-loop the pipeline is on, different tags to mark which quarter the trial took place are assigned. The quarters are: Q1 (Trial 1-31), Q2 (Trial 32-63), Q3 (Trial 64-94), Q4 (Trial 95-125).\\ | ||
+ | | ||
+ | |||
+ | Conditional_Statement | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ; | ||
+ | | ||
+ | Assign_Tags_To_Files | ||
+ | / | ||
+ | !/QUERY= | ||
+ | /TAGS= Q1 | ||
+ | ; | ||
+ | | ||
+ | Conditional_Statement_End | ||
+ | / | ||
+ | ; | ||
+ | |||
+ | | ||
+ | |||
+ | Conditional_Statement | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ; | ||
+ | | ||
+ | Conditional_Statement | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ; | ||
+ | | ||
+ | Assign_Tags_To_Files | ||
+ | / | ||
+ | ! /QUERY= | ||
+ | /TAGS= Q2 | ||
+ | ; | ||
+ | | ||
+ | Conditional_Statement_End | ||
+ | / | ||
+ | ; | ||
+ | Conditional_Statement_End | ||
+ | / | ||
+ | ; | ||
+ | |||
+ | 4. The order of the pipeline in its current state at this point would be: | ||
+ | * Set_Pipeline_Parameter_To_Folder_Path | ||
+ | * Set_Pipeline_Parameter_To_List_Of_Files | ||
+ | * For_Each | ||
+ | * File_New | ||
+ | * File_Open | ||
+ | * Select_Active_File | ||
+ | * Assign_Tags_To_Files | ||
+ | * Assign_Tags_To_Files | ||
+ | * Conditional_Statement | ||
+ | * Assign_Tags_To_Files | ||
+ | * Conditional_Statement_End | ||
+ | * Conditional_Statement | ||
+ | * Conditional_Statement | ||
+ | * Assign_Tags_To_Files | ||
+ | * Conditional_Statement_End | ||
+ | * Conditional_Statement_End | ||
+ | * Conditional_Statement | ||
+ | * Conditional_Statement | ||
+ | * Assign_Tags_To_Files | ||
+ | * Conditional_Statement_End | ||
+ | * Conditional_Statement_End | ||
+ | * Conditional_Statement | ||
+ | * Assign_Tags_To_Files | ||
+ | * Conditional_Statement_End | ||
+ | * File_Save_As | ||
+ | * End_For_Each | ||
+ | |||
+ | ===Event Tags=== | ||
+ | |||
+ | In biomechanical data analysis, it is necessary to have defined events such as ' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Now that it is understand where the events are, they can be added to the pipeline. | ||
+ | |||
+ | 1. Add ' | ||
+ | |||
+ | Event_Global_Minimum | ||
+ | ! name the event | ||
+ | / | ||
+ | / | ||
+ | ! right hand | ||
+ | / | ||
+ | ! center of gravity | ||
+ | / | ||
+ | ! z-component | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! /THRESHOLD= | ||
+ | ; | ||
+ | |||
+ | 2. Add ' | ||
+ | |||
+ | Event_Global_Maximum | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! /THRESHOLD= | ||
+ | ; | ||
+ | |||
+ | 3. This step isn't required, but for interest, an event between can be added that will put an event at the midpoint between the start and end events. | ||
+ | |||
+ | Event_Between | ||
+ | / | ||
+ | ! / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ; | ||
+ | |||
+ | 4. All 3 of these event commands can be added in order after the last ' | ||
+ | |||
+ | ===Computing Joint Angles=== | ||
+ | |||
+ | Now that all the tags and events are created, the final step is to calculate kinematic variables and specifically in this case, joint angles. The joint angles for the lower limb model will be calculated (ankle, knee, and hip joint). | ||
+ | |||
+ | 1. Navigate to the **Compute Model Based Data** window. |
alexvisual.1755105022.txt.gz · Last modified: 2025/08/13 17:10 by wikisysop