Difference between revisions of "Collaboration/UIowa/Developing a GUI for non-rigid image registration programs using NA-MIC Kit"
From NAMIC Wiki
(20 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: | + | |[[Image:Before_vs_after_registration.jpg|thumb|320px]] |
− | |[[Image: | + | |[[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 |
− | + | __NOTOC__ | |
<div style="width: 27%; float: left; padding-right: 3%;"> | <div style="width: 27%; float: left; padding-right: 3%;"> | ||
<h1>Objective</h1> | <h1>Objective</h1> | ||
− | + | 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. | |
Line 31: | Line 30: | ||
<h1>Approach, Plan</h1> | <h1>Approach, Plan</h1> | ||
− | Our | + | 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. | ||
− | |||
</div> | </div> | ||
Line 40: | Line 51: | ||
<h1>Progress</h1> | <h1>Progress</h1> | ||
− | + | *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 50: | Line 66: | ||
===References=== | ===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. |
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![]() Return to Project Week Main Page |
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.