Mosaic Arthroplasty Surgery Planner
Mosaic arthroplasty is a surgical procedure to repair a cartilage defect. Small plugs of cartilage and bone are transplanted into the defect from a non-load-bearing part of the joint.
This codebase represents an implementation of cartilage surface prediction and automated planning of mosaic arthroplasty developed by the Joints and Connective Tissues Laboratory under the supervision and guidance of James Stewart.
- C++11 compiler (g++ 5.1+ or clang 3.8+)
- GPU driver support for OpenGL 4.3+
Install CMake:
sudo aptitude install cmake
Install dependencies:
sudo aptitude install clang-format
sudo aptitude install libsdl2-dev
sudo aptitude install libepoxy-dev
Install CMake:
brew install cmake
Install dependencies:
brew install clang-format
brew install sdl2
brew install libepoxy
NOTE: OSX only has driver support for OpenGL 4.1, therefore the GPU planning functionality is disabled.
Build the makefiles:
mkdir build
cd build
cmake ..
Compile and link the executable:
make
Run the executable with a plan file:
./planner ./resources/patient1/plan0.csv
ESC: Exits the application.
0-9: Changes the view input / output file number.
SHIFT+R: Read in an existing view file corresponding the the # set with 0-9.
SHIFT+W: Write the existing view to a file corresponding the the # set with 0-9.
SPACEBAR: Toggles between `rotation` and `translation` camera modes.
Z: Reset camera to model.
SHIFT+D: Creates a new donor boundary site.
SHIFT+S: Creates a new defect boundary site.
DELETE: Removes a selected boundary point.
CTRL+DELETE: Removes a selected boundary.
SHIFT+N: Clears the existing plan.
SHIFT+O: Exports the plan file.
SHIFT+P: Generate a new plan.
P: Toggle plan visibility.
M: Update graft marker positions.
R: Set graft edit mode to `rotation`
T: Set graft edit mode to `translation`
V: Toggle selected component visibility.