
Hi Nicolas, I used your code in Ramen (http://sourceforge.net/projects/ramenhdr/) It works great. Thank you. And now, some feedback... I think filters should be a small separate GIL extension. They are useful also for other image resampling algorithms. In clamp_channel_fn I added an overload like this: template <typename SrcChannel, typename T, typename S, typename U> void operator()(const SrcChannel& src, scoped_channel_value<T,S,U>& dst) { typedef typename channel_traits<scoped_channel_value<T,S,U>>::value_type dst_value_t; dst = dst_value_t( src); } to avoid clamping floating point channels. Another option would be to clamp only negative values. I think template <typename PixelType> struct create_accum_pixel_type : public create_accum_pixel_type<PixelType> {}; can be replaced with template <typename PixelType> struct create_accum_pixel_type {}; I had to add some typenames in front of accum_pixel_t in rescale_rows, rescale_cols and rescale to build with gcc. and I made a parallel version using Intel TBB. It's here: http://ramenhdr.svn.sourceforge.net/viewvc/ramenhdr/trunk/extern/gil/extensi... Est.