Skip to main content

Introduction to the NMSM Pipeline

The Neuromusculoskeletal Modeling (NMSM) Pipeline is composed of two toolsets: Model Personalization and Treatment Optimization.

Model Personalization

Model Personalization is used to develop a subject-specific model that takes into account the unique joint parameters, muscle-tendon properties, neural control properties, and ground contact properties. These properties can be refined from marker, EMG, and ground reaction data and a suitable OpenSim model to create a personalized model in preparation for Treatment Optimization.

Treatment Optimization

Treatment Optimization is used to develop novel insights through an optimal control framework to provide personalized treatment recommendations for subjects. Treatment Optimization is composed of three steps: tracking, verification, and design and can be used for any task that can be sufficiently described by an OpenSim model.

Tools

Model Personalization is composed of four main tools and two sub-tools.

  • Joint Model Personalization
  • Data Preprocessing (sub-tool)
  • Muscle-Tendon Length Initialization (sub-tool)
  • Muscle-Tendon Personalization
  • Neural Control Personalization
  • Ground Contact Personalization

Treatment Optimization is composed of three main tools and one sub-tool.

  • Surrogate Model Creation (sub-tool)
  • Tracking Optimization
  • Verification Optimization
  • Design Optimization

Getting Started

The NMSM Pipeline can be downloaded through SimTK for the latest stable version. The cutting edge in development version can be downloaded from GitHub.

Requirements

In order to run the NMSM Pipeline, users must fulfill the following criteria:

  • Compatibility is only guaranteed for Windows, Mac Intel, and Mac M1 systems.
  • MATLAB (version 2022b is used for testing)
  • OpenSim 4.4 connected to MATLAB bindings.

Examples

If you want to jump in with pre-prepared data, our tool-specific examples and full run-through sections will guide you through the process. If you prefer to walk through each step and learn about how to use them with your own data, the next section will guide you through that process.