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 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
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 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
Download and open the c3d files in Visual3D
Download the zip file containing the Oxford Foot Model Sample .c3d files
Unzip this file in a location of your choice.
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. | |
Visual3D will automatically open the Model Builder mode and your screen should look like the image below.
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 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:
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 -
Create the (R/L)AJC_SK landmarks -
Defining the Shank
Creating the Hindfoot
Hindfoot Landmarks
Before defining the Hindfoot segments, Landmarks have to be created.
Create the (R/L)MidHeel landmarks -
Create the (R/L)P5Mproj landmarks -
Creating the 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/proximal axis is defined by -Y. This may be done now or at the 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 -
Create the (R/L)FF_O landmarks -
Create the (R/L)TOE_FF landmarks -
Defining the 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/proximal axis is defined by -Y. This may be done now or at the 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 -
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.
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 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 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 |
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 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.
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 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 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 Automatic Gait Events section.
Create Kinetic Foot Segment
Before V3D can automatically create force assignments, it's necessary to create a kinetic foot segment. The foot segment may be defined using the typical Plugin Gait definition, or using the modified version described below.
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 “Active_Files“ 2. Open the Pipeline Workshop |
Events should then be manually checked to ensure the correct events were identified. More information about Event Processing can be found 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 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 here.