Difference between revisions of "Modules:RigidRegistration-Documentation-3.6"

From Slicer Wiki
Jump to: navigation, search
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
[[Documentation-3.6|Return to Slicer 3.6 Documentation]]
 
[[Documentation-3.6|Return to Slicer 3.6 Documentation]]
 
__NOTOC__
 
__NOTOC__
===Rigid Registration===
+
= Fast Rigid Registration=
Rigid Registration
+
Fast Rigid Registration
  
 
{|
 
{|
|[[Image:LinearRegistration.png|thumb|280px|Rigid Registration Module]]
+
|[[Image:LinearRegistration.png|thumb|280px|Fast Rigid Registration Module]]
 
|}
 
|}
  
Line 53: Line 53:
  
 
== Development ==
 
== Development ==
 +
 +
===Notes from the Developers(s)===
 +
 +
This is a pretty standard example of using the ITK registration framework with mutual information.  There is extra handling to include an initial transformation to seed the registration. If no initial transform is specified, than one is created that centers the two datasets.
 +
 +
The code operates on a variety of pixel types which makes for a long compilation sequence.
  
 
===Dependencies===
 
===Dependencies===
  
 
No other modules are required for this module.
 
No other modules are required for this module.
 +
 +
===Tests===
 +
* [http://www.na-mic.org/ViewVC/index.cgi/trunk/Applications/CLI/Testing/RigidRegistrationTest.cxx RigidRegistrationTest.cxx]
  
 
===Limitations===
 
===Limitations===
  
The module uses an [http://www.itk.org/Doxygen/html/classitk_1_1OrientImageFilter.html itkOrientImageFilter] to realign the fixed and moving images to axial before registration.  This is required due to limitations in [http://www.itk.org/Wiki/Proposals:Orientation ITK's handling] of non-axial images in filters used by registration.
+
The module uses an [http://www.itk.org/Doxygen/html/classitk_1_1OrientImageFilter.html itkOrientImageFilter] to realign the fixed and moving images to axial before registration.  This used to be required due to limitations in [http://www.itk.org/Wiki/Proposals:Orientation ITK's handling] of non-axial images in filters used by registration. The reorientation may be removed at a later date.
  
 
===Known bugs===
 
===Known bugs===
  
None.  To report bugs, follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker.  
+
None.  To report bugs, follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker.
 
 
  
 
===Usability issues===
 
===Usability issues===

Latest revision as of 21:16, 30 April 2010

Home < Modules:RigidRegistration-Documentation-3.6

Return to Slicer 3.6 Documentation

Fast Rigid Registration

Fast Rigid Registration

Fast Rigid Registration Module

General Information

Module Type & Category

Type: CLI

Category: Registration

Authors, Collaborators & Contact

  • Author: Daniel Blezek
  • Contributor: Jim Miller
  • Contact: daniel.blezek at gmail.com, millerjv at ge.com

Module Description

This command line module implements a registration algorithm based on the Mattes mutual information registration metric. The transformation mapping the moving image to the fixed image consists of 3 translations and 3 rotations. Thus, only rigid body transformations are permitted. Both the fixed and moving images may be optionally smoothed before registration. The module optionally breaks the optimization into multiple stages, each with a different learning rate and number of iterations.

Usage

Use Cases, Examples

  • This module is often used to align images of the same subject acquired at different times.
  • The Mattes mutual information metric is suitable for aligning images of the same or different modalities.
  • The rigid body transformation allows a limited degree of deformation and frequently is used as a pre-processing step for higher order transformations such as the BSpline and Demons.

Quick Tour of Features and Use

Rigid Registration Module
  • Preprocessing
    • Smoothing level for fixed image Amount of smoothing applied to fixed image prior to registration. Default is 0 (none). Range is 0-5 (unitless). Consider smoothing the input data if there is considerable amounts of noise or the noise pattern in the fixed and moving images is very different.
    • Smoothing level for moving image Amount of smoothing applied to moving image prior to registration. Default is 0 (none). Range is 0-5 (unitless). Consider smoothing the input data if there is considerable amounts of noise or the noise pattern in the fixed and moving images is very different.
  • Registration Parameters
    • Histogram Bins Number of bins used to generate the joint probability function used for the mutual information calculation. Generally, 30-100 are used, or roughly 1/3 the number of grey levels in the images.
    • Spatial Samples Number of sample locations to use in calculating the mutual information. The Mattes mutual information metric uses this number of samples for stocastic sampling of the images. 2-5% of the number of samples in the image is usually sufficient for registration.
    • Iterations Comma separated list of iterations. Must have the same number of elements as the learning rate.
    • Learning Rate Comma separated list of learning rates. Learning rate is a scale factor on the gradient of the registration objective function (gradient with respect to the parameters of the transformation) used to update the parameters of the transformation during optimization. Smaller values cause the optimizer to take smaller steps through the parameter space. Larger values are typically used early in the registration process to take large jumps in parameter space followed by smaller values to home in on the optimum value of the registration objective function. Default is: 0.01, 0.005, 0.0005, 0.0002. Must have the same number of elements as iterations.
    • Transform scaling The relative scaling between rotation and translation parameters, i.e. a value of 100 means 10mm = 1 degree. (Actual scale used is 1/(TranslationScale^2)). This parameter is used to "weight" or "standardized" the transform parameters and their effect on the registration objective function.
  • Input/Output
    • Initial transform (Optional) Initial transform for aligning the fixed and moving image. Maps positions in the fixed coordinate frame to positions in the moving coordinate frame.
    • Fixed Image The fixed image to register the moving image against. The transform calculated maps a spatial position within the Fixed Image to a spatial position within the moving image.
    • Moving Image The moving image to register to the fixed image.
    • Output Transform Transform calculated that aligns the fixed and moving image. Maps positions in the fixed coordinate frame to the moving coordinate frame. This parameter is optional, and both an output transform and an output volume may be specified.
    • Output Volume Resampled moving image to the fixed image coordinate frame. This is output is optional.

Development

Notes from the Developers(s)

This is a pretty standard example of using the ITK registration framework with mutual information. There is extra handling to include an initial transformation to seed the registration. If no initial transform is specified, than one is created that centers the two datasets.

The code operates on a variety of pixel types which makes for a long compilation sequence.

Dependencies

No other modules are required for this module.

Tests

Limitations

The module uses an itkOrientImageFilter to realign the fixed and moving images to axial before registration. This used to be required due to limitations in ITK's handling of non-axial images in filters used by registration. The reorientation may be removed at a later date.

Known bugs

None. To report bugs, follow this link to the Slicer3 bug tracker.

Usability issues

Follow this link to the Slicer3 bug tracker. Please select the usability issue category when browsing or contributing.

Source code & documentation

Source Code: C++ Source and XML Description

Documentation:

More Information

Acknowledgment

This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Information on the National Centers for Biomedical Computing can be obtained from National Centers for Biomedical Computing.

References

D. Mattes, D.R. Haynor, H. Vesselle, T.K. Lewellen, and W. Eubank. PET-CT image registration in the chest using free-form deformations. IEEE Transactions on Medical Imaging, 22(1):120–128, 2003.