Interactive Medical Simulation Toolkit
iMSTK - Interactive Medical Simulation Toolkit



iMSTK is a C++ based free & open-source toolkit that aids rapid prototyping of real-time multi-modal surgical simulation scenarios. Surgical simulation scenarios involve algorithms from areas such as haptics, advanced rendering, computational geometry, computational mechanics, virtual reality and parallel computing. iMSTK employs a highly modular and extensible design to enable the use of libraries and codes from these areas in a given application thereby reducing the development time.


Funding support:


iMSTK is licensed under Apache 2.0



Click here for detailed documentation.


The iMSTK Users and Developers can post questions and discuss relevant topics at the Discourse.


Designed more specifically for developers, the issue tracker allows developers to list and discuss issues & enhancements: >

Assign labels to the issues. The description of each label can be found HERE.

bug compilation critical enhancement optimization clean up refactor testcase visualization mechanics device documentation support discussion


On Linux:
sudo apt-get install build-essentials libgl1-mesa-dev libxt-dev libusb-1.0-0-dev

Getting started with iMSTK

1. Getting the source code

To be able to contribute back to the iMSTK project, the preferred way is to use Git for code version control. You can use the following command in the terminal for Linux/macOS, or in Git Bash for Windows.

git clone

2. Setting up your SSH key

The build process will check out external dependency sources with the SSH protocol to avoid manually entering credentials during the build process. To allow this, make sure you set up your ssh key in your profile HERE. You can find documentation on how to generate and retrieve your public ssh key HERE.

3. Building iMSTK

We use CMake to configure the project on every platform. See how to run it HERE.