visual3d:documentation:pipeline:signal_commands:global_normalized_signal_mean
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
visual3d:documentation:pipeline:signal_commands:global_normalized_signal_mean [2024/06/19 12:53] – sgranger | visual3d:documentation:pipeline:signal_commands:global_normalized_signal_mean [2025/05/05 14:32] (current) – Minor revisions wikisysop | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{{{{{{{{{this command will compute the mean signal from a collection of signal traces. each trace is time normalized to the specified event_sequence. note that the output signal is a [[visual3d: | + | ====== Global Normalized Signal Mean ====== |
- | there are options within this command | + | This command |
- | | + | There are options within this command for calculating means: |
- | * in addition to the global mean signal, the mean value is computed | + | |
- | * for more than one cmo workspace. | + | * for all Signal |
+ | * for more than one CMO workspace. | ||
- | the details for the above command options are discussed in the next section. | + | < |
+ | Global_Normalized_Signal_Mean | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | / | ||
+ | ! / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ; | ||
+ | </ | ||
- | ===== pipeline command | + | ===== Parameters |
- | the details for the command are: | + | If **CALCULATE_PER_FILE=false** All signal traces from all active files are used to compute |
- | **global_normalized_signal_mean** | + | If **CALCULATE_PER_FILE=true** |
- | / | + | |
- | / | + | |
- | / | + | |
- | **/ | + | |
- | **/ | + | |
- | **/ | + | |
- | **/ | + | |
- | **! / | + | |
- | **/ | + | |
- | **! / | + | |
- | **/ | + | |
- | **/ | + | |
- | **! / | + | |
- | **;** | + | |
- | if **calculate_per_file=false** all signal | + | |
- | \\ | + | If the **CMO Library** is active, it is important |
- | if **calculate_per_file=true** in addition | + | |
- | \\ | + | ===== Output ===== |
- | **if the cmo workspace is active** (either motion files or globals, then process the per cmo mean). in other words the mean value computed from the cmo library is the mean of the mean values from each cmo file. for example, if one cmo file has 10 signal traces and another cmo file has 1 signal trace, each cmo file contributes the same weight (i.e. each file contributes one mean signal trace). | + | |
- | ===== resulting | + | The resulting |
- | the resulting signal is a [[visual3d: | + | ===== Dialog ===== |
- | **if calculate_per_file=true** a p2d signal is also stored with each c3d file. | + | The Global_Normalized_Signal_Mean command can also be edited interactively using the following dialog |
- | ===== interactive dialog ===== | + | {{: |
- | several pipeline command have an interactive dialog that will allow you to set parameters via the dialog. for some parameters, you may still have to make changes via the text editor. the dialog for global_normalized_signal_mean is found below. | + | ===== Multisubject support ===== |
- | gmsm_1.jpg | + | Visual3D supports [[visual3d: |
- | \\ | + | When using a version of Visual3D [[visual3d: |
- | \\ | + | |
+ | After v2022.08.1, Visual3D extends these normalized signal mean calculations to be computed for each subject that is identified in the .C3D parameters SUBJECT section. In this way, the a single CMO/Z GLOBAL will contain the normalized mean curve for each subject within the CMO/Z file, prefixed with the subject' | ||
- | ===== subject computation using subject name/prefix parameters | + | ===== Examples |
- | visual3d is in the process of supporting multiple subjects within the same workspace, and across cmo/z library workspaces. older versions of visual3d will not support the subject prefix extensions of this command.\\ | + | This command is incredibly useful |
- | \\ | + | |
- | when using a version of visual3d prior to implementing multisubject support, visual3d treats each cmo/z file as a single subject. in this way, the normalized signal mean curve is generated in the cmo/z global | + | |
- | \\ | + | |
- | visual3d with multisubject support extends these normalized signal mean calculations to be computed for each subject that is identified in the .c3d parameters subject section. in this way, the a single cmo/z global will contain the normalized mean curve for each subject within the cmo/z file, prefixed with the subject' | + | |
- | \\ | + | |
- | when working across cmo/z files in the cmo/z library, multisubject support for this command will treat each subject in each cmo/z file as separate subject to be separately included for calculating the normalized signal mean curve across all the subjects in the cmo/z library. | + | |
- | \\ | + | ==== Example 1: Global Normalized Means for 2 Signals ==== |
- | \\ | + | |
+ | This example will time-normalize a signal (in this case Knee Flexion Angle) between events (RHS to RHS) for right knee angles and (LHS to LHS) for left knee angles, and compute the Global mean and standard deviation. | ||
- | \\ | + | **Note:** this example assumes that Right and Left Knee angles have been created and the events RHS and LHS have been found. |
+ | First add the **Global_Normalized_Signal_Mean** command to the pipeline. Double click on the command to launch the dialog. | ||
- | ===== examples ===== | + | {{: |
- | below are a few examples using this command. | + | In the bottom left-hand section of the dialog, select the **Link_Model_Based** signal type, **RKNEE_ANGLE** signal, and **X** component. Select the event sequence (e.g **RHS** to **RHS**). Click on **Add A New Signal**. The signal will now appear in the middle section of the dialog. |
- | ==== example 1: global normalized means for 2 signals ==== | + | {{:GNSM_2.jpg}} |
- | this example will time normalize a signal (in this case knee flexion | + | To add the left knee angle signal, select the **Link_Model_Based** signal type, **LKNEE_ANGLE** signal, |
- | **note:** this example assumes that right and left knee angles have been created and the events rhs and lhs have been found. | + | {{:GNSM_3.jpg}} |
- | \\ | + | Enter the **P2D Result Signal Name**, in this case **Knee_Angle**. Click on **Create Standard Deviation**. |
- | first add the **global_normalized_signal_mean** command to the pipeline. double click on the command to launch the dialog. | + | |
- | gmsm_1.jpg | + | {{:GNSM_4.jpg}} |
- | in the bottom left-hand section of the dialog, select the **link_model_based** signal type, **rknee_angle** signal, and **x** component. select | + | Click **OK** to close the dialog. The text representation of the command is similar |
- | gnsm_2.jpg | + | ==== Example 2: Global Normalized Means for more than two signals ==== |
- | to add the left knee angle signal, select the **link_model_based** signal type, **lknee_angle** signal, and **x** component. select the event sequence (e.g **lhs** to **lhs**). click on **add a new signal**. the signal will now appear in the middle section of the dialog. | + | This example will time-normalize several signals at the Hip, Knee, and Ankle for both left and right sides using a meta-command. The means for all 3 components of the each signal will be calculated. |
- | gnsm_3.jpg | + | Let the CMZ file contain the following signals: |
+ | * RANKLE_ANGLE | ||
+ | * RKNEE_ANGLE | ||
+ | * RHIP_ANGLE | ||
+ | * LANKLE_ANGLE | ||
+ | * LKNEE_ANGLE | ||
+ | * LHIP_ANGLE | ||
- | enter the **p2d result signal name**, in this case **knee_angle**. click on **create standard deviation**. | + | The events for heel strike are found and labeled **LHS** and **RHS**. This pipeline command script will call the meta-command **Create_Global_Means_For_Left_Right** to calculate the mean signal from heel strike to heel strike. |
- | + | ||
- | gnsm_4.jpg | + | |
- | + | ||
- | click **ok** to close the dialog. the text representation of the command is similar to the example seen in the next secton. | + | |
- | + | ||
- | ==== example 2: global normalized means for more than two signals ==== | + | |
- | + | ||
- | this example will time normalize several signals at the hip, knee, and ankle for both left and right sides using a meta-command. the means for all 3 components of the each signal will be calculated. | + | |
- | + | ||
- | let the cmo file contain the following signals: | + | |
- | + | ||
- | **rankle_angle** | + | |
- | **rknee_angle** | + | |
- | **rhip_angle** | + | |
- | **lankle_angle** | + | |
- | **lknee_angle** | + | |
- | **lhip_angle** | + | |
- | the events for heel strike are found and labeled **lhs** and **rhs**. this pipeline command script will call the meta-command **create_global_means_for_left_right** to calculate the mean signal from heel strike to heel strike. | + | |
< | < | ||
- | create_global_means_for_left_right | + | Create_Global_Means_For_Left_Right |
- | /type=angle | + | /TYPE=ANGLE |
- | /joints=ankle+knee+hip | + | /JOINTS=ANKLE+KNEE+HIP |
- | /start_event=hs | + | /START_EVENT=HS |
- | /end_event=hs | + | /END_EVENT=HS |
; | ; | ||
</ | </ | ||
- | the meta-command | + | The Meta-Command |
< | < | ||
- | ! begin_meta | + | ! BEGIN_META |
- | ! meta_cmd_name=create_global_means_for_left_right | + | ! META_CMD_NAME=Create_Global_Means_For_Left_Right |
- | ! meta_param= type: | + | ! META_PARAM= TYPE: |
- | ! meta_param= joints: | + | ! META_PARAM= JOINTS: |
- | ! meta_param= start_event: | + | ! META_PARAM= START_EVENT: |
- | ! meta_param= end_event: | + | ! META_PARAM= END_EVENT: |
- | ! end_meta | + | ! END_META |
- | ! loop for the joint angles that are passed to the meta-command | + | ! Loop for the joint angles that are passed to the meta-command |
- | for_each | + | For_Each |
- | /iteration_parameter_name=index1 | + | /ITERATION_PARAMETER_NAME=INDEX1 |
- | /items=::joints | + | /ITEMS=::JOINTS |
; | ; | ||
- | ! loop for the components | + | ! Loop for the Components |
- | for_each | + | For_Each |
- | /iteration_parameter_name=index2 | + | /ITERATION_PARAMETER_NAME=INDEX2 |
- | /items=x+y+z | + | /ITEMS=X+Y+Z |
; | ; | ||
- | ! create | + | ! Create |
- | global_normalized_signal_mean | + | Global_Normalized_Signal_Mean |
- | /signal_types=link_model_based+link_model_based | + | /SIGNAL_TYPES=LINK_MODEL_BASED+LINK_MODEL_BASED |
- | /signal_names=r&::index1& | + | /SIGNAL_NAMES=R&::INDEX1& |
- | /signal_folder=original+original | + | /SIGNAL_FOLDER=ORIGINAL+ORIGINAL |
- | /signal_components=::index2+::index2 | + | /SIGNAL_COMPONENTS=::INDEX2+::INDEX2 |
- | /start_label=r&::start_event+l&::end_event | + | /START_LABEL=R&::START_EVENT+L&::END_EVENT |
- | /end_label=r&::start_event+l&::end_event | + | /END_LABEL=R&::START_EVENT+L&::END_EVENT |
- | ! /event_sequence= | + | ! /EVENT_SEQUENCE= |
- | ! /exclude_events= | + | ! /EXCLUDE_EVENTS= |
- | /result_name=::index1& | + | /RESULT_NAME=::INDEX1& |
- | ! /result_folder=original | + | ! /RESULT_FOLDER=ORIGINAL |
- | ! /normalize_points=101 | + | ! /NORMALIZE_POINTS=101 |
- | ! /create_standard_deviation=false | + | ! /CREATE_STANDARD_DEVIATION=FALSE |
- | ! /calculate_per_file=false | + | ! /CALCULATE_PER_FILE=FALSE |
; | ; | ||
- | ! end of component loop | + | ! End of component loop |
- | end_for_each | + | End_For_Each |
- | /iteration_parameter_name=index2 | + | /ITERATION_PARAMETER_NAME=INDEX2 |
; | ; | ||
- | ! end of the joint loop | + | ! End of the joint loop |
- | end_for_each | + | End_For_Each |
- | /iteration_parameter_name=index1 | + | /ITERATION_PARAMETER_NAME=INDEX1 |
; | ; | ||
</ | </ | ||
- | ===== exporting | + | ==== Example 3: Exporting |
- | the signal is stored in the **global workspace**, so it is necessary to make **global** the active file before the export command. | + | The signal is stored in the [[visual3d: |
< | < | ||
- | ! select global | + | ! Select GLOBAL |
- | select_active_file | + | Select_Active_File |
- | /file_name= global | + | /FILE_NAME= GLOBAL |
- | ! /query= | + | ! /QUERY= |
; | ; | ||
- | ! export | + | ! Export |
- | ! the all signal components will export the normalized time, the mean signal, and the standard deviation | + | ! The ALL signal components will export the normalized time, the mean signal, and the standard deviation |
- | ! leaving | + | ! Leaving |
- | export_data_to_ascii_file | + | Export_Data_To_Ascii_File |
- | /file_name= | + | /FILE_NAME= |
- | /signal_types=p2d | + | /SIGNAL_TYPES=P2D |
- | /signal_names=knee_angle_x | + | /SIGNAL_NAMES=KNEE_ANGLE_X |
- | /signal_folder=original | + | /SIGNAL_FOLDER=ORIGINAL |
- | /signal_components=all | + | /SIGNAL_COMPONENTS=ALL |
- | ! /start_label= | + | ! /START_LABEL= |
- | ! /end_label= | + | ! /END_LABEL= |
- | ! /event_sequence= | + | ! /Event_Sequence= |
- | ! /exclude_events= | + | ! /Exclude_Events= |
- | ! /use_point_rate=false | + | ! /USE_POINT_RATE=FALSE |
- | ! /normalize_data=false | + | ! /NORMALIZE_DATA=FALSE |
- | ! /normalize_points=101 | + | ! /NORMALIZE_POINTS=101 |
- | ! /export_mean_and_std_dev=false | + | ! /EXPORT_MEAN_AND_STD_DEV=FALSE |
- | ! /use_p2d_format=false | + | ! /USE_P2D_FORMAT=FALSE |
; | ; | ||
</ | </ | ||
- | |||
- | }}}}}}}}}} |
visual3d/documentation/pipeline/signal_commands/global_normalized_signal_mean.1718801588.txt.gz · Last modified: 2024/06/19 12:53 by sgranger