This repository contains the data, models and the Matlab scripts to inspect and reproduce the results of the following publication:
@article{Modenese2019three,
title={Automated Generation of Three-Dimensional Complex Muscle Geometries for Use in Personalised Musculoskeletal Models},
author={Modenese, Luca and Kohout, Josef},
journal={Annals of biomedical engineering},
year={2020},
publisher={Springer}
doi={10.1007/s10439-020-02490-4}
}
The paper is open access and freely available from the Journal website or this repository.
Please cite the manuscript if you make use of these materials for your research or presentations.
In our manuscript:
- We used a publicly available anatomical dataset to create a subject-specific musculoskeletal model of the hip joint using bone and muscle geometries from CT and MRI scans. The medical images were collected on a cadaveric specimen.
- We used this model to propose a new method for representing the geometry of the skeletal muscles surrounding the hip joint and how they change their shape when the joint moves.
- We compared the muscle moment arms computed with our new approach against previous studies published in the biomechanical literature, finding remarkable agreement for ranges of motion consistent with normal gait. If you need some background reading about computing muscle moment arms, you can refer to this classic article by An K.N. et al..
In order to take full advantage of the content of this repository you will need to:
- download OpenSim 3.3. Go to the
Download
page of the provided link and click onPrevious releases
, as shown in this screenshot. You will use OpenSim to visualize the models. - have MATLAB installed in your machine. The analyses of the paper were performed using version R2017b.
- set up the OpenSim 3.3 API. Required to run the provided scripts. Please refer to the OpenSim documentation.
- (optional) NMSBuilder
This repository includes:
-
LHDL Anatomical dataset (see reference publication) including:
a. bone geometries (pelvis, right femur) b. muscle geometries for _iliacus_, _psoas_, _gluteus maximus_ and _gluteus medius_ c. muscle attachments (as point clouds)
-
OpenSim model with
straight-lines muscles
built from the LHDL dataset using NMSBuilder -
Motion data in OpenSim format (
.mot
files) to simulate the following hip motions:a. hip flexion/extension between -10 and 60 degrees b. hip abduction/adduction between -40 and 40 degrees c. hip internal/external rotation between -30 and 30 degrees.
-
OpenSim models with
highly discretized muscles
. There is a model for each of the investigated hip motions. -
MATLAB scripts to recreate:
a. Figure 4 and Figure 5 presenting the moment arms of the highly discretized muscles and their validation. b. the results that were included in Table 1 and Table 2.
Please note that the folders starting with _
contain support functions and data used by the main scripts.
The LHDL anatomical dataset employed in this study is available in the folder _LHDL_hip_r_dataset and can be visualised and used to build an OpenSim model using NMSBuilder. Please refer to the NMSBuilder website for documentation on how to use that software.
All models and scripts are designed to be used in OpenSim 3.3, although it is possible to import the highly discretized models also in OpenSim 4.0 for better visualization, as OpenSim v4 allows using different colours for the fibres of each muscle.
The provided MATLAB scripts are meant to be executed in sequential order following the alphabetical order of the first character. For scripts with the same initial character, the second character, which is a number, suggests the order of execution. So the order is:
- a_compute_biomech_moving_viapoints.m
- b1_plot_momArms_Fig4_as_Blemker2005.m
- b2_plot_momArms_Fig5_as_Blemker2005.m
- etc.
- The highly discretized muscle models are meant to be used for simulating the provided hip joint tasks and nothing else.
- Please note that the results for the highly discretized muscles presented in the manuscript were generated from kinematic simulations performed in LHPBuilder, a multimodal viewer for biomechanical application that is not developed or supported anymore. A version of LHPBuilder compatible with the use done in this paper can be downloaded from this website. LHPBuilder is a complex tool requiring preliminary training to be used, so we decided instead to implement the muscle fibre kinematics in the OpenSim models directly. This approach simplifies the reproducibility of our results because it allows to calculate the muscle fibre lengths using the OpenSim API directly. Please note that because of rounding errors in generating the models, some decimals of the results might differ from what reported in the manuscript. The LHPBuilder models and files are available on request.
- A prototype of an
OpenSim plugin
implementing the methods described in this manuscript has already been implemented and a preview is visible on Youtube at this link. The source code will be released with one of our next publications. - Upgrade scripts to openSim 4.0.
- link to work in progress repository with LHPBuilder files.