Linux Color Calibration?
eweaver asks: "Windows has built-in color matching modules like ICM and sRBG, and 3rd-party solutions like Colorific and ColorBlind, but what is the Linux/XFree86 equivalent? Caldera Graphics seems to have some sort of solution, but I don't think it's universal, it seems to work only in their programs. What can I do so that the colors I see in all my Linux graphics apps (mainly GIMP and Blender) are accurate (adjusted for gamma, white point, lighting, etc.)?"
I manage a prepress department where color issues and color calibration are very important. The Mac and to a lesser extent Window have color calibration built into the OS. I don't know of any ICC profiling or calibration for Linux, but I haven't used Gimp in a while either so I don't remember. In any case an ICC profile or other file for monitor calibration is only the first step and lacking built in profiling you can alway purchase a monitor which has this ability built in. Some on the Mistubishi monitors for example. Understand that any time you change the lighting in your room recalibration will be required in order to maintain absolute color accuracy. You probably don't really need this accuracy and I recommend that you get a monity wich gamma correction built in, create a graphic with lots of colors in it (the more diversity of color the better), take that graphic on disk (or ftp) to a graphics service bureau and have them output a digital on their color corrected equipment. Put your room in the most commonly used lighting setup, hold your digital next to your monitor and adjust the gamma correction settings on you monitor until you get pretty good match. It is better to go a little dark that a little light. Paritcilary watch the reds and the blues. Also remeber that Gimp uses the RGB color space exclusively and the digital is output on a CMYK printer which has a smaller color space (is capable of fewer colors). When you get a good match between your digital and your monitor you are 95-97% as accurate as the big boys with thousands of dollars worth of color calibration equipment.
All you need in this life is ignorance and confidence -- and then success is sure. Mark Twain
Well, in the design world what's really important is that the monitor output matches the printed output; that's what color matching is all about.
Physical systems like Pantone were created so that, for spot colors anyway, we could all know that we were working with the same color because we referenced it with a number, and everyone who had a Pantone swatch book could look at an identical print. So we all have a common frame of reference. Of course, that only applies to spot colors and professional plate printing. With CMYK, even if your printer is Pantone calibrated, you still have to do the proofing stage to make sure the balance is right.
In the desktop-publishing/PC world, the final output is not done by a printing press with Pantone inks, it's done on a desktop inkjet. So specifying a Pantone color doesn't gain you anything, as printers vary wildly in there outputs. Hence the need for software (like Apple's ColorSync) that comes with a vast database of "color profiles" and can automatically map one device's capabilities to another (ie, your monitor -> your printer for prrofs, and then your monitor -> The Big Printer for production usage). It's not providing a common frame of reference, but relative mappings.
I hadn't heard of that Caldera Graphics product; it sounds interesting, but as it appears to have been written by ESL, I'm not sure I'm getting all the details accurately. Any Francophones out there?
Nate
-- Watch the REAL Jon Katz.
A fair amount of info on color management tools is on my color management page. One of the most exciting pieces of technology is the Argyll color management system.
The main thing that's lacking right now is integration. A lot of the pieces exist, but they're tied together yet. I plan on integrating Argyll into Ghostscript over the next few months, so that's likely to be a good start.
Interestingly enough, X had a very good start at a color management system (XCMS). However, as far as I know, nobody ever used this seriously, so it's yet another hunk of worthless junk hanging off the X server. This type of thing still "works", though:
xterm -fg CIEXYZ:0.371298/0.201443/0.059418
Of course, the chance of your monitor actually matching the CIE color is pretty close to nil.
In any case, there's quite a bit of work underway, and it's reasonable to expect that Linux will eventually have good color management. If you want it sooner rather than later, contribute to one of the projects!
LILO boot: linux init=/usr/bin/emacs
As I posted below, the whole point of the color calibration stuff in X is it can handle color in a device-independent way by using CCCs (Color Conversion Contexts) to specify a display's color pecularities. Do your own monitor color calibration and simply load the calibration data onto your Xserver using xcmsdb. Once you've done that your example of specifying a device-independent foreground color in xterm using the CIE XYZ color space would give a properly calibrated color on your monitor. That's pretty useful. Your criticism of color management in X is inaccurate and misleading because you don't understand how to use it properly.
As a footnote, doing an accurate color calibration of a monitor, requires expensive test equipment like a tele-spectrophotometer.
Scroogle
Make sure that any color-matching plugin you use has Squant support.
I don't need large brains to have a good time.
The idea behind color profiling is that each device you use, input or output, has a profile. This profile allows you to take an image from the device specific color space to a neutral color space, such as XYZ or CIE Lab. Some devices come with profiles from the manufacturer, but if you want to get serious about color profiling, you must create your own profile.
One way to create a profile for a monitor is to buy a program that profiles your monitor using a colorimeter that you attach to your screen. For a printer, you can print out a series of color swatches and then scan in all of the color swatches with a colorimeter. (In short, a colorimeter is a very accurate color scanner.)
For example, say your monitor always has a bluish tint. When you profile your monitor, the colorimeter will "see" that more blue is always coming out of your monitor. The ICC profile that gets generated will have values that de-emphasize blue. Thus, when you install your ICC profile on Windows 98/2K or MacOS, the operating system will apply this profile to all images and colors generated from the screen and a more accurate color will be generated.
Printers are also interesting with respect to ICC profiles. Color printers are generally CMYK devices--not RGB devices. CMYK stands for the ink colors Cyan, Magenta, Yellow, blacK. ICC profiles for printers will convert to and from CMYK colors.
Color can be a tricky issue--I'm really glossing over a lot of important details. If people are interested in this issue, then can send me mail and I will try to dig up a reference or two.
Of course, what would a Slashdot posting be without some unsolicited advice? Most monitors come from the shop with the brightness all the way up and the color temperature at 9000 degrees Kelvin. This "looks good" the same way loud music "sounds better." Set your monitor to 6500 Kelvin or 5000 Kelvin and turn down the brightness significantly. Your monitor may seem more brown or yellow, but in reality it is a more neutral white. After time, your eyes will adjust to the newer whites and you will be happier. Also, if you turn down the brightness on your monitor, it will last longer!
--Sam