Status:
Shuo Wang1, Tong Ren2, [Nan Cheng]2, [Rong Wang]2, Li Zhang1*
1Tsinghua University, 2The Six medical center of PLA General Hospital
[Project] [Paper] [arXiv] [Video] [Supp]
This repository contains the official implementation of our paper "Time-Varying Coronary Artery Deformation: A Dynamic Skinning Framework for Surgical Training", submitted to International Journal of Computer Assisted Radiology and Surgery.
Note: The complete code will be released upon paper acceptance.
- Skeleton-based real-time deformation
- Animation sequence playback for vessel deformation
- Interactive skeletal control
- Visualization debugging tools
- Export capabilities for deformed meshes and pose data
- Windows/Linux/MacOS
- OpenGL support
- C++ compilation environment
- Eigen 3.3+
- libigl
- GLUT
- AntTweakBar
- CGAL (optional, for mesh processing)
- TetGen (optional, for tetrahedral meshing)
mkdir build
cd build
cmake ..
make
-Mouse Controls:
Left Click + Drag: Select and control bones
Alt + Left Drag: Rotate scene
Mouse Wheel: Zoom in/out
-Keyboard Shortcuts:
A/a: Toggle animation play/pause
D/d: Deselect all
e: Set rotation control mode
w: Set translation control mode
R: Reset selected bone rotation
r: Reset all bone rotations
F/f: Toggle floor display
S: Save current posed mesh
s: Save current skeleton pose
W: Save current weights
Z/z: Snap to canonical view
Ctrl+Z: Undo
Ctrl+Shift+Z: Redo
ESC/Ctrl+C: Exit program
-File Formats
Supported Mesh Formats: .obj, .off
Skeleton File Format: .tgf
Weight File Format: .dmat
Output Formats:
-Mesh: .obj
-Pose: .dmat
-Weights: .dmat
-Command Line Arguments
./program <model.obj> <skeleton.tgf> [weights.dmat] [pose-prefix]
Parameters:
-model.obj: Input mesh model file
-skeleton.tgf: Skeleton file
-weights.dmat: (optional) Weight file
-pose-prefix: (optional) Prefix for output pose files
- Ensure correct format for input models and skeleton files
- Large models may require longer initialization time
- Recommended to save weight files to avoid recalculation
- Adjust model resolution if performance issues occur
If you find our work useful in your research, please consider to cite our paper: