[gdal-dev] Help with idiomatic GDAL solution for raster algebra benchmark

Mateusz Loskot mateusz at loskot.net
Thu Jun 14 14:41:56 PDT 2018


On 14 June 2018 at 18:47, Alex HighViz <alexhighviz at hotmail.com> wrote:
> I remember when looking at it at the time that I felt that using Boost.GIL would give me more difficulty than reward.

It is not easy indeed. Things had not been improved for long time,
esp. documenation. It's changing and improving though.

> I would have to make a lot of effort to wrap GDALRasterband's up to conform to GIL concepts and then would still need to implement the functionality that I was after then (generalized moving windows, i.e. convolutions, with a custom function, https://www.sciencedirect.com/science/article/pii/S0303243415300337  ).

This is an interesting topic, I may review Boost.GIL features in this context.

> Now with hindsight, it is perhaps not that much *extra* work to allign Pronto's Raster View with GIL's Image View; it would put existing GIL features in scope and allow for the best of both worlds.

An interoperability certainly is possible with some adaptation in one
or both directions.

> Have you looked at Pronto's gdal_raster_view class? It seems to meet most of the Image View requirement and might be of help when finishing the IO extension for GDAL.

Yes, briefly. It looks like gdal_raster_view  offers one mode of iterations.

Boost.GIL allows operations on views which are:
- no iteartion (eg. single memmove)
- 1D iteration, usually fastest
- 2D iteration
Algorithms auto-choose depending on traversable mode available for
particular view(s).
This should not be an issue for adaptation though.

By the way, for example, a raw array of bytes is also easily adaptable
as a view, two arrays (colour table and image bytes) can also be
adapted as an indexed view/image.

> Would you by any chance be able (and willing) to conjure up a simple example of "OUT = 3 * A + B * C" using Boost.GIL?

I may give it a go, perhaps after new Boost.GIL is out.

BTW, if you have any GIL-specific questions, there is
https://lists.boost.org/mailman/listinfo.cgi/boost-gil  (low traffic).

> p.s. I do remember a blog post or message on the boost mailing list by you saying how great it would be to have Boost.GIL compatible with GDAL.

I don't remember exactly, but might got excited about this idea :-)

Best regards,
-- 
Mateusz Loskot, http://mateusz.loskot.net


More information about the gdal-dev mailing list