visual3d:documentation:modeling:functional_joints:functional_joints
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| visual3d:documentation:modeling:functional_joints:functional_joints [2025/01/24 19:31] – [Functional Joints Post Processing] wikisysop | visual3d:documentation:modeling:functional_joints:functional_joints [2026/09/11 18:23] (current) – Clarified that this is the Functional Joints Overview page and better organized the links to other pages. richard | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Functional Joints ====== | + | ====== Functional Joints |
| - | ==== The movement | + | Functional joints are a method for modelling the joint between two segments according to their apparent relative |
| - | The calculation of a functional joint requires movement of one segment relative to another segment. The algorithm (see below) searches for a point (or for a one degree of freedom joint, an axis) that is stationary relative to the 2 segments (or 2 sets of markers). | + | ==== Data Collection==== |
| - | For joints | + | Using functional joints increases data collection collections and processing time and requirements. More movement trials must be collected specifically to compute the functional |
| - | Several cycles of movement | + | ===== The input movement |
| - | The movement trial used is " | + | Calculating a functional joint requires the movement of one segment relative to another segment. Based on this relative |
| - | \\ | + | ==== Three Degrees |
| - | **Begon M, Monnet T, Lacouture P (2007) Effects | + | |
| - | This article defines | + | For joints modelled with 3 degrees of freedom, the chosen movement trial should have the following |
| + | - the joint has modest range of motion about all three axes of rotation; | ||
| + | - the movement should | ||
| + | - but the range of motion should also not be too large because soft tissue artifact (e.g. movement of markers relative to the underlying skeleton) should be minimized. | ||
| + | |||
| + | Our experience | ||
| - | If you are interested in the user actively performing | + | The movement trial used is contrived specifically for the purpose of computing |
| - | === Functional Axis === | + | Begon, Monnet, and Lacouture defined characteristics of the movement profile that should be used for the functional joint calculation, |
| - | If the joint is precisely one degree of freedom, it is possible | + | It is very difficult for many subjects |
| - | For the knee joint, we recommend projecting a lateral and medial knee marker onto the functional knee axis. | + | ==== One Degree of Freedom (Functional Axis) ==== |
| - | **Warning**. The functional knee axis is not the flexion/ | + | If the joint is precisely one degree of freedom, it is possible to compute an axis, but it is not possible to compute a stationary point. In practice, joints aren't only one degree |
| - | \\ | + | For the knee joint, |
| - | Mathematically | + | |
| - | + | ||
| - | ==== Principles of the Gilette algorithm ==== | + | |
| - | + | ||
| - | adapted from: | + | |
| - | [[[http:// | + | |
| - | Specify | + | |
| - | + | ||
| - | **Algorithm**\\ | + | |
| - | For all combinations of 3 frames (a,b,c) of data from the moving trial | + | |
| - | Compute Finite Helical Axis (A) for frames a and b.\\ | ||
| - | Compute Finite Helical Axis (B) for frames a and c.\\ | ||
| - | Compute Finite Helical Axis (C) for frames b and c.\\ | + | ===== Algorithms |
| - | Use only helical axes for which the amount | + | Visual3D includes multiple algorithms |
| - | \\ | + | |
| + | ==== The Gilette Algorithm ==== | ||
| - | Compute the intersection of Axes A & B | + | This approach is adapted from: Schwartz MH, Rozumalski |
| - | Compute the intersection of Axes A & C | + | |
| - | Compute the intersection | + | |
| - | \\ | + | |
| + | To begin: | ||
| + | - specify a segment coordinate system in which the motion capture data is to be resolved and into which the landmark represented. For the case of the hip joint centre, the pelvis is generally considered a stationary coordinate system. | ||
| + | - specify the motion capture markers attached to the moving segment. For the case of the hip joint centre, markers attached to the thigh are used. | ||
| - | With " | + | Then, for all combinations |
| - | Compute the intersection as a line segment hat is the shortest route between the two axes. The " | + | - Compute |
| - | This intersection | + | - Remove any helical axis where the amount of rotation is less than a minimum value (e.g. 5 degrees). |
| - | All candidate joint centers | + | - Compute the intersection of Axes A & B, of Axes A & C, and of Axes B & C. |
| - | The joint center returned | + | |
| - | In principle Visual3D would use all candidates, but this is often impractical, | + | |
| - | The mode is computed as follows: | + | - **NOTE**: With " |
| - | Compute the mean value of all candidates | + | - Calculate |
| - | Specify a sphere surrounding this location (the size of the initial sphere is an option defined by the user). A fairly big number is used typically, but the actual value hasn't been found to be particularly important) | + | - **NOTE**: |
| - | While() the number of candidates is greater than 500 (defined by the user) | + | |
| + | | ||
| + | | ||
| + | - The " | ||
| + | - The median value of each component is computed for the remaining candidates. | ||
| + | - The radius of the sphere is reduced (the percent decrease is another user-defined option). | ||
| + | - When only 500 candidates remain, the function joint is defined as the mean value of these remaining candidates. | ||
| + | - **NOTE**: The number of combinations gets very big very quickly and can easily crash the system if the user isn't careful. An option exists to select a subset of combinations at random (e.g. 2,000,000 combinations) as a representative sample. | ||
| + | - Return the mode of the candidate array as the joint centre. | ||
| - | The " | + | ==== The Mayo Algorithm ==== |
| - | Compute | + | This approach is adapted from: Jensen, E., Lugade, V., Crenshaw, J., Miller, E., & Kaufman, K. (2016). A principal component analysis approach to correcting |
| - | Reduce | + | From the authors' |
| - | End While() | + | > |
| - | When only 500 candidates remain, the function joint is defined as the mean value of these remaining candidates. | + | |
| - | **Note: | + | |
| - | ==== Principles of the Mayo Algorithm ==== | + | |
| - | adapted from | + | ==== Limitations ==== |
| - | [[http:// | + | |
| - | Abstract | + | |
| - | Accurate and precise knee flexion axis identification is critical for prescribing and assessing tibial and femoral derotation osteotomies, | + | Functional joint can fail with no obvious indication |
| - | ==== Defining a Functional | + | **Functional |
| - | [[visual3d:documentation: | + | |
| - | ==== Functional Joints Post Processing ==== | + | |
| - | [[visual3d: | + | |
| - | ==== Functional Joints from Streaming Data ==== | + | |
| - | ==== Add_Functional_Joint_Landmark ==== | ||
| - | [[visual3d: | ||
| - | ==== Example: Functional Joint ==== | ||
| - | === Example: Functional Hip === | + | ===== See Also ===== |
| - | === Example: Functional Knee === | + | Learn more about Visual3D' |
| + | * [[visual3d: | ||
| + | * [[visual3d: | ||
| + | Follow along with our tutorial for defining a functional joint at the right hip: | ||
| + | * [[visual3d: | ||
| + | See these examples for computing and working with functional joints in Visual3D: | ||
| + | * [[visual3d: | ||
| + | * [[visual3d: | ||
| + | * [[visual3d: | ||
| + | ===== References ===== | ||
| + | - Begon M, Monnet T, Lacouture P (2007) Effects of movement for estimating the hip joint center. Gait and Posture 25, 353-359. [[https:// | ||
| + | - Jensen, E., Lugade, V., Crenshaw, J., Miller, E., & Kaufman, K. (2016). A principal component analysis approach to correcting the knee flexion axis during gait. Journal of Biomechanics, | ||
| + | - Schwartz MH, Rozumalski A (2005) A new method for estimating joint parameters from motion data. Journal of Biomechanics, | ||
visual3d/documentation/modeling/functional_joints/functional_joints.1737747116.txt.gz · Last modified: by wikisysop
