User Tools

Site Tools


visual3d:documentation:modeling:functional_joints:functional_joints

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
visual3d:documentation:modeling:functional_joints:functional_joints [2024/06/19 13:57] – created sgrangervisual3d:documentation:modeling:functional_joints:functional_joints [2025/01/24 19:36] (current) – [Principles of the Mayo Algorithm] wikisysop
Line 1: Line 1:
-===== The movement required =====+====== Functional Joints ====== 
 + 
 +==== The movement required ====
  
 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). 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).
Line 16: Line 18:
 If you are interested in the user actively performing the movement, we recommend a hula movement for the hip joints. If you are interested in the user actively performing the movement, we recommend a hula movement for the hip joints.
  
-==== Functional Axis ====+=== Functional Axis ===
  
 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 of freedom, and there is often some soft tissue artifact. This "noise" is then the source of data for computing a stationary point. The closer to one degree of freedom the less reliable the stationary point. 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 of freedom, and there is often some soft tissue artifact. This "noise" is then the source of data for computing a stationary point. The closer to one degree of freedom the less reliable the stationary point.
Line 27: Line 29:
 Mathematically the functional axis computed has no direction. It could point medial or lateral to the segment, but the algorithm doesn't have enough information to know the correct direction. Mathematically the functional axis computed has no direction. It could point medial or lateral to the segment, but the algorithm doesn't have enough information to know the correct direction.
  
-===== Principles of the Gilette algorithm =====+==== Principles of the Gilette algorithm ====
  
 adapted from: adapted from:
Line 72: Line 74:
 When only 500 candidates remain, the function joint is defined as the mean value of these remaining candidates. 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.** **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.**
-===== Principles of the Mayo Algorithm =====+==== Principles of the Mayo Algorithm ====
  
 adapted from adapted from
-[[[http://www.sciencedirect.com/science/article/pii/S0021929016303979|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, in press]]]+[[http://www.sciencedirect.com/science/article/pii/S0021929016303979|Jensen E, Lugade V, Crenshaw J, Miller E, Kaufman K (2016) A principal component analysis approach to correcting the knee flexion axis during gait]]
 Abstract Abstract
  
 Accurate and precise knee flexion axis identification is critical for prescribing and assessing tibial and femoral derotation osteotomies, but is highly prone to marker misplacement-induced error. The purpose of this study was to develop an efficient algorithm for post-hoc correction of the knee flexion axis and test its efficacy relative to other established algorithms. Gait data were collected on twelve healthy subjects using standard marker placement as well as intentionally misplaced lateral knee markers. The efficacy of the algorithm was assessed by quantifying the reduction in knee angle errors. Crosstalk error was quantified from the coefficient of determination (r2) between knee flexion and adduction angles. Mean rotation offset error (αo) was quantified from the knee and hip rotation kinematics across the gait cycle. The principal component analysis (PCA)-based algorithm significantly reduced r2 (p<0.001) and caused αo,knee to converge toward 11.9±8.0° of external rotation, demonstrating improved certainty of the knee kinematics. The within-subject standard deviation of αo,hip between marker placements was reduced from 13.5±1.5° to 0.7±0.2° (p<0.001), demonstrating improved precision of the knee kinematics. The PCA-based algorithm performed at levels comparable to a knee abduction–adduction minimization algorithm ( Baker et al., 1999 ) and better than a null space algorithm ( Schwartz and Rozumalski, 2005 ) for this healthy subject population. Accurate and precise knee flexion axis identification is critical for prescribing and assessing tibial and femoral derotation osteotomies, but is highly prone to marker misplacement-induced error. The purpose of this study was to develop an efficient algorithm for post-hoc correction of the knee flexion axis and test its efficacy relative to other established algorithms. Gait data were collected on twelve healthy subjects using standard marker placement as well as intentionally misplaced lateral knee markers. The efficacy of the algorithm was assessed by quantifying the reduction in knee angle errors. Crosstalk error was quantified from the coefficient of determination (r2) between knee flexion and adduction angles. Mean rotation offset error (αo) was quantified from the knee and hip rotation kinematics across the gait cycle. The principal component analysis (PCA)-based algorithm significantly reduced r2 (p<0.001) and caused αo,knee to converge toward 11.9±8.0° of external rotation, demonstrating improved certainty of the knee kinematics. The within-subject standard deviation of αo,hip between marker placements was reduced from 13.5±1.5° to 0.7±0.2° (p<0.001), demonstrating improved precision of the knee kinematics. The PCA-based algorithm performed at levels comparable to a knee abduction–adduction minimization algorithm ( Baker et al., 1999 ) and better than a null space algorithm ( Schwartz and Rozumalski, 2005 ) for this healthy subject population.
  
-===== Defining a Functional Joint ===== +==== Defining a Functional Joint ==== 
- +[[visual3d:documentation:modeling:functional_joints:defining_a_functional_joint]] 
-===== Functional Joints Post Processing ===== +==== Functional Joints Post Processing ==== 
- +[[visual3d:documentation:modeling:functional_joints:functional_joints_post_processing]] 
-===== Functional Joints from Streaming Data ===== +==== Functional Joints from Streaming Data ====
- +
-===== Add_Functional_Joint_Landmark ===== +
- +
-===== Example: Functional Joint =====+
  
-==== Example: Functional Hip ====+==== Add_Functional_Joint_Landmark ==== 
 +[[visual3d:documentation:pipeline:model_commands:add_functional_joint_landmark]] 
 +==== Example: Functional Joint ====
  
-==== Example: Functional Knee ====+=== Example: Functional Hip ===
  
 +[[visual3d:documentation:modeling:functional_joints:example_-_functional_hip]]
  
 +=== Example: Functional Knee ===
  
 +[[visual3d:documentation:modeling:functional_joints:example_-_functional_knee]]
visual3d/documentation/modeling/functional_joints/functional_joints.1718805451.txt.gz · Last modified: 2024/06/19 13:57 by sgranger