Change log

This article contains detailed change information for each release.

## 0.9.0.3 2009-Mar-31

Revise --version to include ImageMagick library information.
revise
version
to
include
imagemagick
library
information
Add ditz issue database and package document BUG-REPORTING.
add
ditz
issue
database
and
package
document
bug
reporting
Refine warnings for 8-bit output when --16bpc (incl. default).
refine
warnings
for
8
bit
output
when
16bpc
incl
default
Fix --16bpc default behavior.
fix
16bpc
default
behavior
Fixed serious memory leak in alignment code, and less serious leaks.
fixed
serious
memory
leak
in
alignment
code
and
less
serious
leaks

## 0.9.0.2 2008-Nov-05

Fix 'exec -a' bashism in ale script, after this was reported by Mihai Varzaru as being broken in Ubuntu 8.10.
fix
exec
a
bashism
in
ale
script
after
this
was
reported
by
mihai
varzaru
as
being
broken
in
ubuntu
8
10
Update documentation makefile for better links compatibility.
update
documentation
makefile
for
better
links
compatibility

## 0.9.0.1 2008-Jun-13

Use a pager (e.g., less) when displaying help.
use
a
pager
e
g
less
when
displaying
help
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.
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
Add new algorithms for pixel assignment in multi-alignment, including filling, least-size local selection, and global-best selection.
add
new
algorithms
for
pixel
assignment
in
multi
alignment
including
filling
least
size
local
selection
and
global
best
selection
Fix various multi-alignment bugs, including a bug causing increased computational complexity for rendering, as well as offset and scaling bugs.
fix
various
multi
alignment
bugs
including
a
bug
causing
increased
computational
complexity
for
rendering
as
well
as
offset
and
scaling
bugs
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.
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
Revise DejaGNU test suite for current option syntax, so that "make check" now runs all tests.
revise
dejagnu
test
suite
for
current
option
syntax
so
that
make
check
now
runs
all
tests
Do not attempt to handle --trans-{save,load} arguments as images in the ale wrapper script.
do
not
attempt
to
handle
trans
save
load
arguments
as
images
in
the
ale
wrapper
script
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.
add
include
lt
string
h
to
ui
ui
h
in
an
attempt
to
resolve
debian
bug
482765
reported
by
marc
brockschmidt
and
noted
by
ruben
molina
Include more information about scale cluster structures in the logging ui.
include
more
information
about
scale
cluster
structures
in
the
logging
ui
Add tonal registration by element to multi-alignment code.
add
tonal
registration
by
element
to
multi
alignment
code
Add a minimum average certainty for registration of multi-alignment elements.
add
a
minimum
average
certainty
for
registration
of
multi
alignment
elements
Modify ale script to tally thread statistics when the environment variable ALE_COUNT_THREADS is set non-zero.
modify
ale
script
to
tally
thread
statistics
when
the
environment
variable
ale_count_threads
is
set
non
zero

## 0.9.0 2008-Apr-14

Add skeletal web documentation to the documentation tree, in doc/web, and revise this to consolidate more information on the front page.
add
skeletal
web
documentation
to
the
documentation
tree
in
doc
web
and
revise
this
to
consolidate
more
information
on
the
front
page
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.
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
Add --resident parameter, allowing explicit allocation of backing store for (e.g., large) image data structures.
add
resident
parameter
allowing
explicit
allocation
of
backing
store
for
e
g
large
image
data
structures
Check for NaN in linearization and unlinearization in exposure_default, as a possible fix for a segmentation fault reported by Bret Towe.
check
for
nan
in
linearization
and
unlinearization
in
exposure_default
as
a
possible
fix
for
a
segmentation
fault
reported
by
bret
towe

## 0.8.11 2007-Nov-03

Revise certain code for improved execution speed, including disabling certain assertions and reducing calls to pow().
revise
certain
code
for
improved
execution
speed
including
disabling
certain
assertions
and
reducing
calls
to
pow
Replace geometric-mean filtering of weight values with minimum-value filtering, reducing calls to pow().
replace
geometric
mean
filtering
of
weight
values
with
minimum
value
filtering
reducing
calls
to
pow
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.
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
Revise incremental rendering code to store color values unnormalized by weights.
revise
incremental
rendering
code
to
store
color
values
unnormalized
by
weights
Revise multi-alignment options for the currently-considered implementation.
revise
multi
alignment
options
for
the
currently
considered
implementation
Eliminate NaN propagation that could lead to alignment failure in certain cases, perhaps causing an alignment bug reported in earlier versions by Gregory Maxwell.
eliminate
nan
propagation
that
could
lead
to
alignment
failure
in
certain
cases
perhaps
causing
an
alignment
bug
reported
in
earlier
versions
by
gregory
maxwell

## 0.8.10.1 2007-Oct-04

Change 'char *' referencing string literals to 'const char *'.
change
char
referencing
string
literals
to
const
char
Set perturbation multipliers to 1 in cases of a non-finite value.
set
perturbation
multipliers
to
1
in
cases
of
a
non
finite
value

## 0.8.10 2007-Oct-02

Add threading for d2::image::*scale_by_half() functions.
add
threading
for
d2
image
scale_by_half
functions
Always rescale transformations for full detail after alignment is complete.
always
rescale
transformations
for
full
detail
after
alignment
is
complete
Make --lod-max=-4 default.
make
lod
max
4
default
Make default --dchain auto:triangle:2,fine:box:1,triangle:2, which should produce better output during re-filtering than the previous default.
make
default
dchain
auto
triangle
2
fine
box
1
triangle
2
which
should
produce
better
output
during
re
filtering
than
the
previous
default
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.
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
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.
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
Add currently-unused skeletal code for non-linear level of detail calculations.
add
currently
unused
skeletal
code
for
non
linear
level
of
detail
calculations
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.
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
Fix error in level-of-detail accounting in alignment code.
fix
error
in
level
of
detail
accounting
in
alignment
code
Replace references to math.h with references to ale_math.h.
replace
references
to
math
h
with
references
to
ale_math
h

## 0.8.9.1 2007-Aug-31

Attempt to resolve certain 'always true' warnings reported by Marius Schamschula on Mac OS 10.3.9 (PPC).
attempt
to
resolve
certain
always
true
warnings
reported
by
marius
schamschula
on
mac
os
10
3
9
ppc
Add macros for isinf() and isnan() in an attempt to resolve build failures reported by Marius Schamschula on Mac OS 10.3.9 (PPC).
add
macros
for
isinf
and
isnan
in
an
attempt
to
resolve
build
failures
reported
by
marius
schamschula
on
mac
os
10
3
9
ppc
Resolve certain build errors occuring when configuring --disable-threads, or when threads are unavailable.
resolve
certain
build
errors
occuring
when
configuring
disable
threads
or
when
threads
are
unavailable
Remove instrumentation writing to 'lsimulated.png'.
remove
instrumentation
writing
to
lsimulated
png

## 0.8.9 2007-Aug-25

Set new defaults for --ips, --dchain, and --3d-dchain, and remove --q*
set
new
defaults
for
ips
dchain
and
3d
dchain
and
remove
q
Add rendering chain scaled sampling filter type auto:, implementing re-filtering, with rough automatic filter size determination.
add
rendering
chain
scaled
sampling
filter
type
auto
implementing
re
filtering
with
rough
automatic
filter
size
determination
Add an abstract domain decomposition threading class.
add
an
abstract
domain
decomposition
threading
class
Revise Irani-Peleg code for reduced memory and cpu use.
revise
irani
peleg
code
for
reduced
memory
and
cpu
use
Attempt to fix exclusion region handling after a bug report by Gregory Maxwell; other issues may remain.
attempt
to
fix
exclusion
region
handling
after
a
bug
report
by
gregory
maxwell
other
issues
may
remain
Fix handling of --ip-{mean,median}, resolving a bug noted by Gregory Maxwell.
fix
handling
of
ip
mean
median
resolving
a
bug
noted
by
gregory
maxwell
Add wrapper script 'ale' for handling raw files and extracting Exif metadata.
add
wrapper
script
ale
for
handling
raw
files
and
extracting
exif
metadata
Allow any match when the threshold specified is neither positive nor zero.
allow
any
match
when
the
threshold
specified
is
neither
positive
nor
zero
Update license to GPLv3.
update
license
to
gplv3
Various rendering bugfixes.
various
rendering
bugfixes

## 0.8.8.1 2007-May-18

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?).
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

## 0.8.8 2007-May-15

Include an incomplete implementation for multiple alignment region handling.
include
an
incomplete
implementation
for
multiple
alignment
region
handling
Make --16bpc default.
make
16bpc
default
Add extents calculation to d2::render::ipc to limit the area examined during exposure re-estimation.
add
extents
calculation
to
d2
render
ipc
to
limit
the
area
examined
during
exposure
re
estimation
Provide a new cache of fixed size for input images, defaulting to 256MB, adjustable via the --cache option.
provide
a
new
cache
of
fixed
size
for
input
images
defaulting
to
256mb
adjustable
via
the
cache
option
Add error statistics for calculating center of rotation and perturbation size for alignment.
add
error
statistics
for
calculating
center
of
rotation
and
perturbation
size
for
alignment
Add loop avoidance for dynamic monte carlo alignment.
add
loop
avoidance
for
dynamic
monte
carlo
alignment
Reduce --mcd-removal default to 10.
reduce
mcd
removal
default
to
10
Use synchronized instead of unsynchronized dynamic monte carlo removal checks.
use
synchronized
instead
of
unsynchronized
dynamic
monte
carlo
removal
checks
Disable --follow in the non-default case when perturbation size is zero.
disable
follow
in
the
non
default
case
when
perturbation
size
is
zero
Make --no-inc default.
make
no
inc
default
Add 'defaults' global search option, and make this option default.
add
defaults
global
search
option
and
make
this
option
default
Modify --gs-mo to allow specification as a percentage, and make 67% default.
modify
gs
mo
to
allow
specification
as
a
percentage
and
make
67
default
Add user interface options --ui=log and --ui=quiet, with greater and lesser verbosity, respectively.
add
user
interface
options
ui
log
and
ui
quiet
with
greater
and
lesser
verbosity
respectively
Modify black level handling to always use linear values.
modify
black
level
handling
to
always
use
linear
values
Increase default barrel distortion multiplier and rate maximum to 2.0 and 8.0, respectively.
increase
default
barrel
distortion
multiplier
and
rate
maximum
to
2
0
and
8
0
respectively
Revise ordering of ui_tty status output so that more informative fields occur earlier in the string.
revise
ordering
of
ui_tty
status
output
so
that
more
informative
fields
occur
earlier
in
the
string
Modify numerical formatting of certain UI elements to preserve constancy of field locations in typical cases.
modify
numerical
formatting
of
certain
ui
elements
to
preserve
constancy
of
field
locations
in
typical
cases
Add Gaussian PSF. (HJ Hornbeck)
add
gaussian
psf
hj
hornbeck
Recalculate diff statistics after increasing the mc parameter in dynamic monte carlo alignment.
recalculate
diff
statistics
after
increasing
the
mc
parameter
in
dynamic
monte
carlo
alignment
Update Nikon D50 PSF. (HJ Hornbeck)
update
nikon
d50
psf
hj
hornbeck
Add UI update thread, in cases where threads are available.
add
ui
update
thread
in
cases
where
threads
are
available
Allow file-scoped --gs and --gs-mo options.
allow
file
scoped
gs
and
gs
mo
options
Ignore fex regions for nex SSFEs, resolving a bug noted by Gregory Maxwell.
ignore
fex
regions
for
nex
ssfes
resolving
a
bug
noted
by
gregory
maxwell
Add --black option for specifying black level as a fraction of saturation.
add
black
option
for
specifying
black
level
as
a
fraction
of
saturation
Add --ev option for specifying ISO100-equivalent EV.
add
ev
option
for
specifying
iso100
equivalent
ev
Add breakdown of profiling information by perturbation size for local alignment.
add
breakdown
of
profiling
information
by
perturbation
size
for
local
alignment

## 0.8.7 2007-Mar-04

Add a weight-limiting option to the Irani-Peleg renderer.
add
a
weight
limiting
option
to
the
irani
peleg
renderer
Add incremental renderer mean invariant avgf:<x>:<e> weight-limited to initial values.
add
incremental
renderer
mean
invariant
avgf
lt
x
lt
e
weight
limited
to
initial
values
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.
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

## 0.8.6 2007-Feb-17

In d2::align, use rotation about the frame center as an alternative in cases where the sampling centroid is undefined.
in
d2
align
use
rotation
about
the
frame
center
as
an
alternative
in
cases
where
the
sampling
centroid
is
undefined
Modify d2::point::{neg,pos}inf() assertions to allow for isinf() implementations returning any non-zero value for any infinity.
modify
d2
point
neg
pos
inf
assertions
to
allow
for
isinf
implementations
returning
any
non
zero
value
for
any
infinity
Re-adjust exposure in Irani-Peleg even when no non-linear stage is present.
re
adjust
exposure
in
irani
peleg
even
when
no
non
linear
stage
is
present
Adjust the default pixel definition threshold to account for the certainty floor.
adjust
the
default
pixel
definition
threshold
to
account
for
the
certainty
floor
Use a rudimentary, single-pass estimate-based certainty approach for incremental rendering.
use
a
rudimentary
single
pass
estimate
based
certainty
approach
for
incremental
rendering
When --cx is positive, use only certainty calculated from the simulated scene for estimating tonal registration in Irani-Peleg passes.
when
cx
is
positive
use
only
certainty
calculated
from
the
simulated
scene
for
estimating
tonal
registration
in
irani
peleg
passes
Remove --qr default setting, as certainty and range-extension now have established general defaults.
remove
qr
default
setting
as
certainty
and
range
extension
now
have
established
general
defaults
Change --cx to 1 by default. Change --exp-extend to be disabled by default. Remove these flags from default settings.
change
cx
to
1
by
default
change
exp
extend
to
be
disabled
by
default
remove
these
flags
from
default
settings
Update driver names to omit file type qualifiers, according to the convention used in HJ Hornbeck's Nikon D50 device configuration patch.
update
driver
names
to
omit
file
type
qualifiers
according
to
the
convention
used
in
hj
hornbeck
s
nikon
d50
device
configuration
patch
Add Nikon D50 device configuration. (HJ Hornbeck)
add
nikon
d50
device
configuration
hj
hornbeck
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.
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
Revise incremental renderer to store unnormalized values, for better handling of small weights, and eliminate the minimum contribution weight.
revise
incremental
renderer
to
store
unnormalized
values
for
better
handling
of
small
weights
and
eliminate
the
minimum
contribution
weight
Add inlining and pre-calculation to Irani-Peleg. (HJ Hornbeck)
add
inlining
and
pre
calculation
to
irani
peleg
hj
hornbeck
Add gaussian sampling filter. (HJ Hornbeck)
add
gaussian
sampling
filter
hj
hornbeck

## 0.8.5 2007-Jan-19

Remove binaries and documentation sections from the readme, and prune non-package documentation for source distributions.
remove
binaries
and
documentation
sections
from
the
readme
and
prune
non
package
documentation
for
source
distributions
Make the --follow alignment option default.
make
the
follow
alignment
option
default
Add help text for argument scope.
add
help
text
for
argument
scope
Modify rotational alignment search to rotate about the centroid of the sample region.
modify
rotational
alignment
search
to
rotate
about
the
centroid
of
the
sample
region
Revert 3D code to experimental status due to poor handling of real image sets.
revert
3d
code
to
experimental
status
due
to
poor
handling
of
real
image
sets
Modify 3D code for slightly better handling of real image sets.
modify
3d
code
for
slightly
better
handling
of
real
image
sets

## 0.8.5-pre3 2006-Nov-03

Fix a potential nondeterminism bug due to undefined seed bits in the random number generator. (Fixes certain alignment failures.)
fix
a
potential
nondeterminism
bug
due
to
undefined
seed
bits
in
the
random
number
generator
fixes
certain
alignment
failures
Modify default settings using Irani-Peleg rendering to use the triangle:2 incremental rendering chain.
modify
default
settings
using
irani
peleg
rendering
to
use
the
triangle
2
incremental
rendering
chain
Add dynamic monte carlo alignment, and make this default.
add
dynamic
monte
carlo
alignment
and
make
this
default
Correct --exp-mult arg count. (Gregory Maxwell)
correct
exp
mult
arg
count
gregory
maxwell
Allow file-scoped use of --perturb-upper.
allow
file
scoped
use
of
perturb
upper

## 0.8.5-pre2 2006-Oct-25

Modify d2::image::scale() to correctly handle offsets for scale factors other than negative powers of two.
modify
d2
image
scale
to
correctly
handle
offsets
for
scale
factors
other
than
negative
powers
of
two
Reformat most help text to fit a 79 column screen.
reformat
most
help
text
to
fit
a
79
column
screen
Add option --profile to measure elapsed real time for 2D alignment and rendering operations.
add
option
profile
to
measure
elapsed
real
time
for
2d
alignment
and
rendering
operations
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.)
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

## 0.8.5-pre1 2006-Oct-16

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.
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
Modify ui_tty for correct operation under Hurd and DragonFly consoles.
modify
ui_tty
for
correct
operation
under
hurd
and
dragonfly
consoles
Revise README for autotools build and installation.
revise
readme
for
autotools
build
and
installation
Add file 'TODO', containing a to-do list for future releases.
add
file
todo
containing
a
to
do
list
for
future
releases
Add AUTHORS file, in accordance with the autotools packaging standards.
add
authors
file
in
accordance
with
the
autotools
packaging
standards
Revise Changelog name to autotools-approved ChangeLog
revise
changelog
name
to
autotools
approved
changelog
Add NEWS file containing mailing list and Freshmeat announcement text for versions through 0.8.4. This file is required by autotools.
add
news
file
containing
mailing
list
and
freshmeat
announcement
text
for
versions
through
0
8
4
this
file
is
required
by
autotools
Add options --f{ex,crop} for frame-coordinate exclusion regions.
add
options
f
ex
crop
for
frame
coordinate
exclusion
regions
Add autotools-based configuration, build, and installation facilities, replacing the earlier Makefile-based configuration and build process.
add
autotools
based
configuration
build
and
installation
facilities
replacing
the
earlier
makefile
based
configuration
and
build
process
Modify --mc to be a file-scoped option.
modify
mc
to
be
a
file
scoped
option
Modify command-line interface to accept certain scope operators, and to increase uniformity of syntax.
modify
command
line
interface
to
accept
certain
scope
operators
and
to
increase
uniformity
of
syntax
Move input interface details, including option handling, messages, and help information, to the ui/ subdirectory.
move
input
interface
details
including
option
handling
messages
and
help
information
to
the
ui
subdirectory
In d3::scene, always use filler spaces when --pc all is specified.
in
d3
scene
always
use
filler
spaces
when
pc
all
is
specified

## 0.8.4 2006-May-14

Fix build error noted by Gregory Maxwell and re-tag version.
fix
build
error
noted
by
gregory
maxwell
and
re
tag
version
Add fine-grain UI updates for 3D operations when using ui=tty. Reduce tty UI status update frequency to at most once per second.
add
fine
grain
ui
updates
for
3d
operations
when
using
ui
tty
reduce
tty
ui
status
update
frequency
to
at
most
once
per
second
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.
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
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.
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
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.
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
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.)
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
Fix dimension comparison bug in d3::space::traverse::get_next_split().
fix
dimension
comparison
bug
in
d3
space
traverse
get_next_split
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)
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
Add adaptive weight decomposition to 3D occupancy algorithms.
add
adaptive
weight
decomposition
to
3d
occupancy
algorithms
Move low-level code concerning scale and level-of-detail from d3::scene to d3::pt.
move
low
level
code
concerning
scale
and
level
of
detail
from
d3
scene
to
d3
pt
Move code concerning the nature of space from d3::scene to d3::space.
move
code
concerning
the
nature
of
space
from
d3
scene
to
d3
space
Interpolate to generate smooth 3D depth output.
interpolate
to
generate
smooth
3d
depth
output
Remove older 3D rendering code.
remove
older
3d
rendering
code
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.
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
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).
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
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.
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

## 0.8.3 2005-Dec-23

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.)
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
Add option --pc to specify which pairwise comparisons should be performed.
add
option
pc
to
specify
which
pairwise
comparisons
should
be
performed
Add --et option to specify encounter thresholds.
add
et
option
to
specify
encounter
thresholds
Clean up d3::scene to remove triangle-mesh code.
clean
up
d3
scene
to
remove
triangle
mesh
code
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.
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
Modify representation of 3D subspaces so that refined subspaces are roughly cubical, and to allow refinements at multiple resolutions.
modify
representation
of
3d
subspaces
so
that
refined
subspaces
are
roughly
cubical
and
to
allow
refinements
at
multiple
resolutions
Fix bugs in 3D color and occupancy updating caused by bounding box miscalculation.
fix
bugs
in
3d
color
and
occupancy
updating
caused
by
bounding
box
miscalculation
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.
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
Add option --oui for determining occupancy update iterations. The new default is 10, halving the previous default of 20.
add
option
oui
for
determining
occupancy
update
iterations
the
new
default
is
10
halving
the
previous
default
of
20
Add option --tcem for scoring point candidates by third-camera views. The default of 0 preserves existing default behavior.
add
option
tcem
for
scoring
point
candidates
by
third
camera
views
the
default
of
0
preserves
existing
default
behavior

## 0.8.2 2005-Nov-22

Add magical file 'dump:' for listing color values numerically to stderr.
add
magical
file
dump
for
listing
color
values
numerically
to
stderr
Transition from a subdivisible triangle model to a subdivisible space model, using a rudimentary implementation of Hans Moravec's notion of occupancy.
transition
from
a
subdivisible
triangle
model
to
a
subdivisible
space
model
using
a
rudimentary
implementation
of
hans
moravec
s
notion
of
occupancy
Add support for view and depth output from arbitrary cameras.
add
support
for
view
and
depth
output
from
arbitrary
cameras
Add clipping plane options for 3D modeling.
add
clipping
plane
options
for
3d
modeling
Fix various bugs in control-point alignment reported by Gregory Maxwell.
fix
various
bugs
in
control
point
alignment
reported
by
gregory
maxwell

## 0.8.1 2005-May-6

Modify --q1 to use median-value incremental rendering.
modify
q1
to
use
median
value
incremental
rendering
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.
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
Move ale-psf-calibrate to a new scripts directory.
move
ale
psf
calibrate
to
a
new
scripts
directory
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'.
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
Fix enumerator compile bugs noted by Gregory Maxwell and Tom Holroyd to cause compilation failure under GCC 3.4.
fix
enumerator
compile
bugs
noted
by
gregory
maxwell
and
tom
holroyd
to
cause
compilation
failure
under
gcc
3
4
Add average magnitude comments to transformation data file output.
add
average
magnitude
comments
to
transformation
data
file
output
Add a color adjustment option --exp-mult=.
add
a
color
adjustment
option
exp
mult
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.
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

## 0.8.0 2005-Jan-12

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.
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
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.
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
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.
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
Modify the Irani-Peleg renderer to use estimate-based certainty. This seems to improve noise characteristics significantly.
modify
the
irani
peleg
renderer
to
use
estimate
based
certainty
this
seems
to
improve
noise
characteristics
significantly
Write the results of tonal registration as a comment in the transformation data file.
write
the
results
of
tonal
registration
as
a
comment
in
the
transformation
data
file
Add support for PPM with extended attributes (EPPM). Attributes handled specially include black level, shutter speed, aperture, and ISO (or gain).
add
support
for
ppm
with
extended
attributes
eppm
attributes
handled
specially
include
black
level
shutter
speed
aperture
and
iso
or
gain
Add experimental cost calculation routines to d3/scene.h.
add
experimental
cost
calculation
routines
to
d3
scene
h
Modify euclidean alignment so that perturb-upper and perturb-lower apply to rotational arclength.
modify
euclidean
alignment
so
that
perturb
upper
and
perturb
lower
apply
to
rotational
arclength
Fix an index variable bug in d2::image_bayer_ale_real::trigger().
fix
an
index
variable
bug
in
d2
image_bayer_ale_real
trigger
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.
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
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.
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
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.
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
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.
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
Move certain user interface elements to the source subdirectory ui/.
move
certain
user
interface
elements
to
the
source
subdirectory
ui
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.
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
Modify d2::align::set_exposure_ratio() so that alignment weights and certainty values are taken into consideration.
modify
d2
align
set_exposure_ratio
so
that
alignment
weights
and
certainty
values
are
taken
into
consideration
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.
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
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.
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
Modify d2/render/ipc.h to handle exclusion regions more effectively.
modify
d2
render
ipc
h
to
handle
exclusion
regions
more
effectively
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.
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
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.
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

## 0.7.3 2004-Dec-1

Add incremental 3D reconstruction output.
add
incremental
3d
reconstruction
output
Remove the reference to a non-existent web page in unsupported::fornow().
remove
the
reference
to
a
non
existent
web
page
in
unsupported
fornow
Allow device-specific bayer patterns to be overridden by the --bayer option.
allow
device
specific
bayer
patterns
to
be
overridden
by
the
bayer
option
Add an option for explicitly setting the camera view angle. Make the default view angle 43.7 degrees.
add
an
option
for
explicitly
setting
the
camera
view
angle
make
the
default
view
angle
43
7
degrees
Implement optimizations that reduce the memory footprint when 3D options are used.
implement
optimizations
that
reduce
the
memory
footprint
when
3d
options
are
used
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.
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
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
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
Don't output final data when --psf-match is specified. Doing so would be useless anyway, and apparently causes a segfault.
don
t
output
final
data
when
psf
match
is
specified
doing
so
would
be
useless
anyway
and
apparently
causes
a
segfault
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.)
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
Optionally (when OPTIMIZATIONS == 1) use the output of the default rendering chain directly as the Irani-Peleg initial approximation, instead of copying it.
optionally
when
optimizations
1
use
the
output
of
the
default
rendering
chain
directly
as
the
irani
peleg
initial
approximation
instead
of
copying
it
Add support for PSF convolution and scalar multiplication.
add
support
for
psf
convolution
and
scalar
multiplication
Move all PSF parsing logic to a new file: d2/render/psf/psf_parse.h
move
all
psf
parsing
logic
to
a
new
file
d2
render
psf
psf_parse
h
Modify help argument processing so that several help arguments can be specified at a time. Change the usage text to reflect this.
modify
help
argument
processing
so
that
several
help
arguments
can
be
specified
at
a
time
change
the
usage
text
to
reflect
this
Fix concatenated help output; outputs from all help options are now represented. (3D help had been omitted in 0.7.2.)
fix
concatenated
help
output
outputs
from
all
help
options
are
now
represented
3d
help
had
been
omitted
in
0
7
2
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.
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

## 0.7.2 2004-Oct-26

Add cost-minimizing code to reconstruct 3D scenes from 2D inputs. (This code is currently very experimental.)
add
cost
minimizing
code
to
reconstruct
3d
scenes
from
2d
inputs
this
code
is
currently
very
experimental
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/
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
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)
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
Allow the scale factor to be explicitly set to one. (from 0.7.1-patch2)
allow
the
scale
factor
to
be
explicitly
set
to
one
from
0
7
1
patch2
Print version information to stdout instead of stderr. (from 0.7.1-patch2)
print
version
information
to
stdout
instead
of
stderr
from
0
7
1
patch2
Add a rudimentary test suite. (from 0.7.1-patch2)
add
a
rudimentary
test
suite
from
0
7
1
patch2
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)
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
In render::is_excluded(), add the offset before checking exclusion regions. (from 0.7.1-patch1)
in
render
is_excluded
add
the
offset
before
checking
exclusion
regions
from
0
7
1
patch1
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)
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
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)
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
Add experimental options --perturb-source and --perturb-output, which allow some refinement of the manner in which perturbation occurs. (from 0.7.1-patch1)
add
experimental
options
perturb
source
and
perturb
output
which
allow
some
refinement
of
the
manner
in
which
perturbation
occurs
from
0
7
1
patch1

## 0.7.1 2004-Aug-27

Fix --visp segfault when not using last: filters.
fix
visp
segfault
when
not
using
last
filters
Add help mode --hA to display all help pages.
add
help
mode
ha
to
display
all
help
pages
Add circular point-spread function option "circle=<diameter>".
add
circular
point
spread
function
option
circle
lt
diameter
Add support for the ov7620 sensor (raw, linear modes only). (Updated from 0.7.0-patch1 to specify a linear PSF.)
add
support
for
the
ov7620
sensor
raw
linear
modes
only
updated
from
0
7
0
patch1
to
specify
a
linear
psf
Add global search option --gs to fix an alignment problem reported by Bert Douglas. (Also included in 0.7.0-patch1.)
add
global
search
option
gs
to
fix
an
alignment
problem
reported
by
bert
douglas
also
included
in
0
7
0
patch1
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.)
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
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.)
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
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.)
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
Scale alignment weights for reduced level-of-detail in d2::align(). (Also included in 0.7.0-patch1.)
scale
alignment
weights
for
reduced
level
of
detail
in
d2
align
also
included
in
0
7
0
patch1
For reduced level-of-detail alignment reference images, filter using alignment weights. (Also included in 0.7.0-patch1.)
for
reduced
level
of
detail
alignment
reference
images
filter
using
alignment
weights
also
included
in
0
7
0
patch1
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.)
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

## 0.7.0 2004-Aug-06

Add support for algorithmic alignment weights. This requires POSIX fork() and execlp(), so add a Makefile variable for POSIX.
add
support
for
algorithmic
alignment
weights
this
requires
posix
fork
and
execlp
so
add
a
makefile
variable
for
posix
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.
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
Add support for specifying per-pixel and per-channel alignment weights by providing an additional weight-map image, as suggested by Bert Douglas.
add
support
for
specifying
per
pixel
and
per
channel
alignment
weights
by
providing
an
additional
weight
map
image
as
suggested
by
bert
douglas
Remove support for USM.
remove
support
for
usm
Add multiple default settings: q0, q1, q2, qn, qr.
add
multiple
default
settings
q0
q1
q2
qn
qr
Partition help into sections, and add a section for transformation data file help.
partition
help
into
sections
and
add
a
section
for
transformation
data
file
help
Add a device type for the XVP610 camera in 640x480 mode.
add
a
device
type
for
the
xvp610
camera
in
640x480
mode
Modify the divisor in d2/render/ipc.h to ensure convergence when using multiple varieties.
modify
the
divisor
in
d2
render
ipc
h
to
ensure
convergence
when
using
multiple
varieties
Add experimental handling for Bayer patterns.
add
experimental
handling
for
bayer
patterns
Add experimental video stabilization options.
add
experimental
video
stabilization
options
Add options to control output range. By default, use the range of the original frame.
add
options
to
control
output
range
by
default
use
the
range
of
the
original
frame
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).
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
Add options --fail-default and --fail-optimal to select the desired failure mode. --fail-default uses the default alignment in the case of failure.

add
options
fail
default
and
fail
optimal
to
select
the
desired
failure
mode
fail
default
uses
the
default
alignment
in
the
case
of
failure
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.
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
Add a barrel distortion adjustment multiplier and rate options.
add
a
barrel
distortion
adjustment
multiplier
and
rate
options
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.)
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
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.
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
Move d2/gpt.h to d2/transformation.h.
move
d2
gpt
h
to
d2
transformation
h
In d2::align, add support for original frame transformations.
in
d2
align
add
support
for
original
frame
transformations
In d2::align::diff() and d2::align::set_exposure_ratio(), treat cases with and without extension identically.
in
d2
align
diff
and
d2
align
set_exposure_ratio
treat
cases
with
and
without
extension
identically
Report unrecognized transformation file commands as errors instead of warnings.
report
unrecognized
transformation
file
commands
as
errors
instead
of
warnings
In the transformation data file handler, report incompatible transformation types as an error instead of as a warning.
in
the
transformation
data
file
handler
report
incompatible
transformation
types
as
an
error
instead
of
as
a
warning

## 0.6.0 2004-Feb-10

Add a generalized, but rudimentary, implementation of Steve Mann's notion of 'certainty'. For more details, see http://wearcam.org/comparametrics.pdf
add
a
generalized
but
rudimentary
implementation
of
steve
mann
s
notion
of
certainty
for
more
details
see
http
wearcam
org
comparametrics
pdf
Make stdin filter height and width independent of each other.
make
stdin
filter
height
and
width
independent
of
each
other
In the Irani-Peleg renderer, skip frames that fail to reach the match threshold.
in
the
irani
peleg
renderer
skip
frames
that
fail
to
reach
the
match
threshold
Convert some operations on pixels and points into vector syntax through C++ operator overloading.
convert
some
operations
on
pixels
and
points
into
vector
syntax
through
c
operator
overloading
Add command-line options to select plain or raw PNM/PPM formats. Remove makefile variable PLAIN.
add
command
line
options
to
select
plain
or
raw
pnm
ppm
formats
remove
makefile
variable
plain
Add command-line options to select 8/16 bits per channel. Remove makefile variable BITS.
add
command
line
options
to
select
8
16
bits
per
channel
remove
makefile
variable
bits
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.
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
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.
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
Add a point-spread function rasterizer.
add
a
point
spread
function
rasterizer
Extend the --replace option to support drizzling.
extend
the
replace
option
to
support
drizzling
Add support for exposure registration (i.e., matching of exposure between different frames).
add
support
for
exposure
registration
i
e
matching
of
exposure
between
different
frames
Change -Os to -O2 in the Makefile, since -Os no longer achieves speedup in the most critical codepaths.
change
os
to
o2
in
the
makefile
since
os
no
longer
achieves
speedup
in
the
most
critical
codepaths
Add command-line support for summation of point-spread functions.
add
command
line
support
for
summation
of
point
spread
functions
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.
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
Fix memory leak in d2/render/combine.h:get_image(). (This fix is also included in a patch for 0.5.1.)
fix
memory
leak
in
d2
render
combine
h
get_image
this
fix
is
also
included
in
a
patch
for
0
5
1
Modify the USM renderer to write output when incremental output is enabled.
modify
the
usm
renderer
to
write
output
when
incremental
output
is
enabled
In the USM renderer, now only defined pixel values contribute to the mask. Also, undefined values are no longer masked.
in
the
usm
renderer
now
only
defined
pixel
values
contribute
to
the
mask
also
undefined
values
are
no
longer
masked
Update e-mail address information.
update
e
mail
address
information
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.
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
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.
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
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.)
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
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.
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
Modify the image class to use a floating-point data type for storing pixels.
modify
the
image
class
to
use
a
floating
point
data
type
for
storing
pixels
Modify the README to remove information covered in the User Manual.
modify
the
readme
to
remove
information
covered
in
the
user
manual
Revise identifiers and comments in d2/render/ipc.h to better reflect the terminology used in the source paper by Irani and Peleg.
revise
identifiers
and
comments
in
d2
render
ipc
h
to
better
reflect
the
terminology
used
in
the
source
paper
by
irani
and
peleg
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).
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
Change several instances of 'double', 'float', and 'my_real' to specialized floating-point types 'ale_real', 'ale_pos', 'ale_sreal', and 'ale_accum'.
change
several
instances
of
double
float
and
my_real
to
specialized
floating
point
types
ale_real
ale_pos
ale_sreal
and
ale_accum
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.)
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
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.
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

## 0.5.1 2003-Nov-19

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.
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
Add information to the README regarding new compilation options.
add
information
to
the
readme
regarding
new
compilation
options
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.

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
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.
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
In ppm.h, add carriage returns to the set of recognized whitespace characters.
in
ppm
h
add
carriage
returns
to
the
set
of
recognized
whitespace
characters
Modify ppm.h to read 16-bit binary PPM files (added to the PPM format spec in April 2000).
modify
ppm
h
to
read
16
bit
binary
ppm
files
added
to
the
ppm
format
spec
in
april
2000
Modify ppm.h to read plain (ASCII) as well as raw (binary) PPM files.
modify
ppm
h
to
read
plain
ascii
as
well
as
raw
binary
ppm
files
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.

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
Modify ppm.h to write plain (ASCII) PPM files when PPM_PLAIN is defined.
modify
ppm
h
to
write
plain
ascii
ppm
files
when
ppm_plain
is
defined
Modify ppm.h to output 16-bit PPM files when BITS_16 is defined.
modify
ppm
h
to
output
16
bit
ppm
files
when
bits_16
is
defined
Modify ppm.h to scale input intensity values based on the internal representation depth (8 or 16 bits per channel).
modify
ppm
h
to
scale
input
intensity
values
based
on
the
internal
representation
depth
8
or
16
bits
per
channel
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.
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

## 0.5.0 2003-Nov-02

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.
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
Add more comment documentation to header files.
add
more
comment
documentation
to
header
files
Emit a more informative error message when the PPM file handler encounters a file that is not a well-formed PPM binary file.
emit
a
more
informative
error
message
when
the
ppm
file
handler
encounters
a
file
that
is
not
a
well
formed
ppm
binary
file
Move rendering implementations to subdirectory 'render/'.
move
rendering
implementations
to
subdirectory
render
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.
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
We're not using simulated annealing, so remove comments that claim otherwise.
we
re
not
using
simulated
annealing
so
remove
comments
that
claim
otherwise
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.
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
lt
type
response
function
are
now
explicitly
given
rather
than
implied
Change documentation for --replace.
change
documentation
for
replace

## 0.4.8 2003-Aug-01

Modify Irani-Peleg renderer to produce incremental output.
modify
irani
peleg
renderer
to
produce
incremental
output
Modify Monte Carlo alignment so that the same set of accumulated image pixels is examined when comparing two transformations.
modify
monte
carlo
alignment
so
that
the
same
set
of
accumulated
image
pixels
is
examined
when
comparing
two
transformations
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.
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
Resolve a bug introduced in version 0.1.1 which had limited rotational perturbation to 2 degrees.
resolve
a
bug
introduced
in
version
0
1
1
which
had
limited
rotational
perturbation
to
2
degrees
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.
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
Modify names of temporary files used in the calibration script.
modify
names
of
temporary
files
used
in
the
calibration
script

## 0.4.7 2003-Jul-27

Add a replacement option suggested by Jeff Treece. This option can be used to facilitate video stabilization.
add
a
replacement
option
suggested
by
jeff
treece
this
option
can
be
used
to
facilitate
video
stabilization
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.
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
Irani-Peleg: don't truncate correction values in backprojection.
irani
peleg
don
t
truncate
correction
values
in
backprojection
Irani-Peleg: don't multiply the weight function by a scale correction factor in backprojection.
irani
peleg
don
t
multiply
the
weight
function
by
a
scale
correction
factor
in
backprojection
Rename render::operator()() to render::sync(). Update subclasses accordingly.
rename
render
operator
to
render
sync
update
subclasses
accordingly

## 0.4.6 2003-Jul-01

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.]
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
Initialize the drizzled image to be uniformly black. This fixes a bug introduced in 0.4.2.
initialize
the
drizzled
image
to
be
uniformly
black
this
fixes
a
bug
introduced
in
0
4
2
Allocate the correct size image for drizzling. This fixes a bug introduced in 0.4.5.
allocate
the
correct
size
image
for
drizzling
this
fixes
a
bug
introduced
in
0
4
5

## 0.4.5 2003-Jun-23

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).
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
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.)
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
Reduce whitespace in usage() message.
reduce
whitespace
in
usage
message
Modify align::diff() to use correctly scaled image offset values. (Bugfix for alignment with --extend.)
modify
align
diff
to
use
correctly
scaled
image
offset
values
bugfix
for
alignment
with
extend
Modify align.h so that the image definition array is correctly scaled for all levels of detail. (Bugfix for alignment with --extend.)
modify
align
h
so
that
the
image
definition
array
is
correctly
scaled
for
all
levels
of
detail
bugfix
for
alignment
with
extend
Modify image.h to correctly handle image offset values. (Bugfix for --extend operation.)
modify
image
h
to
correctly
handle
image
offset
values
bugfix
for
extend
operation
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.
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
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.
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

## 0.4.4 2003-Jun-06

Modify the Monte Carlo pixel selection algorithm so that the expected number of sampled pixels more closely matches the specified number in typical cases.
modify
the
monte
carlo
pixel
selection
algorithm
so
that
the
expected
number
of
sampled
pixels
more
closely
matches
the
specified
number
in
typical
cases
Specify the binary mode flag to fopen() calls in the PPM file handler. This change resolves a bug discovered by Benjamin Hill.
specify
the
binary
mode
flag
to
fopen
calls
in
the
ppm
file
handler
this
change
resolves
a
bug
discovered
by
benjamin
hill

## 0.4.3 2003-May-30

Add support for Monte Carlo alignment of images, in which only a random subset of pixels is sampled.
add
support
for
monte
carlo
alignment
of
images
in
which
only
a
random
subset
of
pixels
is
sampled
Add an option to disable incremental image output.
add
an
option
to
disable
incremental
image
output

## 0.4.2 2003-May-23

Implement an image reconstruction option based on the work of Irani and Peleg.
implement
an
image
reconstruction
option
based
on
the
work
of
irani
and
peleg
Clean up source; move rendering and alignment functions into separate files.
clean
up
source
move
rendering
and
alignment
functions
into
separate
files
Change valid drizzling diameter interval to (0,1].
change
valid
drizzling
diameter
interval
to
0
1
Modify PPM file reader to correctly handle comments in PPM files; this resolves a bug pointed out by Benjamin Hill.
modify
ppm
file
reader
to
correctly
handle
comments
in
ppm
files
this
resolves
a
bug
pointed
out
by
benjamin
hill
Add missing typecast to resolve compile warning under GCC 3.2.
add
missing
typecast
to
resolve
compile
warning
under
gcc
3
2
Make changes to gpt.h that may reduce the Euclidean alignment time.
make
changes
to
gpt
h
that
may
reduce
the
euclidean
alignment
time
Move ale.c to ale.cc to follow one of the many C++ naming conventions.
move
ale
c
to
ale
cc
to
follow
one
of
the
many
c
naming
conventions

## 0.4.1 2003-Apr-28

Change language to C++.
change
language
to
c
Code cleanup in ale.c, image.h, and gpt.h.
code
cleanup
in
ale
c
image
h
and
gpt
h
Separate into a number of subsections the option descriptions in the README
separate
into
a
number
of
subsections
the
option
descriptions
in
the
readme
Add URL information to README
add
url
information
to
readme
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.
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
Add an option to use the previous frame's final transformation as the default alignment.
add
an
option
to
use
the
previous
frame
s
final
transformation
as
the
default
alignment
Change pixel weight data type so that more than 255 images can be merged.
change
pixel
weight
data
type
so
that
more
than
255
images
can
be
merged
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.
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
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.
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
Add version information to transformation files and update the version from 0 to 2.
add
version
information
to
transformation
files
and
update
the
version
from
0
to
2

## 0.4.0p1 2003-Apr-04

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.
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

## 0.4.0 2003-Mar-30

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.
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
Support enhancement of high frequencies even when the scale factor is 1.0.
support
enhancement
of
high
frequencies
even
when
the
scale
factor
is
1
0
Modify the high-frequency filter algorithm to support filtering near the border of an image.
modify
the
high
frequency
filter
algorithm
to
support
filtering
near
the
border
of
an
image
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.
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

## 0.3.2 2003-Mar-26

Don't filter high frequencies if we're not enhancing them. This improves efficiency, but should not affect output.
don
t
filter
high
frequencies
if
we
re
not
enhancing
them
this
improves
efficiency
but
should
not
affect
output

## 0.3.1 2003-Mar-25

Output average match statistic.
output
average
match
statistic
Update informational output to transformation files to include original frame.
update
informational
output
to
transformation
files
to
include
original
frame
Add support for post-enhancement of high-frequency details.
add
support
for
post
enhancement
of
high
frequency
details

## 0.3.0 2003-Jan-17

Add support for loading and saving transformation data.
add
support
for
loading
and
saving
transformation
data
Add an option to set the upper bound on correction steps.
add
an
option
to
set
the
upper
bound
on
correction
steps
Modify Makefile to compile with size optimization, since this appears to improve speed characteristics in some cases.
modify
makefile
to
compile
with
size
optimization
since
this
appears
to
improve
speed
characteristics
in
some
cases
Move transformation data structure and related functions to a separate header file.
move
transformation
data
structure
and
related
functions
to
a
separate
header
file

## 0.2.0 2003-Jan-01

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
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

## 0.1.2 2002-Dec-13

Add optional support for .jpg, .png, .tiff, and other file formats through ImageMagick. Translation using ImageMagick was suggested by Nick Rusnov.
add
optional
support
for
jpg
png
tiff
and
other
file
formats
through
imagemagick
translation
using
imagemagick
was
suggested
by
nick
rusnov
Don't segfault if a file can't be opened.
don
t
segfault
if
a
file
can
t
be
opened

## 0.1.1 2002-Dec-09

Use reduced levels of detail in coarser alignment steps to increase speed.
use
reduced
levels
of
detail
in
coarser
alignment
steps
to
increase
speed
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).
change
perturbation
step
lower
bound
check
from
less
than
lt
to
less
than
or
equal
to
lt
change
default
lower
bound
to
125
from
1
the
behavior
is
the
same
but
the
value
makes
more
sense
Change perturbation initial value to 32 pixels from 16 pixels, since coarse alignment is now less expensive.
change
perturbation
initial
value
to
32
pixels
from
16
pixels
since
coarse
alignment
is
now
less
expensive
Modify scale function so that the borders aren't corrupted (too badly).
modify
scale
function
so
that
the
borders
aren
t
corrupted
too
badly

## 0.1.0 2002-Nov-26

Add support for correction of rotation about the lens axis.
add
support
for
correction
of
rotation
about
the
lens
axis
Add an optional match criterion for merging.
add
an
optional
match
criterion
for
merging
Add an option to adjust minimum step-size.
add
an
option
to
adjust
minimum
step
size
Add flags to specify which channels to use for alignment. Use a summation of all channels by default.
add
flags
to
specify
which
channels
to
use
for
alignment
use
a
summation
of
all
channels
by
default
Add an option to modify the error metric exponent, and change the default value from 1 to 2.
add
an
option
to
modify
the
error
metric
exponent
and
change
the
default
value
from
1
to
2
Display information about how well a new image matches the accumulated image.
display
information
about
how
well
a
new
image
matches
the
accumulated
image
Add a rule for ale.exe to the Makefile.
add
a
rule
for
ale
exe
to
the
makefile

## 0.0.0 2002-Oct-11

Initial release.
initial
release