visual3d:tutorials:knowledge_discovery:typical_processing_session
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
visual3d:tutorials:knowledge_discovery:typical_processing_session [2024/07/17 15:42] – removed sgranger | visual3d:tutorials:knowledge_discovery:typical_processing_session [2025/02/07 20:50] (current) – [Creating model based items] wikisysop | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Typical Processing Session Overview Tutorial ====== | ||
+ | |||
+ | The **Typical Processing Session** tutorials are meant to be followed for a beginner to understand how to use the Visual3D application. It will provide guidance for the different features of the application which will allow for users to to apply these methods to their own data. | ||
+ | |||
+ | This specific tutorial covers the basic processing steps starting from C3D files through to report generation. Here we will show a surface-level view of these processing steps, but they are described in great detail within their step-specific tutorial pages. Available here: [[visual3d: | ||
+ | |||
+ | |||
+ | As a starting point, we will assume that you have: | ||
+ | * A model template (MDH) | ||
+ | * A signal processing pipeline (V3S) | ||
+ | * A report template (RGT) | ||
+ | * A static trial (C3D) | ||
+ | * Multiple movement trials (C3D) | ||
+ | |||
+ | If you don't have these templates or pipelines, you can download the sample files here: [[https:// | ||
+ | |||
+ | |||
+ | ===== Creating a Model ===== | ||
+ | Open the Visual3D application to an empty Workspace. The first step will be to create the model, following these steps: | ||
+ | |||
+ | 1. Load the static C3D file by going to **Model -> Create (Add Static Calibration File) -> Hybrid Model from C3D file**. | ||
+ | \\ | ||
+ | {{: | ||
+ | |||
+ | 2. Select **LowerBodyStaticTrial01.c3d.** Click **Open** from the Select Files dialog. | ||
+ | |||
+ | Visual3D will then switch to Model Building mode automatically. The 3D viewer will display the average value of the marker locations from the standing file. The dialog bar to the left of the screen will contain a list of segments, which by default will contain only a segment representing the Laboratory (e.g. Motion Capture Volume).\\ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Applying a Model Template ===== | ||
+ | |||
+ | In the next section, you will apply a previously constructed model template. If you don't have a [[Visual3D: | ||
+ | |||
+ | If you have a model template, then follow these steps: | ||
+ | |||
+ | **1. Apply Model Template:** Go to Model menu dropdown -> select Apply Model Template, a dialog box will open prompting you to select your template file. | ||
+ | \\ | ||
+ | {{: | ||
+ | |||
+ | |||
+ | **2. Set Subject Height/ | ||
+ | \\ | ||
+ | {{: | ||
+ | |||
+ | |||
+ | To edit the values of the mass and height, double click on the value next to each listed under the column header " | ||
+ | \\ | ||
+ | {{: | ||
+ | |||
+ | |||
+ | |||
+ | === Using a Pipeline Command === | ||
+ | |||
+ | Pipeline commands can be used to apply the model template and set the subject height/ | ||
+ | |||
+ | |[[Visual3D: | ||
+ | |[[Visual3D: | ||
+ | |[[Visual3D: | ||
+ | |||
+ | A great example of applying a model template can be found on the following pages [[Visual3D: | ||
+ | |||
+ | |||
+ | |||
+ | ===== Opening movement files ===== | ||
+ | |||
+ | This section will open/add the movement files to the model that was created in the previous sections on this page. | ||
+ | |||
+ | If you were able to successfully load the static trial and apply the model template by following the steps above, the static trial should appear in the Workspace tab. This means you are ready to continue onto the next step. | ||
+ | \\ | ||
+ | {{: | ||
+ | |||
+ | |||
+ | **1. Load the dynamic trials:** | ||
+ | \\ | ||
+ | a. File -> Open/Add | ||
+ | \\ | ||
+ | b. Select **Insert new files into your currently open workspace** option | ||
+ | \\ | ||
+ | c. Select **WalkingTrial_01.c3d** | ||
+ | |||
+ | {{: | ||
+ | |||
+ | **Verify: ** Verify the model file named **WalkingTrial_01.c3d** appears in the column labeled **Motion Files.** Visual3D displays the [[Visual3D: | ||
+ | \\ | ||
+ | | ||
+ | |||
+ | |||
+ | **Verify: ** Click on the **Signal and Event Processing** Tab. The viewing area will open. At this point, the movement trial has not been associated (or mapped) to the model trial. In the viewing area, only the markers will be animated. | ||
+ | \\ | ||
+ | |||
+ | **Note:** If no image appears, verify that there is a single active file in the file name box. | ||
+ | \\ | ||
+ | |||
+ | To activate the animation, click on the arrowhead PLAY {{: | ||
+ | \\ | ||
+ | {{: | ||
+ | |||
+ | \\ | ||
+ | === Using a Pipeline Command === | ||
+ | |||
+ | The dynamic trials can be opened using the [[Visual3D: | ||
+ | |||
+ | A great example of assigning models to motion files can be found on the following pages [[Visual3D: | ||
+ | |||
+ | ===== Assigning movement files to a model ===== | ||
+ | |||
+ | In the previous sections, the movement files were added and the model template was applied to the static standing trial. These movement files need to be associated or assigned with static standing model file. When movement files are assigned to a model, the pose (position and orientation) of each segment and landmarks in the model are computed for the motion file. To assign the movement files to a model, follow these steps: | ||
+ | |||
+ | **1. Assign model to motion trial** | ||
+ | \\ | ||
+ | a. Model -> Assign Model to Motion Files | ||
+ | \\ | ||
+ | b. Select the checkbox next to **WalkingTrial_01.c3d** | ||
+ | \\ | ||
+ | c. Click OK | ||
+ | \\ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | |||
+ | **Verify -** The 3D Animation Viewer should now display a skeleton of the lower body that has been associated with your movement data. You can animate the skeleton by clicking the PLAY {{: | ||
+ | |||
+ | === Pipeline command for assigning a model === | ||
+ | |||
+ | The model can be assigned to the movement trials using the [[Visual3D: | ||
+ | |||
+ | A great example of assigning models to motion files can be found on the following page [[Visual3D: | ||
+ | |||
+ | ===== Basic Signal Processing ===== | ||
+ | For this section, switch to the **Signal and Events** tab. | ||
+ | |||
+ | Signal Processing is accomplished typically through [[Visual3D: | ||
+ | |||
+ | This section assumes that you have worked through the previous sections on this page. The following are steps for Interpolating and Filtering the TARGET data. | ||
+ | |||
+ | **1. Interpolate TARGET signals:** | ||
+ | \\ | ||
+ | a. Signals and Events tab | ||
+ | \\ | ||
+ | b. Expand the TARGET folder | ||
+ | \\ | ||
+ | c. Right click on the ORIGINAL folder | ||
+ | \\ | ||
+ | d. Click Processing | ||
+ | \\ | ||
+ | e. Click Interpolate | ||
+ | \\ | ||
+ | f. Click Done | ||
+ | |||
+ | See [[https:// | ||
+ | \\ | ||
+ | **NOTE:** a **PROCESSED** folder has appeared under the **TARGET** folder in the data tree. | ||
+ | \\ | ||
+ | {{: | ||
+ | |||
+ | |||
+ | **2. Filter TARGET signals:** | ||
+ | \\ | ||
+ | a. Expand the TARGET folder | ||
+ | \\ | ||
+ | b. Right click on the PROCESSED folder | ||
+ | \\ | ||
+ | c. Click Processing | ||
+ | \\ | ||
+ | d. Click Filter | ||
+ | \\ | ||
+ | e. Click Done | ||
+ | |||
+ | |||
+ | See [[https:// | ||
+ | \\ | ||
+ | **NOTE:** Only a **PROCESSED** folder exists under the **TARGET** folder in the data tree (e.g. a new PROCESSED folder wasn't created). By default Visual3D uses only one PROCESSED folder, which contains the most recent processing done to a signal. | ||
+ | \\ | ||
+ | | ||
+ | |||
+ | |||
+ | **3. Review Processing History:** | ||
+ | \\ | ||
+ | a. Expand the TARGET folder | ||
+ | \\ | ||
+ | b. Expand PROCESSED folder | ||
+ | \\ | ||
+ | c. Left click on signal " | ||
+ | \\ | ||
+ | d. In the Data View Dialog, select Signal Processing History tab | ||
+ | \\ | ||
+ | {{: | ||
+ | |||
+ | |||
+ | === Pipeline commands for Basic Signal Processing === | ||
+ | |||
+ | Signals can be interpolated and filtered using the [[Visual3D: | ||
+ | |||
+ | Refer to [[Visual3D: | ||
+ | |||
+ | |||
+ | |||
+ | ===== Creating Event Labels ===== | ||
+ | |||
+ | An Event is simply an occurrence of interest that correlates to a motion capture frame, i.e. to a particular time point within a movement. The key events for gait studies (e.g., heel strike, toe-off) are now so well standardized that Visual3D can detect and mark them automatically . For other applications, | ||
+ | |||
+ | ==== Entering an Event manually ==== | ||
+ | |||
+ | Events can be added to the data file manually by selecting a frame in a graph in **SIGNAL AND EVENT PROCESSING** mode. Follow these steps: | ||
+ | |||
+ | **1. Plot the signal as an Interactive Graph:** | ||
+ | \\ | ||
+ | a. In the Signal and Events tab | ||
+ | \\ | ||
+ | b. Expand the TARGET folder | ||
+ | \\ | ||
+ | c. Expand the PROCESSED folder | ||
+ | \\ | ||
+ | d. Right click on the LFCC target | ||
+ | \\ | ||
+ | e. Select "Graph X, Y and Z" | ||
+ | \\ | ||
+ | f. Click New Graph | ||
+ | \\ | ||
+ | {{: | ||
+ | |||
+ | |||
+ | Select the graph by clicking with the Left Mouse Button on the graph. When the graph is selected you will see the handles (little rectangles) on the graph. | ||
+ | \\ | ||
+ | When the graph is selected you can change the scale for the X and Y axes. You can also view a vertical line which is associated with the current frame. | ||
+ | \\ | ||
+ | {{: | ||
+ | |||
+ | \\ | ||
+ | **2. Manually create a new Event Label** | ||
+ | \\ | ||
+ | a. Double click with the Left Mouse button at the location you want the event to be added | ||
+ | \\ | ||
+ | b. In the dialog, specify the event label name | ||
+ | \\ | ||
+ | Note that the name of the Event Label can be the same as an existing label in the data tree because more than one occurrence of an Event is allowed. The buttons **<< | ||
+ | \\ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | After an Event has been created it can be edited using the Edit Events Dialog. The process of Editing an Event is explained elsewhere. | ||
+ | |||
+ | === Entering an Event manually via the pipeline === | ||
+ | |||
+ | This example created an explicit event which can also be done using the [[Visual3D: | ||
+ | |||
+ | If you are processing gait, you will want to use the [[Visual3D: | ||
+ | |||
+ | Users can create events specific to their task (different types of motion, EMG processing, etc.) by using any combination of signal processing in conjunction with the many [[Visual3D: | ||
+ | |||
+ | ===== Creating model based items ===== | ||
+ | |||
+ | Model Based Items refers to Kinematic and Kinetic calculations based on rigid body modeling. | ||
+ | |||
+ | In this section, we will create a knee joint angle. After you have worked through this section, refer to the [[Visual3D: | ||
+ | |||
+ | === Create a joint angles for the Right and Left Knee === | ||
+ | |||
+ | To create the right knee joint angle, follow these steps: | ||
+ | |||
+ | 1. Under **MODEL** in the main menu bar, select **Compute Model Based Data** | ||
+ | \\ | ||
+ | {{: | ||
+ | |||
+ | 2. Define the Right Knee Angle as follows: | ||
+ | \\ | ||
+ | **Data Name:** RKneeAngle | ||
+ | \\ | ||
+ | **Model Based Item Properties: | ||
+ | \\ | ||
+ | **Segment: | ||
+ | \\ | ||
+ | **Reference Segment:** RTH (Right Thigh) | ||
+ | \\ | ||
+ | **Cardan Sequence:** XYZ | ||
+ | \\ | ||
+ | Click **Create** | ||
+ | \\ | ||
+ | {{: | ||
+ | |||
+ | |||
+ | |||
+ | **Processing Results** | ||
+ | \\ | ||
+ | The joint angle is created and a processing dialog shows if any errors were encountered. Note that the dialog also contains which files were processed. It is important to note this because signals are only created for the active files. | ||
+ | \\ | ||
+ | {{: | ||
+ | |||
+ | **3. Define the Left Knee Angle as follows** | ||
+ | \\ | ||
+ | **Data Name:** LKneeAngle | ||
+ | \\ | ||
+ | **Model Based Item Properties: | ||
+ | \\ | ||
+ | **Segment: | ||
+ | \\ | ||
+ | **Reference Segment:** LTH (Left Thigh) | ||
+ | \\ | ||
+ | **Cardan Sequence:** XYZ | ||
+ | \\ | ||
+ | Click **Create** | ||
+ | \\ | ||
+ | {{: | ||
+ | |||
+ | |||
+ | Notice that a new folder is created in the Data Tree for LINK_MODEL_BASED calculations. This folder now contains the Left Knee Angle and Right Knee Angle Signals. | ||
+ | \\ | ||
+ | {{: | ||
+ | |||
+ | === Using Pipeline Commands === | ||
+ | |||
+ | Pipeline commands can be used to create the model based data. The following commands will create the left and right knee angles: | ||
+ | |||
+ | < | ||
+ | Compute_Model_Based_Data | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! /AXIS1=X | ||
+ | ! /AXIS2=Y | ||
+ | ! /AXIS3=Z | ||
+ | ; | ||
+ | |||
+ | Compute_Model_Based_Data | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! /AXIS1=X | ||
+ | ! /AXIS2=Y | ||
+ | ! /AXIS3=Z | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | ==== Creating a Report ==== | ||
+ | |||
+ | |Once signals have been created, they can be added to a report. The report allows users to preview their data prior to exporting, or to share data (ex. a clinician).\\ \\ An example of a report may be seen on the right. The [[Visual3D: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
+ | === Pipeline commands === | ||
+ | |||
+ | A report may be saved as a .rgt file. The report may then be opened and applied to other subjects. The .rgt file also contains the signal definitions (the signals created using the Compute Model Based dialog/ | ||
+ | |||
+ | Graphs can also be created using the [[Visual3D: | ||
+ | |||
+ | ==== Updating the Model Based Computations and Graphs via Recalc ==== | ||
+ | |||
+ | If any modification has been made to the Visual3D workspace once the Model Based Computations and Graphs have already been created, it is recommended to execute the [[Visual3D: | ||
+ | |||
+ | Detailed information on the Recalc pipeline can be found [[Visual3D: | ||
+ | |||
+ | |||
visual3d/tutorials/knowledge_discovery/typical_processing_session.1721230970.txt.gz · Last modified: 2024/07/17 15:42 by sgranger