Color management
I'm not going to go into the full details of color management here.
Basically, color management is needed because different devices
conceive
colors differently. For example, if you display a pure red on your
computer
screen, and photograph it, your camera won't necessarily translate this
color to pure red. This is why you need to apply a color transformation.
The effect of color profiling is demonstrated with
three copies of the same image.
The first copy does not use color profiling, I only played with the
saturation to get the best possible results. In the second copy I apply
Nikon's ICC profile in UFRaw.
The difference is most apparent in extreme colors, like in the purple
balloon.
The third copy is the camera's generated JPG.
Three ICC color profiles are involved in the color management process:
-
Input profile should be set to the profile of your
camera.
See the Camera profiles section below
for information on where such profiles can be found together with
explanation on the related controls.
-
Output profile should be set to your working space
profile. Depending on your workflow this can be some large gamut
profile, your printer profile or simply sRGB. This profile will be
attached to the output image (TIFF, PNG or JPEG).
Leave this setting to the default sRGB
unless you know that the software that will handle this image
is color management aware. Specifically, Gimp 2.2 is not color management
aware, while Gimp 2.4 is.
-
Display profile should be set to the profile of your
display.
The System default option will check if there is
a system defined ICC profile for your display and use it if found.
For information on how to embed an ICC profile for your X display
see this.
The choice of display profile affects only the preview image you
see in UFRaw and has no effect on the final output image.
If you set the input profile to No profile and
the output profiles to sRGB, no color transformation
will be applied. The Color Matrix option for input
profile, applies a camera specific color matrix transformation.
The Output intent and Display intent
options are explained in the
Rendering intents section bellow.
Camera profiles
The tricky part is finding a color profile for your camera.
Here is a short list of profiles you can download from this site.
If you have other profiles that you are willing to share, then
I'm willing to host them here.
-
Nikon D70 - the input profile for the Nikon D70.
This profile comes with D70's software, it is copyrighted by Nikon,
but I don't think they will mind me posting it here since any D70 owner
has this profile anyway. I'm only posting it here
to save Unix users the trouble of finding a Windows or Mac machine for
extracting the profile from their D70 CD.
Windows users can find the Nikon profiles under
C:/Program Files/Common/Nikon/Profiles/. -
Nikon D80 - the input profile for the Nikon D80.
Same copyright story as the D70 profile.
-
Nikon D50 - the input profile for the Nikon D50.
Same copyright story as the D70 profile.
-
Nikon D40 - the input profile for the Nikon D40.
Same copyright story as the D70 profile.
-
Nikon D90 - the input profile for the Nikon D90.
Same copyright story as the D70 profile.
-
Nikon D100 - the input profile for the Nikon D100.
Same copyright story as the D70 profile.
-
Nikon D300 - the input profile for the Nikon D300.
Same copyright story as the D70 profile.
-
Nikon D1/D1H/D1X - the input profile for the Nikon D1 series.
Same copyright story as the D70 profile.
-
Canon 400D - an input profile for the Canon 400D created by
Pascal de Bruijn, released under a Creative Commons license.
-
Canon 10D - non linear -
an input profile for the Canon 10D. Copyrighted by Timo Autiokari,
the author of the XLProfiler freeware.
-
Canon 10D - linear -
another input profile for the Canon 10D. This is a linear profile, so
Gamma should be set to 1.
It is a public domain profile copied from
Ture Pålsson's EOS 10D page
.
-
Canon PowerShot S60 - For this profile you need to set
Gamma to 0.45 and Linearity to 0.04.
It is a free profile made by Artis Rozentals using lprof 1.11.4.
It would best match direct sun light conditions.
- Canon DSLR users can find information on how to get and use
the ICC profiles that come with the camera software
here and
here.
-
Adobe RGB - a possible wide
gamut output profile. Profile taken from the Little CMS package.
More profile can be downloaded
here.
The profiles on this page require Gamma to be set to 0.45
and Linearity to be set to some small value, maybe 0.02.
It also seems that one should enable the Use color matrix
option with these profiles. I think that it a bit oversaturates the colors,
but it seems to be the author's intent.
One can get many other profiles by installing the trial version of
Phase One. (Even Unix users can install it using Wine.)
Another option is to create
your own profile, for that you will need an appropriate IT8 target.
To create the profile you can use
LProf.
LProf was developed by the author of Little CMS,
but it is no longer maintained by him.
Recently it was adopted by a new maintainer so there is still hope for it.
A short turtorial on how to generate ICC profiles using LProf
was written by
Pascal de Bruijn.
Another free option for Windows users is the XLProfiler.
For the input profile you need to define the parameters of the gamma
curve.
For standard RGB profile the defaults are 0.45 (approximately 1/2.2) for
the Gamma and 0.10 for the Linearity.
For camera profiles you need to use the setting the profile was created
with. If you created the profile, this is not a problem, but if you are
using someone else's profile you will probably have to guess these setting
since they are usually not published.
The Nikon D50, D70, D80 profiles above, for example, seems to requires
Gamma 0.45 and Linearity 0.00.
It seems that the Phase One curves also require Gamma
0.45 but with Linearity 0.05. Also enabling the use
of color matrix with these profiles gives interesting results.
For each profile you can choose if you want to use the Color Matrix.
The color matrix is used to make a linear transformation from the
sensor's color filters to standard RGB. UFRaw gets these matrices from
DCRaw, which in turn got most of them from Adobe.
Usually you will want to use the Color Matrix with RGB profiles and
not use it with camera profiles.
Notice that the Color Matrix and the gamma curve are applied
before the ICC profile transformation.
The reason that they appear after the Input
Profile is to emphasize that these settings are defined per profile.
Rendering intents
The different intents options specify how out of gamut colors will
be handled. Display intent has an extra option -
Disable soft proofing.
When using this option, the output profile is ignored for the rendering
of the preview image. The preview image is rendered in the display
profile color space using the output intent.
The following explaination of the various transformation intents
is copied from the
Little CMS documentation:
It's out of scope of this document to define the exact meaning
of rendering intents. I will try to make a quick explanation
here, but often the meaning of intents depends on the profile
manufacturer.
INTENT_PERCEPTUAL:
Hue hopefully maintained (but not required),
lightness and saturation sacrificed to maintain
the perceived color. White point changed to
result in neutral grays. Intended for images.
In lcms: Default intent of profiles is used.
INTENT_RELATIVE_COLORIMETRIC:
Within and outside gamut; same as Absolute
Colorimetric. White point changed to result in
neutral grays.
In lcms: If adequate table is present in profile,
then, it is used. Else reverts to perceptual
intent.
INTENT_SATURATION:
Hue and saturation maintained with lightness
sacrificed to maintain saturation. White point
changed to result in neutral grays. Intended for
business graphics (make it colorful charts,
graphs, overheads, ...)
In lcms: If adequate table is present in profile,
then, it is used. Else reverts to perceptual
intent.
INTENT_ABSOLUTE_COLORIMETRIC:
Within the destination device gamut; hue,
lightness and saturation are maintained. Outside
the gamut; hue and lightness are maintained,
saturation is sacrificed. White point for source
and destination; unchanged. Intended for spot
colors (Pantone, TruMatch, logo colors, ...)
In lcms: relative colorimetric intent is used
with undoing of chromatic adaptation.
Not all profiles support all intents, there is a function
for inquiring which intents are really supported, but if you
specify an intent that the profile doesn't handle, lcms will
select default intent instead. Usually perceptual one. This
will force things to "look nice", even if the intent is not
the one really desired.