I'm starting this thread to list ideas for Google Summer of Code 2011,
for the GIMP project. Since in the last year collecting ideas was done
partially by the mailing list, let's try it again this year and keep
most ideas here.

One should aslo take a look at GEGL's page about contributing (too bad
GIMP doesn't have something like that):

Here is a list of ideas from 2010, that are still not implemented, and
*may* be relevant.

JavaScript scripting in the core and/or plug-ins - using GNOME Java
Script infrastructure (GJS)

GIMP scripts and plug-ins can be written in Scheme, Perl, Python and
C. Scheme is always available, but limited in its application in
regard on image manipulation. Additionally, as a list-processing
language, it may appear as weird to most users. Its main purpose is
scripting workflows for repetitive work.

The Perl binding is currently the least supported one and not
available on platforms other than Unix. The Python binding and the C
libraries are current the most powerful ones.

Javascript could take over Scheme's role as the genreral purpose
scripting language for GIMP.

[Note]: At least for scheme, there are no debuggers for scripting in
GIMP, and only tracing is supported. It would be neat if as a part of
this project, a javascript debugger will be integrated so scripts
could be debugged in a sane way. Again, this is not a part of the
original project suggestion (as suggested last year), but this is
something that could be helpful.
Make menus searchable

... i.e. have a textbox, in te menu for example, and anything typed
will be matched against all menu items and their blurbs and maybe
something more (like procedures not registered in menus).

Implement the free transform tool

For exact specifications, see:

(may be offline at the moment)

Replace the GimpSizeEntry widget

Right now both the code and the UI is a mess. The unit should for
example be in the text entry itself instead of in a combo box

Brush selector wigdet

More precisely one that is also capable for brush transform input
(size/angle/aspect ratio).

Slicing tool

One of the most requested features by web designers and/or interface
designers, is the addition of a slice tool. Currently slicing images
inside GIMP can only be done in grids (using guides and the guillotine
action) and you can't split just one rectangle in the middle.

For example, the following slice can not be achieved:

|            |                    |
|            |                    |
|            |--------------------|
|            |                    |
-------------|                    |
|            |                    |

Porting GIMP plugins to GEGL operations

There are many many GIMP plugins that would need eventually to be
converted to GEGL operations, if we want to use them in future
versions of GIMP.


Now, I'll throw in a first idea myself:

Adaptive Image Cloning (aka Semaless Cloning)

Direct cloning of parts from one image to another, usually ends in bad
results because of different lighting conditions and other settings
(such as white-balance) which causes the color of the cloned part not
to match the source image and look out of place. There are some
techniques to solve this, by using poisson equations and some other

It differes from the existing heal tool, since it is meant for taking
one area from an image, and paste it smoothly in some other area. The
current algorithm implemented by the healing tool allows to remove
local irregularities (such as dots, hairs, etc.) very well, but
experiments of using it to do "adaptive cloning" of areas (for example
copying a person from one image to the other) do not produce good

(It should be said that I'm a bit biased torwards this idea, because I
want to work on it as a student in GSoC and I already collected papers
about it. Still, I'd like a lot to see somthing like this in GIMP, no
matter who implements it)
Gimp-developer mailing list

Reply via email to