RSS/Atom feed Twitter
Site is read-only, email is disabled

investement: suggested project

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

1 of 1 message available
Toggle history

Please log in to manage your subscriptions.

investement: suggested project Nicolas Robidoux 05 Nov 15:36
Nicolas Robidoux
2008-11-05 15:36:41 UTC (about 16 years ago)

investement: suggested project

Hello Alexandre Prokoudine:

Here is a suggested project for the possible "investment in gimp" (which includes gegl, if I understand correctly).

(Note: I do not want to highjack the investment. If the following is not appropriate, just let me know, and I will back off.)

It turns out that I recently discovered what should be a very good method for resampling tailored for transformations in which downsampling is a more representative occurence than upsampling.

I already have experience programming within GEGL so I am comfortable with this environment (to wit, the YAFR "scale" method, which is meant for transformations in which upsampling is more typical of the local situation than downsampling).

I do not need the money myself (I am a prof). However, if some, possibly even token, amount could be sent in the way of one particular bright student I have in mind, I suspect that he could take on the project in the framework of a Summer project in May 2009 or a masters thesis starting in September 2009---although the work could start earlier.

(This student and I programmed two, fairly different, gimp image enlargment plugins, which we will put in the repository when we have merged them (currently, he's busy with courses, and I'm busy with a newborn).)

What the entire project could be:

1) Program a novel resampling method. This resampling method will be at least 7 times faster than (exact area) box filtering when the downscaling ratios are high and the aspect ratio is approximately preserved, and will boil down to bilinear when locally the transformation is "upsampling." In terms of blur and aliasing, it will be about halfway between nearest neighbour and (exact areaa) box filtering.

2) Program specialized, even faster, versions for for image resizing (knowing that one resizes, as opposed to performing an arbitrary transformation, affine or not, allows one to access the data efficiently and fix things so that coefficients are computed only once).

3) Explore various speed-up methods for, esp., smaller integer data types, including fixed point arithmetic and compile time basis function sampling and storage (the vips image processing package makes smart use of this).

4) Slightly different project: Program a new method tailored for "typically upsampling" transformations. Unlike the current YAFR, this method would be co-monotone, co-convex and continuously differentiable. In particular, unlike the current gegl YAFR, it would not add any halo to images. Downside: More expensive than the current gegl YAFR, and less "sharpening."

5) Yet another possible add-on: Program a novel image sharpening method based on discrete Hodge star operators.

Let me know what you think,

Nicolas Robidoux Universite Laurentienne/Laurentian University