Skip to content

Materials to reproduce the results of our paper about 3D muscle modelling.

License

Notifications You must be signed in to change notification settings

ComputationalBiomechanics/3d-muscles

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

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.

Brief summary of the publication

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..

muscle_deformations

Requirements

In order to take full advantage of the content of this repository you will need to:

  1. download OpenSim 3.3. Go to the Download page of the provided link and click on Previous releases, as shown in this screenshot. You will use OpenSim to visualize the models.
  2. have MATLAB installed in your machine. The analyses of the paper were performed using version R2017b.
  3. set up the OpenSim 3.3 API. Required to run the provided scripts. Please refer to the OpenSim documentation.
  4. (optional) NMSBuilder

Contents

This repository includes:

  1. 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)
    
  2. OpenSim model with straight-lines muscles built from the LHDL dataset using NMSBuilder

  3. 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.
    
  4. OpenSim models with highly discretized muscles. There is a model for each of the investigated hip motions.

  5. 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.

Visualizing the anatomical dataset

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. NMSBuilder_LHDL

Visualizing the OpenSim models

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. OpenSim_models

Running the MATLAB scripts

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:

  1. a_compute_biomech_moving_viapoints.m
  2. b1_plot_momArms_Fig4_as_Blemker2005.m
  3. b2_plot_momArms_Fig5_as_Blemker2005.m
  4. etc.

Limitations and notes about reproducibility

  • 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.

Future work

  • 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.

About

Materials to reproduce the results of our paper about 3D muscle modelling.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • MATLAB 100.0%