Re: Getting the primaries of a profile
Re: Getting the primaries of a profile
- Subject: Re: Getting the primaries of a profile
- From: Graeme Gill <email@hidden>
- Date: Sat, 20 Oct 2018 12:21:09 +1100
Adriaan van Os wrote:
I need to get the primaries of an ICC profile. For example, for sRGB the
required values are
Can someone please clarify ?
The answer is "it's complicated".
In theory, just use the profile in Absolute Colorimetric intent,
and feed 100% device values into it, one by one.
But reality is a bit different.
The focus of many of the changes to the ICC profile format seem to
be the white point relative/PCS behavior of the profile, and a profile
being a record of the CIE measurement values of the device behavior
seems to have got rather lost in the changes.
The ICCV2 profile spec. had a bit of a gap in it, in not providing
a technically reasonable means of representing the chromatic adaptation
from a displays actual white point to PCS (D50) white. The only
documented means was the white point tag "Wrong Von Kries" transform,
which, while acceptable for print profiles with white paper, shows
its flaws when applied to the larger (typically) D65 to D50 white
point shift necessary for displays.
So some profile makers worked around the problem, and notably profiles like
the (original HP/Microsoft) sRGB profile and the AdobeRGB profile applied
a Bradford transform to the measured primary values, rather than "Wrong Von
Kries".
So to extract the measured primary values from such a profile, you had to know
to apply a Bradford matrix in undoing the white point shift from D50 to the
white point recorded in the white point tag when creating an Absolute
Colorimetric
transform.
Other profile makers took a different approach, and simply hid the Bradford
transform by applying it, but setting the white point tag to D50. For
such a profile, there is no way of recovering the original primaries,
and Absolute Colorimetric intent gave you Relative Colorimetric.
A few profile makers used the "Wrong Von Kries" chromatic transform and put
the true white point in the white point tag, and in this case
the original primaries can be recovered by reversing the "Wrong Von Kries"
chromatic adaptation in creating the Absolute Colorimetric Transform in
the documented ICC V2 fashion.
Latter on, the 'chad" tag was introduced, and this provided a means of
reversing the chromatic adaptation even when the white point tag was
set to D50. The disadvantage of this approach, is that while standard CMM's
support Absolute Colorimetric intent which should restore the white point tag
white point to the profile transform, they will not use the 'chad' tag,
so display profiles built in the fashion are always relative intent with
such CMMs. So a convenient means of recovering the primary values
is not available with such profiles.
ICCV4 embraced the latter approach as a standard.
See <http://www.argyllcms.com/doc/ArgyllCMS_arts_tag.html> for another summary.
Graeme Gill.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
colorsync-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden