User Tools

Site Tools


visual3d:documentation:pipeline:meta_commands:meta_commands_overview

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
visual3d:documentation:pipeline:meta_commands:meta_commands_overview [2024/07/17 15:46] – created sgrangervisual3d:documentation:pipeline:meta_commands:meta_commands_overview [2025/04/28 17:38] (current) – Cleaned up formatting and removed references to 3DSSPP. wikisysop
Line 1: Line 1:
 ====== Meta Commands Overview ====== ====== Meta Commands Overview ======
  
-\\+A meta-command is a Visual3D [[visual3d:documentation:pipeline:general_information:pipeline_commands_reference|pipeline script]] with additional header lines so that you can pass in parameter values. It has a **.v3m** extension instead of **.v3s**. The meta-command should be stored in a folder labelled **Meta-Commands**, which is located in the Visual3D **Plugins** Folder. You will have to create this folder yourself - it is not part of a default installation. The header in the meta-command defines the data that should be passed. A meta-command can be used just like any other command in a pipeline script, and can be used to simply supply values, or it can be used as a macro that includes pipeline commands as well.
  
 +When Visual3D starts, it scans the meta-command directory (identified in the Edit->Preferences dialog) and adds any meta-commands it finds to the pipeline editing dialog. **NOTE**: This means that any meta-command scripts added to the Plugins/Meta-Commands folder after launch will not be available until Visual3D is closed and restarted.
  
-A meta-command is a Visual3D pipeline script with additional header lines so that you can pass in parameter values. It has a **.v3m** extension instead of **.v3s**. The meta-command should be stored in a folder labeled **Meta-Commands**, which is located in the Visual3D **Plugins** Folder. You will have to create this folder yourself - it is not part of a default installation.+===== Meta-Command Header Syntax =====
  
-When Visual3D starts, it scans the meta-command directory (identified in the Edit->Preferences dialog) and adds any meta-commands it finds to the pipeline editing dialog.+<code> 
 +! BEGIN_META //- This line is a mandatory identifier to signal Visual3D 
 +! META_CMD_NAME = x //- Where x is the name you want your new command to have 
 +</code>
  
-The header in the meta-command defines the data that should be passed. A meta-command can be used just like any other command in a pipeline script, and can be used to simply supply values, or it can be used as a macro that includes pipeline commands as well.+A meta-command can have multiple parameter specificationsEach one formatted: 
 +<code> 
 +! META_PARAM = param_name: type : default_parameter : optionality 
 +</code>
  
-\\+  - **Param_Name**: what you call your parameter 
 +  - **Type**: either integer, string, float, or signal 
 +    - For signal type parameters the signal type, name, and folder are needed in the [:sig_type:sig_name:sig_folder] format 
 +  - **Default_Parameter**: You can set a default value for the parameter or this can be left blank 
 +  - **Optionality**: Yes or No, determines if parameter is required or not
  
 +<code>
 +! END_META //- The mandatory end identifier
 +</code>
  
-==== Meta-Command Header Syntax ==== 
- 
-! BEGIN_META\\ 
- 
- 
-//- This line is a mandatory identifier to signal Visual3D// 
-\\ 
-! META_CMD_NAME = x\\ 
- 
- 
-//- Where x is the name you want your new command to have// 
-\\ 
-A meta-command can have multiple parameter specifications. Each one formatted:\\ 
-! META_PARAM = parm_name: type : default_parameter : optionality [:sig_type:sig_name:sig_folder]\\ 
- 
- 
-//- Parm_Name = what you call your parameter - followed by :\\ 
-// 
-- Type = integer, string, float, signal\\ 
- 
-- Default_Parameter = You can set a default value for the parameter, or this can be left blank\\ 
- 
-- Optionality = yes, no determines if parameter is required or not\\ 
- 
-- For type=signal, the signal type, name, and folder are also needed//\\ 
-// 
-\\ 
- 
- 
-! END_META\\ 
- 
- 
-//- The mandatory end identifier// 
-\\ 
 For example: For example:
- 
 <code> <code>
 ! BEGIN_META  ! BEGIN_META 
Line 59: Line 38:
 </code> </code>
  
-This command will appear in the Visual3D Pipeline Dialog list box in a folder labeled **Meta_Commands**. The command will be similar to the following:+This command will appear in the [[visual3d:documentation:pipeline:pipeline_overview|Visual3D Pipeline Dialog]] list box in a folder labeled **Meta_Commands**. The command will be similar to the following:
  
 <code> <code>
Line 70: Line 49:
 </code> </code>
  
-Example of default parameter: ! META_PARAM SEGMENT_NAME:string:RPV:yes+==== Editing Meta-Command ====
  
-=== Editing a Meta-Command ===+Meta-commands are stored on the disk, not in the workspace. In order to edit a meta-command it is necessary to open the file in a text editor such as [[visual3d:documentation:pipeline:general_information:notepad|Notepad++]]. The pipeline stores a reference to the meta-command file, rather than loading the meta-command.
  
-Meta-commands are stored on the disk, not in the Workspace. In order to edit a meta-command it is necessary to open the file in a text editor such as Notepad. The pipeline stores a reference to the meta-command file, rather than loading the meta-command. +===== Meta-Command Examples =====
- +
-=== Meta-Command Examples ===+
  
 Following is a list of Meta-Command Examples: Following is a list of Meta-Command Examples:
  
-== EMG ==+==== EMG ====
  
 **1. Basic_EMG_Filters** - Basic filtering of EMG signals. A series of band-stop (notch) filter for filtering 60 Hz noise, followed by a high pass filter at 10 Hz and a low pass filter at 350 Hz. Click [[Visual3D:Documentation:Pipeline:Meta_Commands:Example_-_EMG_Meta_Command|Meta Commands Example 2]] for details. **1. Basic_EMG_Filters** - Basic filtering of EMG signals. A series of band-stop (notch) filter for filtering 60 Hz noise, followed by a high pass filter at 10 Hz and a low pass filter at 350 Hz. Click [[Visual3D:Documentation:Pipeline:Meta_Commands:Example_-_EMG_Meta_Command|Meta Commands Example 2]] for details.
Line 90: Line 67:
 **4. EMG_Normalize** - Typically the Scaling factors for EMG signals are the result of other data trials. Individual files in Visual3D cannot access the data from other files, so they only way signals can be shared is through the Global Workspace. For the sake of this example, we will assume that the scale factors already exist in the Global Workspace. Click [[Visual3D:Documentation:EMG:Processing:Normalize_EMG_to_Generic_Global_Variable|EMG Scale by Global Value]] for details. **4. EMG_Normalize** - Typically the Scaling factors for EMG signals are the result of other data trials. Individual files in Visual3D cannot access the data from other files, so they only way signals can be shared is through the Global Workspace. For the sake of this example, we will assume that the scale factors already exist in the Global Workspace. Click [[Visual3D:Documentation:EMG:Processing:Normalize_EMG_to_Generic_Global_Variable|EMG Scale by Global Value]] for details.
  
-== Events ==+==== Events ====
  
-**1. Copy_Events_Between_Files** - Copy Event Labels from the MoCap c3d file into the Analog c3d file. One set of analog signals are collected with the MoCap system at 1000 Hz. One set of analog signals are collected with different software at 1500 Hz (frame 1 is synchronized). Click [[Visual3D:Documentation:Pipeline:Event_Commands:Example_-_Copy_Events_Between_Files|Events:Example 11]] for details.+**1. Copy_Events_Between_Files** - Copy Event Labels from the motion capture c3d file into the analog c3d file. One set of analog signals are collected with the motion capture system at 1000 Hz. One set of analog signals are collected with different software at 1500 Hz (frame 1 is synchronized). Click [[Visual3D:Documentation:Pipeline:Event_Commands:Example_-_Copy_Events_Between_Files|Events:Example 11]] for details.
  
 **2. Compute_Events_Without_GRF** - Computing gait events from only kinematic data. The following example is based on the following article published in 2008. Zeni JA, Richards JG, Higginson JS (2008) Two simple methods for determining gait events during treadmill and overground walking using kinematic data. Gait & Posture 27, 710-714. Click [[Visual3D:Documentation:Pipeline:Event_Commands:Example_-_Gait_Events_using_Kinematic_Data|Events:Example 6]] for details. **2. Compute_Events_Without_GRF** - Computing gait events from only kinematic data. The following example is based on the following article published in 2008. Zeni JA, Richards JG, Higginson JS (2008) Two simple methods for determining gait events during treadmill and overground walking using kinematic data. Gait & Posture 27, 710-714. Click [[Visual3D:Documentation:Pipeline:Event_Commands:Example_-_Gait_Events_using_Kinematic_Data|Events:Example 6]] for details.
Line 100: Line 77:
 **4. Number_Events_Sequentially** - This meta-command will rename an event sequentially across files. There are two examples. One that renames an Event_label sequentially and the other example uses this meta-command to find complete cycles across a series of trials. Click [[Visual3D:Documentation:Pipeline:Meta_Commands:Number_Events_Sequentially_Using_a_Meta-Command|Number Events Sequentially Using a Meta-Command]] for details. **4. Number_Events_Sequentially** - This meta-command will rename an event sequentially across files. There are two examples. One that renames an Event_label sequentially and the other example uses this meta-command to find complete cycles across a series of trials. Click [[Visual3D:Documentation:Pipeline:Meta_Commands:Number_Events_Sequentially_Using_a_Meta-Command|Number Events Sequentially Using a Meta-Command]] for details.
  
-== Metrics ==+==== Metrics ====
  
 **1. Concatenate_Gait_Metrics** - This meta-command will create the gait metrics for each TAG, labeling the GLOBAL Metrics folder by this TAG, then concatenated the metrics from all TAGS into one signal and store it in a GLOBAL METRICS folder labelled ALL_TAGS. Click [[Visual3D:Documentation:Pipeline:Meta_Commands:Concatenate_Gait_Metric_Signals_Using_a_Meta-Command|Concatenate Gait Metric Signals Using a Meta-Command]] for details. **1. Concatenate_Gait_Metrics** - This meta-command will create the gait metrics for each TAG, labeling the GLOBAL Metrics folder by this TAG, then concatenated the metrics from all TAGS into one signal and store it in a GLOBAL METRICS folder labelled ALL_TAGS. Click [[Visual3D:Documentation:Pipeline:Meta_Commands:Concatenate_Gait_Metric_Signals_Using_a_Meta-Command|Concatenate Gait Metric Signals Using a Meta-Command]] for details.
Line 106: Line 83:
 **2. Add_Index_Column_To_Metric** - Visual3D cannot plot an array of metric values since the METRIC signals have no time base. This meta-command will create a new column of data containing index numbers, so that we can plot column1 against column2. Essentially it creates an array for the metric signal which will have the additional index column. Click [[|Metrics Example 3]] for details. **2. Add_Index_Column_To_Metric** - Visual3D cannot plot an array of metric values since the METRIC signals have no time base. This meta-command will create a new column of data containing index numbers, so that we can plot column1 against column2. Essentially it creates an array for the metric signal which will have the additional index column. Click [[|Metrics Example 3]] for details.
  
-== SDSSPP == +==== Other ====
- +
-**1. Create_3DSSPP_Target_Offsets** - This meta-command creates a collection of DERIVED signals that are used for computing the 3DSSPP Planar Angles. This command is used where there is no Linkmodel, and therefore no Landmarks defined. Click [[|Create 3DSSPP Target Offsets]] for details. +
- +
-**2. Create_3DSSPP_Projected_Angles** - This meta-command computes projected planar angles consistent with the definition of the model pose in the 3DSSPP software. Click [[|Create_3DSSPP_Projected_Angles]] for details. +
- +
-'**3. Create_3DSSPP_Origin_Destination_Events** - This meta-command creates Event Labels for the Origin and Destination of the Lift. Each of the three tasks, floor-to-waist, knee-to-waist, waist-to-overhead are processed differently for the event detection. These algorithms are not fool-proof, so it is imperative that the user check the events visually. Click [[|Create_3DSSPP_Origin_Destination_Events]] for details. +
- +
-== Other ==+
  
 **1. Create_Global_Means_For_Left_Right** - Creates a Global_Normalized_Signal_Mean event for left and right sides with common labels (e.g. RHS and LHS). Click [[Visual3D:Documentation:Pipeline:Signal_Commands:Signal_Management_Commands#Meta-Command_-_Create_Global_Means_For_Left_Right|Create_Global_Means_For_Left_Right]] or [[Visual3D:Documentation:Statistics:Create_Mean_Signal|Statistics Example 1]] for details. **1. Create_Global_Means_For_Left_Right** - Creates a Global_Normalized_Signal_Mean event for left and right sides with common labels (e.g. RHS and LHS). Click [[Visual3D:Documentation:Pipeline:Signal_Commands:Signal_Management_Commands#Meta-Command_-_Create_Global_Means_For_Left_Right|Create_Global_Means_For_Left_Right]] or [[Visual3D:Documentation:Statistics:Create_Mean_Signal|Statistics Example 1]] for details.
visual3d/documentation/pipeline/meta_commands/meta_commands_overview.1721231160.txt.gz · Last modified: 2024/07/17 15:46 by sgranger