Problem
Surgical navigation has to keep a tracked instrument registered to anatomy while the tracker itself is noisy, distorted, and slow if you naively search a 100k-point cloud every iteration.
What I built
A modular C++/Python library for 3D registration, calibration, error modeling, and distortion correction, written for the Computer Integrated Surgery course at Johns Hopkins.
- Bounding-volume hierarchies accelerate nearest-neighbor lookup inside ICP, cutting per-iteration cost on large point clouds and dropping overall ICP runtime by 40%.
- EM-tracker distortion is modeled as a polynomial deformation field calibrated from a known phantom, reducing positional error by 30%.
- Each component has unit tests and verification documentation, so the registration path is checkable rather than a single opaque binary.
The work is the unglamorous half of image-guided surgery: if the transform is wrong, the model never gets a chance to be useful.