← Back to team overview

hugin-devs team mailing list archive

[Bug 685105] Re: enblend fails to blend large pano

 

OK -- a few words from your chief
maintainer of Enblend/Enfuse.


1. ImageCache

        Any ImageCache support has been removed
from the development branches of Enblend and
Enfuse.  It won't come back unless some brave,
brilliant, ... hacker steps up and takes
responsibility for the code.  Thus, I consider
comments on whether to use or to avoid the
ImageCache as futile.  Virtually, only the
non-ImageCache (inherently fast and easily
parallelizable) version exists.


2. Image-Size Limitations of Enblend and Enfuse

        In brief: there are several.  Some
restrictions exist because we are a bit too
generous in our use of memory, others are
enforced upon us by third-party libraries, most
importantly Vigra.

Rule-of-Thumb: Neither Enblend no Enfuse can
    handle any image larger than 2**32 - 1
    pixels.  For geeks this is INT_MAX or
    std::numeric_limits<int>::max().

  * The type of image (8-bit, 16-bit, b&w,
    color, w/alpha, etc.) does not matter here,
    only the pixel count.

  * The limit applies to any of the input
    images, all internally-held, transient
    images, and of course the output image.  As
    a programmer would put it: Vigra sometimes
    substitutes type `int' for type `ptrdiff_t'
    and that bleeds through.

  * Working with a 64-bit o/s does not
    automatically help, for many compilers
    encode `int' with 32 bits to improve
    performance; they only use 64 bits for type
    `long int'.  Just compiling Enblend or
    Enfuse with a C++-compiler that uses 64 bits
    for an `int' on such systems, breaks the
    ABI, i.e., the resulting objects won't link
    against any of the support libraries.

-- 
You received this bug notification because you are a member of Hugin
Developers, which is subscribed to Enblend.
https://bugs.launchpad.net/bugs/685105

Title:
  enblend fails to blend large pano

Status in Enblend:
  Confirmed

Bug description:
  Enblend failed with:

  enblend --compression=LZW -m 1200 -w -f135659x3947+0+1091 -o pano8110_l.tif ....
  ...
  enblend: info: loading next image: pano8110_l0000.tif 1/1
  enblend: out of memory
  enblend: std::bad_alloc

  This is a simple 0.5Gpixel panorama I shot. And agreed, Hugin did warn
  me that it might take a lot of memory.

  The thing is: There is no other tool to stitch this with, so I'll have to make do with hugin and its toolset....
  I thought there was an "imagecache" that would swap parts of images to disk...

To manage notifications about this bug go to:
https://bugs.launchpad.net/enblend/+bug/685105/+subscriptions


References