Hello:
This is not directly related to the bug, although the following provides a possible alternative to "fixing" the "corner pixel" proglems of the existing lanczos...
A student of mine and I have put together a gimp plug-in which ENLARGES images using a method which is analogous to global cubic splines, that is, which gives results analogous to lanczos.
The plug-in should be ready for distribution in about 1 month.
Features:
--two related methods can be used: the first one---exact area natural biquadratic histosplines---uses the "center" image size convention (like gimp and imagemagick), the other---interpolatory box filtered natural biquadratic histosplines, which is almost the same as natural cubic splines---the "corner" image size convention (like most image enlargement programs)
--the first method is strongly sharpening, the second, less so. Both give very smooth images.
--the user can specify the gamma of the input image, and the gamma of the output image. The default is 2.2 for both.
--the plug-ins are fast: we are not quite done optimizing the code, but as it stands, they produce large enlargements of large images faster than the gimp built-in bicubic, and slower than the gimp buil-in bilinear.
--the drawback of both methods is that they are fairly memory intensive: we have several versions around, but the most likely candidates for release requires the creation of a temporary int16 or float array with as many entries as the input image. On the plus side, we use a moderate size tile cache: gimp_tile_cache_ntiles (((nn>m) ? nn : m) / gimp_tile_width () + 1); where nn is the width, in pixels of the output (enlarged) image, and m is the height, in pixels, of the input (to be enlarged) image.
We would be quite happy to integrate the plug-in into the "built-in" gimp image resize functionality (some assistance would make this happen faster: we don't quite know how to interact directly with the gimp core).
Nicolas Robidoux, Department of Mathematics and Computer Science, Laurentian University