A Python package for musculoskeletal modelling.
Author: Basilio Goncalves, PhD, University of Vienna, 2024
-
Download a Code Interpreter
I recommend Visual Studio Code, but use your preferred one. -
Download and Install Python (>= 3.8)
Make sure it is the correct bit version: Python 3.8 -
Download and Install OpenSim (suggest >=4.3)
OpenSim Downloads -
Install Rapid Env Editor (optional)
Rapid Env Editor -
MOKKA (optional / only Windows users) Open-source and cross-platform software to easily analyze biomechanical data
python -m venv msk
Note: replace 'msk' if you want a different name
pip install uv
uv pip install msk-modelling-python
import msk_modelling_python as msk
msk.bops.greet()
import msk_modelling_python as msk
msk.install_opensim.run()
- Activate your virtual enviroment (assume name 'msk')
.\msk\Scripts\activate
- Clone this Module "msk_modelling_python" to your virtual environment
cd .\msk\Lib\site-packages
Note: Ensure the name of the package is exactly "msk_modelling_python"git clone https://github.com/basgoncalves/msk_modelling_python.git
- Run OpenSim Setup from Installation Folder
See OpenSim Scripting in Python.\msk\Scripts\activate
cd 'C:\OpenSim 4.5\sdk\Python'
python setup_win_python38.py
Note: run commands from shell or terminalpython -m pip install .
- Add the Path to the OpenSim Libraries to Your Environment Variables
Add the following paths to yourPATH
variable:Note: see for help https://answers.microsoft.com/en-us/windows/forum/all/change-system-variables-on-windows-11/f172c29e-fd9e-4f0b-949d-c4696bd656b8C:\OpenSim 4.5\bin C:\OpenSim 4.5\lib
- Verify the OpenSim Installation.
python
import opensim as osim model = osim.Model()
- Install requirements (in the terminal)
cd .\msk\Lib\site-packages\msk_modelling_python pip install -r requirements.txt
- Testing msk_modelling_python (in python)
Note: to change the performance of msk.run_bops() edit the settings file in .\msk_modelling_python\src\bops\settings.json
import msk_modelling_python as msk msk.run_bops()
- Basic Usage
import msk_modelling_python as msk # test msk msk.bops.Platypus().happy() # export c3d c3d_file_path = r'path\to\your\file.c3d' msk.bops.export_c3d(c3d_file_path) # run IK trial = msk.Project
- Use Example Scripts Use example scripts in the "ExampleScripts" directory to get started with common tasks and workflows.
This package includes a combination of other packages and custom functions to manipulate and analyze biomechanical data. Inspired by the MATLAB version of BOPS (Batch OpenSim Processing Scripts) - BOPS
- BTK
BTK Documentation - c3dServer
c3dServer - OpenSim
OpenSim Scripting in Python - 3D Slicer
3D Slicer - FEbioStudio
FEbioStudio - MeshLab 2023.12
MeshLab - Genesis
Genesis
-
msk_modelling_python This is the main package including all the modules needed for msk modelling, stats, data_processing, etc. This package contains subpackages that can be used independently.
-
bops Batch Opensim Processing Software
Package with functions and classes to use Opensim, CEINMS, stats, and others for easier processing. -
ui Functions to create user interface.
-
osim commands
Find examples under ".\example_data\example_modules".
For any questions or inquiries, please contact:
- Name: Basilio Goncalves
- Email: basilio.goncalves@univie.ac.at
- ResearchGate: Basilio Goncalves
Thelen, D. G. -2003- J. Biomech. Eng. 125, 70–77
Lloyd, D. G. et al. -2003- J. Biomech. 36, 765–776
Delp, S. L. et al. -2007- IEEE Trans. Biomed. Eng. 54, 1940–1950
Pizzolato, C. et al. -2015- J. Biomech. 48, 3929–3936
Hicks, J. L. et al. -2015- J. Biomech. Eng. 137,
Rajagopal, A. et al. -2016- IEEE Trans. Biomed. Eng. 63, 2068–2079
Goncalves, B. A. M. et al. -2023- Gait Posture 106, S68
Goncalves, B. A. M. et al. -2024- Med. Sci. Sport. Exerc. 56, 402–410
- fix import bops
- testing the inclusion of opensim (v.4.5)
- classes should be working