Linux Tools for Professional Photography
A new breed of inexpensive, photo-quality products are revolutionizing the photo industry, and Linux is there with the tools to put these products to use. In 1990, while editing my first digital image on a Mac SE, I had visions of one day having all the power of a high-end photo retouching workstation in my own digital studio. Several years later, I had the Mac studio I had dreamed of but still was dependent on an outside service bureau for scanning and printing. Around 1996, I saw an early version of The GIMP and was excited at the possibility of moving my digital studio to Linux. Fast-forward to the present: inexpensive photo scanners and printers are available that offer professional results at affordable prices, and the Linux drivers and tools are there to take advantage. A color management work flow is starting to take shape on Linux, and The GIMP is maturing at a steady pace.
I now can go from scanned transparency through digital retouching to final output, all in my own studio running Linux. This article explains the steps required for creating professional digital prints with Linux by following one of my images through the process. Rather than go into details about compiling and installing Linux packages, I try to give a bird's-eye view of how the different pieces fit together and provide links to more detailed information.
Not much separates the workstation I use for photo editing from a good Linux desktop. Certainly, the more memory you have the better; I recommend 512MB as a minimum, and a fast disk is a real time-saver as well. My photo workstation is a dual-head, 1.7GHz P4 machine with 1GB of RAM and three 36GB, 10K RPM SCSI hard drives. What truly separates a photo editing setup from a generic desktop are the peripherals. Excellent photo-quality scanners and printers are now available for under $1,000 US. Most of these are supported under Linux, but always check the Linux compatibility pages before you buy one of these specialized devices. When looking for a scanner, cross-check advice from dedicated on-line photo forums, such as Photo.net, with the Linux compatibility information found on the VueScan and SANE Web sites. Because I shoot large format, 4" × 5" film, my choice in desktop scanners is limited to flatbed scanners with transparency adapters. For 35mm film scanning, the dedicated film scanners offer better results than flatbeds. For photo printers, it's hard to beat the current generation of Epson inkjets. The LinuxPrinting.org site provides a great utility to find out whether a particular printer is supported under Linux, and it even suggests the best driver to use.
Communication is all about having a standard vocabulary that two parties understand, and in the world of color communication the International Color Consortium (ICC) provides this lingua franca. All color devices have their own color space, meaning they are able to reproduce only a certain range of colors. This type of color is known as device-dependent color. In order to convert between different color spaces, a device-independent color space is needed. ICC uses a color description known as the CIE 1931 standard colorimetric observer to describe accurately the color space of any color device. ICC profiles are files that contain the information needed to translate the color space of a particular device to this device-independent color space. A special type of color space, called the working color space, is a device-independent color space used when editing an image. By having one common language and a translator from each different language, complete communication is possible. Although it's helpful to know all about color theory, it is not required to make good color prints. All you do need to know is that ICC profiles are used to convert the colors from one device to the colors of another device accurately.
- Is the Private Cloud a Real Cloud?
- Give new life to old phones and tablets with these tips!
- Readers' Choice Awards 2014 Poll
- rsync, Part II
- Tech Tip: Really Simple HTTP Server with Python
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- Memory Ordering in Modern Microprocessors, Part I