April 19, 2011

Editing RAW Photos on Linux with Rawstudio 2.0


The Rawstudio raw photo editor made its 2.0 release on April 8, boasting a hefty list of improvements. There are new features, such as tethered shooting and automatic distortion correction, almost every tool in the toolbox has seen an improvement — including some you might not think needed improving. If you shoot with a raw-capable digital camera, it's time to update.

Binary Rawstudio packages are provided by the project for Ubuntu, with source code releases available for those on other distributions. You can also subscribe to the project's PPA to get daily builds in between releases. Compilation takes a standard ./configure; make; sudo make install process that should be familiar to most Linux users. You may want to consult your own distribution's package manager to take a look at the dependencies, however — it is a long list, including standard image processing libraries, but some less familiar packages like LensFun and libraptor as well.

What's New

It has been two years since the last major update to Rawstudio, version 1.2. Not surprisingly, the list of changes is lengthy. The UI has evolved in a number of ways: the adjustment sliders all sport "reset" buttons and text-entry fields (which allow for precision that on-screen slider widgets cannot provide), and the thumbnail browser has been overhauled. Similarly, the main image preview pane picks up two new visualization aides — a "navigation" pane that shows your current location with respect to the full image, and a "loupe" that magnifies to a 1-to-1 view in a pop-up. I also noticed that the mouse-hover "help" tips are actually useful in Rawstudio 2.0, explaining the interface itself and the features, which makes it a rarity among FOSS applications.Rawstudio Editing

You can also split the Rawstudio interface over two screens, keeping the thumbnail browser and controls in one window and using the other screen for full-screen image display — this is especially helpful if you have two monitors of varying color quality, such as a laptop with an external display hooked up. An entirely new feature in 2.0 is tethered shooting mode, which allows you to control your USB-attached SLR camera directly from within Rawstudio. The canonical use for this feature is sensitive studio setups such as macro photography, but you can perform enough weird tricks using tethering (such as automatic time-interval shooting) that the sky's the limit.

There are a lot of speed improvements in this release, including pthreads-based multithreading for virtually all events — from thumbnail loading to image adjustments — which noticeably picks up performance on multi-core machines, and batch jobs performed in separate background processes. Directory loading is also faster, even with extremely large (i.e., many thousands of files) directories. In addition, the core image adjustment functions are optimized for Intel's SSE/SSE2 instruction sets, so most if not all recent processors should notice an extra speed boost there as well.

A few key features are important for compatibility. First, batch uploading is now supported for Picasa Web Albums, Flickr, and Facebook photo albums, satisfying a long-requested feature request. Second, this release adds a built-in tag editor, which allows users to add tags to all of their images. Rawstudio stores these tags in the EXIF metadata, which means it will be preserved even if the images are moved around in the filesystem, and they should be accessible to third-party photo applications as well.


There is a whole other set of improvements that casual photographers may barely even notice, but which show an attention to detail. One is automatic "hot" or "dead" pixel removal. When any one of the millions of pixels on a modern SLR sensor fails, it can result in a stuck pixel. Rawstudio can now identify these pixels, remove them, and replace them in the image with the minimum difference of the surrounding pixels. The stuck-pixel detection routine is very conservative so as to avoid accidental "false positives."

Another is automatic lens correction. No lens perfectly copies light onto the sensor; the shape of the glass and its properties always result in a few kinds of distortion — geometric distortion at the edges of the frame, accidental "vignetting" caused by the coating on the glass, even chromatic aberration caused by the difference in wavelength between red, green, and blue light. Luckily, all of these factors are predictable, if the characteristics of the lens are known.

Rawstudio uses the LensFun library to provide lens correction functions based on LensFun's detailed database of lenses. On any image, you can click on the "Edit lens" button, select your lens from the menu, and Rawstudio will load in the correct settings. Geometric distortion is corrected automatically, since it is scene-independent. Vignetting and chromatic aberration correction are provided by a pair of controls, since their degree and effect changes depending on the photo.

Even if you're not particularly interested in the exact science behind these corrections, you pick up a couple of interesting tools — go ahead and use the vignetting slider to increase the amount of vignetting in the image, if that's how the muse strikes you.

Finally, 2.0 is the first Rawstudio release to be completely color-managed from start to finish. This again is a topic many casual users think little about, but it's an important step because more and more of the Linux graphics stack on the desktop is on board. When you no longer have to think about color management because your printouts look exactly like the image on your LCD monitor, you'll be glad it's in there.

Weird Science

Speaking of color management, Rawstudio has broken from tradition in one respect with 2.0, in that it supports DNG Color Profiles (DCPs) for cameras rather than the more widespread ICC color profiles. DCP is a color profile standard developed at Adobe that takes a camera-centric approach to color reproduction, featuring some techniques not defined in ICC profiles — such allowing for different illuminants.

The sun and a fluorescent light bulb produce very different colors of white light (a fact almost everyone knows), but they also result in different colors when they hit objects in the scene. DCP accounts for this by allowing for different illumination models, which technically transform the Raw photo data into different hues, but do so in order to create images that "look correct" to the eye. You could achieve the same effect by creating multiple ICC camera profiles for different light sources, but DCP profiles wrap them all into one.

Rawstudio Lens FunIn addition, the format defines a better color-correction model by specifying how the profile relates to specific steps in the color adjustment process. There is a fairly in-depth discussion of the topic and how it fits into Rawstudio on the project's blog; it's good reading. Whether you read it or not, Rawstudio ships with more than 300 predefined DCP profiles for common digital cameras, so it just works.

But what I consider most interesting about this feature is that the Rawstudio team took the trouble to research this subject and adapt the best solution, even though it is a difficult one to explain. You see evidence of this in a number of other improvements on the 2.0 release notes, such as quality improvements to the noise reduction, interpolation, sharpening, and other image filters. There are significant improvements here that you probably would not have known needed a fresh look.

For example, consider the saturation slider. It just works, in Rawstudio 1.2 just like in dozens of other graphics applications, open source or otherwise. But Rawstudio 2.0 changes the saturation technique in a way that prevents saturation clipping — the saturation slider now controls a curve, rather than simply cranking a straight line up or down. The corresponding blog entry explains the situation in detail, but for the rest of us, you'll merely notice that when you turn the saturation up, stuff doesn't turn flat and cartoonish anymore.

Image is Still Everything

The truth is, if you want to learn about image processing, and pick up useful tips for adjusting your photos, the Rawstudio project blog is a great resource for anyone. But for everyone else, the end result is all that matters: the developers have taken an approach to improving the quality of the final output by choosing better defaults, backed up by real math. It makes the application more useful whether you find the details interesting or not.

I think it's good to see the various open source raw photo tools begin to differentiate themselves, a process that has taken place slowly over the past two years or so. Darktable seems interested in catering to professional photographers (not in the sense that it creates higher-quality images than the others, but because it adds utilities for managing shoots and tracking image libraries), UFRaw seems geared towards providing the widest possible choice of adjustment algorithms, etc, etc. Rawstudio seems to be gravitating towards being the leanest, fastest alternative — but not by leaving out features. Instead, it opts for working out the smart defaults in advance, then implementing them in an interface where they just make sense, even if you're not an image processing expert.

Best of all, because all of these applications are open source, you don't have to weigh them against each other. Just download the packages and install them all. Although you'll probably want to go take more pictures once you do.

Click Here!