User Tools

Site Tools


visual3d:tutorials:knowledge_discovery:looking_at_large_public_data_sets

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
visual3d:tutorials:knowledge_discovery:looking_at_large_public_data_sets [2025/09/09 17:28] – [File Naming Conventions] wikisysopvisual3d:tutorials:knowledge_discovery:looking_at_large_public_data_sets [2025/09/10 15:13] (current) – [Processing C3Ds into CMZs (Able-Bodied Participants)] wikisysop
Line 31: Line 31:
   * Stroke Survivor 47 (TVC47) has a mislabeled calibration file. This must be renamed from “BWA (0).c3d” to something following their calibration conventions, such as “TVC-47 Cal 0.c3d”.   * Stroke Survivor 47 (TVC47) has a mislabeled calibration file. This must be renamed from “BWA (0).c3d” to something following their calibration conventions, such as “TVC-47 Cal 0.c3d”.
   * Stroke Survivor 38 (TVC38) does not have a valid calibration file. The corresponding folder should be deleted (TVC38).   * Stroke Survivor 38 (TVC38) does not have a valid calibration file. The corresponding folder should be deleted (TVC38).
-  * Able-Bodied Participants 37 (SUBJ37), 42 (SUBJ42), and 118-138 (SUBJ118-SUBJ138) follow a different model to mark the pelvis, or are missing necessary data. The corresponding folders should be deleted (SUBJ38, SUBJ42, SUBJ118-SUBJ138)+  * Able-Bodied Participants 37 (SUBJ37), 42 (SUBJ42), and 118-138 (SUBJ118-SUBJ138) follow a different model to mark the pelvis, or are missing necessary data. The corresponding folders should be deleted (SUBJ37, SUBJ42, SUBJ118-SUBJ138)
  
  
 ==== Building Models ==== ==== Building Models ====
  
-The data set used the Plug in Gait marker set, unfortunately not all that standard Plug in Gait markers were used for example the right and left upper arm markers were missing, so only a model of the lower body can be made, see the tutorial [[https://www.c-motion.com/v3dwiki/index.php?title=Tutorial:_Plug-In_Gait_Lower-Limb|here]] to walk through the process of making a lower body plug in gait model.+This data set primarily used the Plug in Gait marker set, however, unfortunately not all the standard Plug in Gait markers were used. For example the right and left upper arm markers were missing, so only a model of the lower body can be made, see the tutorial [[visual3d:tutorials:modeling:plug-in_gait_lower_limb|here]] to walk through the process of making a lower body plug in gait model.
  
 The subset of able-bodied participants used in this tutorial has three markers for the pelvis as opposed to the four used for the stroke survivors; two separate models need to be made. The default values provided in the tutorial can be used to build the models, as the subject data will be entered in via the processing pipeline. The subset of able-bodied participants used in this tutorial has three markers for the pelvis as opposed to the four used for the stroke survivors; two separate models need to be made. The default values provided in the tutorial can be used to build the models, as the subject data will be entered in via the processing pipeline.
Line 49: Line 49:
 Most of the markers within the static files provided are prefixed with the subject ID, however the dynamic file markers are not, this will prevent the built model from linking with the dynamic markers. To begin, we will ensure that all static files include a subject-prefix, and then we will prepend these to the markers within the dynamic files.\\ Most of the markers within the static files provided are prefixed with the subject ID, however the dynamic file markers are not, this will prevent the built model from linking with the dynamic markers. To begin, we will ensure that all static files include a subject-prefix, and then we will prepend these to the markers within the dynamic files.\\
 **Static file marker:**\\ **Static file marker:**\\
-{{:stroke_model_prefix.png}}\\+{{:stroke_model_prefix.png?400}}\\
 **Dynamic file marker:**\\ **Dynamic file marker:**\\
 {{:stroke_dynamic_no_prefix.png}} {{:stroke_dynamic_no_prefix.png}}
Line 63: Line 63:
 Below is an explanation of the important sections of the file "convert_subject_prefix_stroke.v3s". Below is an explanation of the important sections of the file "convert_subject_prefix_stroke.v3s".
  
-**Set a pipeline parameter to a list of all dynamic files contained in the "50_Stroke_PiG":**\\ +**Set a pipeline parameter to a list of all dynamic files contained in the "50_Stroke_PiG":**
-''%% Set_Pipeline_Parameter_To_Folder_Path%%''\\ +
-''%%/PARAMETER_NAME=FOLDER%%''\\ +
-''%%! /PARAMETER_VALUE=VISUAL3D_DEFAULT_DATA_FOLDER%%''\\ +
-''%%! /FROM_MOTION_FILE_IN_WORKSPACE=%%''\\ +
-''%%! /PARAMETER_VALUE_SEARCH_FOR=%%''\\ +
-''%%! /PARAMETER_VALUE_REPLACE_WITH=%%''\\ +
-''%%! /PARAMETER_VALUE_APPEND=%%''\\ +
-''%%! /SET_PROMPT=Select a directory%%''\\ +
-''%%! /ALPHABETIZE=TRUE%%''\\ +
-''%%;%%''\\ +
-\\ +
-''%%Set_Pipeline_Parameter_To_List_Of_Files%%''\\ +
-''%%/PARAMETER_NAME=DYNAMIC_FILES%%''\\ +
-''%%/FOLDER=::FOLDER%%''\\ +
-''%%/SEARCH_SUBFOLDERS=TRUE%%''\\ +
-''%%/FILE_MASK=*BWA*.c3d%%''\\ +
-''%%/ALPHABETIZE=FALSE%%''\\ +
-''%%! /RETURN_FOLDER_NAMES=FALSE%%''\\ +
-''%%; %%''\\+
  
 +<code>
 +Set_Pipeline_Parameter_To_Folder_Path
 +/PARAMETER_NAME=FOLDER
 +! /PARAMETER_VALUE=VISUAL3D_DEFAULT_DATA_FOLDER
 +! /FROM_MOTION_FILE_IN_WORKSPACE=
 +! /PARAMETER_VALUE_SEARCH_FOR=
 +! /PARAMETER_VALUE_REPLACE_WITH=
 +! /PARAMETER_VALUE_APPEND=
 +! /SET_PROMPT=Select a directory
 +! /ALPHABETIZE=TRUE
 +;
  
-\\ 
-**Loop through all dynamic files:**\\ 
-''%% For_Each%%''\\ 
-''%%/ITERATION_PARAMETER_NAME=DYNAMIC_FILE%%''\\ 
-''%%! /ITERATION_PARAMETER_COUNT_NAME=%%''\\ 
-''%%/ITEMS=::DYNAMIC_FILES%%''\\ 
-''%%; %%''\\ 
  
 +Set_Pipeline_Parameter_To_List_Of_Files
 +/PARAMETER_NAME=DYNAMIC_FILES
 +/FOLDER=::FOLDER
 +/SEARCH_SUBFOLDERS=TRUE
 +/FILE_MASK=*BWA*.c3d
 +/ALPHABETIZE=FALSE
 +! /RETURN_FOLDER_NAMES=FALSE
 +;
 +</code>
  
-\\ 
-**Open the current file:**\\ 
-''%% File_Open%%''\\ 
-''%%/FILE_NAME=::DYNAMIC_FILE%%''\\ 
-''%%! /FILE_PATH=%%''\\ 
-''%%! /SUFFIX=%%''\\ 
-''%%! /SET_PROMPT=File_Open%%''\\ 
-''%%! /ON_FILE_NOT_FOUND=PROMPT%%''\\ 
-''%%! /FILE_TYPES_ON_PROMPT=%%''\\ 
-''%%; %%''\\ 
  
 +**Loop through all dynamic files:**
 +<code>
 +For_Each
 +/ITERATION_PARAMETER_NAME=DYNAMIC_FILE
 +! /ITERATION_PARAMETER_COUNT_NAME=
 +/ITEMS=::DYNAMIC_FILES
 +;
  
-\\ +</code>
-**Get the Participant ID from PARAMETERS:SUBJECT:NAMES**\\ +
-''%% Set_Pipeline_Parameter_To_Data_Value%%''\\ +
-''%%/SIGNAL_TYPES=PARAMETERS%%''\\ +
-''%%/SIGNAL_FOLDER=SUBJECTS%%''\\ +
-''%%/SIGNAL_NAMES=NAMES%%''\\ +
-''%%! /SIGNAL_COMPONENTS=ALL_COMPONENTS%%''\\ +
-''%%/PARAMETER_NAME=SUBJECT_ID%%''\\ +
-''%%; %%''\\+
  
 +**Open the current file:**
 +<code>
 +File_Open
 +FILE_NAME=::DYNAMIC_FILE
 +! /FILE_PATH=
 +! /SUFFIX=
 +! /SET_PROMPT=File_Open
 +! /ON_FILE_NOT_FOUND=PROMPT
 +! /FILE_TYPES_ON_PROMPT=
 +;
 +</code>
  
-\\ 
-**Get the preceding half of the Participant ID using the STRING_LEFT expression, since all IDs begin with BWA we can hard code the index value:**\\ 
-''%% Set_Pipeline_Parameter_From_Expression%%''\\ 
-''%%/PARAMETER_NAME=LEFT_SUBJECT_ID%%''\\ 
-''%%/EXPRESSION=STRING_LEFT("&::SUBJECT_ID&",3)%%''\\ 
-''%%/AS_INTEGER=FALSE%%''\\ 
-''%%; %%''\\ 
  
 +**Get the Participant ID from PARAMETERS:SUBJECT:NAMES**
 +<code>
 +Set_Pipeline_Parameter_To_Data_Value
 +/SIGNAL_TYPES=PARAMETERS
 +/SIGNAL_FOLDER=SUBJECTS
 +/SIGNAL_NAMES=NAMES
 +! /SIGNAL_COMPONENTS=ALL_COMPONENTS
 +/PARAMETER_NAME=SUBJECT_ID
 +;
 +</code>
  
-\\ +**Get the preceding half of the Participant ID using the STRING_LEFT expression, since all IDs begin with BWA we can hard code the index value:** 
-**Get the length of the participant id using the STRING_LENGTH expression:**\\ +<code> 
-''%% Set_Pipeline_Parameter_From_Expression%%''\\ +Set_Pipeline_Parameter_From_Expression 
-''%%/PARAMETER_NAME=SUBJECT_ID_LENGTH%%''\\ +PARAMETER_NAME=LEFT_SUBJECT_ID 
-''%%/EXPRESSION=STRING_LENGTH("&::SUBJECT_ID&")%%''\\ +EXPRESSION=STRING_LEFT("&::SUBJECT_ID&",3
-''%%! /AS_INTEGER=TRUE%%''\\ +/AS_INTEGER=FALSE 
-''%%%%''\\+; 
 +</code>
  
  
-\\ +**Get the length of the participant id using the STRING_LENGTH expression:** 
-**Get the index of the dash using the STRING_FIND expression**\\ +<code>
-''%% Set_Pipeline_Parameter_From_Expression%%''\\ +
-''%%/PARAMETER_NAME=DASH_INDEX%%''\\ +
-''%%/EXPRESSION=STRING_FIND("&::SUBJECT_ID&","-",0)%%''\\ +
-''%%! /AS_INTEGER=TRUE%%''\\ +
-''%%; %%''+
  
-\\ +Set_Pipeline_Parameter_From_Expression 
-**Subtract the DASH_INDEX from SUBJECT_ID_LENGTH to get the negative index of the dash, subtract that value by one to get the value needed for STRING_RIGHT (the negative index of the character immediately following the dash):**\\ +/PARAMETER_NAME=SUBJECT_ID_LENGTH 
-''%% Set_Pipeline_Parameter_From_Expression%%''\\ +/EXPRESSION=STRING_LENGTH("&::SUBJECT_ID&"
-''%%/PARAMETER_NAME=RIGHT_SUBJECT_ID%%''\\ +! /AS_INTEGER=TRUE 
-''%%/EXPRESSION=STRING_RIGHT("&::SUBJECT_ID&",&::DASH_NEGATIVE_INDEX&)%%''\\ +; 
-''%%!/AS_INTEGER=FALSE%%''\\ +</code>
-''%%%%''\\+
  
 +**Get the index of the dash using the STRING_FIND expression**
 +<code>
  
-\\ +Set_Pipeline_Parameter_From_Expression 
-**Get the characters in the subject id following the dash using STRING_RIGHT:**\\ +/PARAMETER_NAME=DASH_INDEX 
-''%% Set_Pipeline_Parameter_From_Expression%%''\\ +/EXPRESSION=STRING_FIND("&::SUBJECT_ID&","-",0
-''%%/PARAMETER_NAME=RIGHT_SUBJECT_ID%%''\\ +! /AS_INTEGER=TRUE 
-''%%/EXPRESSION=STRING_RIGHT("&::SUBJECT_ID&",&::DASH_NEGATIVE_INDEX&)%%''\\ +;
-''%%!/AS_INTEGER=FALSE%%''\\ +
-''%%%%''\\+
  
 +</code>
  
-\\ +**Subtract the DASH_INDEX from SUBJECT_ID_LENGTH to get the negative index of the dash, subtract that value by one to get the value needed for STRING_RIGHT (the negative index of the character immediately following the dash):**
-**Concatenate LEFT_SUBJECT_ID and RIGHT_SUBJECT_ID with an underscore between them:**\\ +
-''%% Set_Pipeline_Parameter%%''\\ +
-''%%/PARAMETER_NAME=SUBJECT_ID_CONVERTED%%''\\ +
-''%%/PARAMETER_VALUE=_%%''\\ +
-''%%! /PARAMETER_VALUE_SEARCH_FOR=%%''\\ +
-''%%! /PARAMETER_VALUE_REPLACE_WITH=%%''\\ +
-''%%/PARAMETER_VALUE_PREFIX=::LEFT_SUBJECT_ID%%''\\ +
-''%%/PARAMETER_VALUE_APPEND=::RIGHT_SUBJECT_ID%%''\\ +
-''%%! /MULTI_PASS=FALSE%%''\\ +
-''%%; %%''\\+
  
 +<code>
  
-\\ +Set_Pipeline_Parameter_From_Expression 
-**Get a list of all target names**\\ +PARAMETER_NAME=RIGHT_SUBJECT_ID 
-''%% Set_Pipeline_Parameter_To_List_Of_Signal_Names%%''\\ +/EXPRESSION=STRING_RIGHT("&::SUBJECT_ID&",&::DASH_NEGATIVE_INDEX&) 
-''%%/PARAMETER_NAME=TARGETS%%''\\ +!/AS_INTEGER=FALSE 
-''%%/SIGNAL_TYPES=TARGET%%''\\ +;
-''%%SIGNAL_FOLDER=ORIGINAL%%''\\ +
-''%%%%''\\+
  
 +</code>
  
-\\ +**Get the characters in the subject id following the dash using STRING_RIGHT:**
-**Using the updated subject ID and the list of target names, use the modify participants parameters pipeling function the add the neeeded subject prefixes, ensuring OVERWRITE_C3D_FILE is set to true so the changes are preserved:**\\ +
-''%% Modify_C3D_Subjects_Parameters%%''\\ +
-''%%! /INCLUDE_CAL_FILE=TRUE%%''\\ +
-''%%/IS_STATIC=0%%''\\ +
-''%%/SUBJECTS_USES_PREFIXES=1%%''\\ +
-''%%! /REMOVE_EXISTING_LABEL_PREFIXES=TRUE%%''\\ +
-''%%! /REMOVE_EXISTING_PREFIX_PARAMETERS=FALSE%%''\\ +
-''%%/SUBJECTS_LABEL_PREFIXES=::SUBJECT_ID_CONVERTED%%''\\ +
-''%%/PREFIX_MARKERS=::TARGETS%%''\\ +
-''%%! /PREFIX_ROTATIONS=%%''\\ +
-''%%! /PREFIX_C3D_PARAMETERS=%%''\\ +
-''%%! /C3D_PARAMETER_GROUPS=SUBJECTS%%''\\ +
-''%%! /MARKER_SETS=%%''\\ +
-''%%/SUBJECTS_NAMES=::SUBJECT_ID_CONVERTED%%''\\ +
-''%%! /SUBJECTS_DISPLAY_SETS=%%''\\ +
-''%%! /SUBJECTS_MODELS=%%''\\ +
-''%%! /SUBJECTS_MODEL_PARAMS=%%''\\ +
-''%%/OVERWRITE_C3D_FILE=1%%''\\ +
-''%%; %%''\\+
  
 +<code>
 +Set_Pipeline_Parameter_From_Expression
 +/PARAMETER_NAME=RIGHT_SUBJECT_ID
 +/EXPRESSION=STRING_RIGHT("&::SUBJECT_ID&",&::DASH_NEGATIVE_INDEX&)
 +!/AS_INTEGER=FALSE
 +;
  
-\\ +</code> 
-**Clear the workspace to preserve memory, and then close the loop:**\\ + 
-''%% File_New%%''\\ + 
-''%%;%%''\\ +**Concatenate LEFT_SUBJECT_ID and RIGHT_SUBJECT_ID with an underscore between them:** 
-\\ +<code> 
-''%%End the loop%%''\\ +Set_Pipeline_Parameter 
-''%%End_For_Each%%''\\ +/PARAMETER_NAME=SUBJECT_ID_CONVERTED 
-''%%/ITERATION_PARAMETER_NAME=DYNAMIC_FILE%%''\\ +/PARAMETER_VALUE=_ 
-''%%%%''+! /PARAMETER_VALUE_SEARCH_FOR= 
 +! /PARAMETER_VALUE_REPLACE_WITH= 
 +/PARAMETER_VALUE_PREFIX=::LEFT_SUBJECT_ID 
 +/PARAMETER_VALUE_APPEND=::RIGHT_SUBJECT_ID 
 +/MULTI_PASS=FALSE 
 +;
  
 +</code>
 +
 +**Get a list of all target names**
 +<code>
 +Set_Pipeline_Parameter_To_List_Of_Signal_Names
 +/PARAMETER_NAME=TARGETS
 +/SIGNAL_TYPES=TARGET
 +/SIGNAL_FOLDER=ORIGINAL
 +;
 +</code>
 +
 +**Using the updated subject ID and the list of target names, use the modify participants parameters pipeline function the add the needed subject prefixes, ensuring OVERWRITE_C3D_FILE is set to true so the changes are preserved:**
 +<code>
 +Modify_C3D_Subjects_Parameters
 +! /INCLUDE_CAL_FILE=TRUE
 +/IS_STATIC=0
 +/SUBJECTS_USES_PREFIXES=1
 +! /REMOVE_EXISTING_LABEL_PREFIXES=TRUE
 +! /REMOVE_EXISTING_PREFIX_PARAMETERS=FALSE
 +/SUBJECTS_LABEL_PREFIXES=::SUBJECT_ID_CONVERTED
 +/PREFIX_MARKERS=::TARGETS
 +! /PREFIX_ROTATIONS=
 +! /PREFIX_C3D_PARAMETERS=
 +! /C3D_PARAMETER_GROUPS=SUBJECTS
 +! /MARKER_SETS=
 +/SUBJECTS_NAMES=::SUBJECT_ID_CONVERTED
 +! /SUBJECTS_DISPLAY_SETS=
 +! /SUBJECTS_MODELS=
 +! /SUBJECTS_MODEL_PARAMS=
 +/OVERWRITE_C3D_FILE=1
 +;
 +
 +</code>
 +
 +**Clear the workspace to preserve memory, and then close the loop:**
 +
 +<code>
 + File_New
 +;
 +</code>
 +
 +**End the loop**
 +<code>
 +End_For_Each
 +/ITERATION_PARAMETER_NAME=DYNAMIC_FILE
 +;
 +</code>
 ==== Inconsistent Subject Prefixes (Able Bodied) ==== ==== Inconsistent Subject Prefixes (Able Bodied) ====
  
Line 225: Line 247:
 \\ \\
 **Using the modify C3D subjects parameters pipeline function clear the participant prefixes from the files, set OVERWRITE_C3D_FILE to true to ensure the changes are preserved, keep all other parameters at their default value:**\\ **Using the modify C3D subjects parameters pipeline function clear the participant prefixes from the files, set OVERWRITE_C3D_FILE to true to ensure the changes are preserved, keep all other parameters at their default value:**\\
-''%% Modify_C3D_Subjects_Parameters%%''\\ + 
-''%%! /INCLUDE_CAL_FILE=TRUE%%''\\ +<code> 
-''%%! /IS_STATIC=%%''\\ +Modify_C3D_Subjects_Parameters 
-''%%! /SUBJECTS_USES_PREFIXES=%%''\\ +! /INCLUDE_CAL_FILE=TRUE 
-''%%! /REMOVE_EXISTING_LABEL_PREFIXES=TRUE%%''\\ +! /IS_STATIC= 
-''%%! /REMOVE_EXISTING_PREFIX_PARAMETERS=FALSE%%''\\ +! /SUBJECTS_USES_PREFIXES= 
-''%%! /SUBJECTS_LABEL_PREFIXES=%%''\\ +! /REMOVE_EXISTING_LABEL_PREFIXES=TRUE 
-''%%! /PREFIX_MARKERS=%%''\\ +! /REMOVE_EXISTING_PREFIX_PARAMETERS=FALSE 
-''%%! /PREFIX_ROTATIONS=%%''\\ +! /SUBJECTS_LABEL_PREFIXES= 
-''%%! /PREFIX_C3D_PARAMETERS=%%''\\ +! /PREFIX_MARKERS= 
-''%%! /C3D_PARAMETER_GROUPS=SUBJECTS%%''\\ +! /PREFIX_ROTATIONS= 
-''%%! /MARKER_SETS=%%''\\ +! /PREFIX_C3D_PARAMETERS= 
-''%%! /SUBJECTS_NAMES=%%''\\ +! /C3D_PARAMETER_GROUPS=SUBJECTS 
-''%%! /SUBJECTS_DISPLAY_SETS=%%''\\ +! /MARKER_SETS= 
-''%%! /SUBJECTS_MODELS=%%''\\ +! /SUBJECTS_NAMES= 
-''%%! /SUBJECTS_MODEL_PARAMS=%%''\\ +! /SUBJECTS_DISPLAY_SETS= 
-''%%/OVERWRITE_C3D_FILE=TRUE%%''\\ +! /SUBJECTS_MODELS= 
-''%%%%''\\+! /SUBJECTS_MODEL_PARAMS= 
 +/OVERWRITE_C3D_FILE=TRUE 
 +; 
 + 
 +</code>
  
  
Line 261: Line 287:
 \\ \\
 **Set a pipeline parameter to the current folder path**\\ **Set a pipeline parameter to the current folder path**\\
-''%% Set_Pipeline_Parameter_To_Folder_Path%%''\\ 
-''%%/PARAMETER_NAME=FOLDER%%''\\ 
-''%%/PARAMETER_VALUE=%%''\\ 
-''%%! /PARAMETER_VALUE_SEARCH_FOR=%%''\\ 
-''%%! /PARAMETER_VALUE_REPLACE_WITH=%%''\\ 
-''%%! /PARAMETER_VALUE_APPEND=%%''\\ 
-''%%; %%''\\ 
  
 +<code>
 +Set_Pipeline_Parameter_To_Folder_Path
 +/PARAMETER_NAME=FOLDER
 +/PARAMETER_VALUE=
 +! /PARAMETER_VALUE_SEARCH_FOR=
 +! /PARAMETER_VALUE_REPLACE_WITH=
 +! /PARAMETER_VALUE_APPEND=
 +
 +</code>
  
 \\ \\
 **Get a list of all folders within the 50_StrokePiG folder:**\\ **Get a list of all folders within the 50_StrokePiG folder:**\\
-''%% Set_Pipeline_Parameter_To_List_Of_Files%%''\\ +<code> 
-''%%/PARAMETER_NAME=Folders%%''\\ +Set_Pipeline_Parameter_To_List_Of_Files 
-''%%/FOLDER=::FOLDER%%''\\ +/PARAMETER_NAME=Folders 
-''%%/SEARCH_SUBFOLDERS=TRUE%%''\\ +/FOLDER=::FOLDER 
-''%%/FILE_MASK=*.c3d%%''\\ +/SEARCH_SUBFOLDERS=TRUE 
-''%%! /ALPHABETIZE=TRUE%%''\\ +/FILE_MASK=*.c3d 
-''%%/RETURN_FOLDER_NAMES=TRUE%%''\\ +! /ALPHABETIZE=TRUE 
-''%%%%''\\ +/RETURN_FOLDER_NAMES=TRUE 
 +
 +</code>
  
 \\ \\
 **Loop through the folders:**\\ **Loop through the folders:**\\
-''%% For_Each%%''\\ +<code> 
-''%%/ITERATION_PARAMETER_NAME=sub_folder%%''\\ +For_Each 
-''%%! /ITERATION_PARAMETER_COUNT_NAME=%%''\\ +/ITERATION_PARAMETER_NAME=sub_folder 
-''%%/ITEMS=::Folders%%''\\ +! /ITERATION_PARAMETER_COUNT_NAME= 
-''%%%%''\\ +/ITEMS=::Folders 
 +
 +</code>
  
 \\ \\
 **Calibration files are prefixed with TVC, set a pipeline parameter to all C3D files that start with TVC (there should only be one in each folder):**\\ **Calibration files are prefixed with TVC, set a pipeline parameter to all C3D files that start with TVC (there should only be one in each folder):**\\
-''%% Set_Pipeline_Parameter_To_List_Of_Files%%''\\ +<code> 
-''%%/PARAMETER_NAME=SUBFOLDER_CALIBRATION%%''\\ +Set_Pipeline_Parameter_To_List_Of_Files 
-''%%/FOLDER=::sub_folder%%''\\ +/PARAMETER_NAME=SUBFOLDER_CALIBRATION 
-''%%! /SEARCH_SUBFOLDERS=FALSE%%''\\ +/FOLDER=::sub_folder 
-''%%/FILE_MASK=TVC*.c3d%%''\\ +! /SEARCH_SUBFOLDERS=FALSE 
-''%%! /ALPHABETIZE=TRUE%%''\\ +/FILE_MASK=TVC*.c3d 
-''%%! /RETURN_FOLDER_NAMES=FALSE%%''\\ +! /ALPHABETIZE=TRUE 
-''%%%%''\\ +! /RETURN_FOLDER_NAMES=FALSE 
 +
 +</code>
  
 \\ \\
 **Start a new workspace:**\\ **Start a new workspace:**\\
-''%% File_New%%''\\ +<code> 
-''%%%%''\\ +File_New 
 +
 +</code>
  
 \\ \\
 **Open all dynamic files within the current folder:**\\ **Open all dynamic files within the current folder:**\\
-''%% File_Open%%''\\ +<code> 
-''%%/FILE_NAME=::sub_folder&BWA*.c3d%%''\\ +File_Open 
-''%%! /FILE_PATH=%%''\\ +/FILE_NAME=::sub_folder&BWA*.c3d 
-''%%! /SUFFIX=%%''\\ +! /FILE_PATH= 
-''%%! /SET_PROMPT=File_Open%%''\\ +! /SUFFIX= 
-''%%/ON_FILE_NOT_FOUND=FAIL%%''\\ +! /SET_PROMPT=File_Open 
-''%%! /FILE_TYPES_ON_PROMPT=%%''\\ +/ON_FILE_NOT_FOUND=FAIL 
-''%%%%''\\ +! /FILE_TYPES_ON_PROMPT= 
 +;  
 +</code>
  
 \\ \\
 **Set all dynamic files to active:**\\ **Set all dynamic files to active:**\\
-''%% Select_Active_File%%''\\ +<code> 
-''%%/FILE_NAME=::sub_folder&BWA*.c3d%%''\\ +Select_Active_File 
-''%%! /QUERY=%%''\\ +/FILE_NAME=::sub_folder&BWA*.c3d 
-''%%! /SUBJECT_TAGS=NO_SUBJECT%%''\\ +! /QUERY= 
-''%%%%''\\+! /SUBJECT_TAGS=NO_SUBJECT 
 + 
 +</code>
  
  
 \\ \\
 **Save all the necessary metrics from PARAMETERS:PROCESSING into pipeline parameters:**\\ **Save all the necessary metrics from PARAMETERS:PROCESSING into pipeline parameters:**\\
-''%% Set_Pipeline_Parameter_To_Data_Value%%''\\ +<code> 
-''%%/SIGNAL_TYPES= PARAMETERS%%''\\ +Set_Pipeline_Parameter_To_Data_Value 
-''%%/SIGNAL_FOLDER= PROCESSING%%''\\ +/SIGNAL_TYPES= PARAMETERS 
-''%%/SIGNAL_NAMES= Bodymass%%''\\ +/SIGNAL_FOLDER= PROCESSING 
-''%%! /SIGNAL_COMPONENTS=ALL_COMPONENTS%%''\\ +/SIGNAL_NAMES= Bodymass 
-''%%/PARAMETER_NAME= mass%%''\\ +! /SIGNAL_COMPONENTS=ALL_COMPONENTS 
-''%%;%%''\\ +/PARAMETER_NAME= mass 
-//''%%... see attached pipeline for full list of commands ...%%''//''%% %%''\\+
 + 
 +... see attached pipeline for full list of commands ... 
 +</code>
  
  
-\\ 
 **Visual 3Ds expected unit of measurement is meters so the knee widths, ankle widths and height need to be converted from mm to m:**\\ **Visual 3Ds expected unit of measurement is meters so the knee widths, ankle widths and height need to be converted from mm to m:**\\
-''%% Set_Pipeline_Parameter_From_Expression%%''\\ +<code> 
-''%%/PARAMETER_NAME=height%%''\\ +Set_Pipeline_Parameter_From_Expression 
-''%%/EXPRESSION=&::height&/1000.0%%''\\ +/PARAMETER_NAME=height 
-''%%/AS_INTEGER=False%%''\\ +/EXPRESSION=&::height&/1000.0 
-''%%;%%''\\ +/AS_INTEGER=False 
-//''%%... see attached pipeline for full list of commands ...%%''//''%% %%''\\+
 + 
 +... see attached pipeline for full list of commands ... 
 +</code>
  
  
-\\ 
 **Get the subject ID from PARAMETERS:SUBJECTS and save it to a pipeline parameter:**\\ **Get the subject ID from PARAMETERS:SUBJECTS and save it to a pipeline parameter:**\\
-''%% Set_Pipeline_Parameter_To_Data_Value%%''\\ +<code> 
-''%%/SIGNAL_TYPES=PARAMETERS%%''\\ +Set_Pipeline_Parameter_To_Data_Value 
-''%%/SIGNAL_FOLDER=SUBJECTS%%''\\ +/SIGNAL_TYPES=PARAMETERS 
-''%%/SIGNAL_NAMES=NAMES%%''\\ +/SIGNAL_FOLDER=SUBJECTS 
-''%%! /SIGNAL_COMPONENTS=ALL_COMPONENTS%%''\\ +/SIGNAL_NAMES=NAMES 
-''%%/PARAMETER_NAME=SUB_NAME%%''\\ +! /SIGNAL_COMPONENTS=ALL_COMPONENTS 
-''%%%%''\\ +/PARAMETER_NAME=SUB_NAME 
 +
 +</code>
  
 \\ \\
 **Create a hybrid model using the calibration file:**\\ **Create a hybrid model using the calibration file:**\\
-''%% Create_Hybrid_Model%%''\\ +<code> 
-''%%/CALIBRATION_FILE=::SUBFOLDER_CALIBRATION%%''\\ +Create_Hybrid_Model 
-''%%! /RANGE=ALL_FRAMES%%''\\ +/CALIBRATION_FILE=::SUBFOLDER_CALIBRATION 
-''%%%%''\\ +! /RANGE=ALL_FRAMES 
 +
 +</code>
  
 \\ \\
 **Apply the model template:**\\ **Apply the model template:**\\
-''%% Apply_Model_Template%%''\\ +<code> 
-''%%/CALIBRATION_FILE=::SUBFOLDER_CALIBRATION%%''\\ +Apply_Model_Template 
-''%%/SUBJECT_PREFIX=::SUB_NAME&:%%''\\ +/CALIBRATION_FILE=::SUBFOLDER_CALIBRATION 
-''%%/MODEL_TEMPLATE=!!! SET PATH TO STROKE MODEL TEMPLATE !!!%%''\\ +/SUBJECT_PREFIX=::SUB_NAME&: 
-''%%! /SET_PROMPT=Open model file%%''\\ +/MODEL_TEMPLATE=!!! SET PATH TO STROKE MODEL TEMPLATE !!! 
-''%%! /VIEW_BUILDMODEL_RESULTS=2%%''\\ +! /SET_PROMPT=Open model file 
-''%%! /MISSING_TARGET_MESSAGE=FALSE%%''\\ +! /VIEW_BUILDMODEL_RESULTS=2 
-''%%%%''\\ +! /MISSING_TARGET_MESSAGE=FALSE 
 +
 +</code>
  
 \\ \\
 **Set all the necessary model metrics and recalculate the model:**\\ **Set all the necessary model metrics and recalculate the model:**\\
-''%% Set_Model_Metric%%''\\ +<code> 
-''%%! /CALIBRATION_FILE=%%''\\ +Set_Model_Metric 
-''%%/METRIC_NAME= Mass%%''\\ +! /CALIBRATION_FILE= 
-''%%/METRIC_VALUE= ::mass%%''\\ +/METRIC_NAME= Mass 
-''%%! /SUBJECT=%%''\\ +/METRIC_VALUE= ::mass 
-''%%;%%''\\ +! /SUBJECT= 
-//''%%... See the attached pipeline for full list of commands ...%%''//''%% %%''\\+
 + 
 +... See the attached pipeline for full list of commands ... 
 +</code>
  
  
 \\ \\
 **Assign the model to the dynamic files:**\\ **Assign the model to the dynamic files:**\\
-''%% Assign_Model_File%%''\\ +<code> 
-''%%/CALIBRATION_FILE=::SUBFOLDER_CALIBRATION%%''\\ +Assign_Model_File 
-''%%/MOTION_FILE_NAMES=::sub_folder&BWA*.c3d%%''\\ +/CALIBRATION_FILE=::SUBFOLDER_CALIBRATION 
-''%%! /REMOVE_EXISTING_ASSIGNMENTS=FALSE%%''\\ +/MOTION_FILE_NAMES=::sub_folder&BWA*.c3d 
-''%%%%''\\+! /REMOVE_EXISTING_ASSIGNMENTS=FALSE 
 +; 
 +</code>
  
  
 \\ \\
 **Set all files to active:**\\ **Set all files to active:**\\
-''%% Select_Active_File%%''\\ +<code> 
-''%%/FILE_NAME= ALL_FILES%%''\\ +Select_Active_File 
-''%%! /QUERY=%%''\\ +/FILE_NAME= ALL_FILES 
-''%%! /SUBJECT_TAGS=NO_SUBJECT%%''\\ +! /QUERY= 
-''%%%%''\\ +! /SUBJECT_TAGS=NO_SUBJECT 
 +;  
 +</code>
  
 \\ \\
 **Filter and Interpolate available data**\\ **Filter and Interpolate available data**\\
-''%% %%''//''%%...See attached pipeline for examples of computation commands ...%%''//''%% %%''+<code> 
 +...See attached pipeline for examples of computation commands ... 
 +</code>
  
 \\ \\
 **Calculate Gait Events through the use of Kinematic signals**\\ **Calculate Gait Events through the use of Kinematic signals**\\
-''%% %%''//''%%...See attached pipeline for examples of computation commands ...%%''//''%% %%'' +<code> 
 +...See attached pipeline for examples of computation commands ... 
 +</code>
 \\ \\
  
Line 425: Line 476:
 \\ \\
 **Run all desired computations and then save the workspace to a CMZ using the subject ID as the file name and end the loop**\\ **Run all desired computations and then save the workspace to a CMZ using the subject ID as the file name and end the loop**\\
-''%% %%''//''%%...See attached pipeline for examples of computation commands ...%%''//\\ +<code> 
-\\ +..See attached pipeline for examples of computation commands ... 
-''%%File_Save_As%%''\\ + 
-''%%/FILE_NAME=::SUB_NAME%%''\\ +File_Save_As 
-''%%/FOLDER=::sub_folder%%''\\ +/FILE_NAME=::SUB_NAME 
-''%%! /SET_PROMPT=Save CMZ file as%%''\\ +/FOLDER=::sub_folder 
-''%%! /SAVE_EMBEDDED_GRAPHICS=FALSE%%''\\ +! /SET_PROMPT=Save CMZ file as 
-''%%! /CREATE_FOLDER_PATH=FALSE%%''\\ +! /SAVE_EMBEDDED_GRAPHICS=FALSE 
-''%%;%%''\\ +! /CREATE_FOLDER_PATH=FALSE 
-\\ +
-''%%End_For_Each%%''\\ +
-''%%/ITERATION_PARAMETER_NAME= sub_folder%%''\\ +
-''%%; %%''+
  
 +End_For_Each
 +/ITERATION_PARAMETER_NAME= sub_folder
 +;
 +</code>
 ==== Processing C3Ds into CMZs (Able-Bodied Participants) ==== ==== Processing C3Ds into CMZs (Able-Bodied Participants) ====
  
Line 447: Line 500:
  
 Run the pipeline **process_c3ds_healthy.v3s**, and select the folder containing the able-bodied participants (138_HealthyPiG_10.05) when prompted. Run the pipeline **process_c3ds_healthy.v3s**, and select the folder containing the able-bodied participants (138_HealthyPiG_10.05) when prompted.
- 
  
 \\ \\
 **Set a pipeline parameter to 0, this will be used for the naming of the CMZ file. The value will be iterated within the loop:**\\ **Set a pipeline parameter to 0, this will be used for the naming of the CMZ file. The value will be iterated within the loop:**\\
-''%% Set_Pipeline_Parameter%%''\\ +<code> 
-''%%/PARAMETER_NAME=SUB_NUM%%''\\ +Set_Pipeline_Parameter 
-''%%/PARAMETER_VALUE=0%%''\\ +/PARAMETER_NAME=SUB_NUM 
-''%%! /PARAMETER_VALUE_SEARCH_FOR=%%''\\ +/PARAMETER_VALUE=0 
-''%%! /PARAMETER_VALUE_REPLACE_WITH=%%''\\ +! /PARAMETER_VALUE_SEARCH_FOR= 
-''%%! /PARAMETER_VALUE_PREFIX=%%''\\ +! /PARAMETER_VALUE_REPLACE_WITH= 
-''%%! /PARAMETER_VALUE_APPEND=%%''\\ +! /PARAMETER_VALUE_PREFIX= 
-''%%! /MULTI_PASS=FALSE%%''\\ +! /PARAMETER_VALUE_APPEND= 
-''%%%%''\\ +! /MULTI_PASS=FALSE 
 +
 +</code>
  
 \\ \\
 **Set a pipeline parameter to a list of folders containing C3Ds within the 138_Healthy_PiG_10.05 folder:**\\ **Set a pipeline parameter to a list of folders containing C3Ds within the 138_Healthy_PiG_10.05 folder:**\\
-\\ +<code> 
-''%%Set_Pipeline_Parameter_To_Folder_Path%%''\\ +Set_Pipeline_Parameter_To_Folder_Path 
-''%%/PARAMETER_NAME=FOLDER%%''\\ +/PARAMETER_NAME=FOLDER 
-''%%! /PARAMETER_VALUE=VISUAL3D_DEFAULT_DATA_FOLDER%%''\\ +! /PARAMETER_VALUE=VISUAL3D_DEFAULT_DATA_FOLDER 
-''%%! /FROM_MOTION_FILE_IN_WORKSPACE=%%''\\ +! /FROM_MOTION_FILE_IN_WORKSPACE= 
-''%%! /PARAMETER_VALUE_SEARCH_FOR=%%''\\ +! /PARAMETER_VALUE_SEARCH_FOR= 
-''%%! /PARAMETER_VALUE_REPLACE_WITH=%%''\\ +! /PARAMETER_VALUE_REPLACE_WITH= 
-''%%! /PARAMETER_VALUE_APPEND=%%''\\ +! /PARAMETER_VALUE_APPEND= 
-''%%! /SET_PROMPT=Select a directory%%''\\ +! /SET_PROMPT=Select a directory 
-''%%! /ALPHABETIZE=TRUE%%''\\ +! /ALPHABETIZE=TRUE 
-''%%;%%''\\ +;
-\\ +
-''%%Set_Pipeline_Parameter_To_List_Of_Files%%''\\ +
-''%%/PARAMETER_NAME=SUB_FOLDERS%%''\\ +
-''%%/FOLDER=::FOLDER%%''\\ +
-''%%/SEARCH_SUBFOLDERS=TRUE%%''\\ +
-''%%/FILE_MASK=*.c3d%%''\\ +
-''%%! /ALPHABETIZE=TRUE%%''\\ +
-''%%/RETURN_FOLDER_NAMES=TRUE%%''\\ +
-''%%; %%''\\+
  
 +Set_Pipeline_Parameter_To_List_Of_Files
 +/PARAMETER_NAME=SUB_FOLDERS
 +/FOLDER=::FOLDER
 +/SEARCH_SUBFOLDERS=TRUE
 +/FILE_MASK=*.c3d
 +! /ALPHABETIZE=TRUE
 +/RETURN_FOLDER_NAMES=TRUE
 +;
 +</code>
  
 \\ \\
 **Loop through the folders:**\\ **Loop through the folders:**\\
-''%% For_Each%%''\\ +<code> 
-''%%/ITERATION_PARAMETER_NAME=FOLDER%%''\\ +For_Each 
-''%%! /ITERATION_PARAMETER_COUNT_NAME=%%''\\ +/ITERATION_PARAMETER_NAME=FOLDER 
-''%%/ITEMS=::FOLDERS%%''\\ +! /ITERATION_PARAMETER_COUNT_NAME= 
-''%%%%''\\ +/ITEMS=::FOLDERS 
 +
 +</code>
  
 \\ \\
 **Calibrations files are numbered (0) so get a list of all files ending with 0) (There should only be one in each folder):**\\ **Calibrations files are numbered (0) so get a list of all files ending with 0) (There should only be one in each folder):**\\
-''%% Set_Pipeline_Parameter_To_List_Of_Files%%''\\ +<code> 
-''%%/PARAMETER_NAME=Cal_File%%''\\ +Set_Pipeline_Parameter_To_List_Of_Files 
-''%%/FOLDER=::FOLDER%%''\\ +/PARAMETER_NAME=Cal_File 
-''%%! /SEARCH_SUBFOLDERS=FALSE%%''\\ +/FOLDER=::FOLDER 
-''%%/FILE_MASK=*0)*.c3d%%''\\ +! /SEARCH_SUBFOLDERS=FALSE 
-''%%! /ALPHABETIZE=TRUE%%''\\ +/FILE_MASK=*0)*.c3d 
-''%%! /RETURN_FOLDER_NAMES=FALSE%%''\\ +! /ALPHABETIZE=TRUE 
-''%%%%''\\ +! /RETURN_FOLDER_NAMES=FALSE 
 +
 +</code>
  
 \\ \\
 **Open a new workspace:**\\ **Open a new workspace:**\\
-''%% File_New%%''\\ +<code> 
-''%%%%''\\ +File_New 
 +
 +</code>
  
 \\ \\
 **Open the calibration file:**\\ **Open the calibration file:**\\
-''%% File_Open%%''\\ +<code> 
-''%%/FILE_NAME=::CAL_FILE%%''\\ +File_Open 
-''%%! /FILE_PATH=%%''\\ +/FILE_NAME=::CAL_FILE 
-''%%! /SUFFIX=%%''\\ +! /FILE_PATH= 
-''%%! /SET_PROMPT=File_Open%%''\\ +! /SUFFIX= 
-''%%/ON_FILE_NOT_FOUND=FAIL%%''\\ +! /SET_PROMPT=File_Open 
-''%%! /FILE_TYPES_ON_PROMPT=%%''\\ +/ON_FILE_NOT_FOUND=FAIL 
-''%%%%''\\ +! /FILE_TYPES_ON_PROMPT= 
 +
 +</code>
  
 \\ \\
 **Set the calibration file to active:**\\ **Set the calibration file to active:**\\
-''%% Select_Active_File%%''\\ +<code> 
-''%%/FILE_NAME=::CAL_FILE%%''\\ +Select_Active_File 
-''%%! /QUERY=%%''\\ +/FILE_NAME=::CAL_FILE 
-''%%! /SUBJECT_TAGS=NO_SUBJECT%%''\\ +! /QUERY= 
-''%%%%''\\ +! /SUBJECT_TAGS=NO_SUBJECT 
 +
 +</code>
  
 \\ \\
 **Save all the necessary information stored in PARAMETERS:PROCESSING into pipeline parameters:**\\ **Save all the necessary information stored in PARAMETERS:PROCESSING into pipeline parameters:**\\
-''%% Set_Pipeline_Parameter_To_Data_Value%%''\\ +<code> 
-''%%/SIGNAL_TYPES= PARAMETERS%%''\\ +Set_Pipeline_Parameter_To_Data_Value 
-''%%/SIGNAL_FOLDER= PROCESSING%%''\\ +/SIGNAL_TYPES= PARAMETERS 
-''%%/SIGNAL_NAMES= Bodymass%%''\\ +/SIGNAL_FOLDER= PROCESSING 
-''%%! /SIGNAL_COMPONENTS=ALL_COMPONENTS%%''\\ +/SIGNAL_NAMES= Bodymass 
-''%%/PARAMETER_NAME= BODYMASS%%''\\ +! /SIGNAL_COMPONENTS=ALL_COMPONENTS 
-''%%;%%''\\ +/PARAMETER_NAME= BODYMASS 
-//''%%... See attached pipeline for full list of commands ...%%''//''%% %%''\\+;
  
 +... See attached pipeline for full list of commands ...
 +</code>
  
 \\ \\
 **Visual 3Ds expected unit of measurement is meters so the knee widths, ankle widths and height need to be converted from mm to m:**\\ **Visual 3Ds expected unit of measurement is meters so the knee widths, ankle widths and height need to be converted from mm to m:**\\
-''%% Set_Pipeline_Parameter_From_Expression%%''\\ +<code> 
-''%%/PARAMETER_NAME=R_KNEE_WIDTH%%''\\ +Set_Pipeline_Parameter_From_Expression 
-''%%/EXPRESSION=&::R_KNEE_WIDTH&/1000.0%%''\\ +/PARAMETER_NAME=R_KNEE_WIDTH 
-''%%/AS_INTEGER=False%%''\\ +/EXPRESSION=&::R_KNEE_WIDTH&/1000.0 
-''%%;%%''\\ +/AS_INTEGER=False 
-//''%%... See attached pipeline for full list of commands ...%%''//''%% %%''\\+;
  
 +... See attached pipeline for full list of commands ...
 +</code>
  
 \\ \\
 **Close the calibration file:**\\ **Close the calibration file:**\\
-''%% File_Close%%''\\ +<code> 
-''%%/FILE_NAME=::CAL_FILE%%''\\ +File_Close 
-''%%! /QUERY=%%''\\ +/FILE_NAME=::CAL_FILE 
-''%%! /CLOSE_ASSOCIATED_MODELS=FALSE%%''\\ +! /QUERY= 
-''%%%%''\\ +! /CLOSE_ASSOCIATED_MODELS=FALSE 
 +
 +</code>
  
 \\ \\
 **To open the dynamic files without re-opening the calibration file, list all C3D files within the current folder:**\\ **To open the dynamic files without re-opening the calibration file, list all C3D files within the current folder:**\\
-''%% Set_Pipeline_Parameter_To_List_Of_Files%%''\\ +<code> 
-''%%/PARAMETER_NAME=DYNAMIC_FILES%%''\\ +Set_Pipeline_Parameter_To_List_Of_Files 
-''%%/FOLDER=::FOLDER%%''\\ +/PARAMETER_NAME=DYNAMIC_FILES 
-''%%! /SEARCH_SUBFOLDERS=FALSE%%''\\ +/FOLDER=::FOLDER 
-''%%/FILE_MASK=*.c3d%%''\\ +! /SEARCH_SUBFOLDERS=FALSE 
-''%%! /ALPHABETIZE=TRUE%%''\\ +/FILE_MASK=*.c3d 
-''%%! /RETURN_FOLDER_NAMES=FALSE%%''\\ +! /ALPHABETIZE=TRUE 
-''%%%%''\\ +! /RETURN_FOLDER_NAMES=FALSE 
 +
 +</code>
  
 \\ \\
 **Loop through each file:**\\ **Loop through each file:**\\
-''%% For_Each%%''\\ +<code> 
-''%%/ITERATION_PARAMETER_NAME=DYNAMIC_FILE%%''\\ +For_Each 
-''%%! /ITERATION_PARAMETER_COUNT_NAME=%%''\\ +/ITERATION_PARAMETER_NAME=DYNAMIC_FILE 
-''%%/ITEMS=::DYNAMIC_FILES%%''\\ +! /ITERATION_PARAMETER_COUNT_NAME= 
-''%%%%''\\ +/ITEMS=::DYNAMIC_FILES 
 +
 +</code>
  
 \\ \\
 **Use a conditional statement to check that the current file name does not match the calibrations file name:**\\ **Use a conditional statement to check that the current file name does not match the calibrations file name:**\\
-''%% Conditional_Statement%%''\\ +<code> 
-''%%/ITERATION_PARAMETER_NAME=IS_DYNAMIC%%''\\ +Conditional_Statement 
-''%%/EXPRESSION= "&::DYNAMIC_FILE&" >< "&::CAL_FILE&"%%''\\ +/ITERATION_PARAMETER_NAME=IS_DYNAMIC 
-''%%! /AS_INTEGER=TRUE%%''\\ +/EXPRESSION= "&::DYNAMIC_FILE&" >< "&::CAL_FILE&" 
-''%%%%''\\ +! /AS_INTEGER=TRUE 
 +
 +</code>
  
 \\ \\
 **if the file names do not match open the selected file:**\\ **if the file names do not match open the selected file:**\\
-''%% File_Open%%''\\ +<code> 
-''%%/FILE_NAME=::DYNAMIC_FILE%%''\\ +File_Open 
-''%%! /FILE_PATH=%%''\\ +/FILE_NAME=::DYNAMIC_FILE 
-''%%! /SUFFIX=%%''\\ +! /FILE_PATH= 
-''%%! /SET_PROMPT=File_Open%%''\\ +! /SUFFIX= 
-''%%! /ON_FILE_NOT_FOUND=PROMPT%%''\\ +! /SET_PROMPT=File_Open 
-''%%! /FILE_TYPES_ON_PROMPT=%%''\\ +! /ON_FILE_NOT_FOUND=PROMPT 
-''%%%%''\\ +! /FILE_TYPES_ON_PROMPT= 
 +
 +</code>
  
 \\ \\
 **Close the conditional statement and the loop**\\ **Close the conditional statement and the loop**\\
-''%% Conditional_Statement_End%%''\\ +<code> 
-''%%/ITERATION_PARAMETER_NAME=IS_DYNAMIC%%''\\ +Conditional_Statement_End 
-''%%;%%''\\ +/ITERATION_PARAMETER_NAME=IS_DYNAMIC 
-\\ +;
-''%%End_For_Each%%''\\ +
-''%%/ITERATION_PARAMETER_NAME=DYNAMIC_FILE%%''\\ +
-''%%%%''\\+
  
 +End_For_Each
 +/ITERATION_PARAMETER_NAME=DYNAMIC_FILE
 +;
 +</code>
  
 \\ \\
 **Set all dynamic files to active:**\\ **Set all dynamic files to active:**\\
-''%% Select_Active_File%%''\\ +<code> 
-''%%/FILE_NAME=::FOLDER&SUBJ*.c3d%%''\\ +Select_Active_File 
-''%%! /QUERY=%%''\\ +/FILE_NAME=::FOLDER&SUBJ*.c3d 
-''%%! /SUBJECT_TAGS=NO_SUBJECT%%''\\ +! /QUERY= 
-''%%%%''\\ +! /SUBJECT_TAGS=NO_SUBJECT 
 +
 +</code>
  
 \\ \\
 **Create a hybrid model using the calibration file:**\\ **Create a hybrid model using the calibration file:**\\
-''%% Create_Hybrid_Model%%''\\ +<code> 
-''%%/CALIBRATION_FILE=::CAL_FILE%%''\\ +Create_Hybrid_Model 
-''%%! /RANGE=ALL_FRAMES%%''\\ +/CALIBRATION_FILE=::CAL_FILE 
-''%%%%''\\ +! /RANGE=ALL_FRAMES 
 +
 +</code>
  
 \\ \\
 **Apply the model template:**\\ **Apply the model template:**\\
-''%% /CALIBRATION_FILE=::CAL_FILE%%''\\ +<code> 
-''%%!/SUBJECT_PREFIX=%%''\\ +/CALIBRATION_FILE=::CAL_FILE 
-''%%/MODEL_TEMPLATE=!!! SET PATH TO HEALTHY MODEL TEMPLATE !!!%%''\\ +!/SUBJECT_PREFIX= 
-''%%! /SET_PROMPT=Open model file%%''\\ +/MODEL_TEMPLATE=!!! SET PATH TO HEALTHY MODEL TEMPLATE !!! 
-''%%! /VIEW_BUILDMODEL_RESULTS=2%%''\\ +! /SET_PROMPT=Open model file 
-''%%! /MISSING_TARGET_MESSAGE=FALSE%%''\\ +! /VIEW_BUILDMODEL_RESULTS=2 
-''%%%%''\\ +! /MISSING_TARGET_MESSAGE=FALSE 
 +
 +</code>
  
 \\ \\
 **Set the necessary model metrics using the parameters saved from the calibration file and then recalculate the model:**\\ **Set the necessary model metrics using the parameters saved from the calibration file and then recalculate the model:**\\
-''%% Set_Model_Metric%%''\\ +<code> 
-''%%! /CALIBRATION_FILE=%%''\\ +Set_Model_Metric 
-''%%/METRIC_NAME= Mass%%''\\ +! /CALIBRATION_FILE= 
-''%%/METRIC_VALUE= ::BODYMASS%%''\\ +/METRIC_NAME= Mass 
-''%%! /SUBJECT=%%''\\ +/METRIC_VALUE= ::BODYMASS 
-''%%;%%''\\ +! /SUBJECT= 
-//''%%... See the attached pipeline for full list of commands ...%%''//''%% %%''\\+;
  
 +... See the attached pipeline for full list of commands ...
 +</code>
  
 \\ \\
 **Assign model to the dynamic files:**\\ **Assign model to the dynamic files:**\\
-''%% Assign_Model_File%%''\\ +<code> 
-''%%/CALIBRATION_FILE=::CAL_FILE%%''\\ +Assign_Model_File 
-''%%/MOTION_FILE_NAMES=::FOLDER&SUBJ*.c3d%%''\\ +/CALIBRATION_FILE=::CAL_FILE 
-''%%! /REMOVE_EXISTING_ASSIGNMENTS=FALSE%%''\\ +/MOTION_FILE_NAMES=::FOLDER&SUBJ*.c3d 
-''%%%%''\\ +! /REMOVE_EXISTING_ASSIGNMENTS=FALSE 
 +
 +</code>
  
 \\ \\
 **Run all desired computations, and then iterate the SUB_NUM pipeline parameter:**\\ **Run all desired computations, and then iterate the SUB_NUM pipeline parameter:**\\
-''%% %%''//''%%... See attached pipeline for examples of computation commands ...%%''//\\ +<code> 
-''%%Set_Pipeline_Parameter_From_Expression%%''\\ +... See attached pipeline for examples of computation commands ...
-''%%/PARAMETER_NAME=SUB_NUM%%''\\ +
-''%%/EXPRESSION=&::SUB_NUM&+1%%''\\ +
-''%%! /AS_INTEGER=TRUE%%''\\ +
-''%%; %%''\\+
  
 +Set_Pipeline_Parameter_From_Expression
 +/PARAMETER_NAME=SUB_NUM
 +/EXPRESSION=&::SUB_NUM&+1
 +! /AS_INTEGER=TRUE
 +;
 +</code>
  
 \\ \\
 **Save the workspace as a CMZ appending the SUB_NUM variable to the name, then close the loop:**\\ **Save the workspace as a CMZ appending the SUB_NUM variable to the name, then close the loop:**\\
-''%% /FILE_NAME=SUBJ&::SUB_NUM&.cmz%%''\\ +<code> 
-''%%/FOLDER=::FOLDER%%''\\ +/FILE_NAME=SUBJ&::SUB_NUM&.cmz 
-''%%! /SET_PROMPT=Save CMZ file as%%''\\ +/FOLDER=::FOLDER 
-''%%! /SAVE_EMBEDDED_GRAPHICS=FALSE%%''\\ +! /SET_PROMPT=Save CMZ file as 
-''%%! /CREATE_FOLDER_PATH=FALSE%%''\\ +! /SAVE_EMBEDDED_GRAPHICS=FALSE 
-''%%;%%''\\ +! /CREATE_FOLDER_PATH=FALSE 
-\\ +
-''%%End_For_Each%%''\\ + 
-''%%/ITERATION_PARAMETER_NAME= FOLDER%%''\\ +End_For_Each 
-''%%%%''+/ITERATION_PARAMETER_NAME= FOLDER 
 +; 
 +</code>
  
 ==== Missing Parameters ==== ==== Missing Parameters ====
visual3d/tutorials/knowledge_discovery/looking_at_large_public_data_sets.1757438917.txt.gz · Last modified: 2025/09/09 17:28 by wikisysop