[Gegl-developer] Help make GIMP operations better (GSoC 2012)

Hi all

Just like last year, one of the tasks that we want to offer students in
this year's GSoC is porting GIMP image processing code to GEGL. This is
a very interesting task and if you are a student with experience in C
programming and an interest in computer graphics, be sure to consider

GIMP is being modified to use a new image processing library called
GEGL. This will bring much requested features to GIMP such as support
for more precision in image manipulation operations, and better support
for different color formats. For this, we have to rewrite a lot of the
image processing code in GIMP and move it to GEGL. The resulting code
will do more or less the same things, but will work with a different
data format, and inside a different framework (GEGL).

There are many such operations (in the main application and in
plug-ins), each doing something entirely different from another.
Porting each operation is a relatively simple and straightforward task,
but it requires a good command over the C language and ability to
review and understand unelegant code.

As this is a large task, it could be sub-divided into smaller tasks
(groups of operations) to be taken up by more than one student.

  * We want to see a demonstration of the student's ability to review C
    code in the context of the GIMP plug-ins.

  * The student should be able to work with computer graphics code.
    Most of the code is raster graphics related with a bit of
    computational geometry.

  * As part of this task, much of the existing code may have to be
    entirely rewritten. But this could be smaller and more elegant in
    many cases than the existing GIMP code, as GEGL ops are written
    using floating point in a well-defined colorspace.

  * The student's work will include coding, writing testcases, profiling
    and optimizing performance, and checking for bugs.

  * We are looking for students who are committed to finish their work
    and communicate eagerly with their mentor. We will assist as much as
    we can. Though the student is expected to have a background in C
    programming, we will teach the student how to use various
    programming tools if necessary.

The student is asked to subscribe to the gimp-developer mailing list and
send the following:

 1. Your background as it applies to this task (please don't send any
    personal information)

 2. A code review and algorithm description of some GIMP plug-ins (e.g.,
    cubism, fractal trace, plasma)

 3. A code review and algorithm description of the following GEGL op:

 4. Sample implementation of a new GEGL op. This could be anything of
    your choice, even Hello World. Please send it as a patch against the
    GEGL master branch.

If you need any help with any of these tasks, please ask on the
gimp-developer mailing list, or by chatting in the #gimp IRC channel on


Attachment: pgpm8YMipmSlM.pgp
Description: PGP signature
