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. The incremental renderers, merging and drizzling, update the output image after reading each new frame from the series, whereas the non-incremental renderers wait until the last frame has been loaded to produce output. More than one renderer can be involved in producing the final output image. Available rendering options are outlined below.

Merging

Merging, the default incremental renderer, works most effectively on images that have no large changes in scale (e.g. camera zooming). Since it uses bilinear interpolation, output images are approximately convolved with the triangle, or Bartlett, filter, and may appear to have reduced contrast and resolution in comparison with other renderers.

Drizzling

The drizzling renderer is an incremental renderer that can usually produce better images than merging, but it works most effectively with devices having very little blur and optical distortion. Devices sampling very small angles of the scene at each pixel are ideal; hence, if very fine staircase aliasing is visible in the input frames, drizzling should work very well. (For creation of higher resolution images with drizzling, use also the --scale option described below.)
--drizzle-diam=x  Drizzle with input pixel diameter x (where 0 < x <= 1).
--drizzle-only    If drizzling, output black for pixels with no drizzle data.

For more information about drizzling, see the paper by Richard Hook and Andrew Fruchter, "Variable-Pixel Linear Combination", or the following URL:

http://www.cv.nrao.edu/adass/adassVI/hookr.html

High-frequency enhancement

This renderer uses an unsharp mask to enhance the contrast of high frequencies. It can be used to compensate for systematic blurriness introduced by merging, drizzling, or the image capture device. However, better results will generally be achievable by using a separate postprocessing tool, such as the GIMP or CinePaint (formerly called Film GIMP). In addition to the built-in unsharp mask, the GIMP can make use of Ernest Lippe's refocus plugin.

--hf-enhance=x    Enhance high frequency details by factor x.  (0.0 is default)

Irani-Peleg iterative image reconstruction

This renderer is by far the most general, and can be used to compensate for blurring introduced by the image capture device. In order to use it most effectively, an approximation of the projection function for the capture device should be known. Two general classes of projection functions are supported: box filters and custom filters.

If rendering with the box filter option, manual experimentation can be used to find a diameter that works well. Alternatively, ALE includes a script that calibrates custom filters for devices, based on images captured from known scenes.

Two custom filter options are included: one for the IBM PC Camera Pro (XVP610) in 320x240 mode, and one for interactive filter specification.

Note that this option can take a long time to produce output, especially on large images. If incremental output is enabled (see below), output is written after each iteration is complete. Using more iterations will generally improve output, up to the point of convergence, when additional iterations have no effect. A dot is displayed to indicate the completion of each iteration.

--ip <d> <i>      Solve for a box filter with diameter <d> over <i> iterations.
--ipc <c> <i>     Solve for device config <c> over <i> iterations.
The available device configurations are as follows:
xvp610_320x240
stdin

For more information on the backprojection technique of Michal Irani and Shmuel Peleg, see their paper, "Improving Resolution by Image Registration", at

ftp://ftp.wisdom.weizmann.ac.il/pub/irani/PAPERS/SR_CVGIP91.pdf

Scale factor

Rendering with a larger scale factor causes internal data structures to store more information, resulting 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 is at least 1.0)

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. (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]

Incremental output

By default, the output file is written every time a renderer completes an update cycle. In order to suppress output until the final image is rendered, specify the --no-inc option.
--inc             Produce incremental output.  [default]
--no-inc          Don't produce incremental output.

Pixel replacement

When using the merging renderer, --replace indicates that each new frame should replace the corresponding region of the rendering, instead of being merged with data from previous frames. This option was originally suggested by Jeff Treece for use in stabilization of video streams. His approach to stabilization is outlined below.

Video Stabilization

If the files

0.ppm, 1.ppm, ..., 9.ppm
represent frames from an unstabilized video stream, then the following sequence of commands may result in a stabilized sequence:
ale --replace         0.ppm 1.ppm 1.stable.ppm
ale --replace  1.stable.ppm 2.ppm 2.stable.ppm
ale --replace  2.stable.ppm 3.ppm 3.stable.ppm
.
.
.
ale --replace  8.stable.ppm 9.ppm 9.stable.ppm

The resulting stabilized sequence would be:

0.ppm, 1.stable.ppm, 2.stable.ppm, ..., 9.stable.ppm

Option Syntax

--replace         Replace overlapping areas rather than merging.
--no-replace      Do not replace.  [default]


Copyright 2003 David Hilvert

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