Thursday, May 17, 2012

Postprocessing software for Linux

As a long time computer nerd, I fell in love with Unix variants early on.  I've run Linux as my primary desktop OS since the late 1990's.  While that decision saves lots of money and allows endless opportunities to tinker, it does present problems when you get into serious photography.  Primarily, it restricts your options for photo organization and postprocessing software.  I've played with a few options over the years, and I wanted to share my opinions with you all.

First, a word about organizing lots of photos.  I have somewhere north of 100,000 images in my library.  I described my method for archiving them in an earlier post.  Basically, I organize everything by date.  I create a directory for each year, and within that I create a directory for each day.  This makes backing up my collection pretty straightforward, as it doesn't depend on any software-specific database layouts.  I've been using computers long enough to see lots of software applications come and go, leaving their users stranded with proprietary file formats that can't be used by any current program.  I won't fall into that trap, so I try to stick with standard techniques wherever possible.

Let's assume I've just photographed a big event, and I need to weed out the bad shots, clean up the good shots, and send the images to the client.  Once the images are placed into the proper folder for the day they were shot, the first step is to sift through everything to cull out the bad shots.  Once that's done, I'll go through and edit the keepers before sending them off to the client.

I talked about my culling process in an earlier post.  I used to use an open source program called "digiKam" for that.  It works reasonably well for quickly culling a large shoot, but it's not the best option for that (more later).  I still use digiKam for finding and trivial editing of one-off photos, but I no longer use it for large jobs for a couple reasons.

First, digiKam is a destructive editor, meaning it performs all of your modifications in place on the actual image.  You can undo operations while the editor is still open, but once you save the image, you're stuck with just a JPEG (or other format) image.  You can't go back later and change just the 3rd step of your 7-step process, and you're also stuck with storing a full size copy of both the original and every new version of your image.

Many professional editing programs are known as "non-destructive editors" or NDE's.  They store all of your change operations in a control file associated with each photo.  If you want to go in later and remove the B&W conversion that you applied, but keep all your other changes, you can do that.  These control files are quite small, so you can keep several different versions of a single photo without tying up huge amounts of disk space.  You can even print the finished version directly from that control file.  Of course, these control files are usually proprietary, so you're still dependent on the longevity of the app you chose.  I always export my final edits into a new JPEG -- partly for long-term viability, and partly because that's what I need to give my client anyway.

Another drawback of digiKam is that it takes forever to scan my library when it first starts up.  I'm not sure what it's doing during that scan, but it can take several minutes on a library as big as mine.  It's annoying.

Third, digiKam's editing operations are pretty simplistic, and almost exclusively operate on the entire image at once -- no masking or localized operation.

I used to do heavy editing -- especially anything involving localized operations on just part of the image -- in an NDE app called LightZone.  LightZone is a very powerful & flexible program, and is perhaps still the most versatile non-destructive editor I've used on Linux.  Unfortunately, it was written in Java and was therefore a big resource hog.  It ran quite slowly, so using it to process a large job kind of sucked.  It was great for editing single fine art photos where quality was more important than speed.  Alas, Light Crafts, the company that created LightZone, went out of business in 2011.  You can still find copies of the LightZone binary out in the wild if you want to play with it, and I certainly intend to keep my copy installed until something better comes along.  I think version 3.9 was the last official Linux release.

About a year ago, I also installed a program called Bibble 5 (originally by Bibble Labs).  Bibble was bought by Corel in late 2011, and the software is now marketed as "AfterShot Pro."  AfterShot Pro bears much similarity to Adobe's Lightroom program that's so popular with all the kids these days, and it runs on Windows, MacOS, and Linux (as do digiKam & LightZone).  It has always billed itself as being very fast -- much more so than LightZone ever was.  This is especially true on multi-core computers, because ASP can do its heavy processing in a background thread while you continue using the GUI.  The library management works well enough and has a slick enough user interface that I've recently switched from doing my culling with digiKam to exclusively using ASP for processing the events that I shoot professionally.  ASP has a 30-day free, full-featured trial version that you can download and play with.

Nevertheless, I've been disappointed with how long it takes me to postprocess a "simple" event shoot.  I've heard so many good things about Adobe's Lightroom from the photographic community that I got to wondering whether it would be worth the pain to buy Lightroom and do all of my processing on Windows rather than the Linux environment in which I'm so comfortable.  I recently downloaded the trial copy of Lightroom 4 on my wife's Windows 7 laptop and sat in on a 3-hour Lightroom workshop.

My experience in that workshop, combined with some reading online, determined that Lightroom has some cool stuff and would work reasonably well.  If you're running on a supported platform (Windows or MacOS) and can afford it, it's probably the best software for the job.

Lightroom does have a few down sides compared to ASP.  First is the cost:  Lightroom 4 currently sells for $150, while ASP sells for $60.  Second, I find the user interface to be rather unintuitive for new users.  Judging from the response in the beginner workshop I attended, many new users have a hard time getting up to speed with how it does things.  I'm sure it's efficient enough once you get the hang of it, but getting there could be a long road.  I've been using and writing a wide variety of image editing programs for about 20 years now, so I'm no newbie when it comes to deciphering user interfaces.  I think Lightroom 4 leaves something to be desired.

Of course, AfterShot Pro isn't perfect, either.  I do find its interface to have an easier learning curve than Lightroom, but there are lots of tricks that I never would have figured out on my own if I hadn't gone poking through the keyboard shortcut configuration window.  I pulled a few gems from that experience that have noticeably reduced my mouse usage and sped up my processing time.

Another big complaint I have with ASP is that it won't let you adjust the color temperature of a JPEG image.  You can adjust the RGB/CMY sliders for a JPEG's color cast, but simple color temperature adjustment is reserved for only raw images.  Why?  Nobody can answer that, and other people on their forums complain about it as well.  I generally work with JPEGs for my event photos because they're shot in dim rooms at high ISO, and the in-camera noise reduction is better than that of any postprocessing software I've seen yet.  This is one example of several seemingly arbitrary limitations imposed by ASP's designers.

I'm not wild about is ASP's raw processing, either.  Raw images look a little different for every camera (or rather, every sensor), so editing programs have to tweak the raw image differently for each device.  New cameras require updates to the program in order to be handled correctly.  (All editing programs work this way.)  In looking at the colors, levels, etc of the raw images from my Canon 7D and 50D, it seems that Lightroom does a better job of getting a good image right off the bat.  LightZone also does better than ASP in this area, IMHO.

The most glaring difference between Lightroom and ASP is the availability of aftermarket plugins.  There are countless different plugins available for Lightroom.  You can practically count the ASP plugins on just your fingers & toes.  This will change as the product matures, of course, but if you're the type that loves to play with different effects without wanting to know what's happening behind the scenes, a good selection of plugins would be a big selling point for you.  I'm not that type.

In my limited experience with Lightroom 4 and moderate experience with ASP, it seems that the manual photo editing capabilities are quite similar between the two packages.  Neither of them has the power of Photoshop (or even LightZone), but they're adequate for most users.  ASP does seem to slow down dramatically as you start adding multiple layers.  I didn't get that deep into editing with Lightroom, but since I was running it on a significantly faster computer, I couldn't have performed a fair comparison, anyway.

Although Lightroom is probably the better of the two packages by a narrow margine, it comes with some significant baggage named "Windows 7."  The advantages of Lightroom don't even begin to outweigh the pain of having to move all of my postprocessing workflow to Windows from the Linux environment where it currently sits.

Given all this, AfterShot Pro is where I find myself spending the most time when editing a large photo shoot.  I find the rating & culling features to be as quick & easy as possible.  Once I've got the collection narrowed down to just the keepers, the editing features are powerful enough to clean up most of the event photos I deal with.  ASP also makes it trivial to copy edits and metadata settings from one image to multiple others, which saves gobs of time when all of your images were shot in the same environment and require the same changes in post.  In short, ASP saves me time, and time is my most valuable commodity these days.  An efficient editor can mean the difference between making $15/hr and $50/hr on a fixed-price job.

So what happens when I need more editing horsepower than ASP or Lightroom can provide?  Sometimes, LightZone still fits the bill pretty well.  The fact that it's a non-destructive editor is a big selling point, because I'm always running short on disk space and I sometimes like to go back and tweak something after the first editing session is done.  However, I find myself using it less & less.

If I want to do serious editing, I generally find myself using the GNU Image Manipulation Program, or GIMP.  The GIMP is a free, open source program that's been around for close to 20 years.  I've been using it for basic graphic editing for most of that time.  It targets the same user needs as does Adobe's Photoshop, namely, hard core editing and graphic design.  The GIMP is much more than a photo editor.  It handles layers, brushes, effects, and all the other stuff that you'd expect to see in an app like Photoshop.  It doesn't have some of Photoshop's fancier features like content-aware fill, but it also doesn't cost $600.  Did I mention that the GIMP is free, and runs on Windows, MacOS, and Linux?

When I needed to clean up some professional portraits I shot recently, the GIMP handled the job easily.  I'm really only scratching the surface of all the great features that a program like this offers to serious photo editing, but I like what I've seen so far.

So that's the current state of my Linux photo editing software collection.  I know there are plenty of other programs available.  It's possible that something I've not heard of would be a better option that what I've currently got, so PLEASE speak up if your favorite program wasn't mentioned above.  I can't wait to hear from you!


  1. For some unexplained reasons I'm stuck with Linux at work. And I really, really miss Adobe Lightroom. I didn't find on Linux anything that can rival Lightroom on Linux.

    It's not only the processing tools, but all the workflow... I usually go through my session photos and give them a look, rating them with stars and afterwards I focus on all the images with higer ratings and start a proper post-processing.

    When the postprocessing is done, I give different ratings to each virtual copy. Also I may apply the same settings for a series of photos in the session.

    Afterards, when the processing is done, I export them to JPEG, Flickr or send by ftp.. I can add watermark, frames, or send to a printer or printer service.

    If needed, I can further modify the images in Photoshop straight from Lightroom... and further dond the process on the modified images.

    All this is lost when woking with AfterShot pro. They don't play on the same leage.

    1. The first half of what you describe is all available in Corel's AfterShot Pro.

      I've never tried to upload straight to Flickr, since I don't do a lot of high-volume work there. I've never looked into watermarking or framing images, so I can't comment on that.

      I've never tried to print from ASP, but I'd be very surprised if you couldn't print directly from the software. You're probably right about sending to an online print service like Mpix, though.

      I routinely perform further editing (advanced layers & healing, etc) in The GIMP right after ASP. The GIMP is as close as you'll get to PS on Linux.

      I agree that Lightroom is still more advanced in some areas than AfterShot Pro, but the gap isn't as large as you think.

    2. Now that I'm sitting in front of my ASP install at home, here's an update:

      Batch processing and individual ratings have been designed into ASP (formerly Bibble5) from day one.

      Printing locally is under the "File" menu, just as you'd expect. There's no option to send to an online printing service like WHCC or Mpix, but as each service has its own upload mechanism, this would be difficult to implement. I don't see any method for automatically uploading to galleries like Flickr, either.

      Watermarking (text) and creating frames can both be done through free plugins (zText and zFrame). You can find ASP plugins at:

      "Edit with GIMP" is on the standard right-click menu when you click an image thumbnail.


Please leave your comment below. Comments are moderated, so don't be alarmed if your note doesn't appear immediately. Also, please don't use my blog to advertise your own web site unless it's related to the discussion at hand.