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 
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 
Gimp-developer mailing list

Reply via email to