visual3d:tutorials:modeling:oxford_foot_model
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
visual3d:tutorials:modeling:oxford_foot_model [2024/06/17 18:25] – created sgranger | visual3d:tutorials:modeling:oxford_foot_model [2024/07/17 15:47] (current) – created sgranger | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | + | ====== Oxford Foot Model ====== | |
- | + | ||
**This tutorial describes C-Motion' | **This tutorial describes C-Motion' | ||
Line 22: | Line 20: | ||
The model you build in Visual3D will be dependent on the above options. | The model you build in Visual3D will be dependent on the above options. | ||
- | ==== Constructing a multi-segment foot model consistent with the Oxford Foot Model ==== | + | === Constructing a multi-segment foot model consistent with the Oxford Foot Model === |
- | [[Carson2001.png]]\\ | + | {{:Carson2001.png}}\\ |
- | [[Stebbins2006.png]]\\ | + | {{:Stebbins2006.png}}\\ |
\\ | \\ | ||
While we would recommend that users go through the tutorial to better understand how each segment is defined, the complete model template is available for download [[https:// | While we would recommend that users go through the tutorial to better understand how each segment is defined, the complete model template is available for download [[https:// | ||
Line 38: | Line 36: | ||
**Please note: If you have collected data for this tutorial using a Vicon system, do not apply the Oxford Foot Model plug-in in Nexus before importing the .c3d files in Visual3D. Running it prior to importing the .c3d files in Visual3D will make it more difficult to follow the tutorial since some marker names are modified by the Nexus processing.** | **Please note: If you have collected data for this tutorial using a Vicon system, do not apply the Oxford Foot Model plug-in in Nexus before importing the .c3d files in Visual3D. Running it prior to importing the .c3d files in Visual3D will make it more difficult to follow the tutorial since some marker names are modified by the Nexus processing.** | ||
- | ==== Marker Set ==== | + | === Marker Set === |
- | |[[OFM_Markerset.png]] | + | |{{:OFM_Markerset.png}} |
- | ==== Download and open the c3d files in Visual3D | + | === Download and open the c3d files in Visual3D === |
Download the zip file containing the [[https:// | Download the zip file containing the [[https:// | ||
Line 48: | Line 46: | ||
Unzip this file in a location of your choice. | Unzip this file in a location of your choice. | ||
- | |From the **File** menu select **Open.** | + | |From the **File** menu select **Open.** |
- | |From the "Open the movement trial" dialog navigate to the files you downloaded and select the files labeled // | + | |From the "Open the movement trial" dialog navigate to the files you downloaded and select the files labeled // |
Create a hybrid model - From the **Model** menu open **Create (Add Static Calibration File)** and select **Visual3D Hybrid Model.**\\ | Create a hybrid model - From the **Model** menu open **Create (Add Static Calibration File)** and select **Visual3D Hybrid Model.**\\ | ||
- | |Load the standing trial - From the " | + | |Load the standing trial - From the " |
- | |Assign the model to the movement trial - When the " | + | |Assign the model to the movement trial - When the " |
Visual3D will automatically open the Model Builder mode and your screen should look like the image below.\\ | Visual3D will automatically open the Model Builder mode and your screen should look like the image below.\\ | ||
\\ | \\ | ||
- | [[modelBuilderMode.jpg]]\\ | + | {{:modelBuilderMode.jpg}}\\ |
\\ | \\ | ||
As previously mentioned, the following markers should exist in the dynamic trials for the Oxford Foot Model: | As previously mentioned, the following markers should exist in the dynamic trials for the Oxford Foot Model: | ||
Line 90: | Line 88: | ||
The targets only used in the static are anatomic only targets and used to define the orientation of the segment, but not used to track the segment. These targets may be left on during the dynamic trials, or removed. | The targets only used in the static are anatomic only targets and used to define the orientation of the segment, but not used to track the segment. These targets may be left on during the dynamic trials, or removed. | ||
- | ==== Creating the Lowerlimb Plug-in Gait model ==== | + | === Creating the Lowerlimb Plug-in Gait model === |
As mentioned above, the Oxford Foot Model makes use of the [[Visual3D: | As mentioned above, the Oxford Foot Model makes use of the [[Visual3D: | ||
Line 96: | Line 94: | ||
Because the Oxford Foot Model was designed to be a stand-alone model, it is not necessary to combine this model with a lowerlimb model. | Because the Oxford Foot Model was designed to be a stand-alone model, it is not necessary to combine this model with a lowerlimb model. | ||
- | ==== Creating Subject Data / Metrics | + | === Creating Subject Data / Metrics === |
To build the model, some Subject Data / Metrics should be created.\\ | To build the model, some Subject Data / Metrics should be created.\\ | ||
Line 103: | Line 101: | ||
- | |**Marker_Radius: | + | |**Marker_Radius: |
\\ | \\ | ||
Line 109: | Line 107: | ||
**NOTE:** The Subject Data/ | **NOTE:** The Subject Data/ | ||
- | ==== Creating the Oxford Foot Model' | + | === Creating the Oxford Foot Model' |
In addition to the Plug-in Gait shank segments, the Oxford Foot Model has its own shank segments. This multi-segment foot model was designed to be self-contained allowing its use without the need to have a thigh nor a pelvis segment. Contrary to the many conventional gait models where the distal segment relies on the proximal segment to create the joint centre, each of the Oxford Foot Model' | In addition to the Plug-in Gait shank segments, the Oxford Foot Model has its own shank segments. This multi-segment foot model was designed to be self-contained allowing its use without the need to have a thigh nor a pelvis segment. Contrary to the many conventional gait models where the distal segment relies on the proximal segment to create the joint centre, each of the Oxford Foot Model' | ||
Line 115: | Line 113: | ||
In reality, it is our understanding that the Oxford Foot Model' | In reality, it is our understanding that the Oxford Foot Model' | ||
- | === Shank Landmarks | + | == Shank Landmarks == |
Before defining the Shank segments, Landmarks have to be created. | Before defining the Shank segments, Landmarks have to be created. | ||
Line 121: | Line 119: | ||
__Create the (R/L)PROT landmarks -__ | __Create the (R/L)PROT landmarks -__ | ||
- | |Go to the **Landmarks** tab, and click on **Add New Landmark**: | + | |Go to the **Landmarks** tab, and click on **Add New Landmark**: |
\\ | \\ | ||
__Create the (R/L)AJC_SK landmarks -__ | __Create the (R/L)AJC_SK landmarks -__ | ||
- | |Go to the **Landmarks** tab, and click on **Add New Landmark**: | + | |Go to the **Landmarks** tab, and click on **Add New Landmark**: |
- | === Defining the Shank === | + | == Defining the Shank == |
- | |**1. Create Right Shank OFM:**\\ \\ 1. In the Segment Name combo box type **Right Shank OFM**\\ \\ 2. Check the **Kinematic Only** Check Box\\ \\ 3. Select the **Create** button\\ \\ 4. In the **Right Shank OFM** tab, enter these values:\\ \\ | **Define Proximal Joint and Radius**\\ \\ **Lateral: | + | |**1. Create Right Shank OFM:**\\ \\ 1. In the Segment Name combo box type **Right Shank OFM**\\ \\ 2. Check the **Kinematic Only** Check Box\\ \\ 3. Select the **Create** button\\ \\ 4. In the **Right Shank OFM** tab, enter these values:\\ \\ | **Define Proximal Joint and Radius**\\ \\ **Lateral: |
- | ==== Creating the Hindfoot | + | === Creating the Hindfoot === |
- | === Hindfoot Landmarks | + | == Hindfoot Landmarks == |
Before defining the Hindfoot segments, Landmarks have to be created. | Before defining the Hindfoot segments, Landmarks have to be created. | ||
Line 140: | Line 138: | ||
__Create the (R/ | __Create the (R/ | ||
- | |Go to the **Landmarks** tab, and click on **Add New Landmark**: | + | |Go to the **Landmarks** tab, and click on **Add New Landmark**: |
__Create the (R/ | __Create the (R/ | ||
- | |Go to the **Landmarks** tab, and click on **Add New Landmark**: | + | |Go to the **Landmarks** tab, and click on **Add New Landmark**: |
- | === Creating the Hindfoot | + | == Creating the Hindfoot == |
- | |**1. Create Right Hindfoot: | + | |**1. Create Right Hindfoot: |
**NOTE:** After the segment has been created, the orientation of the segment coordinate system will need to be modified so the A/P axis is defined by **+Z** and the distal/ | **NOTE:** After the segment has been created, the orientation of the segment coordinate system will need to be modified so the A/P axis is defined by **+Z** and the distal/ | ||
- | ==== Creating the Forefoot | + | === Creating the Forefoot === |
- | === Forefoot Landmarks | + | == Forefoot Landmarks == |
Before defining the Forefoot segments, Landmarks have to be created. | Before defining the Forefoot segments, Landmarks have to be created. | ||
Line 160: | Line 158: | ||
__Create the (R/L)P1M_FF landmarks -__ | __Create the (R/L)P1M_FF landmarks -__ | ||
- | |Go to the **Landmarks** tab, and click on **Add New Landmark**: | + | |Go to the **Landmarks** tab, and click on **Add New Landmark**: |
__Create the (R/L)FF_O landmarks -__ | __Create the (R/L)FF_O landmarks -__ | ||
- | |Go to the **Landmarks** tab, and click on **Add New Landmark**: | + | |Go to the **Landmarks** tab, and click on **Add New Landmark**: |
__Create the (R/L)TOE_FF landmarks -__ | __Create the (R/L)TOE_FF landmarks -__ | ||
- | |Go to the **Landmarks** tab, and click on **Add New Landmark**: | + | |Go to the **Landmarks** tab, and click on **Add New Landmark**: |
- | === Defining the Forefoot | + | == Defining the Forefoot == |
- | |**1. Create Right Forefoot: | + | |**1. Create Right Forefoot: |
**NOTE:** After the segment has been created, the orientation of the segment coordinate system will need to be modified so the A/P axis is defined by **+Z** and the distal/ | **NOTE:** After the segment has been created, the orientation of the segment coordinate system will need to be modified so the A/P axis is defined by **+Z** and the distal/ | ||
- | ==== Creating the Hallux | + | === Creating the Hallux === |
- | === Hallux Landmarks | + | == Hallux Landmarks == |
Because there is only one marker on the Hallux, additional markers are still required to track the segment in the motion trials. | Because there is only one marker on the Hallux, additional markers are still required to track the segment in the motion trials. | ||
Line 184: | Line 182: | ||
__Create the (R/ | __Create the (R/ | ||
- | |Go to the **Landmarks** tab, and click on **Add New Landmark**: | + | |Go to the **Landmarks** tab, and click on **Add New Landmark**: |
- | === Defining the Hallux | + | == Defining the Hallux == |
While the Hallux is represented as a segment, only one marker is placed on the hallux. The Hallux segment therefore " | While the Hallux is represented as a segment, only one marker is placed on the hallux. The Hallux segment therefore " | ||
Line 193: | Line 191: | ||
- | |**1. Create Right Hallux:**\\ \\ 1. In the Segment Name combo box type **Right Hallux**\\ \\ 2. Check the **Kinematic Only** Check Box\\ \\ 3. Select the **Create** button\\ \\ 4. In the **Right Hallux** tab, enter these values:\\ \\ | **Define Proximal Joint and Radius**\\ \\ **Lateral: | + | |**1. Create Right Hallux:**\\ \\ 1. In the Segment Name combo box type **Right Hallux**\\ \\ 2. Check the **Kinematic Only** Check Box\\ \\ 3. Select the **Create** button\\ \\ 4. In the **Right Hallux** tab, enter these values:\\ \\ | **Define Proximal Joint and Radius**\\ \\ **Lateral: |
**NOTE:** After the segment has been created, the orientation of the segment coordinate system will need to be modified so the A/P axis is defined by **-Z** and the distal/ | **NOTE:** After the segment has been created, the orientation of the segment coordinate system will need to be modified so the A/P axis is defined by **-Z** and the distal/ | ||
- | ==== Rotate Segment Coordinate System | + | === Rotate Segment Coordinate System === |
The final orientation of the segment coordinate systems should follow the same convention as the proximal segment. The orientation of the Hindfoot, Forefoot, and Hallux segments will need to be rotated.\\ | The final orientation of the segment coordinate systems should follow the same convention as the proximal segment. The orientation of the Hindfoot, Forefoot, and Hallux segments will need to be rotated.\\ | ||
Line 205: | Line 203: | ||
- | |**To modify the segment coordinate system:**\\ 1. Go to the **Segment Properties** tab\\ 2. Set the **Segment Name** to the appropriate segment\\ 3. Click **Modify Segment Coordinate System**\\ | + | |**To modify the segment coordinate system:**\\ 1. Go to the **Segment Properties** tab\\ 2. Set the **Segment Name** to the appropriate segment\\ 3. Click **Modify Segment Coordinate System**\\ |
**For the Hindfoot and Forefoot, the segment coordinate system should be modified so that the A/P Axis is set to +Z and the Distal to Proximal set to -Y:**\\ | **For the Hindfoot and Forefoot, the segment coordinate system should be modified so that the A/P Axis is set to +Z and the Distal to Proximal set to -Y:**\\ | ||
- | | __**Original: | + | | __**Original: |
**For the Hallux, the segment coordinate system should be modified so that the A/P Axis is set to -Z and the Distal to Proximal set to +Y.** | **For the Hallux, the segment coordinate system should be modified so that the A/P Axis is set to -Z and the Distal to Proximal set to +Y.** | ||
Line 217: | Line 215: | ||
- | === Overview of the Segment Coordinate Systems | + | == Overview of the Segment Coordinate Systems == |
\\ | \\ | ||
Line 226: | Line 224: | ||
- | | | + | | |
\\ | \\ | ||
- | ==== Computing Joint Angles | + | === Computing Joint Angles === |
- | Computing the Oxford Foot Model joint angles uses Grood and Suntay' | + | Computing the Oxford Foot Model joint angles uses Grood and Suntay' |
The following details the joint angle output by the Oxford Foot Model:\\ | The following details the joint angle output by the Oxford Foot Model:\\ | ||
Line 247: | Line 245: | ||
|**RHXFFA: | |**RHXFFA: | ||
- | ==== Generating a Report | + | === Generating a Report === |
The joint angles computed above, will be plotted as a percent of the gait cycle between events. To do this gait events must be identified in the dynamic trials. | The joint angles computed above, will be plotted as a percent of the gait cycle between events. To do this gait events must be identified in the dynamic trials. | ||
Line 253: | Line 251: | ||
The Automatic Gait Events pipeline command may be used to identify gait events once [[Visual3D: | The Automatic Gait Events pipeline command may be used to identify gait events once [[Visual3D: | ||
- | === Create Kinetic Foot Segment | + | == Create Kinetic Foot Segment == |
Before V3D can automatically create [[Visual3D: | Before V3D can automatically create [[Visual3D: | ||
- | |**1. Create Right Kinetic Foot Segment: | + | |**1. Create Right Kinetic Foot Segment: |
- | === Create Automatic Gait Events | + | == Create Automatic Gait Events == |
Once the Right/Left Foot segments have been created, Visual3D should have created automatic force assignments. The blue force vector shown in the 3D viewer of the Signals and Events tab indicates that a force has been assigned to a segment and will be used for kinetic calculations (unassigned force vectors are shown in red). Force assignments may be modified by going to Force -> View/Edit Segment to Force Assignments. | Once the Right/Left Foot segments have been created, Visual3D should have created automatic force assignments. The blue force vector shown in the 3D viewer of the Signals and Events tab indicates that a force has been assigned to a segment and will be used for kinetic calculations (unassigned force vectors are shown in red). Force assignments may be modified by going to Force -> View/Edit Segment to Force Assignments. | ||
Line 265: | Line 263: | ||
**To create Automatic Gait Events using the pipeline:** | **To create Automatic Gait Events using the pipeline:** | ||
- | |1. Set the active file to " | + | |1. Set the active file to " |
- | |3. Expand **Event Creation**\\ 4. Double click **Automatic_Gait_Events**\\ \\ \\ The Automatic Gait Events command should move into the Main Pipeline\\ \\ 5. Double click the **Automatic_Gait_Events** command in the Main Pipeline and the dialog should open:\\ \\ \\ **Check** Use Pattern Recognition to Create (L/R)HS and (L/R)TO labels\\ \\ Set the Frame Window for Pattern Recognition to **8**\\ \\ Set the FP Gravity Direction to **Z**\\ \\ Click **Done**\\ \\ 6. Click **Execute Pipeline**\\ | + | |3. Expand **Event Creation**\\ 4. Double click **Automatic_Gait_Events**\\ \\ \\ The Automatic Gait Events command should move into the Main Pipeline\\ \\ 5. Double click the **Automatic_Gait_Events** command in the Main Pipeline and the dialog should open:\\ \\ \\ **Check** Use Pattern Recognition to Create (L/R)HS and (L/R)TO labels\\ \\ Set the Frame Window for Pattern Recognition to **8**\\ \\ Set the FP Gravity Direction to **Z**\\ \\ Click **Done**\\ \\ 6. Click **Execute Pipeline**\\ |
Events should then be manually checked to ensure the correct events were identified. More information about Event Processing can be found [[Visual3D: | Events should then be manually checked to ensure the correct events were identified. More information about Event Processing can be found [[Visual3D: | ||
- | === Plotting Signals | + | == Plotting Signals == |
Once the joint angles have been computed using the Compute Model Based Data function, these can then be graphed in a report. For details on how to create a report, please consult the [[Visual3D: | Once the joint angles have been computed using the Compute Model Based Data function, these can then be graphed in a report. For details on how to create a report, please consult the [[Visual3D: | ||
Line 277: | Line 275: | ||
There is no predefined format for the Oxford Foot Model, and it is up to the user to choose how to present the joint angles. For the purpose of this tutorial, a report template was created to plot the joint angles. The report template can be downloaded [[https:// | There is no predefined format for the Oxford Foot Model, and it is up to the user to choose how to present the joint angles. For the purpose of this tutorial, a report template was created to plot the joint angles. The report template can be downloaded [[https:// | ||
- | [[OFM_HFTBA.png{{/ | + | {{:OFM_HFTBA.png}}{{:OFM_FFTBA.png}}{{:OFM_FFHFA.png}}{{:OFM_HXFFA.png}}{{:OFM_HFTFL.png}} |
- | + | ||
visual3d/tutorials/modeling/oxford_foot_model.1718648728.txt.gz · Last modified: 2024/06/17 18:25 by sgranger