International Color Consortium
Getting Started
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
Search ICC:
Got a question about ICC Profiles or colour management?


Chadtag for conversion of D65 to D50 for use in profiles

Converting tristimulus data computed relative to the D65 illuminant, to that for D50 as required by the ICC specification, is a fairly common requirement for profile builders. In order to minimise ambiguity we present here a binary version of the tag which we encourage users to employ when required. The calculation of the tag was achieved as follows:

Using the Bradford transform matrix defined in section E1.2 of the ICC v4 specification:

Brad = [0.8951, 0.2664, -0.1614; -0.7502, 1.7135,0 .0367; 0.0389, -0.0685, 1.0296];
and the values of D65 and D50 from CIE 15.2 (and the ICC specification for D50)
D65 = [95.04; 100; 108.89];
D50 = [96.42; 100; 82.49];

The following Matlab script results in the floating point matrix required
roe65 = Brad*D65;
roe50 = Brad*D50;

midmat = zeros(3,3);
midmat(1,1) = roe50(1)/roe65(1);
midmat(2,2) = roe50(2)/roe65(2);
midmat(3,3) = roe50(3)/roe65(3);

adapt = inv(Brad)*midmat*Brad

which produces:
1.04790738171017; 0.0229333845542104; -0.0502016347980104
0.0296059594177168; 0.990456039910785; -0.01707552919587
-0.00924679432678241; 0.0150626801401488; 0.751791232609078

When encoded in s15Fixed15Number format.this comes back as
1.04791259765625; 0.0229339599609375; -0.050201416015625
0.02960205078125; 0.990463256835938; -0.0170745849609375
-0.009246826171875; 0.0150604248046875; 0.751785278320313

The files provided are as follows:
chadtag.bin is a binary file with the tag table entry;
chadTag hex dump.gif is a hex dump of the tag table entry;
chadD65toD50.bin is the tag itself
chad D65 to D50 hex dump.gif is a hex dump of the tag itself
Chad 65 to 50 Float encoded.gif is how the ICC Profile Inspector from the web site displays the floating point values encoded in the tag itself

The Tag table definition (chadtag.bin) includes the signature, offset and size. The user should note that the signature and size in this are correct as they do not change but the offset needs to be set for the particular profile the tag is embedded into.

The screen dumps provided as gif files are provided for the convenience of those who do not have a binary editor.