Atlas Registration: Affine (MI/Newton)

Estimate a transformation of the affine class by optimization of mutual information (MI) between two volumes.

Optimization is performed in a multiresolution scheme using either L2 spline pyramids or smoothing/subsampling pyramids. Translations, rigid body transformation, similitudes and affine transformations can be estimated. Moreover, transformation parameters can be successively freed in the optimization framework by computing transformations from the more basic to the more complex ones. Optimization is performed with a relaxed Newton's method.

Description

References

Unser and Aldroubi (1993) first proposed this multiresolution registration approach based on spline pyramids with the sum of square differences as similarity metric. Thévenaz and Unser (2000) modified it to work with mutual information. L2 Spline pyramids were described in Unser et al. (1993). The optimization framework we used differs slightly from that of Thevenaz and Unser, details are provided in Yael Balbastres's thesis (2016).

Parameters

input_mri: P:MRI VIP Bias Corrected ( input )
Reference image. In order to minimize deformations of the input image, in Primatologist's framework, the atlas is registered towards the target MRI space.
input_mask: P:Morpho Skull Stripping Mask ( optional, input )
input_template: P:Atlas Raw Template ( input )
Moving image. In Primatologist, this should be the template image associated with the anatomical or probabilistis atlas.
evaluation_points: P:Evaluation Points Bucket ( optional, input )
List of coordinates in the target image space to which the estimation of MI will be restricted. Because of the simplicity of the affine transformation model, using too many estimation points hampers the registration without adding much informative value. It is thus advised to extract a subset of evaluation points with the points selection process.
transformation: ListOf( Choice ) ( optional, input )
Transformation model. If a list of transformation is provided, they should be ordered from the more simple to the more complex ones (Translation - Rigid - Affine). In this case, transformation parameter are successively freed. In practice, a translation is first optimized and used to initialize a rigid body transformation which is then optimized and used to initialize an affine transformation, etc.
stop_crit: Float ( optional, input )
Stop criterion is the mutual information difference between two consecutive optimization iterations.
trust_radius: Float ( optional, input )
At each Newton iteration, the first point explored is x' = x - r g(x) H(x), where g is the gradient of the objective function, H is its hessien and r is the trust radius. The radius is then modulated in order to choose the otpimal descent amplitude.
stride: Integer ( optional, input )
If no estimation points set is provided, one can be automatically obtained by setting a stride s : in this case only one every s voxels is kept for MI estimation.
exact_hessian: Boolean ( optional, input )
If true, the exact MI hessian is computed at each Newton iteration. This is however costly. If false, an approximation proposed by Thevenaz and Unser (1997) is used instead, which is not more expansive then the gradient.
level_start: OpenChoice ( optional, input )
Pyramid level at which optimization is started. By default, the level insuring at least 8 voxels in each dimension is used.
level_stop: OpenChoice ( optional, input )
Pyramid level at which optimization is stopped. By default, the level at which the moving image resolution is the closest from the reference image resolution is used.
level_incr: OpenChoice ( optional, input )
Level increment. Default is 1 (i.e., all levels between start and stop are explored)
gc_init: Boolean ( optional, input )
Initialize transforms by weighted gravity centers alignment.
output_affine_motion: P:Template To Subject Affine Transformation ( output )
Output affine motion.
verbose: Boolean ( optional, input )
Verbosity of the C++ command. Outputs from this command can be opbtained through BrainVISA's log.

Technical information

Toolbox : Primatologist

User level : 0

Identifier : primate_AtlasAffineMI

File name : brainvisa/toolboxes/primatologist/processes/blocks/primate_AtlasAffineMI.py

Supported file formats :

input_mri :
gz compressed NIFTI-1 image, Aperio svs, BMP image, DICOM image, Directory, ECAT i image, ECAT v image, FDF image, FreesurferMGH, FreesurferMGZ, GIF image, GIS image, Hamamatsu ndpi, Hamamatsu vms, Hamamatsu vmu, JPEG image, Leica scn, MINC image, NIFTI-1 image, PBM image, PGM image, PNG image, PPM image, SPM image, Sakura svslide, TIFF image, TIFF image, TIFF(.tif) image, TIFF(.tif) image, VIDA image, Ventana bif, XBM image, XPM image, Zeiss czi, gz compressed MINC image, gz compressed NIFTI-1 image
input_mask :
gz compressed NIFTI-1 image, Aperio svs, BMP image, DICOM image, Directory, ECAT i image, ECAT v image, FDF image, FreesurferMGH, FreesurferMGZ, GIF image, GIS image, Hamamatsu ndpi, Hamamatsu vms, Hamamatsu vmu, JPEG image, Leica scn, MINC image, NIFTI-1 image, PBM image, PGM image, PNG image, PPM image, SPM image, Sakura svslide, TIFF image, TIFF image, TIFF(.tif) image, TIFF(.tif) image, VIDA image, Ventana bif, XBM image, XPM image, Zeiss czi, gz compressed MINC image, gz compressed NIFTI-1 image
input_template :
gz compressed NIFTI-1 image, Aperio svs, BMP image, DICOM image, Directory, ECAT i image, ECAT v image, FDF image, FreesurferMGH, FreesurferMGZ, GIF image, GIS image, Hamamatsu ndpi, Hamamatsu vms, Hamamatsu vmu, JPEG image, Leica scn, MINC image, NIFTI-1 image, PBM image, PGM image, PNG image, PPM image, SPM image, Sakura svslide, TIFF image, TIFF image, TIFF(.tif) image, TIFF(.tif) image, VIDA image, Ventana bif, XBM image, XPM image, Zeiss czi, gz compressed MINC image, gz compressed NIFTI-1 image
evaluation_points :
Bucket, Bucket
output_affine_motion :
Transformation matrix, Transformation matrix