Skip to content

Neuromusculoskeletal Modeling (NMSM) Pipeline codebase

License

Notifications You must be signed in to change notification settings

chenyaru-dear/nmsm-core

 
 

Repository files navigation

Uses MATLAB 2022a Platform Windows, macOS Intel, macOS M1 Test - Mac Intel Status Test - Mac M1 Status Test - Windows Status Apache 2.0 License

Doctors have long known that people differ in susceptibility to disease and response to medicines. But, with little guidance for understanding and adjusting to individual differences, treatments developed have generally been standardized for the many, rather than the few. - National Academy of Engineering

Table of Contents

Introduction

Motivation

Modules

Joint Model Personalization (JMP)

JMP optimizes the joint parameters of specific joints to reduce Inverse Kinematics errors for a specified marker file.

Data Preprocessing

This modules prepares large chunks of raw data into the specified format for use in MTP and NCP. It is required to be completed after JMP because the model created from JMP is used to calculate model specific data (IK, ID, Muscle Analysis).

Muscle Tendon Personalization (MTP)

MTP personalizes the muscle properties of a model based on EMG data

Neural Control Personalization (NCP)

Ground Contact Personalization (GCP)

GCP creates a personalized contact array with varying spring constants for calculating more accurate foot-ground contact interactions.

How to Install

No installation is required, following the instructions below, download the package, open the Project.prj file and you are ready to personalize models.

Requirements

  • MATLAB (Tested on 2022b)
    • Optimization Toolbox
    • Parallel Computing Toolbox
    • Statistics and Machine Learning Toolbox
    • Curve Fitting Toolbox
  • OpenSim 4.4 or greater
  • OpenSim MATLAB Bindings

Step-by-Step

  • Click the green Code button at the top right of this page
  • Click the Download Zip button (or clone the repository if you are familiar with git)
  • Unzip the file in a directory of your choosing
  • Double-click the Project.prj file
    • This adds all of the functions used in the NMSM Pipeline to your path temporarily, until the project is closed.
  • Look in the /example directory for code snippets to run/test

How to Use

Tutorial

A thorough tutorial of all modules in the NMSM Pipeline can be found at nmsm.rice.edu/tutorial.

Examples

Testing

The NMSM Pipeline uses MATLAB's built-in testing suite alongside GitHub Action self-hosted runners to test a set of files that attempt to test a variety of possible scenarios for the use of the NMSM Pipeline. This suite can be tested by running the runLocalTestSuite.m file in the top level of the /tests directory. This file requires the current path to be the top level of the project (the same level as Project.prj).

How to Cite

The paper for the NMSM Pipeline is pending publication.

Acknowledgments

License

The NMSM Pipeline is licensed under the Apache 2.0 license. Please see NMSM Pipeline License for details.

About

Neuromusculoskeletal Modeling (NMSM) Pipeline codebase

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • MATLAB 99.9%
  • M 0.1%