|
Boost : |
Subject: Re: [boost] GIL io_new review
From: Mateusz Loskot (mateusz_at_[hidden])
Date: 2010-12-09 15:40:10
On 09/12/10 20:03, Phil Endecott wrote:
> Mateusz, I'm going to snip most of your message to focus on the
> important stuff.
Sure.
> I don't have time to answer everything in detail and
> somehow my central point doesn't seem to have been understood yet.
Yes, I've realised it lately.
>> Anyways, my understanding is that Boost.GIL IO takes all the access
>> options provided by format libraries as they are specified and either
>> allows to utilise some or all of them.
>
> No, that's precisely what it doesn't do. It supports exactly one access
> method, which is to read or write a complete file in one go, and nothing
> else.
Right, understood. I've been looking too far in future I think.
> No doubt reading or writing a complete file in one go will be the most
> common operation, but it is not the only one, and it's not the one that
> I need for any of my current applications including the example that
> I've posted.
Yes, agreed.
> I think that it's unfortunate that Christian's extension
> has not tried to support at least sequential row-by-row access to images.
It would be useful indeed.
>> Thus, I don't think it's possible for Boost.GIL IO to address such
>> specific and advanced problems like Phil's. However, I think Boost.GIL
>> IO backends could be not only format but problem specific as well.
>> Perhaps, Phil's problem qualifies to be solved with a new GIL IO backend
>> solving efficient block-based access implementing some assumptions:
>>
>> - one file open at time
>> - calculation of memory efficient size of block based on size of
>> scanline and max number of scanline to not to open too much
>> - merge read blocks to single 256x256 written in single file
>> - blocks/scanlines caching strategy (see GDAL case above)
>> - etc.
>>
>> I believe it would be feasible with Boost.GIL and the IO extensions,
>> as a specialised IO driver.
>
> No. I don't want a special IO driver to manage my tiled images. I
> simply want a wrapper around the image libraries that I can call that
> hides much of the legacy interface. I just wish that the extension
> we're reviewing had been decomposed into a set of such wrappers and the
> whole-image read/write code, such that I could use the wrappers and not
> the rest.
Yes, this has been clarified now.
Thanks for the detailed explanation.
Best regards,
-- Mateusz Loskot, http://mateusz.loskot.net Charter Member of OSGeo, http://osgeo.org Member of ACCU, http://accu.org
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk