This is the Google Summer of Code 2009 project proposal page for James Legg. In the 2008 Summer of Code I wrote the Hugin Fast Preview window
Enfuse / Enblend Gimp Plugins
I would like to create Enfuse / Enblend Gimp plugins so that people can blend image layers with minimal visible seams directly in the GNU Image manipulation program.
Previously, a user would have to export each layer as a separate file and blend them on the command line. After the project's completion, a user should be able to have the same functionality directly in the Gimp. This would have the advantages of speed of use, as it removes several steps for the user; the ability to use Enblend and Enfuse in Gimp scripts; and the ability to consider blending like any other operation in the Gimp, with features such as undo, redo, and repeat last effect. A user interface will be created that allows the user to pick the options that are currently command line arguments. To demonstrate the plugins, I will create scripts that:
- 'enfuses' exposure stacks
- 'enfuses' focus stacks
- makes any texture a seamless image, similar the "Make seamless" plugin, however it will use Enblend to reduce visible seams.
If time allows, I could also create a Gimp plugins to do the job of nona and align_image_stack (with layered, unblended output, as the Gimp does not support high dynamic range images). Then I would create scripts for aligning and blending focus stacks or exposure stacks directly in the Gimp.
This project is based on this project suggestion
I have picked this idea as it would be useful for panoramic photography and seamless texture creation, both of which I do myself. I use Hugin and the Gimp, and such a plugin will be very useful for me as well as others.
I will work full time for the majority of Summer of Code. However, my final exams are at the beginning of June, so I intend to be revising for them, instead of coding, for the first three weeks. I will also need to take a couple of days off for my graduation and a family event.
This is a rough estimation as to how I spend the time:
- Weeks 1-3: revision (not coding).
- Week 4: Create the user interface for the Enblend and Enfuse plugins.
- Week 5: Write the part of the plugins that gets the required image information (e.g. image format, sizes of layers) from the Gimp, rather than a file.
- Weeks 6-10: Modify Enblend so that the source of the image data can be from the Gimp, and not just a file, and the result can be written back to the Gimp rather than written to a file.
- Weeks 11-13: Testing, bug fixing, and enhancements.