{"id":22122472,"url":"https://github.com/modenaxe/muscleparamoptimizer","last_synced_at":"2025-07-25T14:30:47.371Z","repository":{"id":40958748,"uuid":"193260109","full_name":"modenaxe/MuscleParamOptimizer","owner":"modenaxe","description":"Scripts and models to optimize musculotendon parameters in musculoskeletal models.","archived":false,"fork":false,"pushed_at":"2023-07-06T22:02:15.000Z","size":6251,"stargazers_count":18,"open_issues_count":9,"forks_count":7,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-05-22T14:33:33.888Z","etag":null,"topics":["bioengineering","biomechanics","matlab","muscle","muscle-parameters","musculoskeletal-models","musculotendon-parameters","opensim","optimization-technique","scientific-publications","scientific-research"],"latest_commit_sha":null,"homepage":"https://simtk.org/projects/opt_muscle_par","language":"MATLAB","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/modenaxe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-06-22T17:16:37.000Z","updated_at":"2024-04-22T16:13:58.000Z","dependencies_parsed_at":"2024-01-12T21:06:10.659Z","dependency_job_id":"15baf827-5d50-4c96-8cef-40927dc8e4cd","html_url":"https://github.com/modenaxe/MuscleParamOptimizer","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modenaxe%2FMuscleParamOptimizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modenaxe%2FMuscleParamOptimizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modenaxe%2FMuscleParamOptimizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modenaxe%2FMuscleParamOptimizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/modenaxe","download_url":"https://codeload.github.com/modenaxe/MuscleParamOptimizer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227582976,"owners_count":17789457,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bioengineering","biomechanics","matlab","muscle","muscle-parameters","musculoskeletal-models","musculotendon-parameters","opensim","optimization-technique","scientific-publications","scientific-research"],"created_at":"2024-12-01T15:21:38.291Z","updated_at":"2025-07-25T14:30:47.356Z","avatar_url":"https://github.com/modenaxe.png","language":"MATLAB","readme":"# Muscle Optimizer ![visitors](https://visitor-badge.laobi.icu/badge?page_id=modenaxe.muscleparamoptimizer)\n\n# Introduction\n\nThis repository contains a MATLAB package implementing an algorithm for optimizing the parameters of Hill-type muscle models defined by adimensional force-lenght-velocity curves, as described by _Zajac (1989)_.\n\n\nThe algorithm is generic but the implementation is specific for musculoskeletal models of the software for biomechanical analyses [OpenSim](https://opensim.stanford.edu/).\n\n\nThe repository is made available as accompanying material of [this publication](https://research-repository.griffith.edu.au/bitstream/handle/10072/101916/ModenesePUB918.pdf?sequence=1): \n\n```bibtex\n@article{modenese2016estimation,\n  title={Estimation of musculotendon parameters for scaled and subject specific musculoskeletal models using an optimization technique},\n  author={Modenese, Luca and Ceseracciu, Elena and Reggiani, Monica and Lloyd, David G},\n  journal={Journal of biomechanics},\n  volume={49},\n  number={2},\n  pages={141--148},\n  year={2016},\n  publisher={Elsevier}\n}\n```\nand includes scripts, models and materials to reproduce figures and results of that work.\n\n# Requirements\n\nIn order to use this MATLAB package it is necessary to:\n* install MATLAB with the Optimization Toolbox\n* install OpenSim 3.2 or higher\n* setup the OpenSim API (Application User Interface) for MATLAB as described [at this link](http://simtk-confluence.stanford.edu:8080/display/OpenSim/Scripting+with+Matlab).\n\n# Contents from the paper\n\n## Algorithm description\nThe algorithm starts from an existing model in which the muscle parameters, and the derived muscle dynamics, are assumed to be accurate. These models, known as _generic models_ and here referred to as _Reference Models_, are generally created from \ncadaveric measurements.\n\nThe idea consists in mapping the normalized muscle contractile conditions from these reference models to those of personalised models, i.e. linearly scaled or fully subject-specific, for the same joint angles and muscle activation levels. In this respect, the algorithm is a generalization of method proposed by _Winby et al. (2008)_ for the knee-spanning muscles.\n\n## Considered Cases\n* **Scaled generic model**: a lower limb model was scaled linearly to the size of an individual to [perform a running simulation](https://simtk.org/projects/runningsim) as published by _Hamner et al. (2010)_. The muscle parameters of the [obtained model](https://github.com/modenaxe/MuscleParamOptimizer/tree/master/manuscript_material/Example1/MSK_Models) were then optimized non-linearly using the original generic model as reference model.\n* **Subject-specific model**: a [model of the lower limb](https://github.com/modenaxe/MuscleParamOptimizer/tree/master/manuscript_material/Example2/MSK_Models) was built from scratch using the LHDL cadaveric dataset and its muscle parameters were estimated and validated using the [lower limb model](https://simtk.org/projects/lowlimbmodel09) of _Arnold et al. (2010)_ as reference model.\n\n# Versions of the tool\n\n## MATLAB version\n\nA MATLAB version of the tool MATLAB tool is available in the [corresponding folder](https://github.com/modenaxe/MuscleParamOptimizer/tree/master/MATLAB_tool), together with an example of use. The same main script can be easily adapted for the optimization of other personalized models.\n\nFor the MATLAB version, there is a [manuscript folder](https://github.com/modenaxe/MuscleParamOptimizer/tree/master/manuscript_material) including all the scripts and models from the publication. Following the alphabetic order of the scripts, it is possible to:\n* reproduce exactly the results presented in the associated publication in the manuscript (scripts a and b)\n* generate the associated Figures (scripts c-d-e).\n\n__Please note__ that reproducing the sensitivity study can be time-consuming, depending on the available computational resources.\n\n\n## Python tool (currently under revision)\n\nA Python version of the tool has been written and kindly shared by @eravera. It is currently **under assessment** although tested and working.\n\n\n## OpenSim C++ plugin and User Interface Menu\n\nA generic tool to optimize musculotendon parameters in musculoskeletal models is also available at [this repository](https://github.com/MuscleOptimizer/MuscleOptimizer) as:\n* C++ OpenSim plugin \n* as menu extension of the OpenSim GUI (graphical user interface).\nPlease refer directly to the repository and to the nice documentation available at [this website](http://muscleoptimizer.github.io/MuscleOptimizer/).\n\n# Contributors\n\nSpecial thanks to:\n\n* **Bryce Killen** from KU Leuven, Belgium, for updating the code for OpenSim 4.1!\n* **Emiliano Ravera** from Instituto de Investigación y Desarrollo en Bioingenieria y Bioinformática, IBB (CONICET-UNER), Argentina.\n\n# References\n* Zajac, F.E. Muscle and tendon: properties, models, scaling, and application to biomechanics and motor control. Critical Reviews in Biomedical Engineering. 17: 359-411, 1989. [LINK](https://www.ncbi.nlm.nih.gov/pubmed/2676342)\n* Winby, C.R., Lloyd, D.G.  Kirk, T.B. Evaluation of different analytical methods for subject-specific scaling of musculotendon parameters. Journal of Biomechanics. 41: 1682-1688, 2008. [LINK](https://www.ncbi.nlm.nih.gov/pubmed/18456272)\n* Hamner, S.R., Seth, A.  Delp, S.L. Muscle contributions to propulsion and support during running. Journal of Biomechanics. 43: 2709-2716, 2010. [LINK](https://www.ncbi.nlm.nih.gov/pubmed/20691972)\n* Arnold, E., Ward, S., Lieber, R.  Delp, S. A Model of the Lower Limb for Analysis of Human Movement. Annals of Biomedical Engineering. 38: 269-279, 2010. [LINK](https://www.ncbi.nlm.nih.gov/pubmed/19957039)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodenaxe%2Fmuscleparamoptimizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmodenaxe%2Fmuscleparamoptimizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodenaxe%2Fmuscleparamoptimizer/lists"}