This repository contains the data, models and the MATLAB scripts to inspect and reproduce the results of the following publication:
@article{Modenese2021auto,
title={Automatic Generation of Personalized Skeletal Models of the Lower Limb from Three-Dimensional Bone Geometries},
author={Luca Modenese and Jean-Baptiste Renault},
journal={Journal of Biomechanics},
volume = {116},
pages = {110186},
year={2021},
doi={https://doi.org/10.1016/j.jbiomech.2020.110186},
url = {http://www.sciencedirect.com/science/article/pii/S0021929020306102},
keywords = {Anatomical coordinate system, Lower limb, Skeletal model, Musculoskeletal model, Kinematics, Three-dimensional bone model, Surface fitting, 3D imaging}
}
The paper will be open access from the publisher's website but it is also available as preprint.
In our manuscript:
In order to use the content of this repository you will need to:
Download
page of the provided link and click on Previous releases
, as shown in this screenshot. No API installation required for OpenSim 3.3.git clone --recursive https://github.com/modenaxe/auto-lowerlimb-models-paper.git
or if you have cloned it without the recursive option please refer to this post and use:
git submodule init
git submodule update
This repository includes:
manual models
created from the anatomical dataset using the codified approach of Modenese et al. (2018).automatic models
generated using STAPLE with the data from the provided anatomical datasets as inputs.The manual models can be visualised with OpenSim 3.3. The bone geometries are binary vtp files and are NOT visible in OpenSim 4.0 The muscles and virtual markers have been removed from the original models. These models were generated using NMSBuilder v1.0. The NMSBuilder files are not shared because of their size (they include medical images). The complete OpenSim models and the NMSBuilder models can be obtained contacting the corresponding author of the publication.
The automatic models can be visualised with OpenSim 4.1. The bone geometries are ASCII files in OBJ format. If they are not present in the repository, they will be generated by a_createOsimModels.m during the creation of the models from the matlab triangulations included in the ./bone_geometries folder.
The provided MATLAB scripts produce the results described in the following table:
Script name | Script action | Related item in the manuscript |
---|---|---|
createAutomaticOsimModels.m | creates the automatic OpenSim model using the bone geometries from the bone_geometries folder |
N/A |
compare_osim_models.m | compares the joint coordinate systems of the automatically generated and the manual OpenSim models | Table 4 |
plot_biomech_curves.m | plots the joint angles and net joint moments computed in the gait simulations | Figures 4-5 |
compute_gait_metrics_SPM_ttests.m | computes the correlation coefficients, root mean squared errors and runs a paired, two-tailed SPM t-test | Results and Tables S2-S3 |
compare_hip_fit.m | compares, in all datasets, the estimations of the centres of the femoral head provided by Kai-femur and GIBOC-tibia | Table 4 |
compare_pelvis_algorithms.m | compares, in all datasets, the joint coordinate systems estimated by STAPLE-pelvis and Kai-pelvis algorithms using the former as reference |
Table 5 |
compare_knee_algorithms.m | compares, in all datasets, the joint coordinate systems estimated by all GIBOC- , Kai- and Miranda- algorithms at the distal femur and proximal tibia, i.e. at tibiofemoral joint. GIBOC-Cylinder is used as reference |
Table 5 |
suppl_mat_tibiofemoral_alignment.m | compares, in all datasets, the joint coordinate systems estimated by all GIBOC-tibia , Kai-tibia and Miranda-tibia algorithms against the GIBOC-Cylinder algorithm for the femur to quantify the tibiofemoral alignment. |
Table S1 (Supplementary Material) |
suppl_mat_compare_PCA_vs_Inertial.m | compares, in all datasets, the vertical anatomical axis of the tibia when computed using principal component analysis as in Kai-tibia or principal inertial axes as in all GIBOC algorithms for the tibia |
Table S2, Figure S3 (Supplementary Material) |
Other MATLAB scripts are provided in the support_functions
and support_functions_plot
folders, but the user is not supposed to interact with them.
Miranda-femur
and Miranda-tibia
algorithms are not available with this package but they can be obtained contacting directly the authors of the related publication.