Boost logo

Boost :

Subject: Re: [boost] [GIL] integration between boost libraries (gil / multiarray)
From: Christian Henning (chhenning_at_[hidden])
Date: 2010-06-21 16:37:04


Hi there,

> I have only one criticism: the integration with other boost libraries and firstly with multiarray.
> Because manipulating an image consists of manipulating an array of pixels. Many gil's operations are not present in multiarray:
> flip_view, subsampled_view, subimage_view, n_channel_view, x_iterator, y_iterator, xy_locator, cache_locator, plannar or interleaved arrays, virtual views, static_for_each, ...

Multi_array is for N-dimensional arrays. GIL only makes sense for 2D
right now. Now, gil is generic in the sense that it's concept-based. I
don't know about multi_array but in theory their views should be
compatible to gil's views. But that's theory, in practice I don't
expect them too.

>
> For example, inside an algorithm I need to maintain a data structure for each pixel. So I would like to create an array of MyCustomStruct. I can use gil to do that but I need to have a notion of colorspace and operators between pixels, which have no sense in this particular case. But subsampled_view, cache_locator, etc. have a sense.

In theory you're right. But both libraries were developed by different
people at different times without having the need to have compatible
concepts.

>
> Another less important thing, I find unfortunate that a structure like "point" is inside gil. Many operators are not defined. Some parts of my code are becoming dependant to gil just for a "point" class, or I need to work with one structure and make a conversion... Is there really nothing in boost for such thing ? Maybe just a typedef on a bounded_vector<2> could be sufficient ?

I second that and hopefully one day we can accomplish a boost lib that
would define a point type that works for multiple boost libraries.

Regards,
Christian


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk