The popular open source RAW converter UFRaw recently gained new functionality when it was bumped up to revision 0.12. The new release integrates new core image-processing functions and new user interface features to simplify photo editing.
If you want to try the software for manipulating your digital camera's RAW images, you can download UFRaw source code tarballs. Check the installation instructions for any external dependencies you need to acquire separately -- in particular, the program's new scrollable preview window uses the GtkImageView widget, which is not yet supplied by several Linux distributions. You can compile UFRaw just fine without GtkImageView, but the ability to scroll around a zoomed-in image preview is handy, so the widget is worth pursuing.
The project does not build binary packages, but it does maintain a list of links on its download page to official and unofficial packages for Debian, Ubuntu, Gentoo, Fedora, openSUSE, Mandriva, and other Linux and BSD distros.
I chose to compile the latest point-release -- 0.12.1 -- from source, since there was not a binary available for my current distro (Ubuntu Feisty).
The version available in Feisty is 0.10, but only two user-noticeable features were added in the interim 0.11 release. The first is a "highlight restoration" feature; when you darken an image by adjusting the exposure compensation downward, it can bring back some highlights to keep the picture from looking too murky. You have the choice of restoring the highlights in either Hue, Saturation, Value (HSV) or Luminance, Chrominance, Hue (LCH) space, which the documentation says will result in sharp or soft details, respectively.
The second addition is highlight clipping control for exactly the opposite situation -- you use it when brightening an image that is too dark. The default behavior is just to "clip" highlights to pure white if they are brightened beyond visible range. The new control allows you to recover some image detail by smoothly transitioning the washed-out highlights to pure white instead.
0.12 adds a few more user-visible tools to the mix. The easiest to appreciate are real transformation tools, allowing you to perform the basic crop, rotation, and flip adjustments to your image before you export it. Only 90-degree rotations are supported for now, but the transformation tools have earned themselves a separate tool palette, so more may come in the future.
I particularly like the crop tool implementation: you can adjust the crop with spin-boxes outside the image preview. Using the mouse to draw a crop is imprecise and risks forcing you to start over with a stray click.
The zoom controls have added "zoom-to-fit" and "max zoom" buttons to the existing zoom-in and zoom-out -- although "max zoom" only zooms to 50% magnification. Oddly enough this does not appear to be a bug, since it is mentioned in the release notes.
The spot color selector now gives you more information, showing (in addition to the RGB value), the luminosity and Zone System values for any pixel on the screen.
Apart from the new tools, UFRaw has undergone some user interface redesign, too. In older versions, the interpolation control was nestled beneath the image preview window, away from the other controls. In 0.12, it has been moved up to the tool palette where it belongs. More work has gone into sorting the image controls based on the order that they are actually applied when converting an image -- white balance and temperature are in the leftmost tool palette, base curve in the next, followed by saturation, and so on. That is a good design choice, even if the average user does not know how the operations affect one another without reading the users' guide or wiki (and let's be honest, most people don't).
I think there is still more to be done in this area, though -- the current layout mixes these image tools in with things like the zoom and transformation tools, which do not interact with the conversion process. In fact, if you compile UFRaw without GtkImageView (as I did the first time) the zoom tool is buried under the color balance palette, when it really should be accessible all of the time.
The authors apparently tried to find icon representations for all of the tool palettes and operations, but I found some of them indecipherable, maybe because all of the text labels are gone (except for, inexplicably, the EXIF tag palette's); having the option to turn them on or off would be nice.
Examining the others, I recognize the CIE chromaticity diagram icon and correctly associate it with color management, as might most color management fans. But I doubt a random sample of users would correctly guess the meaning of the vertical and horizontal lightbulbs used to distinguish LCH from HSV highlight restoration, and I still can't figure out what the luminosity/saturation palette's icon represents.
Behind the scenes changes
There is more to UFRaw than just new tools and icons, though. As hinted at above, UFRaw is color-managed, and this release is the first to support display profiles and display profile rendering intents. That makes it possible to use a fully color-managed workflow for your editing session; something not to be taken lightly. A half-managed workflow is not really any better than an unmanaged workflow.
The interpolation step in RAW conversion (in which the discrete red, green, and blue sensor values are merged into RGB pixel data) has some new muscle in this release, too. Added are two new algorithms: enhanced adaptive homogeneity-directed (EAHD) and Patterned Pixel Grouping (PPG). As always, which interpolation algorithm is best depends on the image and is a subject of frequent debate. The release notes say that PPG is notably faster than many other methods, and that EAHD is especially good at removing color artifacts.
Distinct from interpolation but similarly low-level is denoising, and 0.12 for the first time provides an interface for applying the wavelet denoising feature provided by dcraw. Dcraw is the foundational RAW conversion program used by almost all GUI RAW converter apps.
One reason why UFRaw is so popular is that it is available as a plugin for the GIMP, thus making it a convenient way to open up a RAW image, edit it, and output the result for consumption in print or the Web. Version 0.12 goes one better, adding a similar plugin for CinePaint, which could come in handy if you need to edit a photo in 16-bit-per-channel color.
According to the release notes, the CinePaint plugin was written by a CinePaint developer, so other free software imaging apps may have to take up the mantle themselves. Some, like Krita, offer built-in RAW conversion features, but UFRaw provides a substantially stronger and more flexible feature set.
UFRaw may remain most popular as a GIMP and CinePaint plugin simply because of the convenience factor, but it is just as viable as a standalone application or as a batch processing engine. This latest version is a noteworthy update, highly worth recommending.