sift_-_overview
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| sift_-_overview [2024/06/11 18:00] – wikisysop | sift_-_overview [2024/06/14 16:14] (current) – removed sgranger | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ==== Objectives ==== | ||
| - | |||
| - | The objective of this Tutorial is to demonstrate the [[Visual3D_Pipeline|Command Processing Pipeline]]. Tutorial #3 has two main objectives: | ||
| - | |||
| - | - Teach you how to use the command processing pipeline | ||
| - | - Introduce you to working with Visual3D pipeline commands. | ||
| - | |||
| - | ==== Overview ==== | ||
| - | |||
| - | The Command Processing Pipeline provides access to the core of Visual3D’s functionality by providing a command line interface into all of Visual3D' | ||
| - | |||
| - | Any pipeline command that can be run interactively through the pipeline processor may be saved to a text file. This file may be reloaded later, or combined with other command files to build a more complex pipeline. The Pipeline dialog (or any text processor) can be used to create the pipeline. | ||
| - | |||
| - | ==== Prerequisites ==== | ||
| - | |||
| - | This tutorial assumes that Visual3D has been installed and that a model has been created and movement data has been applied to the model. It is suggested that you first complete the previous [[Tutorial: | ||
| - | |||
| - | ==== Preparation ==== | ||
| - | |||
| - | - In the File menu, select Open and select Tutorial2.cmo. This is the file resulting from Tutorial #2, which you either created through Tutorial #2 or downloaded complete from the C-Motion website. | ||
| - | - Click on Signal and Event Processing to visualize the animation of the model based on the movement data and the model that was applied to it. If the animation does not appear in the 3D Animation viewer, check the active file combo box on the toolbar. It should read ’Walking Trial 1.c3d’ rather than ALL_FILES | ||
| - | - If the animation is not playing, click on the PLAY button of the VCR controls at the bottom of the screen. | ||
| - | - There are many viewing options for the Animation viewer available under the View Menu item or by clicking with the Right Mouse Button in the Animation Viewer itself. You should play around with these options to see the effects they have; most of the effects are intuitively obvious. | ||
| - | |||
| - | ==== Overview of Command Menu ==== | ||
| - | |||
| - | To open the command menu, click on the " | ||
| - | |||
| - | The pipeline workshop will open. To orient you, commands are located in the left column. The commands are organized into folders for: | ||
| - | |||
| - | * File Import/ | ||
| - | * Event/ | ||
| - | * Metric Creation | ||
| - | * Model Building | ||
| - | * Computing Model Based Data | ||
| - | * Signal Processing and Math | ||
| - | * Reports | ||
| - | |||
| - | Commands can be moved over into the main pipeline (middle column) by using the **ADD>> | ||
| - | |||
| - | [[File: | ||
| - | |||
| - | |||
| - | ==== Editing a Command ==== | ||
| - | |||
| - | The pipeline commands can be edited to customize processing. A quick overview for the command syntax follows. | ||
| - | |||
| - | === Pipeline Command Syntax: === | ||
| - | |||
| - | * Each Pipeline command consists of two parts - the command and its parameters. | ||
| - | |||
| - | **Command_Name** | ||
| - | **/ | ||
| - | **;** | ||
| - | * The generalized command above passes one parameter to the command **Command_Name**. | ||
| - | |||
| - | * Each parameter begins with a slash followed by the parameter name, followed by an equals sign, then the parameter. | ||
| - | |||
| - | * The command is terminated with a semicolon. | ||
| - | |||
| - | * Comments start with " | ||
| - | |||
| - | * A command parameter prefixed with an " | ||
| - | |||
| - | * White spaces are ignored | ||
| - | |||
| - | * To pass more than one set of parameters to the command, list the values of each parameter, separated by " | ||
| - | |||
| - | **/ | ||
| - | * Optional parameters are commented out - thus they start with " | ||
| - | |||
| - | * If the Parameter is not listed in the command or if the " | ||
| - | |||
| - | **Command_Name** | ||
| - | **/ | ||
| - | **!/ | ||
| - | **;** | ||
| - | * When a command is added to the pipeline, all parameters are listed, so the user doesn’t have to continually check the documentation for the syntax or the default values. The script text is provided so that these optional parameters may be un-commented and additional parameter values added. | ||
| - | |||
| - | * When parameters **Signal_Name**, | ||
| - | |||
| - | [[File: | ||
| - | |||
| - | |||
| - | Load 動画 | ||
| - | |||
| - | YouTube | ||
| - | |||
| - | |||
| - | |||
| - | YouTubeは個人データを収集する可能性があります。 [[https:// | ||
| - | |||
| - | コンティニュー | ||
| - | 非表示 | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | ==== Executing the Pipeline ==== | ||
| - | |||
| - | The following examples are a brief demonstration of constructing and executing a simple pipeline. Clicking the **Execute Pipeline** button will cause all of the commands in the middle list box of the Pipeline window to be executed in sequence. When the pipeline has finished a status screen will pop-up listing the commands that were processed, and any warnings or errors that were generated. | ||
| - | |||
| - | **Note:** The pipeline will continue to process even if there were errors in any of the commands, so it is important that you check the status screen at the end of the processing for any errors. | ||
| - | |||
| - | If you would like the Pipeline processing to halt after the first error. Select the **Halt on First Error** checkbox located beside the **Execute Pipeline** button. | ||
| - | If you would like to execute the pipeline commands one command at a time, then click the **Step** button. This is useful when debugging. | ||
| - | If you would like to execute a series of commands, select the group of commands, then click the **Step** button. | ||
| - | [[File: | ||
| - | |||
| - | === Example 1 - Execute File_Open Command === | ||
| - | |||
| - | < | ||
| - | < | ||
| - | < | ||
| - | **File_Open** | ||
| - | The following will be added to the parameters frame.< | ||
| - | |||
| - | < | ||
| - | File_Open | ||
| - | !/ | ||
| - | ; | ||
| - | </ | ||
| - | |||
| - | < | ||
| - | < | ||
| - | [[File: | ||
| - | < | ||
| - | < | ||
| - | [[File: | ||
| - | < | ||
| - | |||
| - | === Example 2 - Execute File_New and File_Open Commands === | ||
| - | |||
| - | < | ||
| - | < | ||
| - | **Note:** The **File_New** command clears the Visual3D Workspace.< | ||
| - | < | ||
| - | < | ||
| - | [[File: | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | |||
| - | ==== Pipeline Commands and the Active_Files ==== | ||
| - | |||
| - | File selection is important in Visual3D because many files can be open simultaneously. As mentioned in earlier tutorials there is a file selection combo box at the top of the Visual3D user interface (upper right corner). Pipeline commands usually process the " | ||
| - | |||
| - | [[File: | ||
| - | |||
| - | === " | ||
| - | |||
| - | * If only one file is selected in the file selection box, the pipeline, when executed, will perform actions only on the data from that file. (i.e. walk1.c3d) | ||
| - | * If **ALL_FILES** is selected, the script will perform actions on every file individually, | ||
| - | * If a **TAG** (see next section) is selected, the script will perform actions on every file with that TAG individually, | ||
| - | |||
| - | === " | ||
| - | |||
| - | * Commands that include the parameter **FILE_NAME** explicitly act on that file rather the Active Files. | ||
| - | |||
| - | [[File_Open|File_Open]] | ||
| - | /FILE_NAME= C: | ||
| - | **;** | ||
| - | * The user can control the Active Files in the Pipeline by adding the command **Select_Active_File** to the Pipeline. Example 3 will illustrate. | ||
| - | |||
| - | === Example 3 - Select_Active_File Command === | ||
| - | |||
| - | Add the [[Select_Active_File|Select_Active_File]] command to the previous pipeline. | ||
| - | |||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | [[File: | ||
| - | **Note:** The error message after the // | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | [[File: | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | |||
| - | ==== Challenges with identifying files ==== | ||
| - | |||
| - | This is a potentially frustrating issue related to the Select_Active_File command (and many other commands), which is worth discussing before moving on because it confuses many users. The Filename must be the complete Filename as seen in the Visual3D Workspace. In Visual3D the complete Filename includes the path to the file. Visual3D uses the path to the file to determine the uniqueness of a file that is loaded in the Workspace. This allows users to use the same filenames for every data collection session (e.g. static, trial1, trial2, etc), distinguishing the files by the folder in which the files are stored on disk. | ||
| - | |||
| - | To cope with this difficulty add a path (show in italics) before the file name as shown below: | ||
| - | |||
| - | [[Select_Active_File|Select_Active_File]] | ||
| - | /FILE_NAME= //C:\demo files tutorials\// | ||
| - | **;** | ||
| - | Many commands, however, allow the use of a wildcard that can circumvent the problem with the complete specification of the path. For example, the following change to the previous command will find all files whose name ends with Trial 1.c3d | ||
| - | |||
| - | [[Select_Active_File|Select_Active_File]] | ||
| - | /FILE_NAME= *Trial 1.c3d | ||
| - | **;** | ||
| - | ==== Workspace TAGS ==== | ||
| - | |||
| - | A tag is simply a user defined file attribute. Tags are provided as a method of classifying (or categorizing) files. | ||
| - | |||
| - | * Files can be associated with other files opened in the Visual3D workspace by assigning a tag to the file. | ||
| - | * For the Pipeline, if the tag is selected as the Active File, all Files of the tag are selected; Pipeline Commands will act on all of these files. | ||
| - | * The file tagging mechanism allows you to define specific subsets of your C3D files, to facilitate processing these as a group. | ||
| - | * A file can have multiple tags associated with it. | ||
| - | * A tag can have multiple files associated with it. | ||
| - | |||
| - | \\ | ||
| - | In the illustration below all files associated with trials in which the subjects walked barefoot have a tag labeled ' | ||
| - | |||
| - | |||
| - | \\ | ||
| - | [[File: | ||
| - | |||
| - | * The user has defined tags to distinguish movement trials in which the subject walked barefoot from those in which the subject wore shoes. | ||
| - | * The first two columns of the table, headed **Models/ | ||
| - | * The checkboxes identify which files are tagged and which are not. | ||
| - | * The relationship between movement trials and models is indicated graphically by the coloring of the rows in the table. | ||
| - | |||
| - | You can also have more than one type of attribute. For example, all files associated with trials in which the subjects walked barefoot can have a tag labeled Barefoot assigned to them. And those trials that are are only women subjects could have another tag labeled Female. So you could select only the subjects that are women and who did not wear shoes. | ||
| - | |||
| - | As was mentioned before, if you make only these files active then they will be affected by the Pipeline. This greatly increases the processing power of Visual3D as you are allowed to selectively eliminate and choose various trials to process based on various attributes. | ||
| - | |||
| - | === To assign a tag to a file via Workspace: === | ||
| - | |||
| - | - Open the **Workspace Status** Tab | ||
| - | - Click the **Add New File Tag** button. | ||
| - | - Type a tag name of your choice into the Edit Box that appears. This tag will then be added to the grid. | ||
| - | - Check the box beside the files that you want assigned to that tag. | ||
| - | |||
| - | === Example 4 - Assign_Tags_To_Files Command === | ||
| - | |||
| - | Add the **Assign_Tags_To_Files** command to the previous pipeline. | ||
| - | |||
| - | * Select the **Assign_Tags_To_Files** command from the list of commands within the **File Management** folder in the command tree on the left. | ||
| - | * Click **ADD>> | ||
| - | * To edit the // | ||
| - | * In the Edit window, remove " | ||
| - | * Remove " | ||
| - | |||
| - | < | ||
| - | Assign Tags To File | ||
| - | / | ||
| - | ! /QUERY= | ||
| - | /TAGS=Walk | ||
| - | ; | ||
| - | </ | ||
| - | |||
| - | * Click **OK.** | ||
| - | * Click **Execute Pipeline.** | ||
| - | * This time select // | ||
| - | |||
| - | === Deleting Tags === | ||
| - | |||
| - | The mechanism for deleting file tags is not always intuitive: if no files are checked in a tag’s column, the tag will be deleted as soon as you switch to a different page. If you accidentally delete a tag in this way, you can just create it again using the **Add New File Tag** button on the Workspace Status page. | ||
| - | |||
| - | ==== Pipeline PARAMETERS ==== | ||
| - | |||
| - | An important feature of the pipeline is the ability to create and use global parameters. A global parameter is a way to store a text string for use in Pipeline commands. In one sense it is similar to specifying a global variable in a scripting language, such as body weight, that could be used in computations. It is actually much more flexible than that in the pipeline. The Visual3D pipeline commands permit multiple entries on a single line, and since the entire line can be represented as a string, a single global parameter can represent multiple entries. The use of global parameters will be described by example. | ||
| - | |||
| - | === Example 5 - Set_Pipeline_Parameter_to_Folder_Path Command === | ||
| - | |||
| - | The following commands will create a global parameter that will contain the Folder, and the Open_File command will use this parameter. | ||
| - | |||
| - | < | ||
| - | < | ||
| - | **Note**: The **File_New** command clears the Visual3D Workspace.< | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | [[File: | ||
| - | **Note:** Be sure to include the trailing slash (\) after the path statement or the script will not execute properly.< | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | **Note:** To use a global parameter in another command, the PARAMETER_NAME should be preceded by two colons (:: | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | |||
| - | This example will produce similar results to previous pipelines but now multiple files will be opened and Visual3D should switch to the **Signal and Event Processing** tab. | ||
| - | |||
| - | === Syntax for using a Pipeline Parameter in a another Pipeline Command: === | ||
| - | |||
| - | The ampersand (&) indicates that the strings ”:: | ||
| - | |||
| - | ' | ||
| - | |||
| - | **Note:** The command in the above example uses a wildcard to load all of the c3d files in a folder. Executing this pipeline will cause Visual3D to open the two c3d files that we used in Tutorial 1 and Tutorial 2, provided that the path name makes sense on your disk. To make the pipeline more general it is convenient to separate the FOLDER containing your data files from the command because in many cases it is only the name of the FOLDER that changes from subject to subject. | ||
| - | |||
| - | A folder is really a special case of a global parameter because it is used so often. If the PARAMETER_VALUE is left blank, on execution a browse dialog will appear to allow you to browse and select the folder. This eliminates the need to type in the FOLDER parameter for every subject. Through judicious use of parameter and wildcards very general pipelines can be developed that can be used as batch processing scripts for every day processing of data. | ||
| - | |||
| - | ==== Pipeline SIGNAL PROCESSING ==== | ||
| - | |||
| - | Signal and event processing will be covered in much greater detail in the next tutorial but we begin looking at it now because much Signal and Event Processing in Visual3D is done using the pipeline. For example a very common process in treating Motion Capture data is to Interpolate missing frames of data, then smooth the resulting signal. The next example will demonstrate this using the Pipeline. | ||
| - | |||
| - | === Example 6 - Interpolate and Low Pass Filter Commands === | ||
| - | |||
| - | For this exercise, you will need to graph the original X signal component of LAS before and after the example so that you can compare the original data to the revised data. | ||
| - | |||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | [[File: | ||
| - | < | ||
| - | [[File: | ||
| - | < | ||
| - | [[File: | ||
| - | < | ||
| - | < | ||
| - | [[File: | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | **Note:** Visual3D allows you to do this even with the Pipeline window open.< | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | [[File: | ||
| - | < | ||
| - | < | ||
| - | **Note:** For subsequent signal processing, you must use signals from this processed list. Otherwise, you will simply overwrite the data you have already processed.< | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | |||
| - | ==== Summary ==== | ||
| - | |||
| - | |||
| - | ---- | ||
| - | |||
| - | Proceed to next [[Tutorial: | ||
| - | |||
| - | |||
| - | Retrieved from "" | ||
| - | |||
sift_-_overview.1718128841.txt.gz · Last modified: by wikisysop
