1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339
|
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.
|