This is not directly related to the bug, although the following provides a
possible alternative to "fixing" the "corner pixel" proglems of the existing
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.
--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
--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
Gimp-developer mailing list