Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#153 Exception or assertion failure on load of certain exr files

Luminance_HDR_2.3.0
closed
Franco Comida
Program (114)
5
2012-10-08
2012-09-30
J Bytheway
No

When opening the attached .exr image (created by hugin) I get an error. With 2.3.0 it throws std::out_of_range; with git HEAD it fails an assertion. It looks like they\'re both suffering problems in pfstmo_durand02. I\'ll provide process output for the two cases if I can figure out how to add more attachments.

I started with a much larger image than this, but I\'ve cropped it down to something reasonably-sized.

It\'s possible that the image file is malformed -- I\'ve certainly had problems with hugin_hdrmerge output in the past -- but in any case luminance ought to respond better than it does.

Discussion

  • J Bytheway
    J Bytheway
    2012-09-30

    Image which triggers the bug

     
  • J Bytheway
    J Bytheway
    2012-09-30

    The output for 2.3.0:

    "/home/john/.LuminanceHDR/saved_parameters.db"
    Database opened
    TMWorker::TMWorker() ctor
    Temporary directory: "/tmp"
    Filename: "example_problem_image.exr"
    HdrViewer::mapFrameToImage() [NEW]= 2.117 msec
    void GenericViewer::updateView()
    void GenericViewer::updateView()
    MainWindow::updateActions( 0 )
    void GenericViewer::updateView()
    resizeFrame() = 1.451 msec
    pfscopy() = 0.089 msec
    transformRGB2XYZ() = 0.032 msec
    pfstmo_mantiuk06 (Mode: Contrast Mapping, scaleFactor: 0.1, saturationFactor: 0.8, detailFactor: 0.8)
    transformXYZ2RGB() = 0.043 msec
    lincg() = 53.098 msec
    transformRGB2XYZ() = 0.016 msec
    transformXYZ2SRGB() = 0.122 msec
    fromLDRPFStoQImage() = 0.043 msec
    pfscopy() = 0.05 msec
    transformRGB2XYZ() = 0.028 msec
    pfstmo_mantiuk08 (saturation factor: 1, contrast enhancement factor: 1, white_y: -2, setluminance: 0)
    Display function: gamma-gain-black-ambient
    gamma = 2.2 L_max = 200 L_black = 0.8
    E_amb = 60 k = 0.01
    Display size paramaters:
    pixels per visual degree = 30
    viewing distance = 0.5 [meters]
    transformXYZ2RGB() = 0.038 msec
    Luminance factor of the reference white: not specified
    transformRGB2XYZ() = 0.033 msec
    transformXYZ2RGB() = 0.036 msec
    fromLDRPFStoQImage() = 0.038 msec
    pfscopy() = 0.05 msec
    transformRGB2XYZ() = 0.028 msec
    pfstmo_fattal02 (alpha: 1, beta: 0.9. saturation: 1, noise: 0.01, fftsolver: 1)

    pde residual error: -nan
    transformXYZ2RGB() = 0.04 msec
    transformRGB2XYZ() = 0.029 msec
    transformXYZ2RGB() = 0.037 msec
    fromLDRPFStoQImage() = 0.039 msec
    pfscopy() = 0.048 msec
    transformRGB2XYZ() = 0.027 msec
    pfstmo_drago03 (bias: 0.85)
    transformXYZ2SRGB() = 0.122 msec
    fromLDRPFStoQImage() = 0.035 msec
    pfscopy() = 0.565 msec
    transformRGB2XYZ() = 0.026 msec
    pfstmo_durand02 (fftw3f ON, sigma_s: 2, sigma_r: 2, base contrast: 5)
    transformXYZ2RGB() = 0.038 msec
    Qt has caught an exception thrown from an event handler. Throwing
    exceptions from an event handler is not supported in Qt. You must
    reimplement QApplication::notify() and catch all exceptions there.

    terminate called after throwing an instance of 'std::out_of_range'
    what(): vector::_M_range_check

     
  • J Bytheway
    J Bytheway
    2012-09-30

    The output for git commit 7025aef2:

    Database opened
    MainWindow::updateActions( 0 )
    pfstmo_mantiuk06 (Mode: Contrast Mapping, scaleFactor: 0.1, saturationFactor: 0.8, detailFactor: 0.8)
    pfstmo_mantiuk08 (saturation factor: 1, contrast enhancement factor: 1, white_y: -2, setluminance: 0)
    Display function: gamma-gain-black-ambient
    gamma = 2.2 L_max = 200 L_black = 0.8
    E_amb = 60 k = 0.01
    Display size paramaters:
    pixels per visual degree = 30
    viewing distance = 0.5 [meters]
    Luminance factor of the reference white: not specified
    pfstmo_fattal02 (alpha: 1, beta: 0.9. saturation: 1, noise: 0.01, fftsolver: 1)

    pde residual error: -nan
    pfstmo_drago03 (bias: 0.85)
    pfstmo_durand02 (fftw3f ON, sigma_s: 2, sigma_r: 2, base contrast: 5)
    luminance-hdr: /home/john/src/luminance-hdr/qtpfsgui/src/Fileformat/pfsoutldrimage.cpp:52: QImage fromLDRPFStoQImage(pfs::Frame, float, float, LumMappingMethod): Assertion `in_frame != __null' failed.

     
  • Franco Comida
    Franco Comida
    2012-10-08

    The issue you reported has been fixed in the git repository.
    The next release will include this fix.
    thank you for reporting.