1340 lines
52 KiB
Plaintext
1340 lines
52 KiB
Plaintext
ALE 0.9.0.3 Change log
|
|
|
|
David Hilvert
|
|
|
|
Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 David Hilvert
|
|
|
|
This article is free documentation; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by the
|
|
Free Software Foundation; either version 3 of the License, or (at your
|
|
option) any later version.
|
|
|
|
This article is distributed in the hope that it will be useful, but
|
|
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along
|
|
with this article; if not, write to the Free Software Foundation, Inc., 51
|
|
Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
Abstract
|
|
|
|
This article contains detailed change information for each release.
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
46. Version 0.9.0.3, 2009-Mar-31
|
|
|
|
o Revise --version to include ImageMagick library information.
|
|
o Add ditz issue database and package document BUG-REPORTING.
|
|
o Refine warnings for 8-bit output when --16bpc (incl. default).
|
|
o Fix --16bpc default behavior.
|
|
o Fixed serious memory leak in alignment code, and less serious leaks.
|
|
|
|
45. Version 0.9.0.2, 2008-Nov-05
|
|
|
|
45.1. Documentation
|
|
|
|
o Update documentation makefile for better links compatibility.
|
|
|
|
45.2. Scripts
|
|
|
|
o Fix 'exec -a' bashism in ale script, after this was reported by Mihai
|
|
Varzaru as being broken in Ubuntu 8.10.
|
|
|
|
44. Version 0.9.0.1, 2008-Jun-13
|
|
|
|
o Use a pager (e.g., less) when displaying help.
|
|
o Add a man page, at the recommendation of Debian developer Ruben
|
|
Molina. The man page structure roughly follows that of Debian
|
|
Iceweasel, GNU tar, and the earlier ALE manual page for Debian by Nick
|
|
Rusnov and Ruben Molina.
|
|
o Add new algorithms for pixel assignment in multi-alignment, including
|
|
filling, least-size local selection, and global-best selection.
|
|
o Fix various multi-alignment bugs, including a bug causing increased
|
|
computational complexity for rendering, as well as offset and scaling
|
|
bugs.
|
|
o Modify --lod-max to --lod-preferred, add a dimension restriction
|
|
--min-dimension on level-of-detail, and make --lod-preferred=-3 and
|
|
--min-dimension=10 default.
|
|
o Revise DejaGNU test suite for current option syntax, so that "make
|
|
check" now runs all tests.
|
|
o Do not attempt to handle --trans-{save,load} arguments as images in
|
|
the ale wrapper script.
|
|
o Add include <string.h> to ui/ui.h in an attempt to resolve Debian bug
|
|
#482765, reported by Marc Brockschmidt and noted by Ruben Molina.
|
|
o Include more information about scale cluster structures in the logging
|
|
ui.
|
|
o Add tonal registration by element to multi-alignment code.
|
|
o Add a minimum average certainty for registration of multi-alignment
|
|
elements.
|
|
o Modify ale script to tally thread statistics when the environment
|
|
variable ALE_COUNT_THREADS is set non-zero.
|
|
|
|
43. Version 0.9.0, 2008-Apr-14
|
|
|
|
o Add skeletal web documentation to the documentation tree, in doc/web,
|
|
and revise this to consolidate more information on the front page.
|
|
o Implement an alignment technique allowing multiple alignments for a
|
|
single frame. Handling parts of a frame separately to resolve
|
|
alignment issues (but using match thresholding to discard regions
|
|
instead of using multiple alignments) was suggested by Rob Stewart.
|
|
o Add --resident parameter, allowing explicit allocation of backing
|
|
store for (e.g., large) image data structures.
|
|
o Check for NaN in linearization and unlinearization in
|
|
exposure_default, as a possible fix for a segmentation fault reported
|
|
by Bret Towe.
|
|
|
|
42. Version 0.8.11, 2007-Nov-03
|
|
|
|
o Revise certain code for improved execution speed, including disabling
|
|
certain assertions and reducing calls to pow().
|
|
o Replace geometric-mean filtering of weight values with minimum-value
|
|
filtering, reducing calls to pow().
|
|
o Add fixed-point data types selectable at configuration time for
|
|
coordinate and color data, hence improving speed on certain embedded
|
|
platforms. Use on phones was suggested by Wen Guihua.
|
|
o Revise incremental rendering code to store color values unnormalized
|
|
by weights.
|
|
o Revise multi-alignment options for the currently-considered
|
|
implementation.
|
|
o Eliminate NaN propagation that could lead to alignment failure in
|
|
certain cases, perhaps causing an alignment bug reported in earlier
|
|
versions by Gregory Maxwell.
|
|
|
|
41. Version 0.8.10.1, 2007-Oct-04
|
|
|
|
o Change 'char *' referencing string literals to 'const char *'.
|
|
o Set perturbation multipliers to 1 in cases of a non-finite value.
|
|
|
|
40. Version 0.8.10, 2007-Oct-02
|
|
|
|
o Add threading for d2::image::*scale_by_half() functions.
|
|
o Always rescale transformations for full detail after alignment is
|
|
complete.
|
|
o Make --lod-max=-4 default.
|
|
o Make default --dchain auto:triangle:2,fine:box:1,triangle:2, which
|
|
should produce better output during re-filtering than the previous
|
|
default.
|
|
o Revise re-filtering operation to use as a filter scale the distance
|
|
between nearest defined points in opposite axis-centered cones about
|
|
the point to be filtered.
|
|
o Update scale cluster structures and interpolation routines used in
|
|
alignment for calculating and storing certainty and weights; in
|
|
particular, certainty of the input frame is now pre-calculated for
|
|
multiple levels of detail.
|
|
o Add currently-unused skeletal code for non-linear level of detail
|
|
calculations.
|
|
o Revise Monte-carlo value to use a single static default, removing
|
|
dynamic behavior and certain associated support code, and applying the
|
|
sampling rate in a uniform manner to all levels of detail and all
|
|
tonal and spatial registration algorithms.
|
|
o Fix error in level-of-detail accounting in alignment code.
|
|
o Replace references to math.h with references to ale_math.h.
|
|
|
|
39. Version 0.8.9.1, 2007-Aug-31
|
|
|
|
o Attempt to resolve certain 'always true' warnings reported by Marius
|
|
Schamschula on Mac OS 10.3.9 (PPC).
|
|
o Add macros for isinf() and isnan() in an attempt to resolve build
|
|
failures reported by Marius Schamschula on Mac OS 10.3.9 (PPC).
|
|
o Resolve certain build errors occuring when configuring
|
|
--disable-threads, or when threads are unavailable.
|
|
o Remove instrumentation writing to 'lsimulated.png'.
|
|
|
|
38. Version 0.8.9, 2007-Aug-25
|
|
|
|
o Set new defaults for --ips, --dchain, and --3d-dchain, and remove --q*
|
|
o Add rendering chain scaled sampling filter type auto:, implementing
|
|
re-filtering, with rough automatic filter size determination.
|
|
o Add an abstract domain decomposition threading class.
|
|
o Revise Irani-Peleg code for reduced memory and cpu use.
|
|
o Attempt to fix exclusion region handling after a bug report by Gregory
|
|
Maxwell; other issues may remain.
|
|
o Fix handling of --ip-{mean,median}, resolving a bug noted by Gregory
|
|
Maxwell.
|
|
o Add wrapper script 'ale' for handling raw files and extracting Exif
|
|
metadata.
|
|
o Allow any match when the threshold specified is neither positive nor
|
|
zero.
|
|
o Update license to GPLv3.
|
|
o Various rendering bugfixes.
|
|
|
|
37. Version 0.8.8.1, 2007-May-18
|
|
|
|
37.1. Build
|
|
|
|
o Disable d2::gauss::cutoff definition after a build failure reported by
|
|
Marius Schamschula on an Intel Mac running 10.4.9 (gcc 4.0.0?).
|
|
|
|
36. Version 0.8.8, 2007-May-15
|
|
|
|
o Include an incomplete implementation for multiple alignment region
|
|
handling.
|
|
o Make --16bpc default.
|
|
o Add extents calculation to d2::render::ipc to limit the area examined
|
|
during exposure re-estimation.
|
|
o Provide a new cache of fixed size for input images, defaulting to
|
|
256MB, adjustable via the --cache option.
|
|
o Add error statistics for calculating center of rotation and
|
|
perturbation size for alignment.
|
|
o Add loop avoidance for dynamic monte carlo alignment.
|
|
o Reduce --mcd-removal default to 10.
|
|
o Use synchronized instead of unsynchronized dynamic monte carlo removal
|
|
checks.
|
|
o Disable --follow in the non-default case when perturbation size is
|
|
zero.
|
|
o Make --no-inc default.
|
|
o Add 'defaults' global search option, and make this option default.
|
|
o Modify --gs-mo to allow specification as a percentage, and make 67%
|
|
default.
|
|
o Add user interface options --ui=log and --ui=quiet, with greater and
|
|
lesser verbosity, respectively.
|
|
o Modify black level handling to always use linear values.
|
|
o Increase default barrel distortion multiplier and rate maximum to 2.0
|
|
and 8.0, respectively.
|
|
o Revise ordering of ui_tty status output so that more informative
|
|
fields occur earlier in the string.
|
|
o Modify numerical formatting of certain UI elements to preserve
|
|
constancy of field locations in typical cases.
|
|
o Add Gaussian PSF. (HJ Hornbeck)
|
|
o Recalculate diff statistics after increasing the mc parameter in
|
|
dynamic monte carlo alignment.
|
|
o Update Nikon D50 PSF. (HJ Hornbeck)
|
|
o Add UI update thread, in cases where threads are available.
|
|
o Allow file-scoped --gs and --gs-mo options.
|
|
o Ignore fex regions for nex SSFEs, resolving a bug noted by Gregory
|
|
Maxwell.
|
|
o Add --black option for specifying black level as a fraction of
|
|
saturation.
|
|
o Add --ev option for specifying ISO100-equivalent EV.
|
|
o Add breakdown of profiling information by perturbation size for local
|
|
alignment.
|
|
|
|
35. Version 0.8.7, 2007-Mar-04
|
|
|
|
35.1. Alignment
|
|
|
|
o Modify d2::image::defined_scale_by_half() to use a geometric mean, so
|
|
that alignment at reduced level of detail will still work at larger
|
|
reductions when using non-zero certainty.
|
|
|
|
35.2. Rendering
|
|
|
|
o Add a weight-limiting option to the Irani-Peleg renderer.
|
|
o Add incremental renderer mean invariant avgf:<x>:<e> weight-limited to
|
|
initial values.
|
|
|
|
34. Version 0.8.6, 2007-Feb-17
|
|
|
|
o In d2::align, use rotation about the frame center as an alternative in
|
|
cases where the sampling centroid is undefined.
|
|
o Modify d2::point::{neg,pos}inf() assertions to allow for isinf()
|
|
implementations returning any non-zero value for any infinity.
|
|
o Re-adjust exposure in Irani-Peleg even when no non-linear stage is
|
|
present.
|
|
o Adjust the default pixel definition threshold to account for the
|
|
certainty floor.
|
|
o Use a rudimentary, single-pass estimate-based certainty approach for
|
|
incremental rendering.
|
|
o When --cx is positive, use only certainty calculated from the
|
|
simulated scene for estimating tonal registration in Irani-Peleg
|
|
passes.
|
|
o Remove --qr default setting, as certainty and range-extension now have
|
|
established general defaults.
|
|
o Change --cx to 1 by default. Change --exp-extend to be disabled by
|
|
default. Remove these flags from default settings.
|
|
o Update driver names to omit file type qualifiers, according to the
|
|
convention used in HJ Hornbeck's Nikon D50 device configuration patch.
|
|
o Add Nikon D50 device configuration. (HJ Hornbeck)
|
|
o Update default settings according to time and image quality test
|
|
results. fine:triangle:2, gauss:0.75, and combinations of these
|
|
filters were suggested by HJ Hornbeck.
|
|
o Revise incremental renderer to store unnormalized values, for better
|
|
handling of small weights, and eliminate the minimum contribution
|
|
weight.
|
|
o Add inlining and pre-calculation to Irani-Peleg. (HJ Hornbeck)
|
|
o Add gaussian sampling filter. (HJ Hornbeck)
|
|
|
|
33. Version 0.8.5, 2007-Jan-19
|
|
|
|
33.1. Documentation
|
|
|
|
o Remove binaries and documentation sections from the readme, and prune
|
|
non-package documentation for source distributions.
|
|
|
|
33.2. Alignment
|
|
|
|
o Make the --follow alignment option default.
|
|
o Modify rotational alignment search to rotate about the centroid of the
|
|
sample region.
|
|
|
|
33.3. User interfaces
|
|
|
|
o Add help text for argument scope.
|
|
|
|
33.4. 3D Models
|
|
|
|
o Revert 3D code to experimental status due to poor handling of real
|
|
image sets.
|
|
o Modify 3D code for slightly better handling of real image sets.
|
|
|
|
32. Version 0.8.5-pre3, 2006-Nov-03
|
|
|
|
32.1. Alignment
|
|
|
|
o Fix a potential nondeterminism bug due to undefined seed bits in the
|
|
random number generator. (Fixes certain alignment failures.)
|
|
o Add dynamic monte carlo alignment, and make this default.
|
|
o Allow file-scoped use of --perturb-upper.
|
|
|
|
32.2. Rendering
|
|
|
|
o Modify default settings using Irani-Peleg rendering to use the
|
|
triangle:2 incremental rendering chain.
|
|
|
|
32.3. Exposure
|
|
|
|
o Correct --exp-mult arg count. (Gregory Maxwell)
|
|
|
|
31. Version 0.8.5-pre2, 2006-Oct-25
|
|
|
|
31.1. Alignment
|
|
|
|
o Add option --profile to measure elapsed real time for 2D alignment and
|
|
rendering operations.
|
|
o Add support for POSIX threads to 2D alignment and rendering code.
|
|
(Adding multithreading support was first suggested by Jody (Joe)
|
|
Harris. Testing of multithreaded code on multiprocessor hardware was
|
|
done by Gregory Maxwell.)
|
|
|
|
31.2. Rendering
|
|
|
|
31.2.1. Scale
|
|
|
|
o Modify d2::image::scale() to correctly handle offsets for scale
|
|
factors other than negative powers of two.
|
|
|
|
31.3. User interfaces
|
|
|
|
o Reformat most help text to fit a 79 column screen.
|
|
|
|
30. Version 0.8.5-pre1, 2006-Oct-16
|
|
|
|
o Incorporate all existing ALE documentation within the source tree, and
|
|
license under GPL. Begin migration of documentation, including package
|
|
documentation files, to a more flexible format.
|
|
o Modify ui_tty for correct operation under Hurd and DragonFly consoles.
|
|
o Revise README for autotools build and installation.
|
|
o Add file 'TODO', containing a to-do list for future releases.
|
|
o Add AUTHORS file, in accordance with the autotools packaging
|
|
standards.
|
|
o Revise Changelog name to autotools-approved ChangeLog
|
|
o Add NEWS file containing mailing list and Freshmeat announcement text
|
|
for versions through 0.8.4. This file is required by autotools.
|
|
o Add options --f{ex,crop} for frame-coordinate exclusion regions.
|
|
o Add autotools-based configuration, build, and installation facilities,
|
|
replacing the earlier Makefile-based configuration and build process.
|
|
o Modify --mc to be a file-scoped option.
|
|
o Modify command-line interface to accept certain scope operators, and
|
|
to increase uniformity of syntax.
|
|
o Move input interface details, including option handling, messages, and
|
|
help information, to the ui/ subdirectory.
|
|
o In d3::scene, always use filler spaces when --pc all is specified.
|
|
|
|
29. Version 0.8.4, 2006-May-14
|
|
|
|
29.1. Packaging
|
|
|
|
o Fix build error noted by Gregory Maxwell and re-tag version.
|
|
|
|
29.2. Documentation
|
|
|
|
o Add dates to the Changelog, using dates in comments in the download
|
|
page on the website for versions prior to 0.8.0, and using dates from
|
|
the darcs repository for versions 0.8.0 and later.
|
|
|
|
29.3. Alignment
|
|
|
|
o Add a script 'transform' for applying an inverse projective
|
|
transformation. Recalculation of transformations was suggested by Rob
|
|
Stewart (ALE mailing list message, 2005-Dec-28).
|
|
|
|
29.4. Rendering
|
|
|
|
o Move low-level code concerning scale and level-of-detail from
|
|
d3::scene to d3::pt.
|
|
o Remove older 3D rendering code.
|
|
o Add decimation options --di-upper, --di-lower, and --do-try for
|
|
reducing the complexity of 3D scene geometry, hence reducing the
|
|
number of operations required for occupancy updating.
|
|
|
|
29.5. Filtering
|
|
|
|
o Add support for filtering 3D output with --3d-filter. This is now the
|
|
default behavior. Add an option --3d-chain for selecting the filter
|
|
chain used for 3D output. (See --hl and --hq for details.)
|
|
|
|
29.6. User interfaces
|
|
|
|
o Add fine-grain UI updates for 3D operations when using ui=tty. Reduce
|
|
tty UI status update frequency to at most once per second.
|
|
|
|
29.7. 3D Models
|
|
|
|
29.7.1. Rendering
|
|
|
|
o Add support for synthetic focus via the --focus option, including
|
|
focus with horizontal and vertical tilt. Adding simulated focus
|
|
effects, including tilted and swung focal planes, was suggested by
|
|
Gregory Maxwell.
|
|
o Interpolate to generate smooth 3D depth output.
|
|
|
|
29.7.2. Geometry
|
|
|
|
o Modify --3dpx to affect scene geometry rather than rendered pixels. In
|
|
certain cases, this change should allow removal of objects close to
|
|
the camera, hence revealing objects further away.
|
|
o Fix dimension comparison bug in d3::space::traverse::get_next_split().
|
|
o Implement an experimental approach to 3D subspace candidate selection;
|
|
this seems to perform poorly in most cases due to parallax effects.
|
|
See the source code for details. (Option --subspace-traverse)
|
|
o Move code concerning the nature of space from d3::scene to d3::space.
|
|
|
|
29.7.3. Occupancy
|
|
|
|
o Add adaptive weight decomposition to 3D occupancy algorithms.
|
|
|
|
29.8. Undocumented build options
|
|
|
|
o Add to the Makefile a HASH_MAP option that can be used to assign the
|
|
3D spatial info structure a hash map type instead of the standard STL
|
|
map type. As this is likely to break things, it is currently
|
|
undocumented. HASH_MAP=GNU seems to compile with g++ 4.0.x but has not
|
|
otherwise been tested.
|
|
|
|
28. Version 0.8.3, 2005-Dec-23
|
|
|
|
28.1. Image files
|
|
|
|
o Add an option --def-nn to allow definition of pixels in output images
|
|
to take values from neighboring pixels within a certain radius, in
|
|
cases where they would not otherwise be defined.
|
|
|
|
28.2. Rendering
|
|
|
|
o Add option --3dpx to specify 3D regions to exclude during final
|
|
rendering, using a single depth for each pixel in each frame of
|
|
rendered output. (Evaluates at the depth used in depth-rendering.)
|
|
|
|
28.3. 3D Models
|
|
|
|
28.3.1. Stereoscopy
|
|
|
|
o Add option --pc to specify which pairwise comparisons should be
|
|
performed.
|
|
o Add option --pa to set the number of point candidates accepted for
|
|
each pair of cameras (pairwise ambiguity). The default of 3 preserves
|
|
existing default behavior.
|
|
o Add option --tcem for scoring point candidates by third-camera views.
|
|
The default of 0 preserves existing default behavior.
|
|
|
|
28.3.2. Geometry
|
|
|
|
o Add --et option to specify encounter thresholds.
|
|
o Clean up d3::scene to remove triangle-mesh code.
|
|
o Modify representation of 3D subspaces so that refined subspaces are
|
|
roughly cubical, and to allow refinements at multiple resolutions.
|
|
|
|
28.3.3. Occupancy
|
|
|
|
o Fix bugs in 3D color and occupancy updating caused by bounding box
|
|
miscalculation.
|
|
o Add option --oui for determining occupancy update iterations. The new
|
|
default is 10, halving the previous default of 20.
|
|
|
|
27. Version 0.8.2, 2005-Nov-22
|
|
|
|
27.1. Command line interface
|
|
|
|
o Add magical file 'dump:' for listing color values numerically to
|
|
stderr.
|
|
|
|
27.2. Control points
|
|
|
|
o Fix various bugs in control-point alignment reported by Gregory
|
|
Maxwell.
|
|
|
|
27.3. 3D Models
|
|
|
|
o Transition from a subdivisible triangle model to a subdivisible space
|
|
model, using a rudimentary implementation of Hans Moravec's notion of
|
|
occupancy.
|
|
o Add support for view and depth output from arbitrary cameras.
|
|
o Add clipping plane options for 3D modeling.
|
|
|
|
26. Version 0.8.1, 2005-May-6
|
|
|
|
26.1. Build
|
|
|
|
o Fix enumerator compile bugs noted by Gregory Maxwell and Tom Holroyd
|
|
to cause compilation failure under GCC 3.4.
|
|
|
|
26.2. Defaults
|
|
|
|
o Modify --q1 to use median-value incremental rendering.
|
|
|
|
26.3. Exposure
|
|
|
|
o Add a color adjustment option --exp-mult=.
|
|
|
|
26.4. Transformation data files
|
|
|
|
o Add average magnitude comments to transformation data file output.
|
|
|
|
26.5. Control points
|
|
|
|
o Add support for using control points in 2D and 3D alignment, as well
|
|
as in 3D model construction. New options include '--gs points',
|
|
'--cpf-load=', '--cpp-upper=', '--cpp-lower=', '--va-upper=', and
|
|
'--st'.
|
|
|
|
26.6. User interfaces
|
|
|
|
o Add support for median-value incremental and Irani-Peleg rendering.
|
|
Using a statistic other than the mean was suggested by Scott Scriven
|
|
as a means of eliminating non-uniform artifacts. Using the median
|
|
seems to improve performance on Scott Scriven's example sequences, as
|
|
well as on the scaled output of fine:sinc*lanc for sparse inputs.
|
|
|
|
26.7. 3D Models
|
|
|
|
o For 3D scene reconstruction, use a new unified surface model in place
|
|
of the depth-based multi-model approach used in 0.8.0. The new model
|
|
is adjusted on the basis of edge, angle, and color measures.
|
|
|
|
26.8. Source code organization
|
|
|
|
o Move ale-psf-calibrate to a new scripts directory.
|
|
|
|
25. Version 0.8.0, 2005-Jan-12
|
|
|
|
25.1. Image files
|
|
|
|
o Add support for PPM with extended attributes (EPPM). Attributes
|
|
handled specially include black level, shutter speed, aperture, and
|
|
ISO (or gain).
|
|
|
|
25.2. Exclusion regions
|
|
|
|
o Set image offsets in d2/render/combine.h. This allows Irani-Peleg
|
|
rendering to work with --crop when the default rendering chain
|
|
includes more than one rendering invariant.
|
|
o Replace functions d2::incremental::{increase,decrease}_extents() with
|
|
new functions that take exclusion regions into account. The new
|
|
functions should also fix a boundary-calculation bug reported by
|
|
Gregory Maxwell.
|
|
o Modify d2/render/ipc.h to handle exclusion regions more effectively.
|
|
o Add --crop argument, which excludes the spatial complement of a
|
|
specified area over a specified set of frames. Gregory Maxwell notes
|
|
several advantages of internal over external crops, including
|
|
preserving knowledge of position in the uncropped frame, which among
|
|
other benefits allows natural handling of Bayer patterns.
|
|
o Modify rx_parameters in d2/render.h to use the ale_pos data type
|
|
instead of int. This should allow exclusion regions to be calculated
|
|
more accurately.
|
|
|
|
25.3. Alignment
|
|
|
|
o Modify euclidean alignment so that perturb-upper and perturb-lower
|
|
apply to rotational arclength.
|
|
o Modify d2::align to use unscaled input images when the scale factor is
|
|
larger than 1.0, or when a scaled_filter interpolant is being used.
|
|
o Modify d2::align::set_exposure_ratio() so that alignment weights and
|
|
certainty values are taken into consideration.
|
|
o Add a --cw option to weight alignment error by certainty values, as
|
|
suggested by Gregory Maxwell. This allows the contributions of pixels
|
|
at maxval to be diminished, which can increase alignment success in
|
|
certain cases.
|
|
|
|
25.4. Rendering
|
|
|
|
o Perform Irani-Peleg updating separately by channel instead of using
|
|
vector operations. This allows divide-by-zero and other conditions to
|
|
be localized to particular channels.
|
|
o Modify the Irani-Peleg renderer to use estimate-based certainty. This
|
|
seems to improve noise characteristics significantly.
|
|
o Modify d2::render::ipc::_ip_frame_correct() so that exposure
|
|
re-estimation uses a ratio of weighted sums instead of a weighted
|
|
average of ratios.
|
|
|
|
25.5. Exposure
|
|
|
|
o Add a flag --exp-meta-only which causes tonal registration to be
|
|
performed only on the basis of exposure metadata (e.g., data encoded
|
|
as EPPM extended attributes). This approach was suggested by Gregory
|
|
Maxwell.
|
|
o Write the results of tonal registration as a comment in the
|
|
transformation data file.
|
|
o Fix an index variable bug in d2::image_bayer_ale_real::trigger().
|
|
o Modify d2::exposure one-sided certainty so that the 'one-sided'
|
|
condition only applies to bright (>50%) areas. Applying it to dark
|
|
areas has no clear benefit, and an experiment by Gregory Maxwell
|
|
demonstrates that doing so can exacerbate noise.
|
|
|
|
25.6. User interfaces
|
|
|
|
o Modify d2::image::scale() to allow scale factors in the interval (0,
|
|
1), and modify the command-line interface and help text to reflect
|
|
this change. --scale= now accepts all finite positive values.
|
|
o Add user interface options --ui=stream and --ui=tty. The latter
|
|
includes more detailed status output when terminal width information
|
|
can be obtained (esp. when IOCTL=1 is set at compile time), and is the
|
|
new default.
|
|
|
|
25.7. 3D Models
|
|
|
|
o Add experimental cost calculation routines to d3/scene.h.
|
|
|
|
25.8. Source code organization
|
|
|
|
o Move certain user interface elements to the source subdirectory ui/.
|
|
|
|
24. Version 0.7.3, 2004-Dec-1
|
|
|
|
24.1. Build
|
|
|
|
o Implement optimizations that reduce the memory footprint when 3D
|
|
options are used.
|
|
o Optionally (when OPTIMIZATIONS == 1) use the output of the default
|
|
rendering chain directly as the Irani-Peleg initial approximation,
|
|
instead of copying it.
|
|
|
|
24.2. Defaults
|
|
|
|
o Add a check to ensure that at most one --q* option is specified. The
|
|
issue of multiple --q* options being specified was raised on the ALE
|
|
mailing list by Viktors Rotanovs. As there is currently no support for
|
|
this, generating an error message is appropriate.
|
|
|
|
24.3. Rendering
|
|
|
|
o Add incremental 3D reconstruction output.
|
|
o Add support for the Canon 300D with a 50mm f/1.4 lens (specifying view
|
|
angle), as well as experimental support for the 50mm f/1.4 lens at 1.4
|
|
(specifying a linear PSF). Also add support for 50mm f/1.8 and 85mm
|
|
f/1.8 lenses, specifying view angles as specified in the chart at
|
|
http://www.acapixus.dk/photography/angle_of_view.htm
|
|
o Move all PSF parsing logic to a new file: d2/render/psf/psf_parse.h
|
|
|
|
24.4. Exposure
|
|
|
|
o For cases where --psf-match is specified, modify the exposure settings
|
|
for the final input image (i.e., reference image) so that default
|
|
exposure is used, and modify the bayer pattern settings so that no
|
|
bayer pattern is used. (The first of these modifications requires
|
|
changes in the way that the array of input exposures is stored.)
|
|
|
|
24.5. Filtering
|
|
|
|
o Don't output final data when --psf-match is specified. Doing so would
|
|
be useless anyway, and apparently causes a segfault.
|
|
o Add support for PSF convolution and scalar multiplication.
|
|
|
|
24.6. User interfaces
|
|
|
|
o Remove the reference to a non-existent web page in
|
|
unsupported::fornow().
|
|
o Modify help argument processing so that several help arguments can be
|
|
specified at a time. Change the usage text to reflect this.
|
|
o Fix concatenated help output; outputs from all help options are now
|
|
represented. (3D help had been omitted in 0.7.2.)
|
|
|
|
24.7. 3D Models
|
|
|
|
o Allow device-specific bayer patterns to be overridden by the --bayer
|
|
option.
|
|
o Add an option for explicitly setting the camera view angle. Make the
|
|
default view angle 43.7 degrees.
|
|
o Modify the 3D cost reduction algorithm. The new algorithm seems to
|
|
offer better results than the old in cases tested thus far, and does
|
|
not require that spatial extension be enabled.
|
|
|
|
23. Version 0.7.2, 2004-Oct-26
|
|
|
|
23.1. Build
|
|
|
|
o Add a rudimentary test suite. (from 0.7.1-patch2)
|
|
|
|
23.2. Command line interface
|
|
|
|
o Print version information to stdout instead of stderr. (from
|
|
0.7.1-patch2)
|
|
|
|
23.3. Image files
|
|
|
|
o Add rudimentary device support for raw, linear files from the Canon
|
|
EOS 300D (Digital Rebel) SLR. CRW files may not be directly usable
|
|
under all configurations; in cases where they are not, Dave Coffin's
|
|
dcraw program, with arguments -d -4, will produce a raw, linear PPM
|
|
file. See http://www.cybercom.net/~dcoffin/dcraw/
|
|
|
|
23.4. Exclusion regions
|
|
|
|
o In render::is_excluded(), add the offset before checking exclusion
|
|
regions. (from 0.7.1-patch1)
|
|
|
|
23.5. Alignment
|
|
|
|
o Add a new option --gs-mo to establish a minimum overlap area for
|
|
global searches. This may allow more of Derrick Brashear's historical
|
|
USGS contour map image sets to align successfully. (from 0.7.1-patch2)
|
|
o Add support for --perturb-{upper,lower}=x%, where the value x% is
|
|
specified as a percentage of the smallest image dimension. Use of
|
|
percentages to specify bounds was suggested by Jeff Epler. (from
|
|
0.7.1-patch1)
|
|
o Add code to shrink the accumulated image in d2/render/incremental.h,
|
|
so that superfluously large undefined areas are never present. This
|
|
may improve operation of '--gs inner' in some cases. (from
|
|
0.7.1-patch1)
|
|
o In d2::align::_align(), rescale default_initial_alignment in parallel
|
|
with the current transformation, so that it can be used again, if
|
|
necessary. (from 0.7.1-patch1)
|
|
o Add experimental options --perturb-source and --perturb-output, which
|
|
allow some refinement of the manner in which perturbation occurs.
|
|
(from 0.7.1-patch1)
|
|
|
|
23.6. Rendering
|
|
|
|
23.6.1. Scale
|
|
|
|
o Allow the scale factor to be explicitly set to one. (from
|
|
0.7.1-patch2)
|
|
|
|
23.7. 3D Models
|
|
|
|
o Add cost-minimizing code to reconstruct 3D scenes from 2D inputs.
|
|
(This code is currently very experimental.)
|
|
|
|
22. Version 0.7.1, 2004-Aug-27
|
|
|
|
22.1. Build
|
|
|
|
o Add speed optimizations for filtering in the Euclidean case, but leave
|
|
these disabled, since they are not safe. (Also included in
|
|
0.7.0-patch1.)
|
|
|
|
22.2. Alignment
|
|
|
|
o Add global search option --gs to fix an alignment problem reported by
|
|
Bert Douglas. (Also included in 0.7.0-patch1.)
|
|
o Change transformation::eu_{get,set,modify}() so that externally
|
|
visible values are interpreted in the context of transformations
|
|
between scaled images, while internal values represent transformations
|
|
between unscaled images. (Bugfix for 0.7.0. Also included in
|
|
0.7.0-patch1.)
|
|
o d2/tfile.h: Ensure that eu[] parameters are properly scaled when read
|
|
and written. (Bugfix for 0.7.0. Also included in 0.7.0-patch1.)
|
|
o Fix order-of-operations bug in d2::image::scale_by_half(). (Bugfix for
|
|
0.7.0 and earlier versions. Also included in 0.7.0-patch1.)
|
|
o Scale alignment weights for reduced level-of-detail in d2::align().
|
|
(Also included in 0.7.0-patch1.)
|
|
o For reduced level-of-detail alignment reference images, filter using
|
|
alignment weights. (Also included in 0.7.0-patch1.)
|
|
|
|
22.3. Rendering
|
|
|
|
o Add support for the ov7620 sensor (raw, linear modes only). (Updated
|
|
from 0.7.0-patch1 to specify a linear PSF.)
|
|
|
|
22.4. Filtering
|
|
|
|
o Add circular point-spread function option "circle=<diameter>".
|
|
|
|
22.5. User interfaces
|
|
|
|
o Add help mode --hA to display all help pages.
|
|
|
|
22.6. Video streams
|
|
|
|
o Fix --visp segfault when not using last: filters.
|
|
|
|
21. Version 0.7.0, 2004-Aug-06
|
|
|
|
21.1. Build
|
|
|
|
o Add support for algorithmic alignment weights. This requires POSIX
|
|
fork() and execlp(), so add a Makefile variable for POSIX.
|
|
|
|
21.2. Command line interface
|
|
|
|
o Increment the latest supported transformation file syntax to version
|
|
3. This version supports transformation of the original frame, as well
|
|
as other new features described above.
|
|
|
|
21.3. Defaults
|
|
|
|
o Add multiple default settings: q0, q1, q2, qn, qr.
|
|
|
|
21.4. Image files
|
|
|
|
o In the transformation data file handler, report incompatible
|
|
transformation types as an error instead of as a warning.
|
|
|
|
21.5. Exclusion regions
|
|
|
|
o Add option --ex, to support exclusion volumes. Region exclusion was
|
|
first suggested to the author by Dewayne VanHoozer as a means of
|
|
solving the 'closed eye problem' in group photography.
|
|
|
|
21.6. Alignment
|
|
|
|
o Add support for frequency-based alignment weights. Angelo Pesce had
|
|
initially suggested the related (or more general) idea of edge-based
|
|
alignment. Frequencies were chosen because of their conceptual
|
|
simplicity. This option requires that FFTW be linked.
|
|
o Add support for specifying per-pixel and per-channel alignment weights
|
|
by providing an additional weight-map image, as suggested by Bert
|
|
Douglas.
|
|
o Add options --fail-default and --fail-optimal to select the desired
|
|
failure mode. --fail-default uses the default alignment in the case of
|
|
failure.
|
|
o Add a barrel distortion adjustment multiplier and rate options.
|
|
o In d2/transformation.h, add parameters for barrel distortion
|
|
correction. In d2/tfile.h, add new barrel distortion command 'B'. The
|
|
approach taken is based on that of Helmut Dersch's PanoTools. (i.e., a
|
|
polynomial in radial distance is used.)
|
|
o Move d2/gpt.h to d2/transformation.h.
|
|
o In d2::align, add support for original frame transformations.
|
|
o In d2::align::diff() and d2::align::set_exposure_ratio(), treat cases
|
|
with and without extension identically.
|
|
|
|
21.7. Rendering
|
|
|
|
o Remove support for USM.
|
|
o Modify the divisor in d2/render/ipc.h to ensure convergence when using
|
|
multiple varieties.
|
|
|
|
21.8. Transformation data files
|
|
|
|
o Report unrecognized transformation file commands as errors instead of
|
|
warnings.
|
|
|
|
21.9. Control points
|
|
|
|
o Add options to control output range. By default, use the range of the
|
|
original frame.
|
|
|
|
21.10. Devices
|
|
|
|
o Add a device type for the XVP610 camera in 640x480 mode.
|
|
|
|
21.11. User interfaces
|
|
|
|
o Partition help into sections, and add a section for transformation
|
|
data file help.
|
|
o For incremental rendering, add general filtering options. Drizzling
|
|
options are no longer supported as such, but the help output offers
|
|
examples of how to emulate old drizzling/merging techniques (roughly).
|
|
|
|
21.12. Video streams
|
|
|
|
o Add experimental video stabilization options.
|
|
|
|
21.13. 3D Models
|
|
|
|
21.13.1. Rendering
|
|
|
|
o Add experimental handling for Bayer patterns.
|
|
|
|
20. Version 0.6.0, 2004-Feb-10
|
|
|
|
20.1. Documentation
|
|
|
|
o Update e-mail address information.
|
|
o Modify the README to remove information covered in the User Manual.
|
|
|
|
20.2. Build
|
|
|
|
o Add command-line options to select plain or raw PNM/PPM formats.
|
|
Remove makefile variable PLAIN.
|
|
o Add command-line options to select 8/16 bits per channel. Remove
|
|
makefile variable BITS.
|
|
o Change -Os to -O2 in the Makefile, since -Os no longer achieves
|
|
speedup in the most critical codepaths.
|
|
|
|
20.3. Command line interface
|
|
|
|
o Convert some operations on pixels and points into vector syntax
|
|
through C++ operator overloading.
|
|
|
|
20.4. Rendering
|
|
|
|
o In the Irani-Peleg renderer, skip frames that fail to reach the match
|
|
threshold.
|
|
o Revise the device configuration xvp610_320x240 to use a new filter,
|
|
reflecting driver updates (see the relevant web page
|
|
http://auricle.dyndns.org/xvp610/ ) and support for non-linear
|
|
colorspace point-spread functions.
|
|
o In the Irani-Peleg renderer, use a discrete Fourier transform to
|
|
ensure that each (point-spread function, backprojection kernel) pair
|
|
satisfies condition (9) from theorem 4.1 in the source paper.
|
|
o Extend the --replace option to support drizzling.
|
|
o Add a polymorphic point-spread function type psf and convert all
|
|
external interfaces of ipc.h and usm.h (formerly hf-enhance.h) to use
|
|
this type.
|
|
o Fix memory leak in d2/render/combine.h:get_image(). (This fix is also
|
|
included in a patch for 0.5.1.)
|
|
o Modify the USM renderer to write output when incremental output is
|
|
enabled.
|
|
o In the USM renderer, now only defined pixel values contribute to the
|
|
mask. Also, undefined values are no longer masked.
|
|
o Modify the Irani-Peleg calibration script into a general point-spread
|
|
function calibration script, using a new built-in point-spread
|
|
function evaluation module to rate candidates.
|
|
o Irani-Peleg and USM (High-frequency enhancement) renderers now use the
|
|
same point-spread function configurations. New options --ips, --usm,
|
|
--lpsf, --nlpsf, and --device subsume and extend the functionality
|
|
provided by options --ip, --ipc, and --hf-enhance.
|
|
o Add support for convolutions in non-linear colorspace. This feature is
|
|
enabled and configured by the command-line option --nlpsf. (See also
|
|
the item above.)
|
|
o Linearize channel values within internal data structures so that most
|
|
ALE operations are performed on linear data. Steve Mann discusses the
|
|
use of linear representations in image processing, e.g. in his paper
|
|
http://wearcam.org/comparametrics.pdf . We assume a simple power-law
|
|
response by default.
|
|
o Modify the image class to use a floating-point data type for storing
|
|
pixels.
|
|
o Revise identifiers and comments in d2/render/ipc.h to better reflect
|
|
the terminology used in the source paper by Irani and Peleg.
|
|
o Consoldiate code for computing the position and dimensions of a pixel
|
|
in a new coordinate system, and use this new abstraction to reduce the
|
|
code size of d2/render/ipc.h and d2/render/drizzle.h (Irani-Peleg and
|
|
drizzling code, respectively).
|
|
o Change several instances of 'double', 'float', and 'my_real' to
|
|
specialized floating-point types 'ale_real', 'ale_pos', 'ale_sreal',
|
|
and 'ale_accum'.
|
|
o Fix offset calculation in d2/render/ipc.h. This is necessary for
|
|
Irani-Peleg rendering of image mosaics extending upwards or to the
|
|
left of the original frame. (This fix is also included in a patch for
|
|
0.5.1.)
|
|
|
|
20.5. Exposure
|
|
|
|
o Add a generalized, but rudimentary, implementation of Steve Mann's
|
|
notion of 'certainty'. For more details, see
|
|
http://wearcam.org/comparametrics.pdf
|
|
o Add support for exposure registration (i.e., matching of exposure
|
|
between different frames).
|
|
|
|
20.6. Filtering
|
|
|
|
o Make stdin filter height and width independent of each other.
|
|
o Add a point-spread function rasterizer.
|
|
o Add command-line support for summation of point-spread functions.
|
|
|
|
20.7. Source code organization
|
|
|
|
o Move classes treating snapshots as two-dimensional data to directory
|
|
'd2' and create an associated C++ namespace. We can't use '2d' to
|
|
label the namespace, because the C++ grammar won't allow it.
|
|
|
|
19. Version 0.5.1, 2003-Nov-19
|
|
|
|
19.1. Documentation
|
|
|
|
o Several of the changes below are based on a suggestion by Bert Douglas
|
|
regarding support for 16-bit-per-channel color. See the README for
|
|
more information about relevant compilation options.
|
|
o Add information to the README regarding new compilation options.
|
|
|
|
19.2. Build
|
|
|
|
o Modify the makefile to accept a variable BITS, and differentiate
|
|
between values BITS=8 and BITS=16. The latter option causes the macro
|
|
BITS_16 to be defined during compilation.
|
|
o Add a Makefile option for writing plain (ASCII) PPM files instead of
|
|
raw (binary). This option causes the macro PPM_PLAIN to be defined
|
|
during compilation.
|
|
|
|
19.3. Image files
|
|
|
|
o Modify image_rw.h to handle 16-bit data when BITS_16 is defined. Also,
|
|
differentiate between 8-bit and 16-bit ImageMagick builds by checking
|
|
MaxRGB.
|
|
o In ppm.h, add carriage returns to the set of recognized whitespace
|
|
characters.
|
|
o Modify ppm.h to read 16-bit binary PPM files (added to the PPM format
|
|
spec in April 2000).
|
|
o Modify ppm.h to read plain (ASCII) as well as raw (binary) PPM files.
|
|
o Modify ppm.h to write plain (ASCII) PPM files when PPM_PLAIN is
|
|
defined.
|
|
o Modify ppm.h to output 16-bit PPM files when BITS_16 is defined.
|
|
o Modify ppm.h to scale input intensity values based on the internal
|
|
representation depth (8 or 16 bits per channel).
|
|
|
|
19.4. Exposure
|
|
|
|
o Add a file 'channel.h' to describe the color channel data type and
|
|
valid range, both being dependent on whether BITS_16 is defined. Use
|
|
these generic values, where appropriate, throughout the ALE codebase.
|
|
|
|
18. Version 0.5.0, 2003-Nov-02
|
|
|
|
18.1. Documentation
|
|
|
|
o Add more comment documentation to header files.
|
|
o Change documentation for --replace.
|
|
|
|
18.2. Image files
|
|
|
|
o Emit a more informative error message when the PPM file handler
|
|
encounters a file that is not a well-formed PPM binary file.
|
|
|
|
18.3. Alignment
|
|
|
|
o Remove certain cloning operations from align.h, but since cursory
|
|
tests indicate that scaling with --scale is much more expensive than
|
|
cloning, allow cloning to occur when scaling occurs.
|
|
o Modify semantics of alignment following by applying to file-loaded
|
|
initial transformations a delta transformation D = AB^-1, where B is
|
|
the previous frame's (unmodified) initial transformation, A is the
|
|
previous frame's final transformation, and ^-1 is the inverse
|
|
operator. Using --follow with --trans-load can now improve alignment
|
|
success when working with panoramic image mosaics.
|
|
o We're not using simulated annealing, so remove comments that claim
|
|
otherwise.
|
|
|
|
18.4. Rendering
|
|
|
|
o Remove certain unsafe assumptions from ipc/* (now render/ipc/*); this
|
|
change includes a modification to ipc.h (now render/ipc.h). Limits of
|
|
the rectangle used as an argument to the <type>::response() function
|
|
are now explicitly given rather than implied.
|
|
|
|
18.5. Source code organization
|
|
|
|
o Move rendering implementations to subdirectory 'render/'.
|
|
|
|
17. Version 0.4.8, 2003-Aug-01
|
|
|
|
17.1. Alignment
|
|
|
|
o Modify Monte Carlo alignment so that the same set of accumulated image
|
|
pixels is examined when comparing two transformations.
|
|
o Add an option for additional upper-bound constraint of rotational
|
|
perturbation. Jeff Epler had noted that the
|
|
perturb-upper/perturb-lower options alone may not be suited to working
|
|
with sets of higher-resolution images.
|
|
o Resolve a bug introduced in version 0.1.1 which had limited rotational
|
|
perturbation to 2 degrees.
|
|
o Add an option to adjust the maximum level of detail used. The default
|
|
maximum is 2/perturb, which matches the default for previous versions
|
|
of ALE.
|
|
|
|
17.2. Rendering
|
|
|
|
o Modify Irani-Peleg renderer to produce incremental output.
|
|
|
|
17.3. Scripts
|
|
|
|
o Modify names of temporary files used in the calibration script.
|
|
|
|
16. Version 0.4.7, 2003-Jul-27
|
|
|
|
16.1. Alignment
|
|
|
|
o Irani-Peleg: don't truncate correction values in backprojection.
|
|
o Irani-Peleg: don't multiply the weight function by a scale correction
|
|
factor in backprojection.
|
|
|
|
16.2. Rendering
|
|
|
|
o Irani-Peleg: add support for configurable modules, including a module
|
|
that reads its configuration data from standard input and a module
|
|
calibrated for an IBM (Xirlink) XVP610 in 320x240 mode. A rudimentary
|
|
script for calibrating devices with unknown projection functions has
|
|
been included as ipc/ale-calibrate.
|
|
o Rename render::operator()() to render::sync(). Update subclasses
|
|
accordingly.
|
|
|
|
16.3. Video streams
|
|
|
|
o Add a replacement option suggested by Jeff Treece. This option can be
|
|
used to facilitate video stabilization.
|
|
|
|
15. Version 0.4.6, 2003-Jul-01
|
|
|
|
15.1. Rendering
|
|
|
|
o Allow --ip and --hf-enhance to be used together. [Modify
|
|
ip::operator() and hf_filter::operator() so that multiple
|
|
post-processing filters can be used.]
|
|
o Initialize the drizzled image to be uniformly black. This fixes a bug
|
|
introduced in 0.4.2.
|
|
o Allocate the correct size image for drizzling. This fixes a bug
|
|
introduced in 0.4.5.
|
|
|
|
14. Version 0.4.5, 2003-Jun-23
|
|
|
|
14.1. Command line interface
|
|
|
|
o Reduce whitespace in usage() message.
|
|
o Modify image file handler interface so that input files are not
|
|
scaled. Perform scaling, when necessary, outside of the file handler.
|
|
Since unscaled data is needed by the drizzling and Irani-Peleg code,
|
|
this fixes bugs in those modules.
|
|
|
|
14.2. Image files
|
|
|
|
o Remove call to stat() in image_rw.h. This improves OS independence,
|
|
and apparently also allows URL-specification of images when compiled
|
|
with ImageMagick support.
|
|
|
|
14.3. Alignment
|
|
|
|
o Ensure correct transformation scaling and difference calculation after
|
|
alignment is complete, even if alignment terminates with a reduced
|
|
level of detail (i.e. perturb-lower > 2).
|
|
o Separate the scale() function into two cases: scale() is reserved for
|
|
scale factors greater than or equal to one, as in user-specified
|
|
scaling; and scale_by_half() is used for the scale factor 0.5, needed
|
|
to provide multiple levels of detail in alignment. Modify the
|
|
scale_by_half() case to reflect source pixel values more fairly. (This
|
|
change affects alignment behavior at reduced levels of detail.)
|
|
o Modify align::diff() to use correctly scaled image offset values.
|
|
(Bugfix for alignment with --extend.)
|
|
o Modify align.h so that the image definition array is correctly scaled
|
|
for all levels of detail. (Bugfix for alignment with --extend.)
|
|
|
|
14.4. Rendering
|
|
|
|
o Modify image.h to correctly handle image offset values. (Bugfix for
|
|
--extend operation.)
|
|
|
|
13. Version 0.4.4, 2003-Jun-06
|
|
|
|
13.1. Image files
|
|
|
|
o Specify the binary mode flag to fopen() calls in the PPM file handler.
|
|
This change resolves a bug discovered by Benjamin Hill.
|
|
|
|
13.2. Alignment
|
|
|
|
o Modify the Monte Carlo pixel selection algorithm so that the expected
|
|
number of sampled pixels more closely matches the specified number in
|
|
typical cases.
|
|
|
|
12. Version 0.4.3, 2003-May-30
|
|
|
|
12.1. Alignment
|
|
|
|
o Add support for Monte Carlo alignment of images, in which only a
|
|
random subset of pixels is sampled.
|
|
|
|
12.2. Rendering
|
|
|
|
o Add an option to disable incremental image output.
|
|
|
|
11. Version 0.4.2, 2003-May-23
|
|
|
|
11.1. Build
|
|
|
|
o Add missing typecast to resolve compile warning under GCC 3.2.
|
|
|
|
11.2. Image files
|
|
|
|
o Modify PPM file reader to correctly handle comments in PPM files; this
|
|
resolves a bug pointed out by Benjamin Hill.
|
|
|
|
11.3. Alignment
|
|
|
|
o Clean up source; move rendering and alignment functions into separate
|
|
files.
|
|
o Make changes to gpt.h that may reduce the Euclidean alignment time.
|
|
|
|
11.4. Rendering
|
|
|
|
o Implement an image reconstruction option based on the work of Irani
|
|
and Peleg.
|
|
o Change valid drizzling diameter interval to (0,1].
|
|
|
|
11.5. Source code organization
|
|
|
|
o Move ale.c to ale.cc to follow one of the many C++ naming conventions.
|
|
|
|
10. Version 0.4.1, 2003-Apr-28
|
|
|
|
10.1. Documentation
|
|
|
|
o Separate into a number of subsections the option descriptions in the
|
|
README
|
|
o Add URL information to README
|
|
|
|
10.2. Build
|
|
|
|
o Change language to C++.
|
|
|
|
10.3. Alignment
|
|
|
|
o Add an option to use the previous frame's final transformation as the
|
|
default alignment.
|
|
o Modify the transformation algorithm to use transformations from the
|
|
domain of the input image to the range of the target image. This
|
|
change is reflected in transformation files. Maintain support for old
|
|
transformation file versions, however.
|
|
|
|
10.4. Rendering
|
|
|
|
o Add an experimental drizzling implementation. Research on drizzling by
|
|
Richard Hook and Andrew Fruchter was brought to the attention of the
|
|
author by Dan Kaminsky.
|
|
o Change pixel weight data type so that more than 255 images can be
|
|
merged.
|
|
o Add support for increased spatial extents. Research on increased
|
|
spatial extents by Steve Mann was brought to the attention of the
|
|
author by Dan Egnor.
|
|
|
|
10.5. Transformation data files
|
|
|
|
o Add version information to transformation files and update the version
|
|
from 0 to 2.
|
|
|
|
10.6. Source code organization
|
|
|
|
o Code cleanup in ale.c, image.h, and gpt.h.
|
|
|
|
9. Version 0.4.0p1, 2003-Apr-04
|
|
|
|
9.1. Build
|
|
|
|
o Merge a bugfix from Debian ALE package version 0.4.0-1. Without this
|
|
fix, an assertion failure can occur when ImageMagick support is
|
|
enabled. Original fix implemented by Nick Rusnov.
|
|
|
|
8. Version 0.4.0, 2003-Mar-30
|
|
|
|
8.1. Rendering
|
|
|
|
8.1.1. Scale
|
|
|
|
o Add support for general scaling parameters (i.e. all scale factors >=
|
|
1.0). --scale2, --scale4, and --scale8 are now deprecated, and
|
|
replaced with a more general --scale=x argument.
|
|
o Support enhancement of high frequencies even when the scale factor is
|
|
1.0.
|
|
o Modify the high-frequency filter function so that the response is now
|
|
(4/n)^2 times what it used to be, where n is the scale factor.
|
|
|
|
8.2. Filtering
|
|
|
|
o Modify the high-frequency filter algorithm to support filtering near
|
|
the border of an image.
|
|
|
|
7. Version 0.3.2, 2003-Mar-26
|
|
|
|
7.1. Filtering
|
|
|
|
o Don't filter high frequencies if we're not enhancing them. This
|
|
improves efficiency, but should not affect output.
|
|
|
|
6. Version 0.3.1, 2003-Mar-25
|
|
|
|
6.1. Rendering
|
|
|
|
o Add support for post-enhancement of high-frequency details.
|
|
|
|
6.2. Transformation data files
|
|
|
|
o Update informational output to transformation files to include
|
|
original frame.
|
|
|
|
6.3. User interfaces
|
|
|
|
o Output average match statistic.
|
|
|
|
5. Version 0.3.0, 2003-Jan-17
|
|
|
|
5.1. Build
|
|
|
|
o Modify Makefile to compile with size optimization, since this appears
|
|
to improve speed characteristics in some cases.
|
|
|
|
5.2. Alignment
|
|
|
|
o Add an option to set the upper bound on correction steps.
|
|
o Move transformation data structure and related functions to a separate
|
|
header file.
|
|
|
|
5.3. Transformation data files
|
|
|
|
o Add support for loading and saving transformation data.
|
|
|
|
4. Version 0.2.0, 2003-Jan-01
|
|
|
|
4.1. Alignment
|
|
|
|
o Add support for general projective transformations, and change/add
|
|
options as follows: '--translation' used to be '--no-rotate'
|
|
'--euclidean' used to be '--rotate' '--projective' is a new option
|
|
|
|
3. Version 0.1.2, 2002-Dec-13
|
|
|
|
3.1. Image files
|
|
|
|
o Add optional support for .jpg, .png, .tiff, and other file formats
|
|
through ImageMagick. Translation using ImageMagick was suggested by
|
|
Nick Rusnov.
|
|
o Don't segfault if a file can't be opened.
|
|
|
|
2. Version 0.1.1, 2002-Dec-09
|
|
|
|
2.1. Alignment
|
|
|
|
o Use reduced levels of detail in coarser alignment steps to increase
|
|
speed.
|
|
o Change perturbation step lower-bound check from less-than ('<') to
|
|
less-than-or-equal-to ('<='). Change default lower bound to .125 from
|
|
.1 (the behavior is the same, but the value makes more sense).
|
|
o Change perturbation initial value to 32 pixels from 16 pixels, since
|
|
coarse alignment is now less expensive.
|
|
|
|
2.2. Rendering
|
|
|
|
2.2.1. Scale
|
|
|
|
o Modify scale function so that the borders aren't corrupted (too
|
|
badly).
|
|
|
|
1. Version 0.1.0, 2002-Nov-26
|
|
|
|
1.1. Build
|
|
|
|
o Add a rule for ale.exe to the Makefile.
|
|
|
|
1.2. Alignment
|
|
|
|
o Add support for correction of rotation about the lens axis.
|
|
o Add an option to adjust minimum step-size.
|
|
o Add flags to specify which channels to use for alignment. Use a
|
|
summation of all channels by default.
|
|
o Add an option to modify the error metric exponent, and change the
|
|
default value from 1 to 2.
|
|
|
|
1.3. Rendering
|
|
|
|
o Add an optional match criterion for merging.
|
|
|
|
1.4. User interfaces
|
|
|
|
o Display information about how well a new image matches the accumulated
|
|
image.
|
|
|
|
0. Version 0.0.0, 2002-Oct-11
|
|
|
|
0.1. Initial release
|
|
|
|
o Initial release.
|