Rigid 3D alignment of stacks

Author: Johannes Schindelin (Johannes.Schindelin at GMX.DE), Mark Longair (Mark.Longair at ed.ac.uk)
Installation: Download Rigid_Registration.jar to the plugins folder, or subfolder, restart ImageJ, and there will be a new command in the Plugins menu, "Rigid Registration".

This plugin uses an iterative optimization algorithm, in particular a conjugate direction search, to align to stacks rigidly. The transformation parameters are adjusted to minimize the difference between the two stacks. Several choices are available as measure for the image difference.

In the following, template is the image which serves as a reference image and model is the image which is transformed to match the template.

The plugin is started by opening template and model image, selecting the model image and clicking on 'Rigid Registration' in the Plugins menu. The following dialog appears

The fields in this dialog have the following meaning:

Transforming: This shows which of the images serves as a model image. If the wrong image is shown here, you've had selected the wrong image when you started the plugin.
Initial transform: You can specify a transformation which is used as a starting point for the following optimization. If this field is left blanc, an exhaustive search is performed over all possible orientations. A 3x4 transformation matrix can be specified element-wise, line by line. The elements are separated by a space character.
Example: 1 0 0 0 0 1 0 0 0 0 0 1 (identity matrix)
n initial positions to try: If no initial transformation was specified, the n best matching orientations are investigated for further optimization.
Tolerance: The optimisation steps of the algorithm are performed until model and image stacks do not differ by more than the specified value (with respect to the chosen difference measure, see below).
Level/StopLevel: Images are processed in scale space: Level of 1 means no downsampling, level of 2 means once downsampling (to half size), level of 3 means twice downsampling (to one quarter of the original size). Level 4 and stopLevel 2 means that downsampled 4 times, then processed. The result of level 4 is then the initial guess for level 3, and so on.
MaterialCenterAndBBox: It is possible to reduce the optimisation (i.e. the difference calculation) to a part of the image, instead of using the whole image. In this field, a bounding box and the center of rotation can be specified in the form "centerX centerY centerZ x0 x1 y0 y1 z0 z1. If this field is left blanc, the whole image is used.
No optimisation: The model image is transformed by the initial transform. No optimization is done.
Show transformed: Show the transformed image.
Show difference image: Displays a difference image between the template and the transformed model image.
Fast but inaccurate Faster optimization, but less accurate
Template The image which is used as template (reference).
Measure: Measure for the difference between model and template. This value of this measure is minimized during optimisation. Choose one of "Euclidean", "MutualInfo", "Threshold55" (binary difference setting a virtual threshold of 55), "Threshold155", "Correlation"
Also transform these images: Other images (apart from the model image) which should be co-transformed by the same rigid transformation as the the model.

Clicking OK will finally start the plugin.

| Back |