initial commit

This commit is contained in:
Mauro Torrez
2022-07-30 14:46:04 -03:00
commit 47650131de
312 changed files with 212465 additions and 0 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,555 @@
<?xml version="1.0"?>
<!DOCTYPE article PUBLIC "-//Norman Walsh//DTD DocBk XML V3.1.4//EN"
"file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd">
<article>
<edit by="David Hilvert" in-year="2006"/>
<articleinfo xmlns:xi="http://www.w3.org/2001/XInclude">
<t>Change log</t>
<abstract>This article contains detailed change information for each release.</abstract>
</articleinfo>
<changelog>
<release version="3">
<packaging>
<i>Change 1</i>
<i>Change 2</i>
<i>Change 3</i>
</packaging>
</release>
</changelog>
<s><t>0.8.5 (Prerelease)</t>
<edit by="David Hilvert" in-year="2006"/>
<s><t>Documentation</t>
<ul><li>Migrate documentation to a modified DocBook format.
</li><li>Revise README for autotools build and installation.
</li><li>Add file 'TODO', containing a tentative list of future versions
and features.
</li><li>Add AUTHORS file, in accordance with the autotools packaging
standards.
</li><li>Revise Changelog name to autotools-recognized ChangeLog
</li><li> Add NEWS file containing summary announcement text, including mailing
list and Freshmeat announcements for versions through 0.8.4. This
file is required by autotools when not running in --foreign mode.
</li></ul>
</s>
<s>
<t>Configuration</t>
<ul><li>Add autotools-based configuration, build, and installation facilities,
replacing the earlier Makefile-based configuration and build process.
</li></ul>
</s>
<s><t>Command-line interface</t>
<ul><li>Modify command-line interface to accept certain scope operators, and
to increase uniformity of syntax.
</li></ul>
</s>
<s><t>Image constraints</t>
<ul><li>Add options --f{ex,crop} for frame-coordinate exclusion regions.
</li></ul>
</s>
<s>
<t>3D Rendering</t>
<ul><li>In d3::scene, always use filler spaces when --pc all is specified.
</li></ul>
</s>
<s>
<t>Source code organization</t>
<ul><li>Move input interface details, including option handling, messages,
and help information, to the ui/ subdirectory.
</li></ul>
</s>
</s>
<s>
<t>
0.8.4 2006-May-14
</t>
<edit by="David Hilvert" in-year="2006"/>
<edit by="David Hilvert" in-year="2005"/>
<s>
<t>Packaging</t>
<ul><li>Fix build error noted by Gregory Maxwell and re-tag version.
</li></ul>
</s>
<s>
<t>Documentation</t>
<ul><li>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.
</li></ul>
</s>
<s>
<t>Command-line interface</t>
<ul><li>Add fine-grain UI updates for 3D operations when using ui=tty. Reduce
tty UI status update frequency to at most once per second.
</li></ul>
</s>
<s>
<t>3D Rendering</t>
<ul><li>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.
</li><li>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.)
</li><li>Interpolate to generate smooth 3D depth output.
</li></ul>
</s>
<s>
<t>3D Models</t>
<ul><li>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.
</li><li>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.
</li><li>Fix dimension comparison bug in d3::space::traverse::get_next_split().
</li><li>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)
</li><li>Add adaptive weight decomposition to 3D occupancy algorithms.
</li><li>Move low-level code concerning scale and level-of-detail from
d3::scene to d3::pt.
</li><li>Move code concerning the nature of space from d3::scene to
d3::space.
</li><li>Remove older 3D rendering code.
</li></ul>
</s>
<s>
<t>Scripts</t>
<ul><li>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).
</li></ul>
</s>
<s>
<t>Undocumented options</t>
<ul><li>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.
</li></ul>
</s>
</s>
<s>
<t>0.8.3 2005-Dec-23</t>
<edit by="David Hilvert" in-year="2005"/>
<s>
<t>Rendering</t>
<ul><li>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.
</li></ul>
</s>
<s>
<t>3D Models</t>
<s>
<t>Stereoscopy</t>
<ul><li>Add option --pc to specify which pairwise comparisons should be
performed.
</li><li>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.
</li><li>Add option --tcem for scoring point candidates by third-camera
views. The default of 0 preserves existing default behavior.
</li></ul>
</s>
<s>
<t>Geometry</t>
<ul><li>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.)
</li><li>Add --et option to specify encounter thresholds.
</li><li>Modify representation of 3D subspaces so that refined subspaces
are roughly cubical, and to allow refinements at multiple
resolutions.
</li><li>Clean up d3::scene to remove triangle-mesh code.
</li></ul>
</s>
<s>
<t>Occupancy</t>
<ul><li>Fix bugs in 3D color and occupancy updating caused by bounding
box miscalculation.
</li><li>Add option --oui for determining occupancy update iterations.
The new default is 10, halving the previous default of 20.
</li></ul>
</s>
</s>
</s>
<s>
<t>0.8.2 2005-Nov-22</t>
<edit by="David Hilvert" in-year="2005"/>
<s>
<t>Image files</t>
<ul><li>Add magical file 'dump:' for listing color values numerically
to stderr.
</li></ul>
</s>
<s>
<t>3D Models</t>
<ul><li>Transition from a subdivisible triangle model to a subdivisible
space model, using a rudimentary implementation of Hans Moravec's
notion of occupancy.
</li><li>Add support for view and depth output from arbitrary cameras.
</li><li>Add clipping plane options for 3D modeling.
</li></ul>
</s>
<s>
<t>Control points</t>
<ul><li>Fix various bugs in control-point alignment reported by Gregory
Maxwell.
</li></ul>
</s>
</s>
<s>
<t>0.8.1 2005-May-6</t>
<edit by="David Hilvert" in-year="2005"/>
<s>
<t>Build</t>
<ul><li>Fix enumerator compile bugs noted by Gregory Maxwell and Tom Holroyd
to cause compilation failure under GCC 3.4.
</li></ul>
</s>
<s>
<t>Defaults</t>
<ul><li>Modify --q1 to use median-value incremental rendering.
</li></ul>
</s>
<s>
<t>Rendering</t>
<ul><li>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.
</li></ul>
</s>
<s>
<t>Exposure</t>
<ul><li>Add a color adjustment option --exp-mult=.
</li></ul>
</s>
<s>
<t>Control points</t>
<ul><li>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'.
</li></ul>
</s>
<s>
<t>Transformation data files</t>
<ul><li>Add average magnitude comments to transformation data file output.
</li></ul>
</s>
<s>
<t>3D Models</t>
<ul><li>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.
</li></ul>
</s>
<s>
<t>Scripts</t>
<ul><li>Move ale-psf-calibrate to a new scripts directory.
</li></ul>
</s>
</s>
<s>
<t>0.8.0 2005-Jan-12</t>
<edit by="David Hilvert" in-year="2005"/>
<edit by="David Hilvert" in-year="2004"/>
<s>
<t>Command-line interface</t>
<ul><li>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.
</li></ul>
</s>
<s>
<t>Exclusion regions</t>
<ul><li>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.
</li><li>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.
</li></ul>
</s>
<s>
<t>Image files</t>
<ul><li>Add support for PPM with extended attributes (EPPM). Attributes
handled specially include black level, shutter speed, aperture, and
ISO (or gain).
</li></ul>
</s>
<s>
<t>Exposure</t>
<ul><li>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.
</li><li>Fix an index variable bug in d2::image_bayer_ale_real::trigger().
</li><li>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.
</li></ul>
</s>
<s>
<t>Alignment</t>
<ul><li>Modify euclidean alignment so that perturb-upper and perturb-lower
apply to rotational arclength.
</li><li>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.
</li><li>Modify d2::align::set_exposure_ratio() so that alignment
weights and certainty values are taken into consideration.
</li><li>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.
</li></ul>
</s>
<s>
<t>Rendering</t>
<s>
<t>Scale</t>
<ul><li>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.
</li></ul>
</s>
<s>
<t>Incremental</t>
<ul><li>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.
</li></ul>
</s>
<s>
<t>Irani-Peleg</t>
<ul><li>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.
</li><li>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.
</li><li>Modify the Irani-Peleg renderer to use estimate-based certainty. This
seems to improve noise characteristics significantly.
</li><li>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.
</li><li>Modify d2/render/ipc.h to handle exclusion regions more effectively.
</li></ul>
</s>
</s>
<s>
<t>Transformation data files</t>
<ul><li>Write the results of tonal registration as a comment in the
transformation data file.
</li></ul>
</s>
<s>
<t>3D Models</t>
<ul><li>Add experimental cost calculation routines to d3/scene.h.
</li></ul>
</s>
<s>
<t>Source code organization</t>
<ul><li>Move certain user interface elements to the source subdirectory ui/.
</li></ul>
</s>
</s>
<s>
<t>0.7.3 2004-Dec-1</t>
<edit by="David Hilvert" in-year="2004"/>
<s>
<t>3D Models</t>
o Add incremental 3D reconstruction output.
</s>
<s>
<t>Command-line interface</t>
o Remove the reference to a non-existent web page in
unsupported::fornow().
</s>
<s>
<t>Rendering</t>
<remark>Should the --bayer option be moved to another section?</remark>
o Allow device-specific bayer patterns to be overridden by the --bayer
option.
</s>
<s>
<t>3D Models</t>
o Add an option for explicitly setting the camera view angle. Make the
default view angle 43.7 degrees.
</s>
o Implement optimizations that reduce the memory footprint when 3D
options are used.
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.
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 Don't output final data when --psf-match is specified. Doing so
would be useless anyway, and apparently causes a segfault.
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.)
o Optionally (when OPTIMIZATIONS == 1) use the output of the default
rendering chain directly as the Irani-Peleg initial approximation,
instead of copying it.
o Add support for PSF convolution and scalar multiplication.
o Move all PSF parsing logic to a new file: d2/render/psf/psf_parse.h
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.)
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.
</s>
</article>

21
doc/package/index.xml Normal file
View File

@@ -0,0 +1,21 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//Norman Walsh//DTD DocBk XML V3.1.4//EN"
"file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd">
<book xmlns:xi="http://www.w3.org/2001/XInclude">
<bookinfo>
<title>
Package Manual
</title>
</bookinfo>
<xi:include href="readme/index.xml"/>
<xi:include href="news/index.xml"/>
<xi:include href="changelog/index.xml"/>
<xi:include href="todo/index.xml"/>
<xi:include href="bugs/index.xml"/>
<!-- <xi:include href="authors/index.xml"/>
<xi:include href="copying/index.xml"/>
<xi:include href="install/index.xml"/>
-->
</book>

577
doc/package/news/index.xml Normal file
View File

@@ -0,0 +1,577 @@
<?xml version="1.0"?>
<!DOCTYPE article PUBLIC "-//Norman Walsh//DTD DocBk XML V3.1.4//EN"
"file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd">
<article>
<edit by="David Hilvert" in-year="2002"/>
<edit by="David Hilvert" in-year="2003"/>
<edit by="David Hilvert" in-year="2004"/>
<edit by="David Hilvert" in-year="2005"/>
<edit by="David Hilvert" in-year="2006"/>
<edit by="David Hilvert" in-year="2007"/>
<edit by="David Hilvert" in-year="2008"/>
<edit by="David Hilvert" in-year="2009"/>
<articleinfo xmlns:xi="http://www.w3.org/2001/XInclude">
<title>News</title>
<abstract>This article includes change summaries for each release.</abstract>
</articleinfo>
<news>
<release version="0.9.0.3" date="2009-Mar-31">
<p>This testing release fixes a serious memory leak, fixes an output bit depth
bug, and refines bit depth checks.</p>
</release>
<release version="0.9.0.2" date="2008-Nov-05">
<p>This testing release has been updated to fix a bashism in the wrapper
script, and includes other minor fixes to the documentation tree.</p>
</release>
<release version="0.9.0.1" date="2008-Jun-13">
<p>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.</p>
</release>
<release version="0.9.0" date="2008-Apr-14">
<p>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.</p>
</release>
<release version="0.8.11" date="2007-Nov-03">
<p>This release includes new fixed-point configuration options, improves
floating-point performance in certain cases, and resolves a possible alignment
bug.</p>
</release>
<release version="0.8.10.1" date="2007-Oct-04">
<p>This release fixes an assertion failure occurring at large scale values.</p>
</release>
<release version="0.8.10" date="2007-Oct-02">
<p>This release updates alignment level-of-detail, Monte Carlo alignment, and
the re-filtering renderer.</p>
</release>
<release version="0.8.9.1" date="2007-Aug-31">
<p>This release resolves certain build failures occurring under unthreaded
configurations, removes certain debugging output, and adds support for
platforms missing certain floating point macros.</p>
</release>
<release version="0.8.9" date="2007-Aug-25">
<p>This release adds a re-filtering renderer, fixes certain rendering bugs, and
provides a wrapper script for extracting exposure information and decoding raw
files. </p>
</release>
<release version="0.8.8.1" date="2007-May-18">
<p>This release removes a violation of the C++ standard that may cause some builds
to fail.</p>
</release>
<release version="0.8.8" date="2007-May-15">
<p>This release revises robustness checking for dynamic Monte Carlo alignment,
adds quiet and logging UI options, and includes a Gaussian PSF.</p>
</release>
<release version="0.8.7" date="2007-Mar-04">
<p>This release adds new weight limiting options to Irani-Peleg and incremental
renderers, and fixes bugs that may cause alignment failure.</p>
</release>
<release version="0.8.6" date="2007-Feb-17">
<p>This release updates certainty calculation, adds a Nikon D50 device option,
and resolves certain assertion failures.</p>
</release>
<release version="0.8.5" date="2007-Jan-19">
<p>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.</p>
</release>
<release version="0.8.5-pre3" date="2006-Nov-03">
<p>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.</p>
</release>
<release version="0.8.5-pre2" date="2006-Oct-25">
<p>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.</p>
</release>
<release version="0.8.5-pre1" date="2006-Oct-16">
<p>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.</p>
<p>A release plan is included in the TODO file, with entries for 0.8.5, 0.9.0,
and 1.0.0 releases.</p>
</release>
<release version="0.8.4" date="2006-May-14">
<fm>
This release refines the 3D engine to support focus effects, filtering, and
editing of scene geometry.
</fm>
<ml>
<ul><li>Support for filtered 3D rendering.
</li><li>Support for removal of foreground objects in 3D scenes.
</li><li>Support for synthetic focus effects.
</li></ul>
</ml>
</release>
<release version="0.8.3" date="2005-Dec-23">
<fm>
This version adds enhancements in the handling of 3D scenes.
</fm>
<ml>
<ul><li>Various enhancements to handling of 3D scenes.
</li></ul>
</ml>
</release>
<release version="0.8.2" date="2005-Nov-22">
<fm>
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.
</fm>
<ml>
<ul><li>Fix 2D control point alignment bugs
</li><li>Revise 3D modeling code to use spatial subdivision and occupancy
</li><li>Add support for clipping planes and arbitrary camera positioning
</li></ul>
</ml>
</release>
<release version="0.8.1" date="2005-May-6">
<fm>
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.
</fm>
<ml>
<ul><li>Add control points, median-value rendering, and a unified 3D scene model.
</li><li>Resolve syntax errors causing compilation failure under GCC 3.4.
</li></ul>
</ml>
</release>
<release version="0.8.0-patch" date="2005-Apr-13">
<p>Patch to fix build failures under GCC 3.4 noted by Gregory Maxwell and Tom
Holroyd</p>
</release>
<release version="0.8.0" date="2005-Jan-12">
<fm>
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.
</fm>
<ml>
<ul><li>Add a more informative TTY user interface
</li><li>Increase Euclidean alignment precision for large images
</li><li>Reduce certainty-related noise amplification in the Irani-Peleg renderer
</li></ul>
</ml>
</release>
<release version="0.7.3" date="2004-Dec-1">
<fm>
This release includes revised 3D algorithms, reduced memory usage for certain
rendering steps, and new point-spread function and device options.
</fm>
<ml>
<ul><li>Reduce memory usage in Irani-Peleg and 3D renderers
</li><li>Add new PSF options for convolution and scalar multiplication
</li><li>Revise the 3D scene reconstruction algorithm
</li></ul>
</ml>
<sum revised="1">
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.
</sum>
</release>
<release version="0.7.2" date="2004-Oct-26">
<fm>
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.
</fm>
<ml>
<ul><li>Incorporate changes from 0.7.1 patches
</li><li>Add a device configuration for the Canon EOS 300D (Digital Rebel)
</li><li>Incorporate an approach to 3D reconstruction. (Does not work yet.)
</li></ul>
</ml>
</release>
<release version="0.7.1-patch2" date="2004-Sep-15">
<ch>
<ul><li>Adds an option for establishing a minimum overlap area for global searches
</li><li>Adds a rudimentary test suite.
</li></ul>
</ch>
</release>
<release version="0.7.1-patch1" date="2004-Sep-07">
<ml>
<ul><li>Allows each perturbation bound to be specified as a percentage of the
smallest image dimension (useful for large images?).
</li><li>Fixes bugs in exclusion region handlers.
</li><li>Fixes bugs in alignment failure handlers.
</li><li>Avoids superfluously large undefined regions.
</li><li>Adds experimental options for refining perturbation.
</li></ul>
</ml>
</release>
<release version="0.7.1" date="2004-Aug-27">
<fm>
This release fixes alignment bugs, adds a global search option, and adds
support for the OmniView OV7620 sensor.
</fm>
<ml>
<ul><li>Add linear PSF for OV7620
</li><li>Add option to concatenate help pages
</li><li>Fix VISP segfault
</li><li>Incorporate changes from 0.7.0-patch1
</li></ul>
</ml>
<notes>
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.
</notes>
</release>
<release version="0.7.0-patch1" date="2004-Aug-22">
<ml>
<ul><li>Fixes alignment bugs.
</li><li>Adds a global search option.
</li><li>Adds support for ov7620 in raw, linear mode.
</li></ul>
</ml>
<notes>
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.
</notes>
</release>
<release version="0.7.0" date="2004-Aug-06">
<fm>
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.
</fm>
</release>
<release version="0.6.0" date="2004-Feb-10">
<fm>
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.
</fm>
</release>
<release version="0.5.1" date="2003-Nov-19">
<fm>
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.
</fm>
<ed-note>
[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]
</ed-note>
<sum revised="1">
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.
</sum>
</release>
<release version="0.5.0" date="2003-Nov-02">
<fm nh="1">
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.
</fm>
</release>
<release version="0.4.8" date="2003-Aug-01">
<fm nh="1">
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.
</fm>
</release>
<release version="0.4.7" date="2003-Jul-27">
<fm nh="1">
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.
</fm>
</release>
<release version="0.4.6" date="2003-Jul-01">
<fm nh="1">
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.
</fm>
</release>
<release version="0.4.5" date="2003-Jun-23">
<fm nh="1">
This release resolves a number of minor alignment bugs.
</fm>
</release>
<release version="0.4.4" date="2003-Jun-06">
<fm nh="1">
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.
</fm>
</release>
<release version="0.4.3" date="2003-May-30">
<fm nh="1">
A Monte Carlo alignment option has been added, which may reduce alignment time.
An option to disable incremental file output has also been added.
</fm>
</release>
<release version="0.4.2" date="2003-May-23">
<fm nh="1">
An iterative image reconstruction renderer has been added, and the PPM file
handler has been updated to correctly handle PPM header comments.
</fm>
</release>
<release version="0.4.1" date="2003-Apr-28">
<fm nh="1">
Increased spatial extents, drizzling, and new alignment options have been added
in this release.
</fm>
</release>
<release version="0.4.0p1" date="2003-Apr-04">
<fm nh="1">
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.
</fm>
<ul><li>The original Debian fix was implemented by Debian package maintainer Nick
Rusnov.
</li></ul>
</release>
<release version="0.4.0" date="2003-Mar-30">
<fm nh="1">
A general scaling option has been added, and the high-frequency enhancement
filter now works near image boundaries.
</fm>
</release>
<release version="0.3.2" date="2003-Mar-26">
<fm nh="1">
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.
</fm>
</release>
<release version="0.3.1" date="2003-Mar-25">
<ed-note>(This release appears to have been superseded by 0.3.2.)</ed-note>
</release>
<release version="0.3.0" date="2003-Jan-17">
<fm nh="1">
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.
</fm>
</release>
<release version="0.2.0" date="2003-Jan-01">
<fm nh="1">
General projective transformations can now be used in image alignment.
</fm>
</release>
<release version="0.1.2" date="2002-Dec-13">
<fm nh="1">
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.
</fm>
<ul><li>Translation of file formats using ImageMagick was suggested by Nick Rusnov.
</li></ul>
</release>
<release version="0.1.1" date="2002-Dec-09">
<fm nh="1">
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.
</fm>
</release>
<release version="0.1.0" date="2002-Nov-26">
<fm nh="1">
The image alignment algorithm has been updated.
</fm>
</release>
<release version="0.0.0" date="2002-Oct-11">
<p>Initial release</p>
<sum>
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").
</sum>
</release>
</news>
</article>

View File

@@ -0,0 +1,295 @@
<?xml version="1.0"?>
<!DOCTYPE article PUBLIC "-//Norman Walsh//DTD DocBk XML V3.1.4//EN"
"file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd">
<article>
<articleinfo xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Installation Guide</title>
<abstract>This article includes download, build, and installation
instructions.</abstract>
</articleinfo>
<edit by="David Hilvert" in-year="2008"/>
<edit by="David Hilvert" in-year="2007"/>
<edit by="David Hilvert" in-year="2006"/>
<edit by="David Hilvert" in-year="2005"/>
<edit by="David Hilvert" in-year="2004"/>
<edit by="David Hilvert" in-year="2003"/>
<edit by="David Hilvert" in-year="2002"/>
<!--
<s><t>Binaries</t>
<p>Official binaries are not available for this alpha release.</p>
<s><t>URLs</t>
<ul><li><winurl/>
</li></ul>
</s>
<s><t>Extraction and Use</t>
<p> The zip file available at the above URL is an archive containing the ALE
executable; a zip archival utility can be used to extract the executable from
the archive. </p>
<p> Once extracted, since ALE is a command-line program, it may be necessary to
open a command prompt window to use ALE successfully. For more information
about command-line usage and options, see the User Manual. </p>
</s>
</s>
-->
<s><t>Compiling from source</t>
<s><t>URLs</t>
<ul><li><sourceurl/>
</li></ul>
</s>
<s><t>Build prerequisites</t>
<s><t>GCC C++ compiler</t>
<p> GCC version 3.2.3 with C++ support is known to build ALE successfully. Older
versions of GCC may fail to compile some versions of ALE.</p>
</s>
<s><t>Prerequisites for building on Windows</t>
<p> Successfully running the configuration script on Windows (e.g., for native
builds) may require installation of Cygwin. For more information on Cygwin,
see:</p>
<ul><li><ulink url="http://www.cygwin.com/"/>
</li></ul>
<p>Alternatively, this package can be cross-compiled for Windows on a non-Windows
architecture, provided that the appropriate cross-compilers and libraries are
available.</p>
</s>
</s>
<s><t>Extraction</t>
<p>Download the source archive file from the URL indicated in the section
'URLs', and invoke:</p>
<ll>tar xzf <sourcepacktargz/>
cd <sourcepack/>
</ll>
<p>Invoking 'ls configure' afterward should reveal an executable script
'configure'. This script is used to determine the capabilities of the system
that will run the software.</p>
</s>
<s><t>Running configure</t>
<p>This package uses a configuration script, 'configure', generated by the GNU
project build tools ("autotools"). For most cases, it should be sufficient to
invoke:</p>
<ll>./configure
make
make install
</ll>
<p>In cases where the defaults are not adequate, configuration options can be
passed to the configuration script.</p>
</s>
<s><t>Configuration options</t>
<p>Configuration options can be passed to the 'configure' script prior to build
and installation, as:</p>
<ll>./configure --config-option1 --config-option2 ...
make
make install
</ll>
<p>Options specific to this package are described in the following subsections.
General configuration options are described in the file 'INSTALL' included in
the source package.</p>
<s><t>ImageMagick Support</t>
<p>Enabling ImageMagick support allows ALE to make use of the file-handling
capabilities of ImageMagick ( <ulink url="http://imagemagick.org/"/> ). This
includes reading and writing a variety of file formats, including, among many
others, PNG and JPEG (two formats commonly used in web publishing) as well as
common interchange formats such as PPM and TIFF. ImageMagick 6.0.6 is known to
work with this version of ALE; certain older versions of ImageMagick may cause
compile, link, or runtime errors. By default, support is automatically
detected.</p>
<ll>--with-imagemagick=auto Auto-detect ImageMagick support [default]
--with-imagemagick=yes Enable ImageMagick support
--with-imagemagick=no Disable ImageMagick support
</ll>
</s>
<s><t>Color Data Precision</t>
<p>ALE's internal data structures store each color channel within a pixel as
floating-point data; similarly, arithmetic operations on color channels are
performed in floating point. The available data-type configurations are
listed below, with typical data sizes indicated in parentheses. </p>
<ll>--with-colors=single Use C++ 'float' data type (32-bit) [default]
--with-colors=double Use C++ 'double' data type (64-bit)
</ll>
</s>
<s><t>
Coordinate Data Precision
</t>
<p>In general, coordinate transformations used by ALE produce results outside of
the set of integers; hence, coordinates are treated as floating-point data.
The two available data-type configurations are listed below, with typical data
sizes indicated in parentheses.</p>
<ll>--with-coords=single Use C++ 'float' data type (32-bit) [default]
--with-coords=double Use C++ 'double' data type (64-bit)
</ll>
</s>
<s><t>
Thread support
</t>
<p>
Threads can improve performance on multiprocessor machines. POSIX threads are
currently supported.
</p>
<ll>--enable-threads=auto Auto-detect thread support. [default]
--enable-threads=yes Enable thread support.
--enable-threads=no Disable thread support.
</ll>
</s>
<s><t>
FFTW Support
</t>
<p>
This feature is required in order to use the --fl option; it also determines
the approach to calculation of discrete Fourier transforms used by the
Irani-Peleg renderer. For more information on FFTW, see http://fftw.org/.
</p>
<ll>--with-fftw3=auto Auto-detect FFTW3. [default]
--with-fftw3=yes Use FFTW3 discrete Fourier transform.
--with-fftw3=no Use built-in discrete Fourier transform.
</ll>
</s>
<s><t>
Enable --wmx
</t>
<p>
This build option is required in order to use the --wmx option. If
--enable-wmx is specified, it is expected that fork() and execlp() calls
are available.
</p>
<ll>--enable-wmx=auto Automatically detect whether to enable --wmx
--enable-wmx=yes Enable --wmx
--enable-wmx=no Do not enable --wmx
</ll>
</s>
<s>
<t>Getsize</t>
<p>This build option is required to obtain additional output from --ui=tty. If
TIOCGWINSZ is not defined in &lt;sys/ioctl.h>, however, additional output will not
be provided even if --enable-getsize is specified at build time.
</p>
<ll>--enable-getsize=auto Check for TIOCGWINSZ at build time. [default]
--enable-getsize=yes Configure to attempt to use TIOCGWINSZ
--enable-getsize=no Do not attempt to use TIOCGWINSZ
</ll>
</s>
<s><t>
Assertions
</t>
<p>
Finding bugs within ALE, or within custom modifications to ALE, can be
simplified by enabling run-time assertions. These checks enforce conditions
believed to be necessary or desirable for correct program operation. If a
condition is not satisfied, ALE will abort and display a message indicating the
failed assertion.
</p>
<ll>--enable-assertions Enable assertions. [default]
--disable-assertions Disable assertions.
</ll>
</s>
</s>
<s><t>Cross-compilation</t>
<p>For cross-compilation, it may be necessary to specify both host and build
machine types, using the configure --host and --build options. For more
information on these options, see the file 'INSTALL' in the source package.</p>
</s>
<s><t>Further details</t>
<p>General operation of the configure script is described in more detail in the
file 'INSTALL' in the source package.</p>
</s>
</s>
<!--
<s><t>Further Documentation</t>
<p>This alpha release only includes standard package documentation files.</p>
</s>
-->
<s><t>On-line resources</t>
<ll>Home Page http://auricle.dyndns.org/ALE/
git repository http://repo.or.cz/w/Ale.git
Mailing list archive http://ventricle.dyndns.org/pipermail/ale/
</ll>
<s><t>Mailing list</t>
<p>Bug reports, feature requests, patch and release announcements, and related
discussion can be sent to ale@ventricle.dyndns.org. Archives of past postings
and subscription information are available at the URLs indicated below.</p>
<ll>Posting address ale@ventricle.dyndns.org
Subscription info http://ventricle.dyndns.org/cgi-bin/mailman/listinfo/ale
Archives http://ventricle.dyndns.org/pipermail/ale/
</ll>
</s>
</s>
</article>

309
doc/package/todo/index.xml Normal file
View File

@@ -0,0 +1,309 @@
<?xml version="1.0"?>
<!DOCTYPE article PUBLIC "-//Norman Walsh//DTD DocBk XML V3.1.4//EN"
"file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd">
<article>
<articleinfo xmlns:xi="http://www.w3.org/2001/XInclude">
<title>To-do list</title>
<abstract>This article contains a tentative list of future versions and features.</abstract>
</articleinfo>
<section>
<title>
0.9.0
</title>
<edit by="David Hilvert" in-month="2006-Sep"/>
<edit by="David Hilvert" in-month="2006-Nov"/>
<edit by="David Hilvert" in-month="2007-Jan"/>
<s>
<t>Argument scope</t>
<ul><li>Fix bugs in argument scope handling.</li>
</ul>
</s>
<s>
<t>Multiple-pass registration</t>
<ul>
<li>Revise alignment algorithm to allow multiple passes for less sensitivity to noise and better estimation of tonal certainty.</li>
</ul>
</s>
<s>
<t>3D scenes and depth recovery</t>
<ul>
<li>Revise 3D scene reconstruction algorithm to perform acceptably on a wider variety of scenes.</li>
</ul>
</s>
<s>
<t>PSF windowing and infinite-support PSFs for Irani-Peleg rendering</t>
<ul>
<li>Add syntax for PSF windowing and new PSF types with infinite support, including the gaussian kernel, suggested by HJ Hornbeck.
</li>
</ul>
</s>
<s>
<t>Variable lighting</t>
<ul>
<li>Add a facility for handling variation in lighting between input frames.</li>
</ul>
</s>
<s>
<t>Interchange formats</t>
<ul>
<li>Add support for a commonly-used interchange format, such as autopano pto,
suggested by Peter Miller.</li>
</ul>
</s>
<s>
<t>Raw file handling</t>
<ul>
<li>Use Dave Coffin's dcraw program to extract information from raw files,
including pixel data, as well as black level and other meta-data, as suggested
by Gregory Maxwell.</li>
</ul>
</s>
<section>
<title>
Abstract and partial transformations
</title>
<ul>
<li>Add a generic 2D transformation class, supporting partial transformations.
<ul><li> 'partial transformation', as used here, means that it is expected that some
points will fail to map.
</li></ul>
</li><li> Add a partial 2D transformation class with constructor taking as arguments
a pair of 3D projective transformations and a 3D model.
</li></ul>
</section>
<section>
<title>
File scoping
</title>
<ul><li> Add new file-scoped options
<ul><li> Irani-Peleg
</li><li> black level
</li><li> alignment type
</li><li> focus details
</li></ul>
</li></ul>
</section>
<section>
<title>
Irani-Peleg for 3D models
</title>
<ul><li> Modify existing Irani-Peleg code to use generic (partial) 2D transformations.
<ul><li> in combination with the above, this should allow the algorithm to operate
on 3D models.
</li></ul>
</li></ul>
</section>
<section>
<title>
Focus bracketing for depth-of-field expansion
</title>
<ul><li> Add facilities for handling depth-of-field and focus bracketing in input
image sets, as suggested by Viktors Rotanovs and Gregory Maxwell. This
change will likely involve:
<ul><li> using the 3D model for depth data, as suggested by Gregory Maxwell
</li><li> using user-provided (file-scoped) focus details to determine depth of field
</li><li> using variable PSF in the Irani-Peleg algorithm, as suggested by Gregory
Maxwell
</li><li> developing an approach to handle the incremental (non-Irani-Peleg) case.
</li></ul>
</li></ul>
</section>
<section>
<title>
Output image characteristics
</title>
<ul><li>Allow specification of output image characteristics, including exposure
(e.g., gamma) and channel offsets within a pixel.
</li></ul>
</section>
<section>
<title>
Output devices
</title>
<ul><li>Add support for specifying output devices, such as LCD monitors, to
allow shorthand customization of exposure (e.g., gamma) and other
characteristics, such as channel offset in the case of LCD screens for sub-pixel
anti-aliasing.
</li></ul>
</section>
<section>
<title>
Weight and certainty upper bounds
</title>
<ul><li>Add support for specifying weight and certainty upper bounds for
rendering, either as an absolute constraint or relative to average
weights, so that the overall contributions to an output pixel (or channel) are
constrained by weight.
</li></ul>
</section>
<section>
<title>
Time locality
</title>
<ul><li>In combination with weight and certainty upper bounds, time locality could be
used to determine which frames are used to generate an output pixel. As a
special case of this, video stream processing could favor frames
having the smallest time difference from the target frame.
</li></ul>
</section>
</section>
<section>
<title>
1.0.0 (Stable)
</title>
<edit by="David Hilvert" in-month="2006-Sep"/>
<edit by="David Hilvert" in-month="2006-Jan"/>
<section>
<title>
Performance
</title>
<ul><li> Refine rendering and alignment code for better performance.
</li></ul>
</section>
<section>
<t>Synchronized frame set syntax</t>
<ul><li>Add syntax to identify synchronized frame sets.</li></ul>
</section>
<section>
<title>
Internationalization
</title>
<ul><li> Enhance the command-line interface in preparation for i18n. (?)
<ul><li> e.g., syntax for identifying synchronized frame sets
</li></ul>
</li><li> Internationalize the command-line interface and help text to accommodate
translations.
</li></ul>
</section>
<section>
<title>
Technical Manual Updates
</title>
<ul><li> Update the Technical Manual for information regarding 3D operation.
</li></ul>
</section>
</section>
<section>
<title>
Unsorted
</title>
<edit by="David Hilvert" in-month="2006-Sep"/>
<edit by="David Hilvert" in-month="2006-Oct"/>
<edit by="David Hilvert" in-month="2007-Jan"/>
<section>
<title>
Documentation
</title>
<ul><li> Generate correctly indented book-level tables of contents when rendering
the complete set of manuals.
</li><li>Add a tutorial, and credit Metin Toyran for suggesting a step-by-step
guide.
</li><li> Remedy meaningless page numbers for book title pages in the set
ToC.
</li><li>Complete migration of existing documentation from the localhost sub-directory,
removing superfluous license terms in the footers.
</li><li>Centralize licensing and authorship information (e.g., there should be only
one COPYING file and only one AUTHORS file).
</li><li>Include license and copyright terms for the doc tree Makefile
as copyright notices in the AUTHORS and/or COPYING files (or equivalent).
</li><li>Complete the documentation.
</li><li>Revise the user manual for new features and syntax.
<ul>
<li>Document new scoping operators {}, [], and [&lt;>].
</li><li>Document other changes in UI, including regularization of syntax.
<ul>
<li>in particular, commas can no longer appear in single-argument options
when using assignment-delimited syntax; use space-delimited syntax
instead. This behavior is inconsistent with 0.8.4.
</li>
</ul>
</li>
</ul>
</li></ul>
</section>
<section>
<title>
Integer-value routines
</title>
<ul><li> Add facilities for manipulating images storing color as integer-valued data,
possibly as library routines.
</li></ul>
</section>
<section>
<title>
Library
</title>
<ul><li> Move image-processing routines into a library that can be used by other
programs.
</li></ul>
</section>
<section>
<title>
Language Bindings
</title>
<ul><li> Add bindings for other programming languages.
</li></ul>
</section>
<section>
<title>
Packaging
</title>
<section>
<title>
Complete Package
</title>
<ul><li> Investigate options for distributing a 'complete' package including full
revision history, pre-built documentation (if the ordinary distribution does
not include this), and, possibly, example image sets. Direct download,
bittorrent and CD are the most prominent candidates for distribution.
<ul>
<li> In the case of CD distribution, information should probably be added to the
manuals regarding how to update CD-provided program source.
</li>
</ul>
</li>
</ul>
</section><section>
<title>
Windows Package
</title>
<ul>
<li> Investigate options for creating and distributing a combined source and
binary Windows package containing sufficient software to ensure support for
common image types (e.g., by statically linking with libraries for opening
JPEG and PNG files). BitTorrent and CD are the most obvious candidates for
distribution.
<ul>
<li> This package could build on the package described above, as a 'for Windows'
variant or some such.
</li><li> This package could make use of an application such as InstallJammer
or Nullsoft Scriptable Install System for installation.
</li>
</ul>
</li>
</ul>
</section>
</section>
</section>
</article>