Hi all, I received a response to a recent post about hip joint center calculations that said the hip joint in the gait2392 model is placed at the center of the femoral head. While this is good to know, it still does not provide any information on how the location is determined. I cannot find any literature or information on the OpenSim documentation sites that provides details on hip joint center calculation.
I figured I would ask again as this is a very popular model.
How is the hip joint center determined? Or how is the location of the center of the femoral head determined?
Again, I am looking for an explanation along the lines of what Visual3D provides us: in Visual3D the hip joint landmarks for the CODA and Composite pelvis models are created using the Bell and Brand regression equations. (Bell AL, Pederson DR, and Brand RA (1989) Prediction of hip joint center location from external landmarks. Human Movement Science. 8:3-16: Bell AL, Pedersen DR, Brand RA (1990) A Comparison of the Accuracy of Several hip Center Location Prediction Methods. J Biomech. 23, 617-621.)
Any insight is greatly appreciated!!
Hip joint center gait 2392 model
- Madeline Grosklos
- Posts: 10
- Joined: Tue Aug 24, 2021 2:32 pm
- Nicos Haralabidis
- Posts: 196
- Joined: Tue Aug 16, 2016 1:46 am
Re: Hip joint center gait 2392 model
Hello Madeline,
The model documentation can be found here: https://opensimconfluence.atlassian.net ... 354+Models
and the associated publication:
https://ieeexplore.ieee.org/document/102791
Hope that helps!
Nicos
The model documentation can be found here: https://opensimconfluence.atlassian.net ... 354+Models
and the associated publication:
https://ieeexplore.ieee.org/document/102791
Hope that helps!
Nicos
- John Davis
- Posts: 59
- Joined: Mon Aug 26, 2019 7:42 am
Re: Hip joint center gait 2392 model
The hip joint centers are just wherever the hip joint centers were in the skeleton that was digitized to create the generic model. So, for that particular skeleton, they are "perfectly accurate." In fact in MRI studies, the gold standard for hip joint center is literally just the center of the head of the femur. Whether the hip joint centers are accurate for your model depends on how you do your scaling.
So, if you are using an unscaled model, e.g. for a Moco simulation, your hip joint centers are determined by the skeletal subject's anatomy and you can just continue on without any worries. If you are scaling your model to real experimental data, you have to implement whatever hip joint center location algorithm you choose to use on your own.
Unfortunately the process gets a bit tedious: the raw experimental data --> scaled opensim model is by far the most time-consuming part of a modeling study, in my experience (well, aside from the data collection itself!).
When you scale and pose the pelvis with the scale tool, you specify marker pairs for the X, Y, and Z axes for scaling. The relative scales of those marker pairs on the generic model vs. in your experimental marker data determine how the width, depth, and height of the pelvis are scaled. That, in turn, affects where the hip joint centers go.
For experimental data the workflow looks something like this:
1. Take your raw marker data and generate virtual markers at the subject's hip joint center. Some mocap software does this automatically. You can also implement equation-based algorithms, like the Bell equation, or sphere-fitting algorithms, like Piazza et al. 2004, yourself in code, though that can get tedious too.
2. Make some additional virtual markers like a mid-hip, mid-ASIS, and mid-PSIS marker
3. Set the marker pairs in the scale tool to use your virtual hip joint centers for scaling pelvis width, height, and depth.
4. Set your IK markers in the scale tool's "posing" step to get the hip aligned with your experimental data after scaling.
5. Scale the model and use the OpenSim GUI + the IK errors to visualize + quantify how close your scaled model's hip joint centers are to your experimentally generated hip joint centers.
With IK-based scaling you will never get them perfect, since the HJC location affects how well the whole rest of the lower body aligns with your data. No HJC algorithm is perfect, either, and sometimes you have to do some iterative adjustments to your scaling IK weights or marker pairs. It becomes a question of how much error you're okay with in various parts of your model.
This webinar is extremely helpful for figuring out these gritty details of scaling models. I have some MATLAB code I can share if you would find it helpful but it is a bit idiosyncratic to the workflow I use.
So, if you are using an unscaled model, e.g. for a Moco simulation, your hip joint centers are determined by the skeletal subject's anatomy and you can just continue on without any worries. If you are scaling your model to real experimental data, you have to implement whatever hip joint center location algorithm you choose to use on your own.
Unfortunately the process gets a bit tedious: the raw experimental data --> scaled opensim model is by far the most time-consuming part of a modeling study, in my experience (well, aside from the data collection itself!).
When you scale and pose the pelvis with the scale tool, you specify marker pairs for the X, Y, and Z axes for scaling. The relative scales of those marker pairs on the generic model vs. in your experimental marker data determine how the width, depth, and height of the pelvis are scaled. That, in turn, affects where the hip joint centers go.
For experimental data the workflow looks something like this:
1. Take your raw marker data and generate virtual markers at the subject's hip joint center. Some mocap software does this automatically. You can also implement equation-based algorithms, like the Bell equation, or sphere-fitting algorithms, like Piazza et al. 2004, yourself in code, though that can get tedious too.
2. Make some additional virtual markers like a mid-hip, mid-ASIS, and mid-PSIS marker
3. Set the marker pairs in the scale tool to use your virtual hip joint centers for scaling pelvis width, height, and depth.
4. Set your IK markers in the scale tool's "posing" step to get the hip aligned with your experimental data after scaling.
5. Scale the model and use the OpenSim GUI + the IK errors to visualize + quantify how close your scaled model's hip joint centers are to your experimentally generated hip joint centers.
With IK-based scaling you will never get them perfect, since the HJC location affects how well the whole rest of the lower body aligns with your data. No HJC algorithm is perfect, either, and sometimes you have to do some iterative adjustments to your scaling IK weights or marker pairs. It becomes a question of how much error you're okay with in various parts of your model.
This webinar is extremely helpful for figuring out these gritty details of scaling models. I have some MATLAB code I can share if you would find it helpful but it is a bit idiosyncratic to the workflow I use.