Add a prototype doc/package/changelog file.
[Ale.git] / doc / package / changelog / index.xml.example
blobc9f6942f7f1664e6ea774cd6b11659e3197ea581
1 <?xml version="1.0"?>
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">
6 <article>
7 <edit by="David Hilvert" in-year="2006"/>
10 <articleinfo xmlns:xi="http://www.w3.org/2001/XInclude">
11 <t>Change log</t>
12 <abstract>This article contains detailed change information for each release.</abstract>
13 </articleinfo>
15 <changelog>
16 <release version="3">
17 <packaging>
18 <i>Change 1</i>
19 <i>Change 2</i>
20 <i>Change 3</i>
21 </packaging>
22 </release>
23 </changelog>
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
35 and features.
37 </li><li>Add AUTHORS file, in accordance with the autotools packaging
38 standards.
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.
45 </li></ul>
47 </s>
49 <s>
50 <t>Configuration</t>
52 <ul><li>Add autotools-based configuration, build, and installation facilities,
53 replacing the earlier Makefile-based configuration and build process.
54 </li></ul>
56 </s>
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.
62 </li></ul>
64 </s>
66 <s><t>Image constraints</t>
68 <ul><li>Add options --f{ex,crop} for frame-coordinate exclusion regions.
69 </li></ul>
70 </s>
72 <s>
73 <t>3D Rendering</t>
75 <ul><li>In d3::scene, always use filler spaces when --pc all is specified.
76 </li></ul>
77 </s>
79 <s>
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.
84 </li></ul>
85 </s>
87 </s>
89 <s>
90 <t>
91 0.8.4 2006-May-14
92 </t>
93 <edit by="David Hilvert" in-year="2006"/>
94 <edit by="David Hilvert" in-year="2005"/>
96 <s>
97 <t>Packaging</t>
99 <ul><li>Fix build error noted by Gregory Maxwell and re-tag version.
100 </li></ul>
101 </s>
104 <t>Documentation</t>
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.
108 </li></ul>
109 </s>
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.
116 </li></ul>
118 </s>
121 <t>3D Rendering</t>
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
125 Gregory Maxwell.
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.
131 </li></ul>
132 </s>
135 <t>3D Models</t>
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
148 d3::scene to d3::pt.
149 </li><li>Move code concerning the nature of space from d3::scene to
150 d3::space.
151 </li><li>Remove older 3D rendering code.
152 </li></ul>
154 </s>
157 <t>Scripts</t>
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).
161 </li></ul>
162 </s>
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.
171 </li></ul>
172 </s>
175 </s>
179 <t>0.8.3 2005-Dec-23</t>
180 <edit by="David Hilvert" in-year="2005"/>
183 <t>Rendering</t>
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.
188 </li></ul>
190 </s>
193 <t>3D Models</t>
196 <t>Stereoscopy</t>
198 <ul><li>Add option --pc to specify which pairwise comparisons should be
199 performed.
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.
205 </li></ul>
206 </s>
209 <t>Geometry</t>
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
219 resolutions.
221 </li><li>Clean up d3::scene to remove triangle-mesh code.
222 </li></ul>
223 </s>
226 <t>Occupancy</t>
228 <ul><li>Fix bugs in 3D color and occupancy updating caused by bounding
229 box miscalculation.
231 </li><li>Add option --oui for determining occupancy update iterations.
232 The new default is 10, halving the previous default of 20.
234 </li></ul>
235 </s>
236 </s>
238 </s>
241 <t>0.8.2 2005-Nov-22</t>
242 <edit by="David Hilvert" in-year="2005"/>
245 <t>Image files</t>
247 <ul><li>Add magical file 'dump:' for listing color values numerically
248 to stderr.
249 </li></ul>
251 </s>
254 <t>3D Models</t>
256 <ul><li>Transition from a subdivisible triangle model to a subdivisible
257 space model, using a rudimentary implementation of Hans Moravec's
258 notion of occupancy.
260 </li><li>Add support for view and depth output from arbitrary cameras.
262 </li><li>Add clipping plane options for 3D modeling.
263 </li></ul>
265 </s>
268 <t>Control points</t>
270 <ul><li>Fix various bugs in control-point alignment reported by Gregory
271 Maxwell.
272 </li></ul>
274 </s>
276 </s>
279 <t>0.8.1 2005-May-6</t>
280 <edit by="David Hilvert" in-year="2005"/>
283 <t>Build</t>
285 <ul><li>Fix enumerator compile bugs noted by Gregory Maxwell and Tom Holroyd
286 to cause compilation failure under GCC 3.4.
287 </li></ul>
289 </s>
292 <t>Defaults</t>
294 <ul><li>Modify --q1 to use median-value incremental rendering.
295 </li></ul>
297 </s>
300 <t>Rendering</t>
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.
307 </li></ul>
309 </s>
312 <t>Exposure</t>
313 <ul><li>Add a color adjustment option --exp-mult=.
314 </li></ul>
315 </s>
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
323 '--st'.
324 </li></ul>
326 </s>
330 <t>Transformation data files</t>
332 <ul><li>Add average magnitude comments to transformation data file output.
333 </li></ul>
335 </s>
338 <t>3D Models</t>
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.
342 </li></ul>
343 </s>
346 <t>Scripts</t>
348 <ul><li>Move ale-psf-calibrate to a new scripts directory.
349 </li></ul>
351 </s>
353 </s>
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
365 new default.
366 </li></ul>
367 </s>
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
378 more accurately.
380 </li></ul>
381 </s>
384 <t>Image files</t>
385 <ul><li>Add support for PPM with extended attributes (EPPM). Attributes
386 handled specially include black level, shutter speed, aperture, and
387 ISO (or gain).
388 </li></ul>
389 </s>
392 <t>Exposure</t>
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
396 Maxwell.
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.
403 </li></ul>
404 </s>
407 <t>Alignment</t>
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.
418 </li></ul>
419 </s>
422 <t>Rendering</t>
425 <t>Scale</t>
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.
431 </li></ul>
432 </s>
435 <t>Incremental</t>
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
439 Gregory Maxwell.
441 </li></ul>
442 </s>
445 <t>Irani-Peleg</t>
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
456 average of ratios.
457 </li><li>Modify d2/render/ipc.h to handle exclusion regions more effectively.
458 </li></ul>
459 </s>
461 </s>
464 <t>Transformation data files</t>
465 <ul><li>Write the results of tonal registration as a comment in the
466 transformation data file.
467 </li></ul>
468 </s>
471 <t>3D Models</t>
472 <ul><li>Add experimental cost calculation routines to d3/scene.h.
473 </li></ul>
474 </s>
477 <t>Source code organization</t>
478 <ul><li>Move certain user interface elements to the source subdirectory ui/.
479 </li></ul>
480 </s>
482 </s>
485 <t>0.7.3 2004-Dec-1</t>
486 <edit by="David Hilvert" in-year="2004"/>
489 <t>3D Models</t>
490 o Add incremental 3D reconstruction output.
491 </s>
494 <t>Command-line interface</t>
495 o Remove the reference to a non-existent web page in
496 unsupported::fornow().
497 </s>
500 <t>Rendering</t>
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
503 option.
504 </s>
507 <t>3D Models</t>
508 o Add an option for explicitly setting the camera view angle. Make the
509 default view angle 43.7 degrees.
510 </s>
512 o Implement optimizations that reduce the memory footprint when 3D
513 options are used.
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.
554 </s>
555 </article>