3 <!DOCTYPE article PUBLIC
"-//Norman Walsh//DTD DocBk XML V3.1.4//EN"
4 "file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd">
7 <edit by=
"David Hilvert" in-year=
"2006"/>
10 <articleinfo xmlns:
xi=
"http://www.w3.org/2001/XInclude">
12 <abstract>This article contains detailed change information for each release.
</abstract>
25 <s><t>0.8.5 (Prerelease)
</t>
26 <edit by=
"David Hilvert" in-year=
"2006"/>
28 <s><t>Documentation
</t>
30 <ul><li>Migrate documentation to a modified DocBook format.
32 </li><li>Revise README for autotools build and installation.
34 </li><li>Add file 'TODO', containing a tentative list of future versions
37 </li><li>Add AUTHORS file, in accordance with the autotools packaging
40 </li><li>Revise Changelog name to autotools-recognized ChangeLog
42 </li><li> Add NEWS file containing summary announcement text, including mailing
43 list and Freshmeat announcements for versions through
0.8.4. This
44 file is required by autotools when not running in --foreign mode.
52 <ul><li>Add autotools-based configuration, build, and installation facilities,
53 replacing the earlier Makefile-based configuration and build process.
58 <s><t>Command-line interface
</t>
60 <ul><li>Modify command-line interface to accept certain scope operators, and
61 to increase uniformity of syntax.
66 <s><t>Image constraints
</t>
68 <ul><li>Add options --f{ex,crop} for frame-coordinate exclusion regions.
75 <ul><li>In d3::scene, always use filler spaces when --pc all is specified.
80 <t>Source code organization
</t>
82 <ul><li>Move input interface details, including option handling, messages,
83 and help information, to the ui/ subdirectory.
93 <edit by=
"David Hilvert" in-year=
"2006"/>
94 <edit by=
"David Hilvert" in-year=
"2005"/>
99 <ul><li>Fix build error noted by Gregory Maxwell and re-tag version.
105 <ul><li>Add dates to the Changelog, using dates in comments in the download
106 page on the website for versions prior to
0.8.0, and using dates from
107 the darcs repository for versions
0.8.0 and later.
112 <t>Command-line interface
</t>
114 <ul><li>Add fine-grain UI updates for
3D operations when using ui=tty. Reduce
115 tty UI status update frequency to at most once per second.
122 <ul><li>Add support for synthetic focus via the --focus option, including
123 focus with horizontal and vertical tilt. Adding simulated focus
124 effects, including tilted and swung focal planes, was suggested by
126 </li><li>Add support for filtering
3D output with --
3d-filter. This
127 is now the default behavior. Add an option --
3d-chain for selecting
128 the filter chain used for
3D output. (See --hl and --hq for details.)
129 </li><li>Interpolate to generate smooth
3D depth output.
136 <ul><li>Modify --
3dpx to affect scene geometry rather than rendered
137 pixels. In certain cases, this change should allow removal of objects
138 close to the camera, hence revealing objects further away.
139 </li><li>Add decimation options --di-upper, --di-lower, and --do-try for
140 reducing the complexity of
3D scene geometry, hence reducing the
141 number of operations required for occupancy updating.
142 </li><li>Fix dimension comparison bug in d3::space::traverse::get_next_split().
143 </li><li>Implement an experimental approach to
3D subspace candidate selection;
144 this seems to perform poorly in most cases due to parallax effects.
145 See the source code for details. (Option --subspace-traverse)
146 </li><li>Add adaptive weight decomposition to
3D occupancy algorithms.
147 </li><li>Move low-level code concerning scale and level-of-detail from
149 </li><li>Move code concerning the nature of space from d3::scene to
151 </li><li>Remove older
3D rendering code.
158 <ul><li>Add a script 'transform' for applying an inverse projective
159 transformation. Recalculation of transformations was suggested by Rob
160 Stewart (ALE mailing list message,
2005-Dec-
28).
165 <t>Undocumented options
</t>
166 <ul><li>Add to the Makefile a HASH_MAP option that can be used to assign the
167 3D spatial info structure a hash map type instead of the standard STL
168 map type. As this is likely to break things, it is currently
169 undocumented. HASH_MAP=GNU seems to compile with g++
4.0.x but
170 has not otherwise been tested.
179 <t>0.8.3 2005-Dec-
23</t>
180 <edit by=
"David Hilvert" in-year=
"2005"/>
185 <ul><li>Add an option --def-nn to allow definition of pixels in output images
186 to take values from neighboring pixels within a certain radius, in
187 cases where they would not otherwise be defined.
198 <ul><li>Add option --pc to specify which pairwise comparisons should be
200 </li><li>Add option --pa to set the number of point candidates accepted
201 for each pair of cameras (pairwise ambiguity). The default
202 of
3 preserves existing default behavior.
203 </li><li>Add option --tcem for scoring point candidates by third-camera
204 views. The default of
0 preserves existing default behavior.
211 <ul><li>Add option --
3dpx to specify
3D regions to exclude during final
212 rendering, using a single depth for each pixel in each frame of
213 rendered output. (Evaluates at the depth used in depth-rendering.)
215 </li><li>Add --et option to specify encounter thresholds.
217 </li><li>Modify representation of
3D subspaces so that refined subspaces
218 are roughly cubical, and to allow refinements at multiple
221 </li><li>Clean up d3::scene to remove triangle-mesh code.
228 <ul><li>Fix bugs in
3D color and occupancy updating caused by bounding
231 </li><li>Add option --oui for determining occupancy update iterations.
232 The new default is
10, halving the previous default of
20.
241 <t>0.8.2 2005-Nov-
22</t>
242 <edit by=
"David Hilvert" in-year=
"2005"/>
247 <ul><li>Add magical file 'dump:' for listing color values numerically
256 <ul><li>Transition from a subdivisible triangle model to a subdivisible
257 space model, using a rudimentary implementation of Hans Moravec's
260 </li><li>Add support for view and depth output from arbitrary cameras.
262 </li><li>Add clipping plane options for
3D modeling.
268 <t>Control points
</t>
270 <ul><li>Fix various bugs in control-point alignment reported by Gregory
279 <t>0.8.1 2005-May-
6</t>
280 <edit by=
"David Hilvert" in-year=
"2005"/>
285 <ul><li>Fix enumerator compile bugs noted by Gregory Maxwell and Tom Holroyd
286 to cause compilation failure under GCC
3.4.
294 <ul><li>Modify --q1 to use median-value incremental rendering.
302 <ul><li>Add support for median-value incremental and Irani-Peleg rendering.
303 Using a statistic other than the mean was suggested by Scott Scriven
304 as a means of eliminating non-uniform artifacts. Using the median
305 seems to improve performance on Scott Scriven's example sequences, as
306 well as on the scaled output of fine:sinc*lanc for sparse inputs.
313 <ul><li>Add a color adjustment option --exp-mult=.
318 <t>Control points
</t>
320 <ul><li>Add support for using control points in
2D and
3D alignment, as well
321 as in
3D model construction. New options include '--gs points',
322 '--cpf-load=', '--cpp-upper=', '--cpp-lower=', '--va-upper=', and
330 <t>Transformation data files
</t>
332 <ul><li>Add average magnitude comments to transformation data file output.
339 <ul><li>For
3D scene reconstruction, use a new unified surface model in place
340 of the depth-based multi-model approach used in
0.8.0. The new model
341 is adjusted on the basis of edge, angle, and color measures.
348 <ul><li>Move ale-psf-calibrate to a new scripts directory.
356 <t>0.8.0 2005-Jan-
12</t>
357 <edit by=
"David Hilvert" in-year=
"2005"/>
358 <edit by=
"David Hilvert" in-year=
"2004"/>
361 <t>Command-line interface
</t>
362 <ul><li>Add user interface options --ui=stream and --ui=tty. The latter
363 includes more detailed status output when terminal width information
364 can be obtained (esp. when IOCTL=
1 is set at compile time), and is the
370 <t>Exclusion regions
</t>
371 <ul><li>Add --crop argument, which excludes the spatial complement of a
372 specified area over a specified set of frames. Gregory Maxwell notes
373 several advantages of internal over external crops, including
374 preserving knowledge of position in the uncropped frame, which among
375 other benefits allows natural handling of Bayer patterns.
376 </li><li>Modify rx_parameters in d2/render.h to use the ale_pos data type
377 instead of int. This should allow exclusion regions to be calculated
385 <ul><li>Add support for PPM with extended attributes (EPPM). Attributes
386 handled specially include black level, shutter speed, aperture, and
393 <ul><li>Add a flag --exp-meta-only which causes tonal registration to be
394 performed only on the basis of exposure metadata (e.g., data encoded
395 as EPPM extended attributes). This approach was suggested by Gregory
397 </li><li>Fix an index variable bug in d2::image_bayer_ale_real::trigger().
398 </li><li>Modify d2::exposure one-sided certainty so that the 'one-sided'
399 condition only applies to bright (
>50%) areas. Applying it to dark
400 areas has no clear benefit, and an experiment by Gregory Maxwell
401 demonstrates that doing so can exacerbate noise.
408 <ul><li>Modify euclidean alignment so that perturb-upper and perturb-lower
409 apply to rotational arclength.
410 </li><li>Modify d2::align to use unscaled input images when the scale factor
411 is larger than
1.0, or when a scaled_filter interpolant is being used.
412 </li><li>Modify d2::align::set_exposure_ratio() so that alignment
413 weights and certainty values are taken into consideration.
414 </li><li>Add a --cw option to weight alignment error by certainty values,
415 as suggested by Gregory Maxwell. This allows the contributions of
416 pixels at maxval to be diminished, which can increase alignment
417 success in certain cases.
427 <ul><li>Modify d2::image::scale() to allow scale factors in the interval
428 (
0,
1), and modify the command-line interface and help text to reflect
429 this change. --scale= now accepts all finite positive values.
436 <ul><li>Replace functions d2::incremental::{increase,decrease}_extents()
437 with new functions that take exclusion regions into account. The new
438 functions should also fix a boundary-calculation bug reported by
446 <ul><li>Set image offsets in d2/render/combine.h. This allows Irani-Peleg
447 rendering to work with --crop when the default rendering chain
448 includes more than one rendering invariant.
449 </li><li>Perform Irani-Peleg updating separately by channel instead of
450 using vector operations. This allows divide-by-zero and other
451 conditions to be localized to particular channels.
452 </li><li>Modify the Irani-Peleg renderer to use estimate-based certainty. This
453 seems to improve noise characteristics significantly.
454 </li><li>Modify d2::render::ipc::_ip_frame_correct() so that exposure
455 re-estimation uses a ratio of weighted sums instead of a weighted
457 </li><li>Modify d2/render/ipc.h to handle exclusion regions more effectively.
464 <t>Transformation data files
</t>
465 <ul><li>Write the results of tonal registration as a comment in the
466 transformation data file.
472 <ul><li>Add experimental cost calculation routines to d3/scene.h.
477 <t>Source code organization
</t>
478 <ul><li>Move certain user interface elements to the source subdirectory ui/.
485 <t>0.7.3 2004-Dec-
1</t>
486 <edit by=
"David Hilvert" in-year=
"2004"/>
490 o Add incremental
3D reconstruction output.
494 <t>Command-line interface
</t>
495 o Remove the reference to a non-existent web page in
496 unsupported::fornow().
501 <remark>Should the --bayer option be moved to another section?
</remark>
502 o Allow device-specific bayer patterns to be overridden by the --bayer
508 o Add an option for explicitly setting the camera view angle. Make the
509 default view angle
43.7 degrees.
512 o Implement optimizations that reduce the memory footprint when
3D
515 o Modify the
3D cost reduction algorithm. The new algorithm seems to
516 offer better results than the old in cases tested thus far, and does
517 not require that spatial extension be enabled.
519 o Add support for the Canon
300D with a
50mm f/
1.4 lens (specifying view
520 angle), as well as experimental support for the
50mm f/
1.4 lens at
1.4
521 (specifying a linear PSF). Also add support for
50mm f/
1.8 and
85mm
522 f/
1.8 lenses, specifying view angles as specified in the chart at
523 http://www.acapixus.dk/photography/angle_of_view.htm
525 o Don't output final data when --psf-match is specified. Doing so
526 would be useless anyway, and apparently causes a segfault.
528 o For cases where --psf-match is specified, modify the exposure settings
529 for the final input image (i.e., reference image) so that default
530 exposure is used, and modify the bayer pattern settings so that no
531 bayer pattern is used. (The first of these modifications requires
532 changes in the way that the array of input exposures is stored.)
534 o Optionally (when OPTIMIZATIONS ==
1) use the output of the default
535 rendering chain directly as the Irani-Peleg initial approximation,
536 instead of copying it.
538 o Add support for PSF convolution and scalar multiplication.
540 o Move all PSF parsing logic to a new file: d2/render/psf/psf_parse.h
542 o Modify help argument processing so that several help arguments can be
543 specified at a time. Change the usage text to reflect this.
545 o Fix concatenated help output; outputs from all help options are now
546 represented. (
3D help had been omitted in
0.7.2.)
548 o Add a check to ensure that at most one --q* option is specified.
549 The issue of multiple --q* options being specified was raised on the
550 ALE mailing list by Viktors Rotanovs. As there is currently no
551 support for this, generating an error message is appropriate.