International Color Consortium
Members
Getting Started
V4
iccMAX
Making color seamles between devices and documents
ICC Specifications
Technical Notes
ICC Resource Center
ICC Slide Presentation
ICC Logos
Information on Profiles
ICC White Papers
Color Management Links
Member List
ICC Working Groups
FAQ
Forum
Home
Got a question about ICC Profiles or colour management?

ICC Frequently asked questions

This FAQ is based on answers given to 'Questions about ICC Profiles or colour management?' An older version of the FAQ is available as a pdf file.

 

  Main headings

What is color management?
Color terminology
Color measurement
Implementing color management
Profiles
Profile assessment
Digital photography
Graphic arts
Medical imaging

 


 

  What is color management?

What is a color management system?
What is an ICC profile?
How do I know if my device supports ICC profiles?
Where is a good place to start learning about color management?
Who developed the ICC profile specification?

  Color terminology

What is the definition of a color?
How is the absence of colour described? Would it be white, black, grey or beige?

  Color measurement

What is spectrophotometry?
What are the limitationss of spectrophotometers?
Who produces spectrophotometers?
How can I learn more about color measurement?
What is a colorimeter?
Where can I get a colorimeter?
Should I include or exclude the fluorescence in my measurements?
What is the CIE system of colorimetry?
How can I convert spectral data to XYZ?
How can I convert D50 to D65?

  Implementing color management

How do I implement ICC colour management on my system?
Where can I find profiles for my devices?
How do I make ICC profiles?
Where can I find programs that use ICC profiles?
Where can I find out more about implementing a color management system?
What is a rendering intent?
How do I choose the rendering intent?

  Profiles

What is the structure of a display profile?
What is an output profile?
What is a link profile?
What is an input profile?
What is an abstract profile?
what is the function of a TRC/matrix tag in a scanner profile?
Can I use an ICC profile to perform custom image effects?
Does HTML support the ICC colour profile with a particular tag?
Are there any differences between profiles with ".icc" and ".icm" extensions?
Is there an application for reading ICC profiles?
How can I test if my profile conforms to the ICC specification?
How can I edit profiles?
How can I change the Look-up table values of a profile?
Are profiles copyrighted?
What are the licensing terms of ICC-provided profiles?

  Profile assessment

How do I assess the accuracy of an input profile?
How do I assess the performance of my profiling software?
How do I assess the quality of an output profile?
How do I assess the accuracy of a display profile?
How do I determine the black generation settings used to make a profile?
Is it possible to determine the lightness range of a device from its profile?

  Digital photography

Where do I find a profile for my camera?
Do I need different profiles for my different cameras?
Where can I find out more about colour management in digital photography?
What conversions take place when I open an image and subsequently print it?
Does an sRGB profile convert between sRGB and other colour spaces?
What colour should the walls in the viewing area of my color photo lab be?
I need a it8 graph, where I can find one?
Should I expect a smoother conversion using a 16bit file?

  Graphic arts

Should an ICC profile correct an image with a colour cast?
What are the advantages and disadvantages of a CIELAB colour workflow?
Can I make a profile for converting colour to grey scale?
Can profiling be done for more than 4 colours?
Why do I get a worse result sending CMYK to my printer than when I send it RGB data?
How do I reproduce clean, solid primary and secondary colours?

  Medical imaging

What is the ICC Medical Imaging Working Group?
How is a histopathology whole-slide imaging device calibrated?
How are medical displays calibrated?
Why are there large differences in the images from different retinal fundus cameras?
How can I improve colour image quality in clinical photography?
Are multispectral images used in medical imaging?
How are Petri plate imaging systems calibrated?
Where can I find data on human skin colour?
How is colour supported in the DICOM format for medical imaging?
How can I find out the gamut of a display?

 


 

What is color management?

  Q. What is a color management system?

A. A system that transforms data encoded for one device (such as scanner RGB) into that for another device (such as printer CMYK) in such a way that it reproduces on print the same colours as those scanned. Where exact colour matching is not possible the result should be a pleasing approximation to the original colours. In general the term colour management system is usually reserved for those systems that use the internationally accepted CIE system of colour measurement as a reference.

Q. What is an ICC profile?

A. ICC profiles help you to get the correct colour reproduction when you input images from a scanner or camera and display them on a monitor or print them. They define the relationship between the digital counts your device receives or transmits and a standard colour space defined by ICC and based on a measurement system defined internationally by CIE. Thus, if you have a profile for each of your scanner, camera, display and printer, the fact that they refer to a standard colour space lets you combine them so that you obtain the correct colour as you get images from the scanner or camera and print or display them.

An ICC profile is one that conforms to the ICC specification. By conforming to this specification profiles may be exchanged and correctly interpreted by other users. The two main types of profiles are source (input) and destination (output) profiles and essentially consist of tables of data that relate the device co-ordinates to those of the standard colour space defined by ICC. There are various relationships defined in each profile (known as rendering intents ? see a later question). Special types of profiles (devicelink, and abstract) are defined for special workflow applications.

Q. How do I know if my device supports ICC profiles?

A. It is not the device that needs to have ICC compatibility - but the application software driving it. Thus, for example, a printer or monitor alone cannot easily support ICC profiles - unless it has a software application driving it that allows you to define the input profile to go with it so that the transformation can be calculated. The more expensive devices used in the printing industry often have such software associated with the device - but usually not the cheaper desktop ones. Normally, when people want to apply ICC profiles using such devices they do it in their application software such as Photoshop, Quark, Indesign, etc.

Q. Where is a good place to start learning about color management?

A. There is some excellent material in the publications on our web site - in particular try the papers in the Information on Profiles page (especially the documents by Jim King and Craig Revie), and the ICC slide presentation. You will also find some useful material in the links we give from our web-site. If you want to read beyond that some good books are:

  • Understanding Digital Colour by Green (GATFPress). Basic to intermediate level book, directed at the pre-press and printing industries but which covers a lot of the issues of managing colour for any industry using digital images.
  • Digital Color Management by Giorgianni and Madden (Addison-Wesley). Discusses many of the theoretical issues involved in colour management.
  • Colour Management for Printing and Publishing by Johnson (Pira International). Relatively advanced, in-depth description of many fundamental colour management topics.
  • Real World Color Management by Fraser, Bunting and Murphy (Peachpit Press).
  • Understanding Color Management by Sharma (Delmar).
  • Color Management for Photographers by Rodney (Focal Press).

There are a variety of courses run by educational institutions (Rochester Institute of Technology and London College of Communications in particular). IS&T and SPIE run conferences which cover colour management topics. You need to understand the basics before you attend these conferences but many of them do have tutorials which precede the papers programme.

Q. Who developed the ICC profile specification?

A. ICC is a consortium of companies with an interest in achieving consistent colour across devices. Representatives from the ICC member companies developed the specification jointly, and update it as necessary. Approval of a majority of the members has to be achieved before modifications to the specification are approved.

Color terminology

  Q. What is the definition of a color?

A. Colour is the sensation produced in response to selective absorption of wavelengths from visible light. It possesses the attributes of Brightness, Colourfulness and Hue. An international standard developed by CIE can be used for measurement of these attributes for any colour.

An alternative way of specifying colour is to refer to a colour order system such as the Munsell or NCS systems. The Munsell system contains colours of varying relative colourfulness and brightness for the 20 hues defined. The CIE tristimulus values for the Munsell colours have been published (see Color Science by Wyszecki and Stiles - published by Wiley, for example).

Q. What is "absence of colour"? Would it be white, black, grey or beige?

A. White, grey and black are 'achromatic' colours. Beige is also certainly a colour - a chromatic colour. So a black sample would be considered a colour - an achromatic colour. But when thinking of blackness as the total absence of light it probably isn't.

Color measurement

  Q. What is spectrophotometry?

A. Spectrophotometry is the measurement of the reflectance or tranmittance of a sample at discrete wavelengths. Spectrophotometers usually provide illumination of the sample by white light and then contain a diffraction grating to refract the reflected light and enable measurement of the amount of light reflected at discrete wavelengths.

Q. What are the limitationss of spectrophotometers?

A. Different spectrophotometers are more or less accurate than others. Most of the cheaper instruments available today are reasonably accurate for reflecting media without steep changes in spectral reflectance, which is the case for most pigments.

Although measurement typically takes a second or so on a hand-held device, if you have a large number of colour patches to measure this can add up to long time. Some manufacturers offer automated devices which move the measuring head across the chart automatically, or allow you to 'swipe' the instrument across a strip of patches.

Q. Who produces spectrophotometers?

A. There are various companies producing colour measuring equipment among ICC members. The main decision to decide is which optical geometry you want. Graphic Arts and ICC mainly use 0:45 instruments, many other industries use a 0:diffuse geometry.

Q. How can I learn more about color measurement?

A. The following books are good sources of information on the subject:

  • Measuring Colour, by R.W.G. Hunt (Wiley)
  • Colour Physics for Industry (SDC)
  • Billmeyer and Saltzman's Principles of Color Technology (Wiley)
  • Color Vision and Colorimetry by D. Malacara (SPIE)
  • Color Science by G. Wyszecki and W. Stiles (Wiley)
Of the above Color Science is probably the most complete reference book. However, it is not the most readable! Color Engineering and Color Vision and Colorimetry are probably better for a beginner, but not as complete as Measuring Colour. Colour Physics for Industry is a good book for colorists dealing with dyes and pigments, particularly those in the textile industry, with a lot of useful application information.

ICC has published a White Paper on Recommendations for colour measurement

Q. What is a colorimeter?

A. The word colorimeter is normally used for a device which uses three or more filters to produce a response similar to that of the eye, as opposed to a spectrophotometer which measures the amount of light reflected or transmitted at each wavelength. Both colorimeters and spectrophotometers can give the same tristimulus values though the spectral method is usually more accurate. For self-luminous media (such as displays) filter colorimeters are adequate for profiling purposes.

Q. Where can I get a colorimeter?

A. Several companies make these. Amongst our members Alwan Color Expertise, Gretag-Macbeth and X-rite provide them.

Q. Should I include or exclude the fluorescence in my measurements?

A. The L* and b* reported is not artificially high. If a paper fluoresces it will also do so when you look at it. The instrument that excites the UV will therefore tell you what it will look like - so long as both the spectrophotometer illuminant and your viewing illuminant have similar amounts of power in UV region. However, in practice it won't be perfect because of the likely difference between the two illuminants. Because of this, there is a difference of opinion as to whether it is better to include the fluorescence in the measurement.

If you include fluorescence the measured values of the paper will appear to have a blue cast relative to a measurement without fluorescence. But, if you don?t use a viewing condition with a reasonable UV content it will look yellower than these measurements predict. In such a case, it is probably better to make the measurements without fluorescence and a number of people argue that since most viewing booths have a lower UV content than the daylight they are supposed to simulate this is the better approach generally. An error then arises if you use a viewing condition with a higher UV content such as natural daylight, but the argument is that this is rarely done.

In a proof matching situation there is always a potential risk if the papers used for proofing and printing have radically different fluorescence. If you use relative colorimetry the unprinted paper will be free of ?scum? dots in both cases but because the inks do not generally fluoresce all but the lowest chroma colours will be different. If you use absolute colorimetry the colours will be similar but the papers will appear different, unless the viewing condition has no UV.

Q. What is the CIE system of colorimetry?

A. Colour is the sensation achieved when light falls on the retina of the eye. In the retina colour sensitive receptors are 'triggered' to produce electro-chemical signals, which are sent to the brain to produce the sensation of colour. The light reaching the eye is the product of the light reflected at each wavelength by the sample and that of the illumination source shining on it. The three types of receptor each peak in sensitivity at different wavelengths - one at short wavelengths, one medium wavelengths and one at slightly longer wavelengths. This means that any colour can be reproduced by just 3 coloured dyes, pigments or coloured luminous stimuli - so long as their peak absorption or emission wavelengths are also separated. It also means that colours can be seen to match despite having different spectral composition - a phenomenon known as metamerism. Such a match will generally fail when the light source shining on the sample is changed.

Colour (whether coloured light or print) is traditionally measured by specifying the amounts of Red, Green and Blue lights which would be needed to match it. Based on experiments in which observers were asked to match various colours by mixing three coloured lights, the international colour standards body International Commission on Illumination (CIE) defined a ?standard observer? as the average of these observers for a specific set of ?lights?. They then defined a system of measurement units and measurement procedures which enables any colour to be specified in terms of the amount of the three standard lights that would be needed to match it. These are the CIE XYZ values, and other quantities such as CIELAB are caclulated from them.

There is more information about CIE colorimetry on our web-site and there are some good books about (see the list above).

Q. How can I convert spectral data to XYZ?

A. To achieve this you need to multiply the spectral data by the colour matching functions for the observer you wish to use (usually the CIE 1931 Standard Colororimetric Observer) and the illuminant you want to use (presumably D50). You do this for each wavelength and then sum the three sets of data you get from this. You then need to normalise the data so that you get 100 for Y for the reference white - usually the perfect diffuser, but it may be white paper.

In ISO 13655, the observer and illuminant data are pre-multiplied and for ICC applications these are what should be used (unless you have a spectrophotometer that measures at 5nm bandpass ? or finer). But if you don't have those a good approximation can be obtained by using data interpolated from the 5nm interval data which CIE publish and which can be found in any good book on colour, and on a number of websites such as http://www.cvrl.org/.

Q. How can I convert D50 to D65?

A. The conversion from D50 to D65 requires a chromatic adaptation transform (CAT). Various methods are in common use - most of which employ a 3 x 3 matrix transformation. The coefficients of the matrix depend upon the illuminants one is converting to and from and the assumptions one wants to make about the best 'visual space' for doing this. The most popular among many users seems to be the linear part of what is known as the Bradford transform, though more recent transforms perform slightly better. However, these 'new' transforms are probably more significant where the difference in chromaticity between the sources is greater than D50 to D65. (For details of the Bradford transform see Annex E of the ICC specification).

Implementing color management

  Q. How do I implement ICC colour management on my system?

A. To apply colour management, you need a profile for each of your scanner and/or digital camera and another for your monitor and/or printing device. Each of these relates the device colour data to the standard colour space which allows them to be combined to produce an overall transformation.

To combine profiles you need a Colour Management Module (CMM). At its most basic this is nothing more than an interpolation engine for combining LUTs. ICC do not specifically recommend a single CMM as some CMMs attempt to 'add value' for specific applications by picking up private tag information in the profile.

Many colour management-aware applications such as high-end RIPs and Adobe Photoshop contain an internal CMM. CMMs are also built in to the OS on the Mac (ColorSync) and Windows (ICM and WCS).

Q. Where can I find profiles for my devices?

A. Most often these are available from the manufacturer of the device. See Finding profiles for details.

Q. How do I make ICC profiles?

A. The main requirement is a software application that will generate profiles from measurement data. For output profiles, you also need a measurement instrument to measure your prints or display. For more details, see making profiles. For a list of software and instruments available from ICC members, see profiling tools.

Q. Where can I find programs that use ICC profiles?

A. Many programs have ICC profile support built in. On the current Mac OS, all colour transforms are handled by ColorSync using ICC profiles. Microsoft WCS (when released) will also provide comprehensive support for ICC profiles.

Other platforms, including Windows XP and earlier, have more limited ICC support at the OS level and the application is usually responsible for initiating the colour transform. In the latter case it will depend on the particular application, but most profesional and high-end graphics applications have extensive colour management functionality and ICC profile support.

ICC maintains a list of software products that support the current version (V4) of the profile specification

Q. Where can I find out more about implementing a color management system?

A. The various papers on our web site explain at both basic level and, via the specification, at advanced level, how to implement colour management using profiles. See Information on profiles and ICC White Papers

If you are a developer and want to write software to do this you need to read the ICC profile specification to understand the format of the profile. If you want to write a CMM you are basically writing an interpolation procedure to enable you to 'join' two profiles of different size - though you will also need colour space conversions to cope with both PCS encodings and white point correction. If you implement all options of the profiles you will need some other procedures as well but they are all clear from the specification.

Q. What is a rendering intent?

A. A rendering intent defines how the gamut of colours which can be achieved on one media is modified when reproduced on a media with a different colour gamut. Each profile contains three of these rendering intents and which should be used depends on the colour gamuts of the original and reproduction media.

Q. How do I choose the rendering intent?

A. Scanned natural photographic images reproduced on prints or displays will usually use a perceptual rendering. This takes account of the fact that the range (gamut) of colours on a print or display is often lower than the original ? although for high gamut printing a colorimetric rendering (which attempts to produce an exact colour match) may be appropriate.

However, many other cases (such as proofing - simulating one device on another such as a print on a display) require a colorimetric intent when there are no colour gamut mis-matches. The saturation rendering intent is often used for business graphics and produces a maximum colourfulness on the print.

Profiles

Q. What is the structure of a display profile?

A. Display profiles are commonly of the Matrix/TRC type, in which case they contain (in addition to the tags which all profiles are required to have, such as white point and copyright information):

  • a 3x3 matrix of the colorant primaries tristimulus values
  • a one-dimensional tone curve for each colorant

They can also be of the multi-dimensional look-up table (or LUT) type, in which case they have:

  • a 3x3 matrix
  • a a one-dimensional tone curve for each colour channel
  • a thre--dimensional look-up table
  • a second 1D tone curve for each channel

For full details of the structure, required tags and processing model, see the ICC profile specification .

Q. What is an output profile?

A. Output profiles are of the LUT type, and are used in conjunction with hard copy output device, such as printers and film recorders. Output profiles translate between the PCS and the output colour encoding. In the case of a printer profile, the output colour encoding might be monochrome, CMYK, RGB or n-colour, where n can be up to 16 (although in practice is rarely greater than 6 or 7).

In some workflows there is a further conversion from the output colour encoding of the profile to the actual colorants used by the printer, which is usually performed in the printer driver.

For full details of the structure, required tags and processing model, see the ICC profile specification .

Q. What is a link profile?

A. A devicelink profile converts data encoded in the colour space of one device to that of another device, and it is only good for those specific devices. Device profiles convert to or from the PCS and are combined at the time of processing which allows mixing input and output profiles according to the requirement of the workflow. Link profiles permit people to add their own 'tweaking' for a specific pair of devices or do such things as maintaining the black in a CMYK to CMYK conversion for two different printing conditions.

For full details of the structure, required tags and processing model, see the ICC profile specification .

Q. What is an input profile?

A. An input profile transforms colour from the colour spaces of an input device (a cameras or scanners) to the PCS. While they can be monochrome or n-component, the colour space is most often RGB.

For full details of the structure, required tags and processing model, see the ICC profile specification .

Q. What is an abstract profile?

A. Abstract profiles allow you to perform custom image effects, such as applying a particular 'look' to a series of images. Such a profile allows you to define CIELAB (or CIEXYZ) values as both input and output. Thus you can algorithmically define colour changes of whatever type you like and produce the LUT that achieves that. A small number of colour management applications support the creation and or use of abstract profiles.

For full details of the structure, required tags and processing model, see the ICC profile specification .

Q. What is the function of a TRC/matrix tag in a scanner profile?

A. ICC permit a simple TRC/matrix to be used for scanner profile building as it is possible to build scanners in which such an approach would work - as it does for displays. However, the spectral sensitivity of most scanners is not sufficiently close to colour matching functions (effectively the sensitivity of the eye) to permit the TRC/matrix approach alone to work very well.

For this reason ICC also specify the LUT approach, which permits non-linear transformations, and most profile making software uses this. However, a LUT on its own may not have spacing that is well suited to the data for reasons of precision, and adding TRCs can improve this. For this reason all profiles permit use of TRCs in addition to a LUT. Adding a separate matrix to this is not necessary for precision reasons and it can be combined with the LUT but some profile builders find it helpful to keep it separate.

Note that for a TRC/matrix transform, only the colorimetric rendering intent is defined.

Q. Can I use an ICC profile to perform custom image effects?

A. Yes, see the answer on abstract profiles above.

Q. Does HTML support the ICC colour profile with a particular tag?

A. Nearly all the web oriented standards call for the use of the sRGB colour space. It is implicit in most of the older standards like HTML so there are no HTML directives to choose profiles. However, that just means that a properly implemented web browser should have an sRGB ICC profile that it uses for all incoming RGB colour values. Other web standards such as CSS, SVG, and XSL do allow multiple ways to specify colour space. ICC profile is one of them. You can get more information on W3C web sites.

When sending a colour HTML file to many different users the colour management works because each of those user's browsers (properly implemented browsers) convert the sRGB colour to the colour space of the user's display using an sRGB ICC Profile and an RGB profile that characterises the user's display. So the most important thing for someone making a display device is to ship a default ICC profile for the normal settings, supply as much information about the phosphor chromaticities, give clear instructions on how to set the display into its preferred setup, etc.

Q. Are there any differences between profiles with ".icc" and ".icm" extensions?

A. The answer is no. '.ICC' and '.ICM' files should be identical except for the suffix. The .ICC suffix was originated by Apple and Windows uses .ICM.

Q. Is there an application for reading ICC profiles?

A. On our web-site there is a free profile inspector for reading the content of the tags for PC profiles.

Mac OS X has both Profile Inspector and Profile First Aid applications built in. Users can find these utility applications in Mac OS X 10.1 or later. The umbrella application is called ColorSync Utility. It has several small applications in it including the Profile First Aid and Profile Inspector.

Here is a brief description of these two utilities:

Profile First Aid is a utility application that verifies the contents of ICC profiles installed on your computer. Errors are reported if any profiles do not conform to the ICC profile specification. Although some errors are unlikely to cause problems under typical usage, it is a good idea to repair any profiles that do not conform to the ICC profile specification. Profile First Aid can repair most of the minor errors found in profiles.

Profile Inspector is a utility application to view profile information such as colour space, version number, profile class, etc. stored in the profile header. It also shows tag level information for signature, data type, and size.

Q. How can I test if my profile conforms to the ICC specification?

A. On the Mac OS you have Profile Inspector built in to ColorSync. For Windows, you can use the free Profile Dump utility.

Q. How can I edit profiles

A. Most of the software packages that allow you to make profiles provide editing tools as well. Some are more flexible than others. Kodak's Colorflow is one of the most versatile I have used - if you have some experience of colour - but most of the profile making software provide some editing facilities. However, there are some things you should be aware of when editing. You really need some skill or experience in understanding what to edit and how, and you may not get a good ?inverse? profile which can be a problem in some workflows.

Q. How can I change the Look-up table values of a profile?

A. I don't know of any available software package that will let you directly change specific values in a LUT. This is quite dangerous to do (from an image quality perspective), quite difficult to define unless you really know what you are doing and given the size of many of the tables very slow to do. The profile editing packages let you change the values indirectly by letting you correct colour attributes of the profile and is what I would recommend.

Q. Are profiles copyrighted?

A. ICC has no formal position on the use of profiles. It is really up to the software vendor. However, since the software vendor effectively holds copyright on the profile (which is specified in a tag) the licence to use their software permits them to prohibit public posting of profiles. One of their motivations could be that if such profiles could be freely exchanged it would limit the number of sales of their software. Also, from a technical perspective it is dangerous to publish such profiles for many devices. A profile for a printer, for example, is only valid for the substrate and inks for which it was made and it is for this reason that few device manufacturers publish profiles for their devices.

Any ICC profile is produced using proprietary software. All ICC define is the nature of the tags, which tags are mandatory and which are optional, and how the data should be defined in them. The contents of the tables are vendor specific and each uses different algorithms. It is this that gives the vendor something which they can copyright.

Q. What are the licensing terms for ICC-created profiles?

A. Where ICC is the copyright owner of a profile, the following license terms apply unless stated otherwise:

"This profile is made available by the International Color Consortium, and may be copied, distributed, embedded, made, used, and sold without restriction. Altered versions of this profile shall have the original identification and copyright information removed and shall not be misrepresented as the original profile."

ICC recommends that other profile creators and copyright owners adopt a similar wording for profiles that are intended to be freely distributed. See the Profile Registration page for more details.

Some ICC-provided profiles are subject to different terms of use, which are identified on the download page for the profile. There are also general terms and conditions for the use of third-party and ICC-provided resources on the ICC site. These terms and conditions can be seen here.

Profile assessment

Q. How do I assess the accuracy of an input profile?

A. Make sure you have a CIELAB colour space profile on your system, and select an input test chart such as the one you made the profile with (and which you have measurement data for. Then use Photoshop 'convert to profile' command to convert from your input profile to the CIELAB colour space, using the absolute colorimetric intent and no black point compensation. The CIELAB values (which you can display as a CIELAB image in Photoshop) should match the measurement data for the chart. Note that you are only evaluating the colorimetric rendering intent by this method, and not the perceptual rendering intent.

Q. How do I evaluate an output profile?

A. There are a number of things to look for, but perhaps the two most important are:

  • colorimetric accuracy
  • pleasingness of reproductions
Colorimetric accuracy can be assessed by methods similar to those in the answer above, by assessing the colour difference between original CIELAB values and those of the reproduction, using the CIELAB colour difference equation or the advanced colour difference equations in CIEDE2000.

For output transforms the colour difference will be influenced by the differences in gamut between the original and reproduction media, so you should first ensure that your test CIELAB values are all in the reproduction medium gamut. You can do this by 'round-tripping' the transform - i.e. performing an initial CIELAB->output transform using the colorimetric intent, then transforming back to CIELAB and finally applying the CIELAB->output transform again. The evaluation is carried out by comparing the final CIELAB values with those measured from the reproduction.

Pleasingness is evaluated by perceptual profiles by processing real images and judging the results - preferably using a number of observers to assess them formally using a technique such as ranking, paired comparison or category judgement.

Q. How do I assess the accuracy of a display profile?

A. Assessing a display profile is similar to assessing an output profile, although it is necessary to take into account the media-relative scaling and chromatic adaptation that are always applied to display profiles. A suggested procedure, which is suitable for the most common use case where a display used by itself (i.e. is not being compared with another display) is as follows:

  1. Locate an RGB test image such as the ISO 12640-2 Colour Chart image and assign a profile corresponding to one of the standard three-component colour encodings. The profile should be one which corresponds to the gamut of the display. This could for example be an sRGB profile for standard gamut displays or an Adobe RGB (1998) profile for extended gamut displays.
  2. Ensure that the test profile is being used when displaying the RGB values of the test image. The test profile should be set as the system profile, and on a Windows PC you will also need to use an application that applies the system profile when rendering colour to the screen.
  3. Display the patches of the test image and measure them.
  4. Obtain D50 CIE XYZ values for the colour chart by converting the image with the assigned selected standard encoding profile to CIELAB and then calculating XYZ.
  5. Undo the chromatic adaption in the test profile by applying the inverse of the profile's chad tag to the XYZ values.
  6. Compare the data in 3. and 5. to determine the CIELAB or CIEDE2000 colour differences. The differences in CIE x,y chromaticity should also be noted, together with the measured XYZ of the display white point.

Q. How do I determine the black generation settings and dot gain in an ICC profile?

A. Some profile software vendors add a private tag which includes the black generation parameters used in making the profile. To estimate the values for yourself, make a neutral 'ramp' containing a grayscale in CIELAB colour space, from 0-100 in L* and keeping the a* and b* values all to zero. Transform this using your output profile, using the relative colorimetric intent.

The maximum and minimum values of K will give you the black start and black max respectively; while the sum of the C, M, Y K values for the L*=0 colour will give you the maximum overprint (or TAC) value. (Note that in real images there are rarely pixels with an L* of zero, so the effective TAC is likely to be lower.)

The ratio of K to C in the midpoint of the ramp will indicate the relative amount of GCR used, while the ratio of C to M and Y will indicate the gray balance.

You cannot usually tell the amount of dot gain in the printing process from the profile. If the measurements of the test chart used to make the profile have been embedded into the profile and include the spectral data, then it is possible to calculate the dot gain. Otherwise, you could compare it to a profile of known gain or process a test image with the profile, and also with the profile of known gain, and compare the results of the two.

Q. If I have a CMYK file with no profile, how do I determine the black generation settings used in making it?

A. There is no way to tell any of the parameters you specify if you have a file with no profile. You could analyse the relative amounts of CMY and K in the various pixels and this would allow you to get an estimate as to how the black was defined. However, the problem is that there no agreed measure of UCR and GCR so the ratios at different tonal levels will vary with the way the vendor produced it.

Q. Is it possible to determine the lightness range of a device from its profile?

A. Take an image in CIELAB colour space which contains a white and black (i.e. L*=100 and L*=0, a* and b* both being zero). Transform this to the printer colour space using the media-relative colorimetric rendering intent. Then transform it back to CIELAB using the ICC-Absolute rendering intent, and the resulting L* values will represent the white and black point of the device.

The PCS as defined in versions 2 and 3 of the specification is the D50 colour space for an unlimited gamut print. Some vendors have interpreted this as meaning that the black point of the colour space is L* of zero and tables should map the black point - regardless of what it really is - to this. This can make sense for perceptual renderings, where it is absolutely crucial to have a well defined white and black point, but not for colorimetric ones.

The confusion caused by this has been addressed in the latest version of the specification in which, for perceptual rendering, the black in the PCS is given a density of around 2.4 (L*=3.6). We hope this will minimise the confusion that this unlimited gamut concept has led to. But that will only help perceptual renderings - colorimetric ones should be unambiguous.

Digital photography

Q. Where do I find a profile for my camera?

A. Camera profiles are specific to the lighting condition for which they were made. Most of the cameras on the market today render the image to calibrated RGB colour space such as sRGB or Adobe RGB (1998) and embed the corresponding profile. If this is the case, you would not need a profile for the camera.

If you are shooting in a studio with fixed illumination and want to use a custom profile, you would need to make it yourself using profile creation software. If you want to minimise the rendering carried out by the camera, set the camera to save RAW files (if you camera supports this) and acquire using a RAW converter before profiling.

Q. How do I ensure I get the same RGB code values from different shots of the same scene using diferent cameras?

A. This is a situation where you would need to create a profile for each camera, although because of factors such as noise and vendor-specific image rendering you would be unlikely to obtain precisely identical RGB values. If this does not work (because the lighting is changing, for example), you could try including a grey card in the scene and balancing each image to that.

Q. Do I need different profiles for my different cameras?

A. The camera profile tells the CMM (approximately) what colours were in the original scene. Assigning a different profile will alter the way the camera RGB values are interpreted, often quite significantly, so you would probably be better off retaining the existing profiles as input profiles, unless you are in a studio situation and want to build your own custom profiles.

To improve consistency in your workflow, one method would be to select a 'Working Space' which has a gamut large enough for all the originals you will be using. Adobe RGB (1998) or Kodak ProPhoto RGB would be good choices, the latter having a larger colour gamut. Then set up your colour management preferences so that all images are transformed to the Working space.

In this way, the correct input profile is used to interpret the image, and all your images subsequently end up in the same colour space. When you save the image again, you select the option to embed the Working Space profile, and this is also the source profile when you print the image.

Q. As a new digital photographer, I am struggling to understand and implement color management. Can you suggest something that could point me in the right direction?

A. There are three introductory-level White Papers you can download from our web site:

  • ICC profiles in a colour reproduction system
  • Digital photography color management basics
  • Using ICC profiles with digital camera images

Q. What conversions are taking place when I open an image from my camera in Photoshop and subsequently print it?

A. The answer will vary according to the colour management settings you have chosen. In a typical set-up, Photoshop will first convert the image into the current RGB Working Space, which is a calibrated RGB space such as sRGB or Adobe RGB (1998). The source profile in this scenario will be embedded in the image file by the camera. (If your camera does not embed a source profile, you should get a message asking you to specify a source profile from the list available.)

On printing, the image is converted from the Working Space to the colour space of the printer, using the printer profile.

Both conversion have the Profile Connection Space as an intermediate space. In the PCS colour is specified in terms of its appearance rather than in a device-dependent space such as CMYK.

When you view the image on a display, it is being converted to the display colour space, using the display profile which has been chosen for the system.

Q. Are conversions between sRGB and other colour spaces carried out by the sRGB profile?

A. An sRGB profile incorporates the transform from sRGB to the device-independent Profile Connection Space (PCS). When the user invokes a conversion to another colour space, the sRGB profile is used to transform to the PCS. Then the profile for the destination colour space is used to perform the conversion from the PCS.

Q. I am building a new custom color photo lab, and I'm looking for recommendations to paint the walls in the viewing area.

A. The specification in ISO 3664 suggests the walls should be neutral, matte and below 60% reflectance (i.e. grey). The colour spec Munsell N7 gives a suitable colour for this purpose.

Q. I need a it8 graph, where I can find one?

A. There are several versions of the CGATS IT8.7 chart, most of which have been standardised as part of ISO 12641 and ISO 12640-1.

IT8.7/1 and IT8.7/2 are for photographic input materials, transparencies and colour prints respectively. You would obtain these through the vendor of the photographic product you wish to profile, such as Kodak, Fuji or Agfa, or through a colour management vendor.

IT8.7/3 is for characterizing CMYK printers. This is distributed with the ISO 12640-1 publication, and can be also downloaded from a number of other sites on the web (which can be located through a Google search).

If your printer accepts RGB rather than CMYK data, the latter chart may not be useful. There are a number of test charts in RGB colour space, and if your intended use is profiling it would be simplest to use the one recommended for the profile making application. There are also RGB test charts defined in ISO 12640-2.

Q. Should I expect any smoother conversion using a 16bit file and converting from rgb to cmyk in photoshop compared with an 8 bit file.

A. In principle you should get better results with a 16-bit image, although in practice the difference is rarely visible unless you make significant changes to the image during editing.

Graphic arts

Q. Should an ICC profile correct an image with a colour cast?

A. A profile should not correct anything in an image. Thus if you have an original with a cast the print should also have that cast. Correcting the image is a separate stage in the reproduction process from applying the profile.

What the input profile does is to tell you what CIELAB values were seen by the scanner to get a particular set of RGB values. So, when the scanner gets a specific set of RGB values for any pixel the software uses this formula to determine the CIELAB values that it saw for that pixel on the original. The output profile then defines the CMYK values needed to reproduce that colour. So, any cast in the image will be retained in the reproduction.

The removal of colour casts from an image needs separate software.

Q. What are the advantages and disadvantages of a CIELAB colour workflow?

A. I see two problems with an L*a*b* workflow. The first is that the use of a standard colour encoding space has the disadvantage that it needs multiple colour transforms. With 8 bit data this leads to precision issues at each conversion. With L*a*b* this is accentuated by the fact that less than half of the encoding values are used which effectively means reducing 32 bits to 29 or 30 bits of data. On the plus side since L*a*b* is a (approximately) perceptually uniform space it will be acceptable for many applications, but contouring remains a risk.

The second problem relates to elements that you want to define as particular . Converting CMYK images to CIELAB should be OK providing you take care in selecting the rendering intent. The most likely problem is that you can expect 'pure' ink colours to be returned with small dots of other colours when you re-separate them. So a pure cyan, for example, may come back when converted back to CMYK with 1 or 2% dots of other colours. This depends a lot on the profiles used and can be minimised by making sure you use the same profile in both directions (CMYK to L*a*b* and back to CMYK) but you cannot guarantee that both directions in a profile are absolutely identical, and there are precision issues.

Another problem that is likely to arise is when you have features in the image defined in black only as this information will be lost and when re-separated these regions are likely to be reproduced in CMYK. This may not be a problem in colour images but can be for monochrome images or graphic elements such as tints.

If you really want to move away from a CMYK workflow I would suggest using RGB in conjunction with ICC profiles.

Q. Can I make a profile for converting colour to grey scale?

A. ICC defines a monochrome profile format ? though that doesn?t mean that all profile making software supports it. Since profiles produce colour transformations by combining an input profile that goes to a standard colour space (PCS), and an output profile that goes from this space, an output profile that converts colour to greyscale would simply define the relationship between the L* channel and the device levels.

The creation of gray profiles is not a feature that many profiling applications have, but you can make one quite easily by custom settings in Photoshop's Color Settings dialog. When you save the settings an ICC profile is generated.

Q. Can profiling be done for more than 4 colours?

A. Yes, several profiling applications support n-colour profiles.

However, many n-colour devices (such as inkjet printers) generate the additional channels from RGB or CMYK data. The reason for the extra inks is to improve the gamut and quality for printing RGB and CMYK images and the calculation of the use of the additional colorant is part of the printer driver. If this is the case, the channels of the file that you send do not directly drive the ink heads, and a colour transform is performed in the driver which the user has no control over. The profile can take this into account as it is a fixed part of the rendering process, but you would not require an n-colour profile.

Q. Why do I get a worse result sending CMYK to my printer than when I send it RGB data?

A. Many printers only have a RGB interface. This means that even if you send it CMYK data it does its own transform to RGB before separating it to CMYK for the device. If the printer is one of those you are probably better leaving the data in RGB. There is only any point in converting to CMYK if the printer will use CMYK data directly and you either have a good separation procedure or a good CMYK profile for the device.

Q. How do I reproduce clean, solid primary and secondary colours?

A. There are two possible issues here. If you are starting with RGB data, it is difficult to determine an RGB combination that will generate exactly 100% or 0% of the primary and secondary colours. It is also possible that the gamut of the printer is larger than the RGB you are using in this area. (This is not unusual for some RGB colour spaces and you could try defining your RGB as a larger gamut RGB, such as Adobe RGB). To get around the problem you can edit one (or both) of the profiles.

If you are starting with CMYK data and using colour management to transform it for another CMYK, this can result in pure colours in the original CMYK being 'contaminated' by small amounts of another ink. This is a particular problem for spot colours and arises because of a small difference in colour between the two ink sets and is a result of the colour management attempting to produce the correct hue. For many production situations such a result can be a problem as it can give rise to unpleasant halftoning artefacts on some proofing devices and for traditional printing produces colours in which unwanted variations may arise during the run. If you wish to avoid this, it is again necessary to edit the profiles to achieve it.

Medical Imaging

Q. How can I find out the gamut of a display?

A. The display gamut can be found by converting a sample of RGB colours on the gamut boundary to the CIELAB colour space, using the profile for the display. More details can be found here.