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): http://gegl.org/contribute.html 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: http://gui.gimp.org/index.php/Transformation_tool_specification (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 methods. 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 results. (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 Gimp-developer@xxxxxxxxxxxxxxxxxxxxxx https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer