ALE User Manual: Alignment

ALE Image Processing Software Deblurring, Anti-aliasing, and Superresolution. Local Operation localhost 2684415918

[ Up ]

# Alignment

Alignment compares each supplemental frame in the sequence with an intermediate rendering known as the accumulated image. Based on this comparison, a transformation is assigned to the supplemental frame. Many different transformations can be assigned before alignment of the frame is complete.

## Match statistics

The match statistic is a single number indicating how well two frames are aligned. After alignment is complete, ALE displays the final match statistic. If the value is close to 100%, then the frames are well aligned. Very low values can indicate misalignment. However, even frames that are very well aligned do not usually achieve 100% alignment, and for improving image quality, ALE works most effectively when match values are less than 100%.

### Match threshold

A match threshold can be specified; no images with final match statistics falling below this threshold will contribute to the final output.

    --threshold=x     Min. match threshold; a perfect match is 100.  (0 is default)

### Error metric exponent

The function calculated at each pixel to determine the match statistic is known as the error metric, and is of the form (a-b)x. The value x is known as the error metric exponent, and is 2 by default. Larger numbers usually mean that alignment will be more influenced by smaller image features.

    --metric=x        Set the error metric exponent.                 (2 is default)

### Alignment Channel Options

In calculating the per-pixel error metric, there are three ways in which ALE can handle color channels. By default, ALE adds the channels before calculating the match. However, ALE can also rely solely on the green color channel or use all three channels separately.

    --align-all       Align images using all color channels
    --align-green     Align images using the green channel
    --align-sum       Align images using a sum of channels [default]

### Monte Carlo Alignment

Aligning large images can take a very long time if all pixels are examined in determining the match statistic, so it is often desirable to examine a smaller number of pixels. The Monte Carlo alignment option allows this. The number of pixels used is specified as a percentage, and smaller numbers usually mean faster, but less precise, alignment.

    --mc <x>          Align using, on average, x% of available pixels (0 < x < 100)
    --no-mc           Align using all pixels.  [default]

## Perturbation

Every dot displayed after an input filename indicates a change in perturbation size. The size is initially set to be high, allowing large changes in alignment to be evaluated, and is reduced as the locally optimal alignment is found for each size. When this size drops below a specified lower bound, the frame is considered to be aligned.

### Perturbation bounds

These options determine the upper and lower bounds for perturbation size. The perturb-upper and perturb-lower bounds apply to rotation (in degrees), translation (in pixels), and the movement of the boundaries of a projected frame (in pixels). The rot-upper bound disables rotational perturbation above a certain perturbation size (in degrees). To disable alignment, set perturb-upper to zero.

    --perturb-upper=x Perturbation upper bound in pixels/degrees  (32.0 is default)
    --perturb-lower=x Perturbation lower bound in pixels/degrees  (.125 is default)
    --rot-upper=x     Rotation-specific perturbation upper bound  (32.0 is default)

### Level of detail

Alignment at large perturbation sizes is usually carried out on reduced-detail images. To disable this, set lod-max to log2(perturb-upper).

    --lod-max=x       LOD scale factor is max(1, (2^floor(x))/perturb)  (1 is def.)

## Transformations

The variables used to adjust alignment are called transformations, and map points from a source image to a target image.

There are three transformation classes that can be used by ALE. The translational class applies only translations to the inputs, changing only the position of images; the Euclidean class applies translations and rotations; and the projective class applies general projective transformations, which are the most general type of transformation supported by ALE.

The Euclidean class is most appropriate for use with scanners and as a first pass for projective transformations. The projective class is most appropriate for use with cameras.

Except when capturing flat scenes, ALE does not correct for perspective changes, so movement of cameras should ideally be constrained so that no large translations occur.

### Transformation Class Options

    --translation     Only adjust the position of images
    --euclidean       Adjust the position and orientation of images [default]
    --projective      Use projective transformations.  Best quality, but slow.

### Transformation data file options

Transformations used in alignment can be loaded from a file or saved to a file. This can be useful when performing alignment in several passes, or when refining rendering options.

Note that projective transformation data saved to a file cannot be used to initialize other transformation types.

    --trans-load=x    Load initial transformation settings from file x
    --trans-save=x    Save final transformation data in file x

### Alignment following

When frames are more closely aligned with adjacent frames in the sequence than they are with the first frame in the sequence, alignment success can be improved by specifying the --follow option. This option can be effective even when initial alignment information is loaded from a file.

    --identity        Frames align closely with the original frame.  [default]
    --follow          Frames align closely with their immediate predecessor.

Copyright 2003 David Hilvert

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