Difference between revisions of "2012 Summer Project Week:VertebraCTUSReg"

From NAMIC Wiki
Jump to: navigation, search
 
(17 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
<gallery>
 
<gallery>
 
Image:PW-MIT2012.png|[[2012_Summer_Project_Week#Projects|Projects List]]
 
Image:PW-MIT2012.png|[[2012_Summer_Project_Week#Projects|Projects List]]
 +
Image:CTUSDiagram.png|Sequence diagram
 +
Image:CTUSModule.png|Module interface
 +
Image:CTUSTools.png|Slicer plug-ins
 +
Image:CTUSReg.png|Registered phantom(L3)
 
</gallery>
 
</gallery>
 
 
==Key Investigators==
 
==Key Investigators==
* University of British Columbia, Robotics & Control Laboratory
+
* University of British Columbia, Robotics & Control Laboratory: Saman Nouranian, Samira Sojoudi
 
* Queen's University
 
* Queen's University
 
 
<div style="margin: 20px;">
 
<div style="margin: 20px;">
 
<div style="width: 27%; float: left; padding-right: 3%;">
 
<div style="width: 27%; float: left; padding-right: 3%;">
 
 
<h3>Objective</h3>
 
<h3>Objective</h3>
 
To bring the realtime needle navigation for spine injections into 3D-slicer framework, a chain of tools are required.
 
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 and low cost availability.
+
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.
 
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.
 
<p>
 
<p>
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.
+
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.
 
</p>
 
</p>
  
Line 24: Line 25:
  
 
<h3>Approach, Plan</h3>
 
<h3>Approach, Plan</h3>
We assume a single vertebra model and volume is provided using existing slicer modules like crop-volume and segmentation (editor).
+
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.
 
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. <br/>
 
3D ultrasound volume (reconstructed before) is processed to generate a bone probability volume. <br/>
 
An iterative optimization algorithm is performed using Guassian Mixture Model method to solve for this surface to volume registration problem.
 
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.<br/>
 
Results of each iteration step is visualaized in slicer to show the convergence of the algorithm.<br/>
Output from each step of the algorithm and all transforms from each iteration are saved to disk.
+
Output from each step of the algorithm and all transforms from each iteration are saved to disk and scene.
 
</div>
 
</div>
  
Line 35: Line 36:
  
 
<h3>Progress</h3>
 
<h3>Progress</h3>
# 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)
+
* 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, since the algorithm is quite fast and speed is not an issue. Re-distributable MATLAB Compiler Runtime (MCR) is a prerequisite for the slicer module.
+
* 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.
+
* A spine phantom data (L1-5) is used for the experiment.
 +
<h3>Progress during project week</h3>
 +
* 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
 +
<h3>Works to do</h3>
 +
* 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.
 +
 
 
</div>
 
</div>
 
</div>
 
</div>

Latest revision as of 15:18, 22 June 2012

Home < 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)

  1. ITK Module
  2. Slicer Module
    1. Built-in
    2. Extension -- commandline
    3. Extension -- loadable --> Yes
  3. Other (Please specify)