From Slicer Wiki
Revision as of 03:04, 3 March 2009 by Blezek (talk | contribs) (→‎Usage)
Jump to: navigation, search
Home < Modules:AffineRegistration-Documentation-3.4

Return to Slicer 3.4 Documentation

Affine Registration

Affine Registration

Caption 1
Caption 2
Caption 3

General Information

Module Type & Category

Type: CLI

Category: Registration

Authors, Collaborators & Contact

  • Author: Daniel Blezek
  • Contact: daniel.blezek at

Module Description

This command line module implements a registration algorithm based on the Mattes mutual information registration metric and the affine transformation. Both the fixed and moving images may be optionally smoothed before registration.


Examples, Use Cases & Tutorials

  • This module is often used to align images of different subjects.
  • The affine 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

List all the panels in your interface, their features, what they mean, and how to use them. For instance:

  • Input panel:
  • Parameters panel:
  • Output panel:
  • Viewing panel:

Parameter Description

  • 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 Number of iterations to run. The default of 2000 is often sufficient for convergence.
    • 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.



No other modules are required for this module.


The module uses an itkOrientImageFilter to realign the fixed and moving images to axial before registration. This is required due to limitations in ITK's handling of non-axial images in filters used by registration.

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


More Information


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.


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.