This repository will help you pre-process your motion capture data for use in OpenSim. You DO NOT need to have the OpenSim package installed or configured to use these scripts. This repository is for PREPARING your data for use in OpenSim and does not require OpenSim as a dependency.
OpenSim currently only support 3rd-order Butterworth low-pass filtering. With these simple processing scripts, you can extract .c3d files, apply any filter order or cutoff frequency and obtain the resulting OpenSim .mot and .sto data files. Additionally, these scripts recalculate the COP after low-pass filtering of the raw data to ensure data accuracy.
The ezc3d library is excellent for .c3d file processing and it must be installed prior to running the processing scripts.
The Kuopio Full-Body Dataset contains motion trials which have been tested with these scripts.
MATLAB testing and processing has been developed and tested on Linux with MATLAB 2026a but should work with other OS and platform combinations.
- Install MATLAB for your OS
- Install the
Signal Processing Toolbox by MathWorksin MATLAB for low-pass filtering - Download the ezc3d MATLAB package for your OS
- Unzip the folder, and add it to the MATLAB path (
Home->Set Path->Add Folder& clickSave path for future sessions). - Set the parameters in
matlab/process_c3d_trial.mand run it!
WIP