GSoC/GCI Archive
Google Summer of Code 2011

GNU Image Manipulation Program

Web Page:

Mailing List:

Quoting Wikipedia's short, but accurate description of GIMP:


"GIMP (short for the GNU Image Manipulation Program) is a free software raster graphics editor. It is primarily employed as an image retouching and editing tool and is freely available in versions tailored for most popular operating systems, including but not limited to Microsoft's Windows, Apple's Mac OS X, and GNU/Linux. In addition to detailed image retouching and free-form drawing, GIMP can accomplish essential image editing tasks such as resizing, editing, and cropping photos, photo montages combining multiple images, and converting between different image formats. GIMP can also be used to create basic animated images in the GIF format. GIMP's product vision is that GIMP is or will become a free software high-end graphics application for the editing and creation of original images, icons, graphical elements of web pages and art for user interface elements."


  • Adaptive Cloning (aka Seamless 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 methods. This suggestion allows a fast (realtime) solution for allowing to paste seamlessly parts from one image to another.
  • iWarp like tool for Gimp Idea: The goal is to implement a live on-canvas iWarp like tool. Behavior: The basic usecase of this tool would be: 1. The user select the iwarp tool. Nothing is displayed on top of the image. 2. If needed, the user select a particular behavior for the tool (drag,shrink, grow, whirl, pinch ..) 3. The user do a stroke on the canvas. The image is updated accordingly.
  • OpenCL in GEGL My proposal is about making possible to write GEGL operations in OpenCL. There are two tasks: - Automatic memory management and migration of tiles from GPU to the CPU and the other way around. - Make some GEGL operations in OpenCL.
  • Porting GIMP plugins to GEGL operations I'm currently enrolled in Polytechnic University of Bucharest, Romania. I'm a first year student. I have participated in IT project and math contents during high-school and also this year. I enjoy working in a team. The main point of my GSoC 2011 project is to port GIMP plug-ins to GEGL, because GEGL API supports higher pixel depth, has a smart job and memory management, allows non-destructive editing. I am very enthusiastic about being an active contributor of GIMP not only this summer.
  • Replace GimpSizeEntry widget The GimpSizeEntry widget in its current form, which is used across the user interface for entering values and their corresponding units (e.g. image dimensions, lengths, etc.), has a couple of issues both from a users and a developers standpoint. The project is to rewrite the widget being based on GtkEntry with the ability to directly enter and display the desired unit in the text field itself instead of in an external control. Simple mathematical terms for the input of values in different units will be possible using the existing parser (gimpeevl).