Difference between revisions of "Collaboration/UIowa/Developing a GUI for non-rigid image registration programs using NA-MIC Kit"

From NAMIC Wiki
Jump to: navigation, search
 
(18 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{|
 
{|
 
|[[Image:ProjectWeek-2007.png|thumb|320px|Return to [[2007_Programming/Project_Week_MIT|Project Week Main Page]] ]]
 
|[[Image:ProjectWeek-2007.png|thumb|320px|Return to [[2007_Programming/Project_Week_MIT|Project Week Main Page]] ]]
|[[Image:genuFAp.jpg|thumb|320px|Scatter plot of the original FA data through the genu of the corpus callosum of a normal brain.]]
+
|[[Image:Before_vs_after_registration.jpg|thumb|320px]]
|[[Image:genuFA.jpg|thumb|320px|Regression of FA data; solid line represents the mean and dotted lines the standard deviation.]]
+
|[[Image:Before Registration.JPG|thumb|320px|Before Registration]]
 +
|[[Image:After Registration.JPG|thumb|320px|After Registration]]
 
|}
 
|}
 
 
 
__NOTOC__
 
__NOTOC__
 
===Key Investigators===
 
===Key Investigators===
Line 14: Line 13:
 
*Paul Song, The University of Iowa
 
*Paul Song, The University of Iowa
 
*Hans Jonson, The University of Iowa
 
*Hans Jonson, The University of Iowa
*Yumin, Kitware
+
*Yumin Yuan, Kitware
  
  
<div style="margin: 20px;">
+
__NOTOC__
  
 
<div style="width: 27%; float: left; padding-right: 3%;">
 
<div style="width: 27%; float: left; padding-right: 3%;">
Line 31: Line 30:
 
<h1>Approach, Plan</h1>
 
<h1>Approach, Plan</h1>
  
Our plan for the project week is to
+
Our plan for the project week is to:
Learn about the image processing pipeline and memory management issues.
+
*Learn about the image processing pipeline and memory management issues.
Learn about ITK file formats.
+
*Learn about ITK file formats.
Learn how to read, write, and visualize images using NA-MIC tools.
+
*Learn how to read, write, and visualize images using NA-MIC tools.
Learn how to make GUIs  ( Evaluate whether or not we need to write our own GUI using KWWidgets or can take advantage of slicer3 )
+
*Learn how to make GUIs  ( Evaluate whether or not we need to write our own GUI using KWWidgets or can take advantage of slicer3 )
Develop an Analyze object map reader.
+
*Develop an Analyze object map reader.
Learn how to use cpack.
+
*Learn how to use cpack.
The GUI should have the following components
+
 
 Show the template and target images before registration to verify input.  Views would include 2D and 3D views. The GUI would also show landmarks, contours, and surfaces to be used for registration and for validation of the input.
+
The GUI should provide the following functionality:
Allow the user to set various parameters. Allow the user to label corresponding landmarks and contours (possibly surfaces in the future) in the images.
+
*Display the template and target images in 2D and 3D before registration for verification.
 Show status and instant messages while the program is running, i.e., deforming image, difference images, Jacobian, displacement fields, deforming grid, etc.  
+
*Display landmarks, contours, and surfaces to be used for registration and validation.
 +
*Allow the user to set various parameters.
 +
*Allow the user to label corresponding landmarks and contours (possibly surfaces in the future).
 +
*Display status and instant messages while the program is running, i.e., deforming images, difference images, Jacobian, displacement fields, deforming grid, graphs, etc.  
  
 
</div>
 
</div>
Line 49: Line 51:
 
<h1>Progress</h1>
 
<h1>Progress</h1>
  
Software for the fiber tracking and statistical analysis along the tracts has been implemented. The statistical methods for diffusion tensors are implemented as ITK code as part of the [[NA-MIC/Projects/Diffusion_Image_Analysis/DTI_Software_and_Algorithm_Infrastructure|DTI Software Infrastructure]] project. The methods have been validated on a repeated scan of a healthy individual. This work has been published as a conference paper (MICCAI 2005) and a journal version (MEDIA 2006). Our recent IPMI 2007 paper includes a nonparametric regression method for analyzing data along a fiber tract.
+
*Learned how to use CMake and SVN. Became familiar with ITK and VTK.
 +
*Used KWWidgets to develop a simple GUI.
 +
*Added a Slicer3 plug-in for our registration program.  
 +
*Created a GUI to set parameters for the registration process and generated a parameter file for our registration program input.
 +
*Applied a command to the Slicer3 GUI to run our registration program in the background.
 +
 
  
 
</div>
 
</div>
Line 59: Line 66:
  
 
===References===
 
===References===
* Fletcher, P.T., Tao, R., Jeong, W.-K., Whitaker, R.T., "A Volumetric Approach to Quantifying Region-to-Region White Matter Connectivity in Diffusion Tensor MRI," to appear Information Processing in Medical Imaging (IPMI) 2007.
+
This work is supported in part by NIH grants EB004126, HL079406, HL64368, HL080285, and HL073598.
* Corouge, I., Fletcher, P.T., Joshi, S., Gilmore, J.H., and Gerig, G., "Fiber Tract-Oriented Statistics for Quantitative Diffusion Tensor MRI Analysis," Medical Image Analysis 10 (2006), 786--798.
+
 
* Corouge, I., Fletcher, P.T., Joshi, S., Gilmore J.H., and Gerig, G., Fiber Tract-Oriented Statistics for Quantitative Diffusion Tensor MRI Analysis, Lecture Notes in Computer Science LNCS, James S. Duncan and Guido Gerig, editors, Springer Verlag, Vol. 3749, Oct. 2005, pp. 131 -- 138
+
*G.E. Christensen, H.J. Johnson. Consistent Image Registration, IEEE TMI, 20(7), 2001, pp 568-582.
* C. Goodlett, I. Corouge, M. Jomier, and G. Gerig, A Quantitative DTI Fiber Tract Analysis Suite, The Insight Journal, vol. ISC/NAMIC/ MICCAI Workshop on Open-Source Software, 2005, Online publication: http://hdl.handle.net/1926/39 .
+
*H.J. Johnson, G.E. Christensen. Consistent Landmark and Intensity-based Image Registration, IEEE TMI, 21(5), 2002, pp. 450-461.
 +
*G.E. Christensen, H.J. Johnson and M.W. Vannier, Synthesizing average 3D anatomical shapes, NeuroImage, 32, 2006, pp. 146-158.

Latest revision as of 14:56, 13 July 2007

Home < Collaboration < UIowa < Developing a GUI for non-rigid image registration programs using NA-MIC Kit
Before vs after registration.jpg
Before Registration
After Registration

Key Investigators

  • Gary Christensen, The University of Iowa
  • Kunlin Cao, The University of Iowa
  • Kai Ding, The University of Iowa
  • Xiujuan Geng, The University of Iowa
  • Paul Song, The University of Iowa
  • Hans Jonson, The University of Iowa
  • Yumin Yuan, Kitware



Objective

Learn how to use a professional software development process. Learn how to create GUIs to make our tools easier for others to use. Learn how to port our existing image registration & image processing libraries and tools to the ITK and VTK model. Learn how to package our programs so they run on different computer operating systems such as Windows, Linux, and Macintosh.


Approach, Plan

Our plan for the project week is to:

  • Learn about the image processing pipeline and memory management issues.
  • Learn about ITK file formats.
  • Learn how to read, write, and visualize images using NA-MIC tools.
  • Learn how to make GUIs ( Evaluate whether or not we need to write our own GUI using KWWidgets or can take advantage of slicer3 )
  • Develop an Analyze object map reader.
  • Learn how to use cpack.

The GUI should provide the following functionality:

  • Display the template and target images in 2D and 3D before registration for verification.
  • Display landmarks, contours, and surfaces to be used for registration and validation.
  • Allow the user to set various parameters.
  • Allow the user to label corresponding landmarks and contours (possibly surfaces in the future).
  • Display status and instant messages while the program is running, i.e., deforming images, difference images, Jacobian, displacement fields, deforming grid, graphs, etc.

Progress

  • Learned how to use CMake and SVN. Became familiar with ITK and VTK.
  • Used KWWidgets to develop a simple GUI.
  • Added a Slicer3 plug-in for our registration program.
  • Created a GUI to set parameters for the registration process and generated a parameter file for our registration program input.
  • Applied a command to the Slicer3 GUI to run our registration program in the background.




References

This work is supported in part by NIH grants EB004126, HL079406, HL64368, HL080285, and HL073598.

  • G.E. Christensen, H.J. Johnson. Consistent Image Registration, IEEE TMI, 20(7), 2001, pp 568-582.
  • H.J. Johnson, G.E. Christensen. Consistent Landmark and Intensity-based Image Registration, IEEE TMI, 21(5), 2002, pp. 450-461.
  • G.E. Christensen, H.J. Johnson and M.W. Vannier, Synthesizing average 3D anatomical shapes, NeuroImage, 32, 2006, pp. 146-158.