A Linux-Based Photography Workflow (Part 3: Image Editing and Conversion)

This is part of a series of posts on Linux-based software tools for a photography workflow. Please read that first if you are coming to this series fresh–it will provide the necessary background information to explain the purpose of this series. In this particular post I’ll talk about image editing and conversion.

Based on the popularity of iPhoto, Picasa and Lightroom in the commercial, closed software sector, most open source photo management programs from recent years are all-in-one organization/viewing/editing tools.  Targeted at the novice to intermediate level, you have F-spot, digikam, etc.  At the advanced end we have a few tools that started out as RAW converters and have accumulated features for organization. These include Raw Therapee, Raw Studio, etc. There are also some commercial options for Linux in this category that I have tried, including LightZone and Bibble Pro.  On the organization/viewing side, I find most of these to disappoint on the user interface or features, the requirement for an image database, or speed.  Consequently I prefer an approach that separates the organizer/viewer from the editing tools.  As I mentioned previously, I have settled on geeqie as my general organizer/viewer. From geeqie I can handle almost all tasks associated with image ingest prior to more general editing.  Here then, is what I use when I get down to actually editing.


GIMP Screenshot

For general image editing I continue to rely on an old standby in the Linux-based stable: the Gnu Image Manipulation Program (GIMP).  This has always been the “Photoshop for Linux”, offering a similar way of working with images as the well known commercial alternative. The general selection and adjustment tools are stable and continue to improve incrementally with each version and a variety of useful brushes, filters and plugins are available, including a very useful technique for toning.  Fortunately the GIMP acquired color management a couple years back, and by loading my monitor and printing profiles I am able to achieve very good on-screen matches to prints, especially with a decent high-gamut monitor. RAW conversion is pretty decent using the “ufraw” plugin.

Although the GIMP lacks many of the features of Photoshop, most of them I wouldn’t use anyway.  There are a few things, however, that are still lacking for my needs:

  • lack of adjustment layers
  • lack of high bit-depth editing
  • lack of more intuitive white balancing tools
  • the continuing rearrangment of editing menus

The lack of adjustment layers can be worked around rather primitively by duplicating layers, entire images and in some cases saving multiple versions of the file, but it remains a frustrating limitation.  The lack of high bit-depth editing may ultimately be a “make it or break it” issue like color management, and I can only hope that the GIMP developers can get this included before too long. The reason is dynamic range: many of the new sensors can produce 14-bit RAW files, and it would be nice to convert to TIFF and take the editing into the GIMP from there. There was a fork of the GIMP a while back that the movie folks in Hollywood did called “cinepaint” where they added high bit-depth editing, so it can’t be too onerous.  As a matter of fact I used that program for a little while before GIMP acquired support for ICC profiles and it was very nice; unfortunately it does not look like it has been actively maintained for quite a while.  As far as white balancing tools, the GIMP has the usual black/grey/white droppers and the ability to adjust individual curves for R/G/B, but what I am referring to is a more visually intuitive tool that allows you to adjust the apparent color temperature the way some other programs do. Finally, I don’t know why the developers find it necessary to rearrange the menus with every release. This is a continual frustration to documentation and tutorial writers, and virtually insures that the documentation and tutorials for the GIMP are never accurate.

Based on this last rant you might think I’m down on the GIMP, but I’m not really.  It remains a very stable, useful program that is my main workhorse for image editing. I love its flexibility and plug in architecture that lets me write my own extensions and download others. Recently I’ve been playing with the Film Simulation plug in, which allows you to mimic the look of a couple dozen classic B&W films.

Raw Therapee

Raw Therapee Screenshot

If GIMP is to Photoshop, then Raw Therapee is to Lightroom.  Recently open-sourced, RT is a very capable RAW converter that has evolved a lot of really useful tools for denoising, shadow/highlight recovery, basic adjustments, etc.  The RAW conversion algorithms are said to be very good, and I have no reason to doubt it, as it has worked very well for me on the occasions when I shoot RAW. I find myself using it more and more even to edit JPEGs because it has such intuitive tools for things like white balancing, exposure adjustment and noise reduction. The program also features a non-destructive workflow that lets you very easily go back to any point in the editing history.  You can also make snapshots of the editing history, which is a really cool feature. RT has full support for ICC color profiles as well, meaning no nasty surprises if you’ve got decent profiles installed.

RT has an “organizer” pane which is painfully slow to scan directories and is in general not very pleasant to use.  I already mentioned that I prefer my organizer/viewer as a separate program, and I have yet to find a convenient way to load images into RT via geeqie, so I usually end up loading photos directly from the RT user interface, which is a bit of a drag.  Otherwise this is a great tool that is becoming an increasingly important part of my workflow.

Image Magick

Very briefly I’ll just mention one last tool that I use quite frequently and that is the Image Magick suite of command line tools.  I use these primarily in custom scripts that I write to easily automate conversion of images for the web, making books or folios, etc.  Extremely flexible and useful for downsampling + sharpening (different sizes), ICC profile conversion and so forth. Highly recommended.  Like the GIMP, these can usually be installed straight from your Linux distribution package archive.

7 thoughts on “A Linux-Based Photography Workflow (Part 3: Image Editing and Conversion)

  1. To adjust white balance, have you tried using “Tools::GEGL Operation::color-temperature” (after turning “Colors::Use GEGL” option on)?

  2. @Parv,
    Wow! That’s great! I’ve never touched the GEGL stuff, but that’s very close to what I was looking for. Thank you for pointing that out!

    Any reason the GEGL operations are turned off by default?

  3. Eric, I do not the reason for the default setting but my speculation is that perhaps the GIMP project considers GEGL incorporation to be experimental and/or incomplete.

    Do note that using some other GEGL tools (say c2g; haven’t tried most of them), preview updates may take a longer time (than rest of usual GIMP filters & such) while fiddling with (tools’) options. In this case, enable preview & try with lower values. Turn off preview & test with higher values on later runs.

    See also …



    … on use of c2g.

  4. Running Linux is probably not in the cards for me right now, however I find this to be very interesting. These days I shoot with a D800 and process using Adobe Bridge and ACR 7. 90% of the time I don’t have to use Photoshop. I used to process with Lightroom, but version 4 is slow even with 12 MP files on anything but the fastest machines. With the 36 MP files that come out of the D800 Lightroom 4 is slow no matter what it runs on.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: