|
Boost : |
Subject: Re: [boost] Formal Review of IO and Toolbox extensions to Boost.GIL starts TOMORROW
From: Christian Henning (chhenning_at_[hidden])
Date: 2010-12-09 14:10:53
Hi Zach, thanks a lot for review.
>
> It is generally very good, modulo a few bugs (see below).
What means "modulo a few bugs"?
>
> There are some specific problems with the tests, though. For
> instance, png_read_test.cpp takes an image file, reads it, then writes
> it to a temporary file, then re-reads it from the temp file, and
> compares the two read-in images for equality. This strikes me as a
> bad test. It is quite possible to read an image, get the wrong
> results, then write those wrong results to disk, re-read them, and
> then have the re-read results compare equal to the original read
> results. There may be other tests with a similar organization; I did
> not check.
This would assume that both png reader and writer have some bugs in
common. I consider that less probable. This test is not perfect, I
agree, but I cannot just do a byte compare between the original and
copy since the header information might different. If both file have
the exact pixel values, that's a good indicator that writing and
reading does something right.
But I agree with you that testing image writing and reading can be
problematic when the same library is used. Maybe I should use
ImageMagick as the reference reader and my own lib as the writer in
this case.
>
>> - What is your evaluation of the documentation?
>
> I was unable to build the docs. I'm actually surprised that the
> review manager allowed this to go to review without pre-generated,
> web-accessible docs.
I'm working on it. It turns out that building quickbook is too
complicated for me. There are several threads on the boost-user and
boost-build mailing lists to overcome my troubles. In case my proposal
is accepted I'll make sure I can build the documentation before I add
anything to boost.
Sorry for inconvenience.
>
>> - Did you try to use the extensions? With what compiler? Did you have any problems?
>
> I only evaluated the PNG loading code, in an existing library that
> already uses (a modified) GIL for image file loading. My library's
> modified copy of GIL has numerous fixes to the PNG loading code. When
> I substituted gil.io_new, I found that several files were again
> unreadable.
I just did a quick test with space_elevator.png you mention below.
May it be that you forgot to set the BOOST_GIL_IO_ENABLE_GRAY_ALPHA
symbol? The following code works just fine:
#define BOOST_GIL_IO_ENABLE_GRAY_ALPHA 1
#include <boost/gil/gil_all.hpp>
#include <boost/gil/extension/io_new/png_read.hpp>
using namespace boost;
using namespace gil;
int main()
{
gray_alpha8_image_t img;
read_image( "C:\\chhenning\\zach\\art\\icons\\tech\\space_elevator.png"
, img
, png_tag()
);
return 0;
}
Regards,
Christian
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk