- All deprecated options and features of version 4.1 have been
removed.
- Enblend and Enfuse support layer (aka "page", aka "frame") selection
in of multi-layer image-files. This includes processing any layers
in user-defined order.
- Both Enblend and Enfuse can now perform all their pyramidal blending
operations in CIELAB (aka L*a*b*, aka L-star) and CIELUV (aka
L*u*v*) color spaces, too. See section "New Commandline Options",
option `--blend-colorspace'.
The previous default, CIECAM for input images with ICC-profile has
been changed to CIELUV. The default for RGB images without
ICC-profile remains. However, the new default for floating-point
image data is to use the RGB-cube, no matter whether the images come
with profiles or not.
- The new Graph-Cut algorithm is the default primary seam-line
generator.
- Avoid a division-by-zero in the Annealing Optimizer.
- Fix a bug (1356551) in the seam-line vectorization code that was
there since 2004. The fix changes the position of almost any
coarse-mask seam line vertex by one pixel.
- Fix a longstanding quirk, which allowed to load masks into Enblend
and Enfuse that were unsuitable for processing.
- Fix a bug in the highlight-recovery that caused Enfuse to bail out
with the uncaught exception
"Minimizer1D::set_bracket: minimum not bracketed".
- The OpenMP enabled versions of Enblend and Enfuse benefit from
Google's TCMalloc library.
- Several exposure weight functions were added to Enfuse. The choice
is now up to the user. The default still is the Gauss function as
in all Enfuse versions before.
Problems found with existing digests:
Package fotoxx distfile fotoxx-14.03.1.tar.gz
ac2033f87de2c23941261f7c50160cddf872c110 [recorded]
118e98a8cc0414676b3c4d37b8df407c28a1407c [calculated]
Package ploticus-examples distfile ploticus-2.00/plnode200.tar.gz
34274a03d0c41fae5690633663e3d4114b9d7a6d [recorded]
da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]
Problems found locating distfiles:
Package AfterShotPro: missing distfile AfterShotPro-1.1.0.30/AfterShotPro_i386.deb
Package pgraf: missing distfile pgraf-20010131.tar.gz
Package qvplay: missing distfile qvplay-0.95.tar.gz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
** New Commandline Options
- The introduction of additional blend color spaces in the Development
Branch requires a new option to select them. Here, in the Stable
Branch, the new option `--blend-colorspace' just duplicates the
functionality of `--ciecam' and `--no-ciecam'. The Stable Branch
does *not* provide the additional blend colorspaces of the
Development Branch. The following equivalences hold
--ciecam <=> --blend-colorspace=ciecam
--no-ciecam <=> --blend-colorspace=identity
Both options `--ciecam' and `--no-ciecam' are deprecated in 4.2 and
will be withdrawn in 4.3. Thus, users should prefer
`--blend-colorspace'.
** Bug Fixes
- [Enblend and Enfuse] Fix the nesting-depth counter for response
files. This bug prohibited to load more than 20 images in a single
response file.
- [Enblend and Enfuse] Allow grayscale images to bring their own
(grayscale) profiles. Previously grayscale images with ICC profiles
were rejected.
- [Enblend] Fix a possible domain error followed by a division-by-zero
in the seam-line optimizer.
- [Enblend and Enfuse] Avoid an undeserved warning about incompatible
colorspaces if they only disagree on their meta-data (e.g. profile
creation date/time).
- [Enblend] Fix a bug in the Dijkstra Optimizer which could lead to
undefined behavior in the placement of the (optimized) seam line.
- [Enblend] Fix a non-dereferencable vector iterator which led to a
segfault.
- [Enblend] Avoid a division-by-zero in the Annealing Optimizer.
- [Enblend] Fix a bug (1356551) in the seam-line vectorization code
that was there since 2004. The fix changes the position of almost
any coarse-mask seam line vertex by one pixel.
- [Enblend only] Fix problem of multiple, almost-identical seamlines
that produce inexplicable black areas in the output panorama.
- Little CMS version 2.5 or later is now required to build. Prior
versions of LCMS sometimes produced output images that were lighter
or darker than the input images.
** Bug Fixes
- [Enblend and Enfuse] Fix a bug in the highlight-recovery that caused
Enfuse to bail out with the uncaught exception
"Minimizer1D::set_bracket: minimum not bracketed".
This addresses LaunchPad Bug 1214004.
- [Enfuse] Clean up seemingly random, bright-colored pixels that
sometimes show up when fusing images with high contrast and "large"
color profiles.
Bug Fixes
- [Enblend only] Fix a race condition in the seam-line optimizer that
can cause wrongly placed seams.
- [Enblend and Enfuse] Use a per-thread storage of all OpenMP
Vigra-functors. This avoids data races.
- [Enblend and Enfuse] The Boost implementation of the `Mersenne
Twister' random number generator caused segmentation faults when
used in the OpenMP-enabled versions of Enblend and Enfuse. The new
implementation is based on the GNU Scientific Library (GSL), which
plays nicely with concurrent accesses.
- [Enblend only] Correct a mistake that causes overlapping images with
multiple seams to be blended incorrectly.
- [Enblend only] Require the OpenGL extension
`GL_ARB_texture_rectangle' for the `--gpu' option to work. This
does away with a pesky warning of OpenGL drivers that do support
this extension and avoids crashes with drivers that don't.
The GPU performance improvement of Enblend via `--gpu' now is only
available with drivers that feature `GL_ARB_texture_rectangle'
(among many other required OpenGL extensions).
The OpenGL warning about odd texture sizes is unaffected by this
change.
- [Enblend and Enfuse] Fix a longstanding quirk, which allowed to load
masks that were unsuitable for processing.
Released on December 8, 2012.
** Improvements
- All deprecated options since version 4.0 have been removed.
- A new primary seam-line generator, based on a Graph-Cut algorithm,
has been implemented during GSoC 2011 by Mikołaj Leszczyński. The
old Nearest-Feature Transform remains the default. The new
algorithm is activated with "--primary-seam-generator=graph-cut".
- The difference image on which Enblend's seam-line optimization
relies for color images uses a perceptual model by default (option
"--image-difference"), yielding a true CIE76 "Delta E" with the
(default) luminance and chrominance weights of 1.
- Parallelize CIECAM02 color conversion (option "--ciecam"). Speedups
of up to 40% have been reported on the amd64 architecture. The
computationally expensive color-space conversion still slows down
blending and fusing by some 25%.
- Enblend and Enfuse integrate seamlessly in color-managed workflow.
Input images with color profiles automatically enable CIECAM
blending and the output image is assigned the input images' color
profile.
- Enblend and Enfuse exploit a new feature in LittleCMS Version 2.x
called "Unbounded CMM". Thereby, the hue and saturation of extreme
shadows and highlights can be preserved much longer before pure
black or white are reached. See:
http://www.littlecms.com/CIC18_UnboundedCMM.pdf
- Assign different profiles to profile-free input images with option
"--fallback-profile" instead of being tied to sRGB.
- A new gray-scale projector called "anti-value" helps when fusing
with the intent of minimizing the noise in the output image. When
employing a lower exposure cutoff this even is the default
projector.
- Both Enblend and Enfuse stop right after saving all generated masks
to files, if option "--save-masks" is given, but option "--output"
is not. This allows to splice tools that manipulate the masks and
feed the masks back into Enblend and Enfuse with option
"--load-masks". When combining option "--output" and "--save-masks"
Enblend and Enfuse write all masks and the final output image as
before.
- Both Enblend and Enfuse can write their output JPEG files with
arithmetic JPEG compression and TIFF files with JPEG compression, if
the underlying JPEG and TIFF libraries support these compression
schemes.
** Bug Fixes
- Enblend and Enfuse consistently warn if they are passed input images
that alternate between with color profile and without.
- Grant SourceForge feature request ID 2991909 (OSX only). Previous
to that, Enblend, when launched from a terminal window with
GPU-acceleration (option "--gpu"), started a second, non-responsive
terminal window and when this new Enblend window tried to "steal"
the focus, it displayed the OSX rotating "beach ball". With the fix
that all goes away. Also the responsiveness of the screen improves,
which means that the non-functional window also hogged GUI resources.
** New Commandline Options
- Option "--primary-seam-generator" controls the primary seam-line
generation algorithm.
- Option "--image-difference" selects the difference image calculation
algorithm and optionally assigns weights to the luminance and the
chrominance part of the difference image.
- Short option "-c" now has a sibling called "--ciecam". The long
option also has a negated form: "--no-ciecam"; the short one has
not.
- The option "--fallback-profile=PROFILE" allows users to pass their
own profiles for image sets that come without ICC color profiles.
Before the hard-coded profile was sRGB.
- The option "--exposure-cutoff" facilitates tailoring the exposure
weight curve specifically to exclude underexposed (and probably
noisy) or overexposed pixels from fusion.
- In Enblend option "--load-masks" disables all mask computations and
loads the blend masks directly from the specified files. This is
the dual of Enblend's long-known option "--save-masks".
- The option "--layer-selector" overrides the standard default
layer selector.
- In addition to the usual integral values option "--levels" takes the
keyword "auto", which restores the default. (The default is to
automatically choose the maximum number of pyramid levels for each
separate overlapping region.)
** Deprecated Features
- The option "--smooth-difference" will be eliminated in the next
version of Enblend; it has not helped and moreover only put lipstick
on the seamline-optimizer's objective function.
- The user-(re)sizable image-cache will not be available in later
versions of Enblend and Enfuse. We are not sure yet whether it will
be replaced by an mmap-based solution or just tossed out.
** Developer Stuff
- XHTML validation does not rely on network access anymore. This
means all necessary DTDs must be available locally and all catalogs
must be set up correctly to build the XHTML documentation.
- The option "--parameter" allows developers to pass arbitrary
key-value pairs to Enblend and Enfuse. The keys must match the
regular expression [A-Za-z][A-Za-z0-9_-]*; the values can be almost
any string. No further checking or validation is performed.
For more explanations on how to use parameters in the source code,
see the block-comment within "namespace parameter" in file
"common.h".
** Package Maintainer Stuff
- Enblend and Enfuse now use LittleCMS version 2.x.
- Enblend and Enfuse no longer rely on their own versions of the Vigra
imaging library. Vigra version 1.8 or later is now required to
build.
- Enblend no longer relies on libXMI. (Enfuse never needed this
library.)
* Huge new documentation in Info, PS, PDF, and XHTML formats. Plain
HTML format is not supported because it cannot portably render MathML.
* New manual pages.
* Automatic bit depth conversion between input and output images if
necessary.
* Compilation without image cache works again
("--disable-image-cache"). Speedups of up to 30% have been reported
on the amd64 architecture.
* Enblend and Enfuse accept repsonse files in addition to literal
image files. Response files contain lists of image filenames or
names of other response files.
* Lots of new warnings if a command-line option has no effect, like,
for example, combining a mask optimization option with "--no-optimize".
* Enblend shows the initial, unoptimized seam line in addition to the
optimized one in all seam-line visualization images (option "--visualize").
* Enblend and Enfuse read multi-layer TIFF files ("multi directory" in
TIFF jargon). It is even possible to mix multi-layer with single
layer images. This partially fixes SourceForge bug ID 1170329.
* Save masks with (lossless) "Deflate" compression.
* An improved wrap-around option, formerly only "-w", now "-wMODE" and
"--wrap=MODE", lets the user determine whether to create a 360
degrees horizontal or vertical panorama. It is possible to wrap
around vertically and horizontally at the same time.
* Without any output filename given, i.e. no "-o" option, the output
filename now defaults to "a.tif", making "-o" truly an option.
* The user has better control of the number of pyramid levels.
Previously only the maximum number in any blend could be reduced
by the "-l" option. Now, the maximum number can be reduced by a
fixed amount no matter what the actual maximum number of permissible
pyramid levels is.
* Use OpenMP to make better use of multi-processor machines. As the
image cache is not reentrant, OpenMP can only be activated when the
image cache is disabled.
* Enblend and Enfuse issue messages following the GNU standard.
* Bug Fixes
seams. Enfuse combines images that overlap like this into a single image with
good exposure and good focus. Both programs assume that your images are already
lined up. To make panoramas with Enblend and/or Enfuse, use Hugin.