[gil] ToolBox uploaded

Hi all, I finally have managed to upload the "toolbox" extension for boost::gil. The toolbox provides some helpful extension for gil that are too small to be an extension themselves. There are: * color spaces: cmyka, gray_alpha, hsl, hsv, lab, xyz * metafunctions: channel_type_to_index, is_bit_aligned, is_similar, is_homogeneous, get_num_bits, channel_type, get_pixel_type, pixel_bit_size * image types: indexed_image * color converters: gray -> rgba I would need some help hooking up the tests and doc generation. Let me know if you any questions or improvements. Regards, Christian

Hi Christian, I have a patch for gil-contributions to compile under GNU/Linux with GCC and Clang (fixed for GCC 4.7 and Clang 3.3). You can find them here: http://git.io/Zybjsg or here as a .patch file http://git.io/D43ApA The toolbox code, in particular, has windows-style \ path separators in the cmyka.hpp header. Best, -- Beren Minor On Thu, Feb 7, 2013 at 2:38 AM, Christian Henning <chhenning@gmail.com>wrote:
Hi all,
I finally have managed to upload the "toolbox" extension for boost::gil. The toolbox provides some helpful extension for gil that are too small to be an extension themselves.
There are:
* color spaces: cmyka, gray_alpha, hsl, hsv, lab, xyz * metafunctions: channel_type_to_index, is_bit_aligned, is_similar, is_homogeneous, get_num_bits, channel_type, get_pixel_type, pixel_bit_size * image types: indexed_image * color converters: gray -> rgba
I would need some help hooking up the tests and doc generation.
Let me know if you any questions or improvements.
Regards, Christian
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Hi Beren,
I have a patch for gil-contributions to compile under GNU/Linux with GCC and Clang (fixed for GCC 4.7 and Clang 3.3). You can find them here: http://git.io/Zybjsg or here as a .patch file http://git.io/D43ApA
The toolbox code, in particular, has windows-style \ path separators in the cmyka.hpp header.
Thanks for your patch. I have made and committed all the changes. If it's not too much to ask but could you update your code and rerun? Thanks again! Christian

I will, I have some code depending on it anyway. I have an automatic mirror of the google code repository. Is it up-to-date or should I track the boost trunk repository instead? -- Beren Minor On Thu, Feb 7, 2013 at 5:48 PM, Christian Henning <chhenning@gmail.com>wrote:
Hi Beren,
I have a patch for gil-contributions to compile under GNU/Linux with GCC and Clang (fixed for GCC 4.7 and Clang 3.3). You can find them here: http://git.io/Zybjsg or here as a .patch file http://git.io/D43ApA
The toolbox code, in particular, has windows-style \ path separators in the cmyka.hpp header.
Thanks for your patch. I have made and committed all the changes. If it's not too much to ask but could you update your code and rerun?
Thanks again!
Christian
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

On Thu, Feb 7, 2013 at 11:54 AM, Beren Minor <beren.minor+boost@gmail.com> wrote:
I will, I have some code depending on it anyway.
Thanks! Let me know if there is anything missing that could be added!
I have an automatic mirror of the google code repository. Is it up-to-date or should I track the boost trunk repository instead?
I just deleted toolbox from gil_contribution. So you need to update your boost from boost trunk. Christian

Hi Christian, 2013/2/7 Christian Henning <chhenning@gmail.com>
Hi all,
I finally have managed to upload the "toolbox" extension for boost::gil. The toolbox provides some helpful extension for gil that are too small to be an extension themselves.
There are:
* color spaces: cmyka, gray_alpha, hsl, hsv, lab, xyz * metafunctions: channel_type_to_index, is_bit_aligned, is_similar, is_homogeneous, get_num_bits, channel_type, get_pixel_type, pixel_bit_size * image types: indexed_image * color converters: gray -> rgba
I would need some help hooking up the tests and doc generation.
Let me know if you any questions or improvements.
I wonder why `get_num_bits` only applies to packed_channel_reference & packed_dynamic_channel_reference. Wouldn't it be nice if it also applies to packed_channel_value & those bitsN ? Regards

2013/2/14 Christian Henning <chhenning@gmail.com>
Hi,
I wonder why `get_num_bits` only applies to packed_channel_reference & packed_dynamic_channel_reference.
Wouldn't it be nice if it also applies to packed_channel_value & those bitsN ?
Good point. I have fixed that on the trunk.
Thanks, but not for bitsN? Like: template <typename T, class = void> struct get_num_bits; template<class T> struct get_num_bits<T, typename enable_if_c<is_integral<T>::value && !is_class<T>::value>::type> : mpl::int_<sizeof(T) * 8> {}; And you could avoid all the const duplicates as: template <typename T> struct get_num_bits<T const> : get_num_bits<T> {}; Regards

Thanks, but not for bitsN? Like:
template <typename T, class = void> struct get_num_bits;
template<class T> struct get_num_bits<T, typename enable_if_c<is_integral<T>::value && !is_class<T>::value>::type> : mpl::int_<sizeof(T) * 8> {};
I have added this.
And you could avoid all the const duplicates as:
template <typename T> struct get_num_bits<T const> : get_num_bits<T> {};
That doesn't work for when I add get_num_bits for integral types. I have uploaded the changes. Please have a look when you got a chance. Thanks for your help, Christian

2013/2/15 Christian Henning <chhenning@gmail.com>
Thanks, but not for bitsN? Like:
template <typename T, class = void> struct get_num_bits;
template<class T> struct get_num_bits<T, typename enable_if_c<is_integral<T>::value && !is_class<T>::value>::type> : mpl::int_<sizeof(T) * 8> {};
I have added this.
And you could avoid all the const duplicates as:
template <typename T> struct get_num_bits<T const> : get_num_bits<T> {};
That doesn't work for when I add get_num_bits for integral types.
I suppose that add !is_const<T>::value into enable_if for integral types would help. But since you're done, it does't matter how it worked -- it just works :) Thanks
participants (3)
-
Beren Minor
-
Christian Henning
-
TONGARI