User:James Legg

From PanoTools.org Wiki
Revision as of 20:58, 2 April 2009 by James Legg (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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:

  1. 'enfuses' exposure stacks
  2. 'enfuses' focus stacks
  3. 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.