Modules:RigidRegistration-Documentation-3.6
Return to Slicer 3.6 Documentation
Fast Rigid Registration
Fast Rigid Registration
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
- 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.