The Wideangle plugin is licensed under the GPL.
The source code is available here. Latest version is 1.0.10.
gimptool --install wideangle.c will compile the plugin and install it in your local Gimp plugins directory.
The plugin appears in the Filters/Distorts menu as Wideangle....
The Wideangle filter is used to correct (or simulate) the distortion typically seen on photographs taken with a wideangle lens. There are six controls.
The Do Preview toggle enables and disables the preview window. The preview can show either an overview of the whole image, or a detail view which shows a 5x5 array of full resolution closeups. The overview is useful for casual use, while the detail view allows you to create a precisely calibrated preset for a particular lens. To create a lens preset, use a photo of a grid pattern. Start by adjusting the Main control until the lines of the grid are as straight as possible. Use the Shift controls, if necessary, to correct for any asymmetry. Finally, if the best setting of the Main control leaves a "wiggle" in the lines, use the Edge control to remove it. (You may need to readjust the Main control a little.) Once you have the correct settings for a particular lens, you should be able to save the settings as a new preset and use them for all images taken with that lens.
Or just play around.
The preset controls allow you to reset everything, select a previously defined
preset, or save the current settings (if they've been altered) under a new name.
Preset names can contain (fairly) arbitrary characters. If you mess up the presets,
they are stored in a text file under your Gimp user
directory in the
Regardless of the Gimp's settings, the Wideangle filter always uses cubic interpolation. This is not a bug, it's a feature.
What's with the pop up menu on the "select" button?
I originally had a regular option menu to select presets. However this had a drawback, namely that the displayed option was only correct until a control was adjusted. A pop up menu, although not the normal choice, provides exactly the correct model to the user.
Written by David Hodson. Many thanks for suggestions and improvements to Lars Clausen. (But bugs are still my fault.)