-
The anatomy of color profile
2007-04-23
The anatomy of a color profile
ICC profiles consist of a header and and a set of tags, which contain the bulk of the data. You can examine the contents of profiles with ICC Profile Inspector, which you can download from the ICC Resource Center by clicking on CONTINUE and following the instructions. When you run it, click Browse... to load the profile. The header information and tag table are displayed. Double-click on a tag to see its contents. A typical tag, gXYZ (green primary color), is illustrated on the right.
There are three classes of profile, indicated in the Device Class field of the header: Input ('scnr'), Display ('mntr'), and Output ('prtr'). Each has a set of required tags and a set of optional tags. Display profiles are used to define color spaces. Many monitor profiles contain the ://developer.apple.com/techpubs/mac/ACI2.5/WhatsNewColorSync25.6.html">vcgt tag for setting lookup tables when a loader program is run, i.e., for calibrating the monitor.
The meaning of the tags is specified in the formidable (126 page) ICC File Format for Color Profiles (Version 4.0.0), which is rich in content and readable if you skip the bureaucratic parts (strong coffee recommended). In most cases the meaning will be obvious from the ICC Profile Inspector display. The basic tag signatures (4-character abbreviations) are
- desc is the description of the profile, used in PW Pro selection boxes.
- rXYZ, gXYZ and bXYZ specify the R, G, and B primaries that determine the gamut of the color space or device.
wtpt is the white point. The two standard white points are 6500K (D65): X=0.95045, Y=1.0, Z = 1.08905, and 5000K (D50): X=0.96429, Y=1.0, Z=0.82510. Y is always 1.0 and Z varies the most. Used for absolute colorimetric gamut mapping, which is of little interest to photographers.
- rTRC, gTRC and bTRC are the R, G and B Tone Reproduction Curves that define device or color space gamma in Input and Monitor profiles. An example (gTRC) is shown on the right. Gamma is often indicated on the upper right.
-
- gamma = -ln(y5)/0.69315
If it isn't, it can be calculated from - AToBn or BToAn are gamut mapping tables used in printer profiles. A refers to the device; B refers to the profile connection space (PCS); n = 0 for perceptual, 1 for colorimetric or 2 for saturation rendering intent. BToAn tags are used for printing; AToBn are used for proofing (previewing the print). These tables are large. Profiles that contain them can be several hundred kilobytes-- sometimes over a megabyte. TRC tags are omitted in printer profiles. All the printer profiles I've examined have gamt (out-of-gamut) tags, but little information is available about them. The best way to examine the actual performance of printer profiles is with Gamutvision.
.
where x' = x/xmax , y' = y/ymax , and y5 = y' at x'=0.5 (the middle of the x-axis) = 0.22 (in the curve on the right). Typical values: y5 = 0.287 for gamma = 1.8, 0.25 for gamma = 2.0; 0.218 for gamma = 2.2. [ This equation can be easily derived from (y/ymax) = (x/xmax)gamma ].
Manufacturer-private tags make it difficult to figure out what a profile is supposed to do. An example is vcgt (Video card gamma tag, registered to Apple), widely used in monitor profiles (Adobe, Monaco, Praxisoft, etc.) to set video card LUT's. It is not to be found in the ICC specification. Another example: Mtbx, in the monitor profiles created by Adobe Gamma and MonacoEZcolor. Try searching Google and you'll find pages on mountain bikes. Here is what the spec says (p. 3): "Private data tags allow CMM developers to add proprietary value to their profiles. By registering just the tag signature and tag type signature, developers are assured of maintaining their proprietary advantages while maintaining compatibility with this specification. However, the overall philosophy of this format is to maintain an open, cross-platform standard, therefore the use of private tags should be kept to an absolute minimum." And that is how things would be in the best of all possible worlds.
Of course a profile's actual performance is more than the sum of its parts. To see how a profile functions with different rendering intents under a variety of conditions, you'll need Gamutvision.
-
Notes on color management
2007-04-23
The following are from http://www.normankoren.com/color_management_2.html
1 ICC Profiles consist primarily of tables that relate numeric data, for example, RGB (222,34,12), to colors expressed in a device-independent CIE color space called a Profile Connection Space (PCS)-- either CIE-XYZ or CIELAB.
2 Monitor profiles have the same format as color space profiles. Profiles may contain additional data, such as a preferred rendering intent and gamma, Monitor profiles often contain instructions for loading video card lookup tables, i.e., for calibrating the monitor.
3Color management has two key features:
- ICC profiles: files that define the meaning of numeric color image data, i.e., RGB = (17, 44, 227). Profiles can define color in devices (scanners, digital cameras, printers, etc.) or image color spaces. All digital images refer to a color space-- either explicitly via an embedded or user-specified profile, or implicitly: Windows assumes sRGB color space is none is specified.
- Gamut mapping: The transformation that takes place when an image is transferred between formats or devices, for example,
- from one color space to another.
- from an image in memory to a monitor.
- from an image in memory to a printer.
Configuration settings using Picture Window Pro
Color Management Settings for Picture Window Pro
.. Settings that require special attention are highlighted in red; recommendations are in violet.Box Settings Recommendations and comments Color Management: Disabled or Enabled Enabled turns on color management. Color Engine: Windows Default (ICM 2.0) or lcms (Little CMS) Windows Default. Lcms probably works equally well. Working Color Space: Choice of profiles*or None (The actual working color space of an image can be determined by right-clicking on the image, clicking on Display Info and observing the Color Profile setting.)
Used differently from Photoshop. See note below.
Specifies the working the color space to convert images when they are opened, if you so choose. (See On Profile Mismatch.) Has no immediate effect on image appearance. A key user decision. sRGB is the simplest and most compatible with monitors and the Internet, but a Medium-gamut color space such as Adobe RGB (1998) (identical to SMPTE-240M) is recommended when the primary output is high quality prints. Wide gamut spaces present some problems. The ICC profile of the working color space will be embedded in the image when it is saved. See Working color space, below. Assumed File Profile: Choice of profiles* or None The assumed color space of an image file that has no embedded profile. sRGB (Windows/Internet default) is usually the best choice. The default, None, implies sRGB. On Profile Mismatch: Ask/Convert/Don't Convert Ask is the best choice to start out with. The dialog box will ask for the rendering intent. (Don't Ask/Don’t Tell was omitted.) Assumed Scanner Profile: Choice of scanner profiles* or None I recommend NONE if the profile can be selected in the scanner driver. Otherwise select the appropriate profile here. It should not be selected in both; the profile would be applied twice. If you set the scanner profile here, the imported file will contain original scanner data with the scanner profile embedded. You may be asked if you want to convert it into your working color space. Selecting the profile in the scanner driver software reduces the chance of error; the results are identical. Monitor Profile: Choice of profiles* or None You should use the profile created by your monitor profiling program. It's a good idea to check it with ICC Profile Inspector to be sure the TRC (tone response curve) tags agree with the value of gamma set during calibration (usually 2.2). If your monitor profile has a different gamma, use sRGB IEC61966-2.1, which is an essentially neutral profile with gamma = 2.2 and R, G, and B primaries close to typical CRT monitors. If None is set, images are sent to the monitor without gamut mapping. This can result in significant errors for working spaces other than sRGB. See Monitor profiling. Monitor Rendering Intent: One of the four rendering intents Maintain Full Gamut (Perceptual) is the best choice in most cases. Proofing Profile: Choice of printer profiles*
or NoneNone, most of the time. Used mainly by the printing industry to preview low gamut CMYK printing press output on the monitor. To preview a printer/ink/paper combination, select the appropriate profile. May not work well with high quality inkjet printers. Compare it with your printed output to see if it works for you. Proofing Rendering Intent One of the four rendering intents Preserve Identical Colors and White Point (Relative colorimetric) or Maintain Full Gamut (Perceptual). Try both; the difference can be significant with large gamut working color spaces. Inactive when Proofing Profile is set to None. Monitor Calibration (Removed from current versions of PW Pro. It set the LUT, overriding other calibration settings.) Disabled
-
Upcoming tasks on color management - [Research]
2007-03-03
What have been done:
1. Given an image, using the little CMS C++ API, I have been able to apply differnt output color profiles to the same image and show the appearance of the same image side by side after different ouput color profile transformation.
What is the next step:
2. After a discussion with my advisor, I am going to achieve the following objective:
Given an image I shown on LCD A, try to find the image J so that the appearance of J in a desktop monitor looks the same with the appearance of I on A. Basically I would like to find an approapriate output color profile (xxx.icc)so that after I apply the ICC transfom (J=icctrans(I,'-t0 -o xxxx.icc'), image J looks the same on monitor with the appearance of I on a LCD.
But then fundamental questions arise:
the purpose of color management is to make the same image look consistently the same under different device, but why when I display the same image on one LCD and one CRT monitor, the appearance of the same image is different? And what is the color profile used in the working color space, namely the PCS space, and also what is the color profile for the LCD (or a CRT). Is the profile used for the output device (like LCD or CRT) the same with the one used in the working color space?
-
The color management
2007-03-01
I am reading color management materials recently. I found that it is really a big topic. It's not easy to grasp all the fundamental concepts in color science and color management in a short period of time.
Regarding my project "Color management in ophthalmology images, I have some questions:
1. What are the problems we want to addressf? Specifically, what benifit we want to get from color management of the retina images, and what is our objective?
2. We may consider set up a new standard regarding what kind of working color space is most approapriate for displaying retina images (this is like sRGB is the default working color space for the Web, Adobe RGB (1998) is widely recommended when the primary output is high quality inkjet printers), and what is the approapriate gamut mapping intent for the ophthalmology images?







