News This article includes change summaries for each release.

This testing release fixes a serious memory leak, fixes an output bit depth bug, and refines bit depth checks.

This testing release has been updated to fix a bashism in the wrapper script, and includes other minor fixes to the documentation tree.

This testing release adds support for regional adjustment of tone (e.g., for varying lighting conditions), includes various multi-alignment fixes and updates, and adds a man page.

This testing release allows multiple alignments per input frame, and adds an option for specifying resident sizes for loaded images, allowing more efficient management of backing stores. The current stable branch may offer more reliable performance and results.

This release includes new fixed-point configuration options, improves floating-point performance in certain cases, and resolves a possible alignment bug.

This release fixes an assertion failure occurring at large scale values.

This release updates alignment level-of-detail, Monte Carlo alignment, and the re-filtering renderer.

This release resolves certain build failures occurring under unthreaded configurations, removes certain debugging output, and adds support for platforms missing certain floating point macros.

This release adds a re-filtering renderer, fixes certain rendering bugs, and provides a wrapper script for extracting exposure information and decoding raw files.

This release removes a violation of the C++ standard that may cause some builds to fail.

This release revises robustness checking for dynamic Monte Carlo alignment, adds quiet and logging UI options, and includes a Gaussian PSF.

This release adds new weight limiting options to Irani-Peleg and incremental renderers, and fixes bugs that may cause alignment failure.

This release updates certainty calculation, adds a Nikon D50 device option, and resolves certain assertion failures.

This release includes an autoconf build system, multi-threading, and dynamic Monte Carlo alignment. Changes since the latest prerelease include revised Euclidean alignment, added help text for the experimental argument scope syntax, and reversion of 3D options to experimental status.

This prerelease adds dynamic adjustment of the Monte Carlo alignment parameter, fixes a potential nondeterminism bug in the random number generator, and modifies default settings to improve the speed of high-quality runs. Other changes include the addition of file-scoping for the perturb-upper option and a bugfix for exp-mult parameter processing. Documentation is incomplete.

This prerelease adds POSIX thread support for 2D alignment and rendering operations, and adds a profiling option to measure elapsed time for different tasks. Documentation is incomplete.

This prerelease includes an autotools build system, documentation licensed under GPL, and an updated user interface accepting scope operators. In particular, the --mc option has been changed to allow file scoping. Documentation is currently incomplete.

A release plan is included in the TODO file, with entries for 0.8.5, 0.9.0, and 1.0.0 releases.

This release refines the 3D engine to support focus effects, filtering, and editing of scene geometry.
  • Support for filtered 3D rendering.
  • Support for removal of foreground objects in 3D scenes.
  • Support for synthetic focus effects.
This version adds enhancements in the handling of 3D scenes.
  • Various enhancements to handling of 3D scenes.
This release revises the 3D scene reconstruction algorithm, allowing more robust handling of certain scenes. New 3D model and output options have also been added, including support for clipping planes and arbitrary camera positioning. This release also fixes certain bugs in 2D control-point alignment.
  • Fix 2D control point alignment bugs
  • Revise 3D modeling code to use spatial subdivision and occupancy
  • Add support for clipping planes and arbitrary camera positioning
This release adds control points, median-value rendering, and a unified 3D scene model. It resolves certain syntax errors, allowing successful compilation under GCC 3.4.
  • Add control points, median-value rendering, and a unified 3D scene model.
  • Resolve syntax errors causing compilation failure under GCC 3.4.

Patch to fix build failures under GCC 3.4 noted by Gregory Maxwell and Tom Holroyd

This release adds a more informative TTY user interface, increases Euclidean alignment precision for large images, and reduces certainty-related noise amplification in the Irani-Peleg renderer.
  • Add a more informative TTY user interface
  • Increase Euclidean alignment precision for large images
  • Reduce certainty-related noise amplification in the Irani-Peleg renderer
This release includes revised 3D algorithms, reduced memory usage for certain rendering steps, and new point-spread function and device options.
  • Reduce memory usage in Irani-Peleg and 3D renderers
  • Add new PSF options for convolution and scalar multiplication
  • Revise the 3D scene reconstruction algorithm
ALE is an image-processing program used for tasks such as super-resolution, deblurring, noise reduction, and anti-aliasing. Its principle of operation is synthetic capture, combining multiple inputs representing the same scene.
This release fixes exclusion region and alignment bugs, adds device support for the Canon 300D SLR, and incorporates an experimental framework for reconstruction of 3D scenes.
  • Incorporate changes from 0.7.1 patches
  • Add a device configuration for the Canon EOS 300D (Digital Rebel)
  • Incorporate an approach to 3D reconstruction. (Does not work yet.)
  • Adds an option for establishing a minimum overlap area for global searches
  • Adds a rudimentary test suite.
  • Allows each perturbation bound to be specified as a percentage of the smallest image dimension (useful for large images?).
  • Fixes bugs in exclusion region handlers.
  • Fixes bugs in alignment failure handlers.
  • Avoids superfluously large undefined regions.
  • Adds experimental options for refining perturbation.
This release fixes alignment bugs, adds a global search option, and adds support for the OmniView OV7620 sensor.
  • Add linear PSF for OV7620
  • Add option to concatenate help pages
  • Fix VISP segfault
  • Incorporate changes from 0.7.0-patch1
The default PSF for the OV7620 can be a bit noisy. As an alternative, box=1.3+box=1.8 also works well in some cases, and is less noisy.
  • Fixes alignment bugs.
  • Adds a global search option.
  • Adds support for ov7620 in raw, linear mode.
The ov7620 device option expects that the 7620 be in raw, linear mode, and that clamping be turned on. These features may not be accessible using standard drivers.
This release updates the renderer to support a variety of filters, including sinc and Lanczos, and adds new options for excluding image regions and processing video frames. Merging and drizzling renderers now operate in linear colorspace, and the Irani-Peleg renderer has been extended to handle convolutions in both linear colorspace (e.g. lens blur) and non-linear colorspace (e.g. some types of in-camera sharpening). New options in this release include certainty weighting and exposure registration. Changes in this release include optional support for 16-bit color channels and built-in support for all PPM file types. Also, a user manual and an updated technical description are now available. [This release was, and remains (as of Sep 2006), the most advanced version storing pixels as integer values (rather than as floating-point values). As integer values may be more suitable for certain applications, integer-valued functions may be re-introduced, possibly as library code, in the future. 19-Sep-2006] ALE is a program that can render high-fidelity images of real scenes by aligning and combining many similar images from a camera or scanner. The correct similarity between images is roughly that achieved by a somewhat unsteady hand holding a camera. Alignment following has been modified to support multiple-pass alignment of panoramic image mosaics. Other changes in this release include code cleanup and documentation updates. The Monte Carlo alignment algorithm has been modified, and may now offer better alignment for small sample sizes. Also, the Irani-Peleg renderer now writes output after each iteration when incremental output is enabled. Other changes include a bugfix in Euclidean alignment, a new option for configuring the level of detail, and a new independent constraint for rotational perturbation. Support for device-specific projection functions and various bugfixes have been added to the Irani-Peleg renderer. Also, a new option has been added that may be useful for video stabilization applications. This release fixes bugs in drizzling and post-processing. The following combinations should now work as expected: drizzling in combination with scaling and Irani-Peleg image reconstruction in combination with high-frequency enhancement. This release resolves a number of minor alignment bugs. The PPM file handler has been updated to open files in binary mode, resolving a serious bug under Windows. Also, the percentage of pixels used in Monte Carlo alignment now more closely matches user specifications in typical cases. A Monte Carlo alignment option has been added, which may reduce alignment time. An option to disable incremental file output has also been added. An iterative image reconstruction renderer has been added, and the PPM file handler has been updated to correctly handle PPM header comments. Increased spatial extents, drizzling, and new alignment options have been added in this release. A bugfix from the Debian ALE package version 0.4.0-1 has been merged. Without this fix, an assertion failure can occur when ImageMagick support is enabled.
  • The original Debian fix was implemented by Debian package maintainer Nick Rusnov.
A general scaling option has been added, and the high-frequency enhancement filter now works near image boundaries. A match summary was added to the program's output, comments in transformation file output were made more helpful, and an experimental high-frequency enhancement option was added. (This release appears to have been superseded by 0.3.2.) New options in this release facilitate writing final alignment transformations to a file, reading initial alignment transformations from a file, and setting an upper boundary on the correction step size used in alignment. General projective transformations can now be used in image alignment. A new file handler has been added to read and write JPEG, PNG, and other image formats using the ImageMagick C API. The default PPM-only file handler now deals with certain file errors more gracefully.
  • Translation of file formats using ImageMagick was suggested by Nick Rusnov.
In this version, a scaling bug that caused corruption of boundary pixels has been fixed. Also, the alignment algorithm has been modified to use reduced detail for coarse alignment steps. The image alignment algorithm has been updated.

Initial release

ALE aligns and merges several similar images from a digitizing device (such as a digital camera or scanner) into a single image. This may have the effect of producing a relatively alias-free image (sometimes called "anti-aliasing").