The obvious choice of intermediate color space is one based on a color appearance model that takes viewing conditions into account. However, it is necessary to ensure that the intermediate color space used in a color reproduction system is suitable for gamut mapping, and this might require further transformations of image data before gamut mapping is carried out. Given gamut boundary descriptors of the original and reproduction, a gamut mapping algorithm will try to make changes to the original image so as to ensure that all its colors end up inside the reproduction gamut. Most gamut mapping algorithms (GMA) intend to preserve some appearance attributes of an original color while changing others. Having decided what intermediate color space to use, what the reference white is, and what appearance attributes to use for the gamut mapping, a GMA can be applied, and this results in such colors being assigned to all pixels that can be achieved in the reproduction medium.