====== Oxford Foot Model ====== **This tutorial describes C-Motion's interpretation (or "best guess") of the Oxford Foot Model. In it's current form, the segment's definitions (coordinate systems) are exactly those of the Oxford Foot Model. It is however not possible to obtain the //exact// same results as those generated using Vicon's Nexus software due to the use of different [[Visual3D:Documentation:Kinematics_and_Kinetics:Pose_Estimation|pose estimation]] methods in Visual3D.** **Please contact C-Motion's support (support@c-motion.com) if you find any discrepancy or to suggest a method that replicates Nexus' results** **This page is currently under construction. Make sure to read all instructions and comments before attempting to build the Oxford Foot Model as we cannot guaranty that the results generated from the model detailed on this page will be the same as those generated through the Oxford Foot Model Plug-in in Vicon's Nexus. An updated version of the model should be added in the next couple of weeks.** The Oxford Foot Model has gone through many iterations since its first publication, and there are many other multi-segment foot models in the literature. Visual3D is a general tool capable of modeling all of the different foot models. \\ The Oxford Foot Model is a good choice for analyzing data from Children with Cerebral Palsy. If this is not your patient population, other options and other multi-segment foot models may be more suitable. There are 2 different options when creating the Oxford Foot Model. The first one involves optimizing the thigh rotation offsets so that the dynamic range of knee varus/valgusis minimized. The thigh and shank's coordinate systems are them modified accordingly. The second option is to force the hindfoot and/or forefoot to be parallel to the floor. 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 === {{:Carson2001.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://www.has-motion.com/download/examples/OxfordFootModel_Templates.zip|here]]. Please note that the same exact marker naming convention has to be used when labeling the markers in order for the model template to work. Also make sure to update all relevant subject metrics: Height, Mass, Left and Right Leg Length, Knee and Ankle Width.\\ \\ While the Oxford Foot Model is a multi-segment foot model, it is often combined with a lower body model. When used within Nexus, the pelvis, thighs, shanks and single foot segments are copied from Vicon's Plug-in Gait lowerlimb model. The hindfoot and forefoot are added to create the multi-segment foot model. Because the Oxford Foot Model was intended to be independent of other models, and because of the way the Plug-in Gait model relies on the proximal segment to created the distal joint centre (used by the distal segment), a second shank definition had to be added to allow independent outputs. \\ **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 === |{{:OFM_Markerset.png}} |L/RTIB = Lateral shank\\ \\ L/RTUB = Tibial tuberosity\\ \\ L/RSHN = Anterior aspect of the shin(in line with the L/RTUB and "anatomical ankle joint centre"\\ \\ L/RHFB = Head of fibula\\ \\ L/RANK = Lateral malleolus\\ \\ L/RMMA = Medial malleolus\\ \\ L/RHEE = Inferior heel\\ \\ L/RPCA = Superior heel\\ \\ L/RCPG = Posterior calcaneus wand marker\\ \\ L/RSTL = Sustentaculum tali (should be placed same distance from the heel marker with the L/RCA marker)\\ \\ L/RLCA = Lateral calcaneus (should be placed same distance from the heel marker with the L/RSTL marker)\\ \\ L/RP1M = Base of the 1st metatarsal\\ \\ L/RD1M = Head of the 1st metatarsal\\ \\ L/RP5M = Base of the 5th metatarsal\\ \\ L/RD5M = Head of the 5th metatarsal\\ \\ L/RHLX = Base of hallux | === Download and open the c3d files in Visual3D === Download the zip file containing the [[https://www.has-motion.com/download/examples/OFM_C3D_Sample.zip|Oxford Foot Model Sample .c3d files]] Unzip this file in a location of your choice. |From the **File** menu select **Open.** | {{:createHybridModel.jpg}}\\ \\ | |From the "Open the movement trial" dialog navigate to the files you downloaded and select the files labeled //OFM_Walk1// to //OFM_Walk6//. Click **Open.**\\ \\ \\ **Note:** If you would like to perform your own motion capture for this model, make sure to use the same marker naming convention as listed above to avoid confusion.\\ | {{:OFM_FileOpen.png}}\\ \\ | 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 "Select the calibration file for the new model" dialog box select the file labeled //OFM_Static// and click **Open.**\\ | {{:OFM_FileStatic.png}}\\ \\ | |Assign the model to the movement trial - When the "Assign Models to Motion Data" window opens select the model labeled //OFM_Static// from the drop down list, and check the box associated with all //OFM_Walk// trials, then click **OK.**\\ | {{:OFM_ModelAssign.png}}\\ | Visual3D will automatically open the Model Builder mode and your screen should look like the image below.\\ \\ {{:modelBuilderMode.jpg}}\\ \\ As previously mentioned, the following markers should exist in the dynamic trials for the Oxford Foot Model: RHFB/LHFB RTUB/LTUB RTIB/LTIB* RSHN/LSHN RANK/LANK* RPCA/LPCA RCPG/LCPG RHEE/LHEE* RSTL/LSTL RP1M/LP1M RHLX/LHLX RTOE/LTOE* RD5M/LD5M P5M/LP5M RLCA/LLCA Markers identified with an * are also used by Vicon's Plug-in gait model. \\ The following is a list of markers only used in the static trail: RMMA/LMMA RPCA/LPCA RD1M/LD1M 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 === As mentioned above, the Oxford Foot Model makes use of the [[Visual3D:Tutorials:Modeling:Plug-In_Gait_Lower_Limb|Lowerlimb Plug-in Gait model]]. It is therefore useful to created this model before creating the multi-segment foot model. However, this multi-segment foot model can be combined with any lowerlimb model in Visual3D. It is thus recommended to use a more robust lowerlimb markerset/model if and when possible. Please note that doing so will generate slightly different results when compared to the standard Oxford Foot Model outputs. 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 === To build the model, some Subject Data / Metrics should be created.\\ In the Model tab, click on the **Subject Data / Metrics button**.\\ Click on the //Add New Item// to create each of the following metrics:\\ |**Marker_Radius:**\\ \\ - Click on **Subject Data/Metrics** tab\\ - Click **Add New Item**\\ - Type in //Marker_Radius// in **Name**\\ - Type in //0.007// in **Value or Expression**\\ - Click on **OK**\\ \\ **RP1P5dist:**\\ \\ - Click on **Subject Data/Metrics** tab\\ - Click **Add New Item**\\ - Type in //RP1P5dist// in **Name**\\ - Type in //DISTANCE(RP1M,RP5M)// in **Value or Expression**\\ - Click on **OK**\\ \\ **LP1P5dist:**\\ \\ - Click on **Subject Data/Metrics** tab\\ - Click **Add New Item**\\ - Type in //LP1P5dist// in **Name**\\ - Type in //DISTANCE(LP1M,LP5M)// in **Value or Expression**\\ - Click on **OK**\\ \\ **RProxFFscale:**\\ \\ - Click on **Subject Data/Metrics** tab\\ - Click **Add New Item**\\ - Type in //RProxFFscale// in **Name**\\ - Type in //(RP1P5dist - Marker_Radius)/(2*RP1P5dist)// in **Value or Expression**\\ - Click on **OK**\\ \\ **LProxFFscale:**\\ \\ - Click on **Subject Data/Metrics** tab\\ - Click **Add New Item**\\ - Type in //LProxFFscale// in **Name**\\ - Type in //(LP1P5dist - Marker_Radius)/(2*LP1P5dist)// in **Value or Expression**\\ - Click on **OK** | {{:SubjectDataMetricsOFM.png}}| \\ \\ **NOTE:** The Subject Data/Metrics rely on landmarks that will be created later in this tutorial. Until the landmarks are created these metrics will have "No Data" listed as the value, once the landmarks have been created "No Data" will be replaced with a numerical value. === Creating the Oxford Foot Model's Tibia segment === 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's segments are therefore completely independent on each other. In reality, it is our understanding that the Oxford Foot Model's shank segments share the exact same coordinate system as that of the Plug-In gait. However, different markers are used for its tracking. This particular segment is only used when computing the shank's orientation relative to the lab. == Shank Landmarks == Before defining the Shank segments, Landmarks have to be created. __Create the (R/L)PROT landmarks -__ |Go to the **Landmarks** tab, and click on **Add New Landmark**:\\ \\ Landmark Name: RPROT\\ \\ Starting Point: RHFB\\ \\ Ending Point: RANK\\ \\ Lateral object: RMMA\\ \\ Project From: RTUB\\ \\ Go to the **Landmarks** tab, and click on **Add New Landmark**:\\ \\ Landmark Name: LPROT\\ \\ Starting Point: LHFB\\ \\ Ending Point: LANK\\ \\ Lateral object: LMMA\\ \\ Project From: LTUB | {{:RPROT_OFM.png}}\\ | \\ __Create the (R/L)AJC_SK landmarks -__ |Go to the **Landmarks** tab, and click on **Add New Landmark**:\\ \\ Landmark Name: RAJC_SK\\ \\ Starting Point: RANK\\ \\ Ending Point: RMMA\\ \\ Landmark Offset from Start Point or Segment Origin\\ \\ Offset Using the Following ML/AP/AXIAL Offsets\\ \\ AXIAL=0.5\\ \\ Check the **Offset By Percent** option\\ \\ Go to the **Landmarks** tab, and click on **Add New Landmark**:\\ \\ Landmark Name: LAJC_SK\\ \\ Starting Point: LANK\\ \\ Ending Point: LMMA\\ \\ Landmark Offset from Start Point or Segment Origin\\ \\ Offset Using the Following ML/AP/AXIAL Offsets\\ \\ AXIAL=0.5\\ \\ Check the **Offset By Percent** option | {{:RAJC_SK_OFM.png}}\\ | == 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:** //None//     **Joint:** //RPROT//     **Medial:** //None//     \\ \\    **Radius:** //0.1//\\ \\    **Define Distal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //RAJC_SK//     **Medial:** //None//     \\ \\    **Radius:** //0.1//\\ \\    **Extra Target to define Orientation**\\ \\    **Select:** //Lateral//     //RANK//\\ \\    **Select Tracking Targets:**\\ \\       **Check:** //RANK, RHFB, RSHN, RTIB, RTUB// |\\ \\ 5. Click on **Build Model.**\\ \\ 6. Click on **Close Tab** before proceeding.\\ \\ **2. Create Left Shank OFM:**\\ \\ 1. In the Segment Name combo box type **Left Shank OFM**\\ \\ 2. Check the **Kinematic Only** Check Box\\ \\ 3. Select the **Create** button\\ \\ 4. In the **Left Shank OFM** tab, enter these values:\\ \\ |   **Define Proximal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //LPROT//     **Medial:** //None//     \\ \\    **Radius:** //0.1//\\ \\    **Define Distal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //LAJC_SK//     **Medial:** //None//     \\ \\    **Radius:** //0.1//\\ \\    **Extra Target to define Orientation**\\ \\    **Select:** //Lateral//     //LANK//\\ \\    **Select Tracking Targets:**\\ \\       **Check:** //LANK, LHFB, LSHN, LTIB, LTUB// |\\ \\ 5. Click on **Build Model.**\\ \\ 6. Click on **Close Tab** before proceeding. | {{:RSK_OFM.png}}\\ | === Creating the Hindfoot === == Hindfoot Landmarks == Before defining the Hindfoot segments, Landmarks have to be created. __Create the (R/L)MidHeel landmarks -__ |Go to the **Landmarks** tab, and click on **Add New Landmark**:\\ \\ Landmark Name: RMidHeel\\ \\ Starting Point: RLCA\\ \\ Ending Point: RSTL\\ \\ Landmark Offset from Start Point or Segment Origin\\ \\ Offset Using the Following ML/AP/AXIAL Offsets\\ \\ AXIAL=0.5\\ \\ Check the **Offset By Percent** option\\ \\ \\ Go to the **Landmarks** tab, and click on **Add New Landmark**:\\ \\ Landmark Name: LMidHeel\\ \\ Starting Point: LLCA\\ \\ Ending Point: LSTL\\ \\ Landmark Offset from Start Point or Segment Origin\\ \\ Offset Using the Following ML/AP/AXIAL Offsets\\ \\ AXIAL=0.5\\ \\ Check the **Offset By Percent** option | {{:RMidHeel_OFM.png}}\\ | __Create the (R/L)P5Mproj landmarks -__ |Go to the **Landmarks** tab, and click on **Add New Landmark**:\\ \\ Landmark Name: RP5Mproj\\ \\ Starting Point: RHEE\\ \\ Ending Point: RMidHeel\\ \\ Lateral object: RPCA\\ \\ Project From: RP5M\\ \\ Go to the **Landmarks** tab, and click on **Add New Landmark**:\\ \\ Landmark Name: LP5Mproj\\ \\ Starting Point: LHEE\\ \\ Ending Point: LMidHeel\\ \\ Lateral object: LPCA\\ \\ Project From: LP5M | {{:RP5Mproj_OFM.png}}\\ | == Creating the Hindfoot == |**1. Create Right Hindfoot:**\\ \\ 1. In the Segment Name combo box type **Right Hindfoot**\\ \\ 2. Check the **Kinematic Only** Check Box\\ \\ 3. Select the **Create** button\\ \\ 4. In the **Right Hindfoot** tab, enter these values:\\ \\ |   **Define Proximal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //RHEE//     **Medial:** //None//     \\ \\    **Radius:** //0.1//\\ \\    **Define Distal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //RP5Mproj//     **Medial:** //None//     \\ \\    **Radius:** //0.1//\\ \\    **Extra Target to define Orientation**\\ \\    **Select:** //Anterior//     //RPCA//\\ \\    **Select Tracking Targets:**\\ \\       **Check:** //RCPG, RHEE, RLCA, RSTL// |\\ \\ 5. Click on **Build Model.**\\ \\ 6. Click on **Close Tab** before proceeding.\\ \\ **2. Create Left Hindfoot:**\\ \\ 1. In the Segment Name combo box type **Left Hindfoot**\\ \\ 2. Check the **Kinematic Only** Check Box\\ \\ 3. Select the **Create** button\\ \\ 4. In the **Left Hindfoot** tab, enter these values:\\ \\ |   **Define Proximal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //LHEE//     **Medial:** //None//     \\ \\    **Radius:** //0.1//\\ \\    **Define Distal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //LP5Mproj//     **Medial:** //None//     \\ \\    **Radius:** //0.1//\\ \\    **Extra Target to define Orientation**\\ \\    **Select:** //Anterior//     //LPCA//\\ \\    **Select Tracking Targets:**\\ \\       **Check:** //LCPG, LHEE, LLCA, LSTL// |\\ \\ 5. Click on **Build Model.**\\ \\ 6. Click on **Close Tab** before proceeding. | {{:Hindfoot_OFM.png}}\\ | **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/proximal axis is defined by **-Y**. This may be done now or at the [[#Rotate_Segment_Coordinate_System|end of the tutorial]] when it is explained. === Creating the Forefoot === == Forefoot Landmarks == Before defining the Forefoot segments, Landmarks have to be created. __Create the (R/L)P1M_FF landmarks -__ |Go to the **Landmarks** tab, and click on **Add New Landmark**:\\ \\ Landmark Name: RP1M_FF\\ \\ Starting Point: RD1M\\ \\ Ending Point: RP5M\\ \\ Lateral object: RD5M\\ \\ Project From: RP1M\\ \\ Go to the **Landmarks** tab, and click on **Add New Landmark**:\\ \\ Landmark Name: LP1M_FF\\ \\ Starting Point: LD1M\\ \\ Ending Point: LP5M\\ \\ Lateral object: LD5M\\ \\ Project From: LP1M | {{:RP1M_FF_OFM.png}}\\ | __Create the (R/L)FF_O landmarks -__ |Go to the **Landmarks** tab, and click on **Add New Landmark**:\\ \\ Landmark Name: RFF_O\\ \\ Starting Point: RP1M_FF\\ \\ Ending Point: RP5M\\ \\ Landmark Offset from Start Point or Segment Origin\\ \\ Offset Using the Following ML/AP/AXIAL Offsets\\ \\ AXIAL=RProxFFscale\\ \\ Check the **Offset By Percent** option\\ \\ Go to the **Landmarks** tab, and click on **Add New Landmark**:\\ \\ Landmark Name: LFF_O\\ \\ Starting Point: LP1M_FF\\ \\ Ending Point: LP5M\\ \\ Landmark Offset from Start Point or Segment Origin\\ \\ Offset Using the Following ML/AP/AXIAL Offsets\\ \\ AXIAL=LProxFFscale\\ \\ Check the **Offset By Percent** option | {{:RFF_O_OFM.png}}\\ | __Create the (R/L)TOE_FF landmarks -__ |Go to the **Landmarks** tab, and click on **Add New Landmark**:\\ \\ Landmark Name: RTOE_FF\\ \\ Starting Point: RD1M\\ \\ Ending Point: RD5M\\ \\ Lateral object: RP5M\\ \\ Project From: RTOE\\ \\ Go to the **Landmarks** tab, and click on **Add New Landmark**:\\ \\ Landmark Name: LTOE_FF\\ \\ Starting Point: LD1M\\ \\ Ending Point: LD5M\\ \\ Lateral object: LP5M\\ \\ Project From: LTOE | {{:RTOE_FF_OFM.png}}\\ | == Defining the Forefoot == |**1. Create Right Forefoot:**\\ \\ 1. In the Segment Name combo box type **Right Forefoot**\\ \\ 2. Check the **Kinematic Only** Check Box\\ \\ 3. Select the **Create** button\\ \\ 4. In the **Right Forefoot** tab, enter these values:\\ \\ |   **Define Proximal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //RFF_O//     **Medial:** //None//     \\ \\    **Radius:** //0.1//\\ \\    **Define Distal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //RTOE_FF//     **Medial:** //None//     \\ \\    **Radius:** //0.1//\\ \\    **Extra Target to define Orientation**\\ \\    **Select:** //Lateral//     //RD5M//\\ \\    **Select Tracking Targets:**\\ \\       **Check:** //RD5M, RP1M, RP5M, RTOE// |\\ \\ 5. Click on **Build Model.**\\ \\ 6. Click on **Close Tab** before proceeding.\\ \\ **2. Create Left Forefoot:**\\ \\ 1. In the Segment Name combo box type **Left Forefoot**\\ \\ 2. Check the **Kinematic Only** Check Box\\ \\ 3. Select the **Create** button\\ \\ 4. In the **Left Forefoot** tab, enter these values:\\ \\ |   **Define Proximal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //LFF_O//     **Medial:** //None//     \\ \\    **Radius:** //0.1//\\ \\    **Define Distal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //LTOE_FF//     **Medial:** //None//     \\ \\    **Radius:** //0.1//\\ \\    **Extra Target to define Orientation**\\ \\    **Select:** //Lateral//     //LD5M//\\ \\    **Select Tracking Targets:**\\ \\       **Check:** //LD5M, LP1M, LP5M, LTOE// |\\ \\ 5. Click on **Build Model.**\\ \\ 6. Click on **Close Tab** before proceeding. | {{:Forefoot_OFM.png}}\\ | **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/proximal axis is defined by **-Y**. This may be done now or at the [[#Rotate_Segment_Coordinate_System|end of the tutorial]] when it is explained. === Creating the Hallux === == Hallux Landmarks == Because there is only one marker on the Hallux, additional markers are still required to track the segment in the motion trials. __Create the (R/L)D1M_HLX landmarks -__ |Go to the **Landmarks** tab, and click on **Add New Landmark**:\\ \\ Landmark Name: RD1M_HLX\\ \\ Existing Segment: Right Forefoot\\ \\ Landmark Offset from Start Point or Segment Origin\\ \\ Offset to Existing Calibration Target or Landmark: RD1M\\ \\ Go to the **Landmarks** tab, and click on **Add New Landmark**:\\ \\ Landmark Name: LD1M_HLX\\ \\ Existing Segment: Left Forefoot\\ \\ Landmark Offset from Start Point or Segment Origin\\ \\ Offset to Existing Calibration Target or Landmark: LD1M | {{:RD1M_HLX_OFM.png}}\\ | == Defining the Hallux == While the Hallux is represented as a segment, only one marker is placed on the hallux. The Hallux segment therefore "shares" the medio-lateral axis of the Forefoot segment so that a coordinate system can be created for the Hallux. \\ |**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:** //None//     **Joint:** //RHLX//     **Medial:** //None//     \\ \\    **Radius:** //0.1//\\ \\    **Define Distal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //RD1M//     **Medial:** //None//     \\ \\    **Radius:** //0.1//\\ \\    **Extra Target to define Orientation**\\ \\    **Select:** //Lateral//     //RD5M//\\ \\    **Select Tracking Targets:**\\ \\       **Check:** //RD1M_HLX, RD5M, RHLX// |\\ \\ 5. Click on **Build Model.**\\ \\ 6. Click on **Close Tab** before proceeding.\\ \\ **2. Create Left Hallux:**\\ \\ 1. In the Segment Name combo box type **Left Hallux**\\ \\ 2. Check the **Kinematic Only** Check Box\\ \\ 3. Select the **Create** button\\ \\ 4. In the **Left Hallux** tab, enter these values:\\ \\ |   **Define Proximal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //LHLX//     **Medial:** //None//     \\ \\    **Radius:** //0.1//\\ \\    **Define Distal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //LD1M//     **Medial:** //None//     \\ \\    **Radius:** //0.1//\\ \\    **Extra Target to define Orientation**\\ \\    **Select:** //Lateral//     //LD5M//\\ \\    **Select Tracking Targets:**\\ \\       **Check:** //LD1M_HLX, LD5M, LHLX// |\\ \\ 5. Click on **Build Model.**\\ \\ 6. Click on **Close Tab** before proceeding. | {{:Hallux_OFM.png}}\\ | **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/proximal axis is defined by **+Y**. This may be done now or at the [[#Rotate_Segment_Coordinate_System|end of the tutorial]] when it is explained. === 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.\\ \\ For this tutorial, the correct orientation is X (red) mediolateral, Y (green) A/P, and Z (blue) up. This can be seen in the image [[#Overview_of_the_Segment_Coordinate_Systems|below]].\\ \\ |**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**\\ | {{:SegmentProperties_OFM.png}}| **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:**__\\ \\ {{:OriginalSegmentCoordinateSystem_OFM.png}} | __**Modified:**__\\ \\ {{:ModifiedSegmentCoordinateSystem_OFM.png}} | **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.** \\ == Overview of the Segment Coordinate Systems == \\ Shown below is the correct orientation of the segment coordinate systems (the coordinate systems must be modified prior to this).\\ \\ **NOTE:** The bones will not appear because the model file is not specified. To specify the model file, go to Segment Properties and browse for the model file (right: rshank.v3g, left: lshank.v3g). The kinetic foot segment will be created later in this tutorial.\\ \\ | {{:OFM_Final_SCS.png}} | \\ === Computing Joint Angles === Computing the Oxford Foot Model joint angles uses Grood and Suntay's Joint Coordinate system, with a Cardan sequence of XYZ. If you are unsure as to how to do this processing in Visual3D, please consult the [[Visual3D:Tutorials:Kinematics_and_Kinetics:Model_Based_Computations|Model Based Computations tutorial]].\\ The following details the joint angle output by the Oxford Foot Model:\\ |__**Right Joint Angles:**__ |__**Left Joint Angles:**__ | |**RHFTBA:**\\ \\ \\ **Data Name**= RHFTBA\\ \\ **Folder**= ORIGINAL\\ \\ **Model Based Item Properties**= JOINT_ANGLE\\ \\ **Negate X, Y, Z**= All Unchecked\\ \\ **Normalization**= Normalization Off\\ \\ **Segment**= Right Hindfoot\\ \\ **Reference Segment**= Right Shank OFM\\ \\ **Cardan Sequence**= X-Y-Z\\ |**LHFTBA:**\\ \\ \\ **Data Name**= LHFTBA\\ \\ **Folder**= ORIGINAL\\ \\ **Model Based Item Properties**= JOINT_ANGLE\\ \\ **Negate X, Y, Z**= Y and Z checked\\ \\ **Normalization**= Normalization Off\\ \\ **Segment**= Left Hindfoot\\ \\ **Reference Segment**= Left Shank OFM\\ \\ **Cardan Sequence**= X-Y-Z\\ | |**RFFTBA:**\\ \\ \\ **Data Name**= RFFTBA\\ \\ **Folder**= ORIGINAL\\ \\ **Model Based Item Properties**= JOINT_ANGLE\\ \\ **Negate X, Y, Z**= All Unchecked\\ \\ **Normalization**= Normalization Off\\ \\ **Segment**= Right Forefoot\\ \\ **Reference Segment**= Right Shank OFM\\ \\ **Cardan Sequence**= X-Y-Z\\ |**LFFTBA:**\\ \\ \\ **Data Name**= LFFTBA\\ \\ **Folder**= ORIGINAL\\ \\ **Model Based Item Properties**= JOINT_ANGLE\\ \\ **Negate X, Y, Z**= Y and Z checked\\ \\ **Normalization**= Normalization Off\\ \\ **Segment**= Left Forefoot\\ \\ **Reference Segment**= Left Shank OFM\\ \\ **Cardan Sequence**= X-Y-Z\\ | |**RFFHFA:**\\ \\ \\ **Data Name**= RFFHFA\\ \\ **Folder**= ORIGINAL\\ \\ **Model Based Item Properties**= JOINT_ANGLE\\ \\ **Negate X, Y, Z**= All Unchecked\\ \\ **Normalization**= Normalization Off\\ \\ **Segment**= Right Forefoot\\ \\ **Reference Segment**= Right Hindfoot\\ \\ **Cardan Sequence**= X-Y-Z\\ |**LFFHFA:**\\ \\ \\ **Data Name**= LFFHFA\\ \\ **Folder**= ORIGINAL\\ \\ **Model Based Item Properties**= JOINT_ANGLE\\ \\ **Negate X, Y, Z**= All Unchecked\\ \\ **Normalization**= Normalization Off\\ \\ **Segment**= Left Forefoot\\ \\ **Reference Segment**= Left Hindfoot\\ \\ **Cardan Sequence**= X-Y-Z\\ | |**RHXFFA:**\\ \\ \\ **Data Name**= RHXFFA\\ \\ **Folder**= ORIGINAL\\ \\ **Model Based Item Properties**= JOINT_ANGLE\\ \\ **Negate X, Y, Z**= All Unchecked\\ \\ **Normalization**= Normalization Off\\ \\ **Segment**= Right Hallux\\ \\ **Reference Segment**= Right Forefoot\\ \\ **Cardan Sequence**= X-Y-Z\\ \\ \\ **Only the X component should be used** |**LHXFFA:**\\ \\ \\ **Data Name**= LHXFFA\\ \\ **Folder**= ORIGINAL\\ \\ **Model Based Item Properties**= JOINT_ANGLE\\ \\ **Negate X, Y, Z**= All Unchecked\\ \\ **Normalization**= Normalization Off\\ \\ **Segment**= Left Hallux\\ \\ **Reference Segment**= Left Forefoot\\ \\ **Cardan Sequence**= X-Y-Z\\ \\ \\ **Only the X component should be used** | === 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 Automatic Gait Events pipeline command may be used to identify gait events once [[Visual3D:Documentation:Kinematics_and_Kinetics:External_Forces:Force_Assignment|force assignments]] have been created. Force assignments will be automatically created once a kinetic foot segment has been defined. If a kinetic foot segment has already been defined, skip ahead to [[#Create_Automatic_Gait_Events_2|Automatic Gait Events]] section. == Create Kinetic Foot Segment == Before V3D can automatically create [[Visual3D:Documentation:Kinematics_and_Kinetics:External_Forces:Force_Assignment|force assignments]], it's necessary to create a kinetic foot segment. The foot segment may be defined using the typical [[Visual3D:Tutorials:Modeling:Plug-In_Gait_Lower_Limb#Creating_a_the_Foot_Segments|Plugin Gait]] definition, or using the modified version described below. |**1. Create Right Kinetic Foot Segment:**\\ \\ 1. In the Segment Name combo box type **Right Foot**\\ \\ 2. **Do NOT** check the "Kinematic Only" Check Box\\ \\ 3. Select the **Create** button\\ \\ 4. In the **Right Foot** tab, enter these values:\\ \\ |   **Define Proximal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //RAJC_SK//     **Medial:** //None//     \\ \\    **Radius:** //0.5*DISTANCE(RANK,RMMA)//\\ \\    **Define Distal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //RTOE//     **Medial:** //None//     \\ \\    **Radius:** //0.5*DISTANCE(RANK,RMMA)//\\ \\    **Extra Target to define Orientation**\\ \\    **Select:** //Posterior//     //RHEE//\\ \\    **Select Tracking Targets:**\\ \\      //RD5M//, //RHEE//, //RTOE// |\\ \\ 5. Click on **Build Model.**\\ \\ 6. Click on **Close Tab** before proceeding.\\ \\ **2. Create Left Kinetic Foot Segment:**\\ \\ 1. In the Segment Name combo box type **Left Foot**\\ \\ 2. **Do NOT** check the "Kinematic Only" Check Box\\ \\ 3. Select the **Create** button\\ \\ 4. In the **Left Foot** tab, enter these values:\\ \\ |   **Define Proximal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //LAJC_SK//     **Medial:** //None//     \\ \\    **Radius:** //0.5*DISTANCE(LANK,LMMA)//\\ \\    **Define Distal Joint and Radius**\\ \\    **Lateral:** //None//     **Joint:** //LTOE//     **Medial:** //None//     \\ \\    **Radius:** //0.5*DISTANCE(LANK,LMMA)//\\ \\    **Extra Target to define Orientation**\\ \\    **Select:** //Posterior//     //LHEE//\\ \\    **Select Tracking Targets:**\\ \\      //LD5M//, //LHEE//, //LTOE// |\\ \\ 5. Click on **Build Model.**\\ \\ 6. Click on **Close Tab** before proceeding. | {{:KineticFoot.png}}| == 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. **To create Automatic Gait Events using the pipeline:** |1. Set the active file to "[[Visual3D:Documentation:Definitions:Active_Files|Active_Files]]"\\ 2. Open the Pipeline Workshop\\ | {{:PipelineButton_OFM.png}}| |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**\\ | {{:AutomaticGaitEvents_OFM.png}}| Events should then be manually checked to ensure the correct events were identified. More information about Event Processing can be found [[Visual3D:Tutorials:Events:Event_Processing_|here]]. == 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:Tutorials:Reports:Creating_a_Report|Creating a Report Tutorial]] 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://www.has-motion.com/download/examples/OxfordFootModel_Templates.zip|here]]. {{:OFM_HFTBA.png}}{{:OFM_FFTBA.png}}{{:OFM_FFHFA.png}}{{:OFM_HXFFA.png}}{{:OFM_HFTFL.png}}