Batch OpenSim Processing Scripts
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

BOPS (Batch OpenSim Processing Scripts)

BOPS performs batch processing of common OpenSim procedures (Inverse Kinematics - IK, Inverse Dynamics - ID, Muscle Analysis - MA, and Static Optimization - SO) and stores output, logging information, setup files, and plots in an ordered structure of folders.

We implemented BOPS using OpenSim APIs, that receive the following information through setup files: (i) weight of each marker (IK); (ii) external loads (ID); (iii) whether moment arms should be computed (MA); (iv) configuration of Static Optimization through the Analyze Tool, and actuators (SO); (v) muscle groups of interest (plotting). We provide already few setup files but the user is in charge of defining appropriate configuration for the data.

A MATLAB graphical user interface (GUI) is available to customize the execution of procedures. The use of the GUI is not limited in selecting the setup files. The user can also select: (i) the OpenSim procedures to execute, (ii) the trials to process, (iii) the cut-off frequencies for coordinate filtering, (iv) the coordinates/joint moments/muscles properties to plot and the x-axis label.

BOPS stores its outputs in folders that are automatically created. These folders integrate perfectly in the structure provided by MOtoNMS software ( We designed the two tools to work in close cooperation to transform the data collected in a motion analysis laboratory in inputs for OpenSim and CEINMS ( tools.

Latest Version

BOPS is an open project, released under Apache v2.0 License and hosted in [GitHub] 1. An archive of the latest release is freely available from the SimTK project page: together with a dataset to play with.


A PDF version of the BOPS User Manual will soon be uploaded in Meanwhile, please refer to this README for a basic introduction.


  1. Configure MATLAB for the use of OpenSim API (follow the instructions available [here] 3)

  2. Unzip the archive of BOPS (available here)

This release includes three directories:

  • src: BOPS source code
  • Templates: XML setup files for OpenSim IK, ID, MA, SO tools, and for configuration of output plots .
  • TestData: Example datasets from three different laboratories. Users are provided with the same data available in MOtoNMS (available also here) plus scaled .osim models.


Using the GUI

  1. Set MATLAB path to BOPS/src folder
  2. Run BOPSgui.m
How to set the processing input

BOPS requires an input folder for its execution. Please select a folder in the dynamicElaborations folder created by MOtoNMS tool. If you are not familiar with this folder structure you can refer to the [MOtoNMS User Manual] 5.

Advanced use

The use of the GUI is not mandatory. Advanced users can create a main.m script and call directly the functions. An example with some notes is provided.


  • Install BOPS in a folder that you can modify. Therefore, DO NOT install BOPS in Administrator folders, such as the Program Files folder;
  • File Paths MUST NOT include blank spaces due to a limitation in OpenSim SO.


Redistribution: Terms and Conditions

Copyright (C) 2015 Alice Mantoan, Monica Reggiani

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

When using BOPS, please acknowledge the authors.