ALE
Image Processing Software

Deblurring, Anti-aliasing, and Superresolution.


Local Operation
localhost
2684415918

[ Up ]

ALE Rendering

Rendering determines how an output image is constructed from a series of aligned input frames, and occurs in two stages: incremental rendering and Irani-Peleg rendering. Additional rendering options include exposure registration, certainty-weighted rendering, spatial extension, range extension, scaling, and bayer pattern specification. Experimental options for video stream processing are also available.

Incremental Rendering

The incremental renderer uses configurable rendering chains to determine the output image. It can increase resolution and reduce aliasing, but it cannot reduce blur.

Irani-Peleg Rendering

The Irani-Peleg renderer uses configurable point-spread functions to model blur, which is then reduced by an iterative backprojection technique. (For iteration defaults, see the default settings page.) In versions 0.8.1 and later, using the median correction value can be specified. By default, the mean correction value is used.

--ips <i>         Run <i> iterations.
--ip-mean         Use the mean correction [default]   [0.8.1 and later]
--ip-median       Use the median correction           [0.8.1 and later]

Exposure Registration

By default, ALE adjusts an exposure model to minimize differences in tone between frames. The option --exp-noregister indicates that exposure should be assumed uniform across all frames. In this case, no adjustment is performed. The option --exp-meta-only indicates that only exposure information included in the image files should be used for registration. Currently, EPPM is the only type of exposure metadata supported by this option.

--exp-register    Register exposure between frames.  [default]
--exp-noregister  Assume uniform exposure across all frames.
--exp-meta-only   Use only image metadata for registering exposure.

Color Adjustment [0.8.1 and later]

To adjust the color of the output image (e.g., for white balance) in versions 0.8.1 and later, the --exp-mult= option can be used.

--exp-mult=c,r,b   Adjust all channels by <c>, red by <r>, and blue by <b>.  [0.8.1 and later]

Certainty-weighted Rendering

The exposure model in ALE includes an associated certainty function, which quantifies the reliability of sensor measurements. By default, this function is raised to the zeroth power, to obtain uniform certainty for all measurements. To specify a different certainty exponent, the option --cx can be used. This option is best used in combination with --exp-extend (see below) and --ips. For defaults, see the default settings page.

--cx <x>          Render with certainty exponent <x>
--no-cx           Render with uniform certainty.

Scale factor

Rendering with a larger scale factor results in image output of the specified larger scale. Larger scales can improve alignment precision and output image quality, but can also increase alignment and rendering times.

--scale=x         Scale images by the factor x, where x > 0.     (1 is default)

Image extents

The --extend option records pixel data that falls outside of the region of the first frame in the sequence. This can be useful for providing additional alignment constraints or creating panoramic image mosaics. (For mosaics, see also the description of the --follow option in the alignment section.)

--extend          Increase image extents to accommodate all pixel data.
--no-extend       Don't increase extents; crop to original frame. [default]

Exposure extents

By default, ALE restricts the output range to that of the original frame. To adjust the output range to accommodate the ranges of all input frames, specify --exp-extend. For defaults, see the default settings page.

--exp-extend      Extend range to include all calculated values.
--exp-noextend    Restrict to the original frame's range.

Bayer pattern specification

Many cameras sample only one color channel per output pixel. To ignore the other channels, a bayer pattern can be specified.

--bayer <b>       Set the bayer pattern to <b>, one of:
                    (clockwise from top left pixel)
                      rgbg      Red-green-blue-green
                      gbgr      Green-blue-green-red
                      grgb      Green-red-green-blue
                      bgrg      Blue-green-red-green
                      none      RGB-RGB-RGB-RGB
                  Default is none or device-specific.

Video stream processing (Experimental)

If a sequence of frames represents a video stream, then, in addition to producing a single output image, ALE can also produce one or more sequences of processed frames, corresponding to one or more occurrences of the --visp option. This option has its own associated scaling option, as well as an option to show excluded regions as dimmed wherever possible.

--visp <args>     Process a video sequence.
                     <args> are:
                         <chain> <stabilization-type> <prefix> <suffix>
                     <chain> is an incremental rendering chain.
                     <stabilization-type> is one of:
                         ma:<x>     Moving average over 2*<x> + 1 frames
                         sf:<x>     Stabilize to single frame number <x>
                         identity   Same as ma:0
                     <prefix> is an output file prefix
                     <suffix> is an output file suffix
--visp-scale=<x>  Use scale <x> for VISP output.  (default is 1.0)
--exshow          For single-invariant chains, show --ex regions dimmed.

Video stream processing example

To mimic the behavior of repeated applications of the 0.6.0 --replace option over a sequence of frames, the following --visp option could be used.

--visp last:nex:triangle:2 sf:0 frame .jpg

For better filtering, the following option could be used instead:

--visp last:nex:sinc*lanc:6 sf:0 frame .jpg


Copyright 2003, 2004 David Hilvert

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