ALE
Image Processing Software

Deblurring, Anti-aliasing, and Superresolution.


Local Operation
localhost
5393119533

[ Up | Error Function ]

Alignment

ALE aligns each supplemental frame, in sequence, with an alignment reference image constructed from previous frames. This page outlines supported transformation classes, the algorithm used for alignment, and the properties of the alignment algorithm. Following this is a discussion of practical use of alignment options, including alignment classes and alignment in the case of spatial extension.

Transformations

ALE offers the following classes of transformations:

Translationsintroduced in version 0.0.0
Euclidean transformations (excluding reflections)introduced in version 0.1.0
Projective transformationsintroduced in version 0.2.0
Barrel distortion correctionintroduced in version 0.7.0

Algorithm

Alignment proceeds by a deterministic search, beginning with an initial transformation and modifying this transformation through a series of perturbations.

The initial transformation may be loaded from a file (when --trans-load is used) or selected by default, or may be the result of a global search (when --gs is used [0.7.1 only]). The default initial transformation is either the transformation of the original frame (when the --identity option is specified) or the most recently aligned frame's final alignment (when the --follow option is specified). When the initial transformation is loaded from a file, and if the --follow option is specified, any changes to the alignment of the previous frame are applied to the current frame at the outset.

Once the initial transformation is determined, an initial perturbation amount determines the step size by which each of the transformation parameters are changed. In translational or Euclidean alignment, the perturbation amount is applied to translation -- in units of pixels on the two image axes -- and rotation -- in units of degrees about the image center. An additional configurable upper bound, --rot-upper, constrains rotational perturbation separately, preventing, e.g., a 360 degree perturbation of rotation. In the case of projective alignment, the perturbation amount is applied to the position of the corners of the projected quadrilateral in units of pixels, where the projection is from the boundary of the supplemental frame into the coordinate system of the alignment reference image. In the case of barrel distortion correction, the perturbation amount is scaled by a multiplier (--bda-mult) before being applied to each barrel distortion coefficient (if any have been defined). The rate of change of barrel distortion coefficients per frame can be limited with the option --bda-rate.

If possible, transformation parameters are changed to decrease the error between the supplemental frame and the alignment reference image. The perturbation amount is halved whenever it is determined that no parameter change of the current perturbation size improves the alignment of the images. A lower bound on the perturbation amount determines when the alignment is complete.

When multiple levels of detail are used, the error may be calculated on images with a reduced level of detail. By default, this version of ALE uses a level of detail twice as fine as the perturbation amount for perturbation amounts larger than two, and full detail otherwise. This behavior can be changed by adjusting the --lod-max option.


Copyright 2002, 2003, 2004 David Hilvert

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.