2012 Summer Project Week:VertebraCTUSReg
Key Investigators
- University of British Columbia, Robotics & Control Laboratory: Saman Nouranian, Samira Sojoudi
- Queen's University
Objective
To bring the realtime needle navigation for spine injections into 3D-slicer framework, a chain of tools are required. Ultrasound machine is one of the most applicable devices for realtime guidance due to its non-poisonous physics behind and low cost availability. Out of the patient's lumbar section of the spine, a 3D volume is reconstructed using tracked frames acquired from ultrasound machine. This volume needs to be registered to prior CT-image of the same area of the patient. At the end a realtime guidance is performed based on outputs generated.
In this phase, we are focused on developing a new module for slicer that performs a rigid registration between segmented CT (model) and ultrasound volumetric representation (reconstructed volume). Current algorithm is based on single vertebra inputs and will be extended to include mechanical characteristics of spine for a multi-vertebrae case.
Approach, Plan
We assume a single vertebra model and volume are provided using existing slicer modules, like crop-volume and segmentation (editor).
From the CT model, a subset of visible points is extracted regarding position of the probe in ultrasound data acquisition step.
3D ultrasound volume (reconstructed before) is processed to generate a bone probability volume.
An iterative optimization algorithm is performed using Guassian Mixture Model method to solve for this surface to volume registration problem.
Results of each iteration step is visualaized in slicer to show the convergence of the algorithm.
Output from each step of the algorithm and all transforms from each iteration are saved to disk and scene.
Progress
- A loadable module is created which accepts a CT model (polydata) and an ultrasound volume (scalar) as inputs. All inputs need to be limited to region of interest (i.e. a single vertebra: L3)
- Core implementation of the algorithm is MATLAB-based (The algorithm is quite fast and speed is not an issue). Re-distributable MATLAB Compiler Runtime (MCR) is a prerequisite for the slicer module to run on any machine.
- A spine phantom data (L1-5) is used for the experiment.
Progress during project week
- MATLAB core is compiled and exported as shared libraries to be used in external projects.
- A wrapper project is added to the slicer solution to provide an interface with compiled MATALB dlls.
- Entire procedure for single vertebra registration is implemented using slicer interface and current plugin modules:
- loading complete ultrasound volume of the lumbar phantom
- cropping ultrasound volume using "Crop Volume" module
- Segmentation of the cropped CT volume using "Editor" module
- Passing model and volume nodes to "SpineCTUSRegistration" module and calling the registration commands
Works to do
- Still there is a need to initialize model and volume inputs regarding LPS/RAS orientation conflicts
- Improving animated visualization of the transform evolution on each iteration
- Algorithm modification by using original MHA files instead of reconstructed VTK files
- Performing entire procedure for a real patient data.
Delivery Mechanism
This work will be delivered to the NA-MIC Kit as a (please select the appropriate options by noting YES against them below)
- ITK Module
- Slicer Module
- Built-in
- Extension -- commandline
- Extension -- loadable --> Yes
- Other (Please specify)