| Loading... |
| # | Src | Dst | Src Hex | Adapted | dE00 | dE76 | dE94 | Shift | Gamut |
|---|---|---|---|---|---|---|---|---|---|
| Loading... | |||||||||
Compare all 8 CAT methods against the same patch set and illuminant pair. Shows mean/median/min/max dE00, matrix condition number, and determinant side-by-side.
| Method | Mean dE00 | Median | Min | Max | Std Dev | k(M) | det(M) | Best |
|---|---|---|---|---|---|---|---|---|
| Click "Compare all 8 methods" to run analysis. | ||||||||
ICC Profile Connection Space (PCS)
ICC v4 Specification: The International Color Consortium mandates the Bradford chromatic adaptation transform for converting between device colour spaces and the Profile Connection Space (PCS), which is defined under D50 illuminant.
PCS: CIE XYZ or CIELAB under D50 (5003 K). When a device profile references D65 white-point, the Bradford CAT is used to adapt D65 to D50 for PCS encoding, and D50 to device white-point on output.
Specification: ICC.1:2022 S6.1, Annex E. The Bradford matrix is hardcoded in the specification - no alternative transforms are permitted.
CIE 15:2004 - Colorimetry
CIE 15:2004 is the fundamental reference for colorimetric computation. It defines the CIE 1931 standard observer, illuminant SPDs (A, D50, D65, etc.), the XYZ colour space, CIELAB, and the chromatic adaptation procedures used when converting between illuminants.
CIE Technical Report 159:2004 and CIE 160:2004 provide further guidance on chromatic adaptation transforms including the Von Kries coefficient law and its extensions.
CIE 159:2004 - Chromatic Adaptation
CIE Technical Report 159:2004 covers the state of knowledge on chromatic adaptation, evaluating multiple transforms (Von Kries, Bradford, CMCCAT2000, CAT02) against psychophysical datasets.
Key finding: "Sharpened" transforms (Bradford, CMCCAT2000) outperform simple diagonal Von Kries adaptation for large illuminant differences, while Von Kries remains adequate for small shifts.
CIECAM02 and CAM16 - Colour Appearance Models
CIECAM02 (CIE 2004) is the recommended colour appearance model, using CAT02 as its chromatic adaptation step. It models lightness, chroma, hue, colourfulness, saturation, and brightness under varying viewing conditions.
CAM16 (Li et al., 2017) corrects a hue rotation defect in CAT02 and uses an improved CAT16 transform matrix. CIE TC 1-99 is evaluating CAM16 as a potential successor to CIECAM02.
CIEDE2000 - Colour Difference Standard
CIE 142-2001: CIEDE2000 (dE00) is the current recommended colour-difference formula. It includes corrections for lightness, chroma, hue, and an interaction term (rotation term RT) that addresses the blue region problematic in earlier metrics.
Guideline ranges: dE00 <1 imperceptible, 1-2 perceptible only by trained observers, 2-5 visible, 5-10 large, >10 very large difference.
CIE Standard Illuminants
- Illuminant A (2856 K): Tungsten/incandescent. Defined by Planckian radiator.
- Illuminant B (4874 K): Direct noon sunlight (deprecated in CIE 2004).
- Illuminant C (6774 K): Average daylight (deprecated, superseded by D65).
- D50 (5003 K): ICC PCS standard, printing industry.
- D55 (5503 K): Mid-morning/afternoon daylight.
- D65 (6504 K): Standard daylight, sRGB reference white.
- D75 (7504 K): North sky daylight.
- E (equal-energy): Theoretical, equal power at all wavelengths.
- FL series (F1-F12): Fluorescent lamp spectral types.
ISO 3664:2009 - Viewing Conditions
ISO 3664 specifies viewing conditions for colour evaluation in graphic technology. It mandates D50 illumination for print evaluation and D65 for comparison with electronic displays. Chromatic adaptation transforms bridge the gap between these viewing conditions.
Chromatic Adaptation Transform - General Form:
[L, M, S]T = M * [X, Y, Z]T
Step 2: Diagonal scaling (von Kries law):
D = diag(d1, d2, d3)
where di = 1 + D_adapt * (dst_LMSi / src_LMSi - 1)
D_adapt = adaptation degree (0 = none, 1 = full)
Step 3: LMS to XYZ via inverse transform:
[X', Y', Z']T = M-inv * D * M * [X, Y, Z]T
Full adaptation matrix: A = M-inv * D * M
This single 3x3 matrix adapts any XYZ vector.
Bradford Transform Matrix (Lam 1985, Fairchild 1996):
| 0.8951000 0.2664000 -0.1614000 |
|-0.7502000 1.7135000 0.0367000 |
| 0.0389000 -0.0685000 1.0296000 |
M-inv_Bradford (LMS to XYZ):
| 0.9869929 -0.1470543 0.1599627 |
| 0.4323053 0.5183603 0.0492912 |
|-0.0085287 0.0400428 0.9684867 |
Properties:
- det(M) approx 1.0 (preserves volume)
- Sharpened pseudo-LMS: not true cone fundamentals
- ICC-mandated since ICC.1:2004
- Performs well for large illuminant differences
All CAT Transform Matrices (M):
| 0.40024 0.70760 -0.08081 |
|-0.22630 1.16532 0.04570 |
| 0.00000 0.00000 0.91822 |
CAT02 (CIECAM02):
| 0.7328 0.4296 -0.1624 |
|-0.7036 1.6975 0.0061 |
| 0.0030 0.0136 0.9834 |
CAT16 (CAM16):
| 0.401288 0.650173 -0.051461 |
|-0.250268 1.204414 0.045854 |
|-0.002079 0.048952 0.953127 |
Sharp:
| 1.2694 -0.0988 -0.1706 |
|-0.8364 1.8006 0.0357 |
| 0.0297 -0.0315 1.0018 |
CMCCAT2000:
| 0.7982 0.3389 -0.1371 |
|-0.5918 1.5512 0.0406 |
| 0.0008 0.0239 0.9753 |
HPE (Hunt-Pointer-Estevez):
| 0.38971 0.68898 -0.07868 |
|-0.22981 1.18340 0.04641 |
| 0.00000 0.00000 1.00000 |
XYZ Scaling: Identity matrix I3
sRGB to/from XYZ (IEC 61966-2-1, D65):
if C_srgb <= 0.04045: C_lin = C_srgb / 12.92
else: C_lin = ((C_srgb + 0.055) / 1.055)^2.4
Linear RGB to XYZ (D65):
|X| |0.4124564 0.3575761 0.1804375| |R_lin|
|Y| = |0.2126729 0.7151522 0.0721750| |G_lin|
|Z| |0.0193339 0.1191920 0.9503041| |B_lin|
XYZ to Linear RGB (D65):
|R_lin| | 3.2404542 -1.5371385 -0.4985314| |X|
|G_lin| = |-0.9692660 1.8760108 0.0415560| |Y|
|B_lin| | 0.0556434 -0.2040259 1.0572252| |Z|
sRGB Gamma (linear to companding):
if C_lin <= 0.0031308: C_srgb = 12.92 * C_lin
else: C_srgb = 1.055 * C_lin^(1/2.4) - 0.055
XYZ to CIELAB (CIE 15:2004):
f(t) = (29/6)^2*t/3 + 4/29 otherwise
L* = 116 * f(Y/Yn) - 16
a* = 500 * [f(X/Xn) - f(Y/Yn)]
b* = 200 * [f(Y/Yn) - f(Z/Zn)]
where (Xn, Yn, Zn) = white-point reference.
LCH (cylindrical):
C* = sqrt(a*^2 + b*^2)
h = atan2(b*, a*) [0-360 degrees]
Colour Difference Metrics:
dE*ab = sqrt[(dL*)^2 + (da*)^2 + (db*)^2]
CIE94 (dE*94):
dE*94 = sqrt[(dL*/SL)^2 + (dC*/SC)^2 + (dH*/SH)^2]
SL = 1, SC = 1 + 0.045*C1*, SH = 1 + 0.015*C1*
CIEDE2000 (dE00):
G = 0.5 * [1 - sqrt(C_bar^7 / (C_bar^7 + 25^7))]
a'i = ai * (1 + G)
C'i = sqrt(a'i^2 + bi^2), h'i = atan2(bi, a'i)
dH' = 2*sqrt(C'1*C'2) * sin(dh'/2)
SL = 1 + 0.015*(L_bar'-50)^2 / sqrt(20+(L_bar'-50)^2)
SC = 1 + 0.045 * C_bar'
SH = 1 + 0.015 * C_bar' * T
T = 1 - 0.17cos(h_bar'-30) + 0.24cos(2h_bar')
+ 0.32cos(3h_bar'+6) - 0.20cos(4h_bar'-63)
RT = -sin(2*dTheta) * RC (rotation term)
dE00 = sqrt[(dL'/SL*KL)^2 + (dC'/SC*KC)^2
+ (dH'/SH*KH)^2 + RT*(dC'/SC*KC)*(dH'/SH*KH)]
- dE < 1: Imperceptible to most observers.
- dE 1-2: Perceptible on close inspection by trained observers.
- dE 2-5: Clearly noticeable difference.
- dE > 5: Colors appear distinctly different.
Spectral Power Distribution Generation:
M(lambda,T) = 2hc^2 / lambda^5 * 1/(e^(hc/lambda*kT) - 1)
h = 6.626e-34, c = 2.998e8, k = 1.381e-23
CIE Daylight (D-series, >=4000 K):
S(lambda) = S0(lambda) + M1*S1(lambda) + M2*S2(lambda)
where S0, S1, S2 are CIE basis vectors (300-830 nm)
xD computed from CCT via Kang et al. (2002) approximation
yD = -3*xD^2 + 2.87*xD - 0.275
CCT to xy chromaticity (Kang et al. 2002):
T <= 4000 K: x = -0.2661e9/T^3 - 0.2344e6/T^2 + 877.7/T + 0.180
T > 4000 K: x = -3.0258e9/T^3 + 2.1070e6/T^2 + 222.6/T + 0.240
- sRGB Gamut: Adapted colours are clipped to [0,255] per channel. Real colours outside sRGB produce clipping artefacts; use dE to assess severity.
- Linear Scaling: All CATs use diagonal (von Kries) scaling in a sharpened space, not full cone-adaptation neural models.
- Incomplete Adaptation: The degree slider is a linear interpolation - real adaptation is non-linear and observer-dependent.
- No Surround Effects: CIECAM02/CAM16 model surround luminance, background, and viewing conditions; this tool isolates the CAT step only.
- SPD Approximation: Fluorescent illuminants use Planckian approximation, not the full CIE line-spectrum data.
- Display Dependent: Results depend on monitor gamma, color profile, and ambient lighting. Use ICC-profiled displays for accurate evaluation.
Chromatic Adaptation Transforms
[2] Fairchild, M.D. (1996). Refinement of the RLAB color space. Color Res. App., 21(5), 338-346.
[3] Brill, M.H. & Susstrunk, S. (2008). Repairing gamut problems in CIECAM02. Color Res. App., 33(5), 424-426. DOI: 10.1002/col.20437
[4] Li, C., Li, Z., Wang, Z., et al. (2017). Comprehensive color solutions: CAM16, CAT16, and S-decoupled UCS. Color Res. App., 42(6), 703-718. DOI: 10.1002/col.22131
[5] Luo, M.R., Hunt, R.W.G. (1998). The structure of the CIE 1997 colour appearance model (CIECAM97s). Color Res. App., 23(3), 138-146.
Colour Appearance Models
[7] Fairchild, M.D. (2013). Color Appearance Models, 3rd Ed. Wiley-Blackwell. ISBN: 978-1-119-96703-3
[8] Hunt, R.W.G. & Pointer, M.R. (2011). Measuring Colour, 4th Ed. Wiley.
Colorimetry and Colour Difference
[10] Sharma, G., Wu, W., Dalal, E.N. (2005). The CIEDE2000 color-difference formula: Implementation notes, supplementary test data, and mathematical observations. Color Res. App., 30(1), 21-30. DOI: 10.1002/col.20070
[11] CIE (2001). Improvement to industrial colour-difference evaluation. CIE 142-2001.
ICC and Industry Standards
[13] ISO 3664:2009. Graphic technology and photography - Viewing conditions.
[14] IEC 61966-2-1:1999. Colour management - Default RGB colour space - sRGB.
SPD and Illuminant Computation
[16] Judd, D.B., MacAdam, D.L., Wyszecki, G. (1964). Spectral distribution of typical daylight as a function of correlated color temperature. JOSA, 54(8), 1031-1040.
About this tool
This tool implements 8 chromatic adaptation transforms with full CIEDE2000, CIE76, CIE94 metrics, CIE 1931 chromaticity visualization, SPD spectral analysis, and multi-method comparison - entirely client-side (zero network). Not a substitute for calibrated measurement or official CIE software.
Reconstructs full spectral reflectance from sRGB, applies chromatic adaptation in spectral domain (rather than tristimulus), and re-renders under destination illuminant. Compares tristimulus and spectral adaptation accuracy.
Enter hex colours (one per line or comma-separated). Adapts all colours using current settings and produces full dE analysis with statistics.
Analyses gamut boundary interactions when adapting between illuminants. Shows which patches clip, which channels saturate, and recommends gamut mapping strategies (clipping, compression, or perceptual intent).
Research note: the linear partial adaptation model (D = 1 + degree * (ratio - 1)) is a first-order approximation. CIECAM02 uses a non-linear adaptation degree based on surround luminance (LA):
where F = 1.0 (average), 0.9 (dim), 0.8 (dark) surround
L_A = adapting luminance (cd/m^2)
Examples: L_A = 64 cd/m^2 -> D approx 0.94 (near-complete)
L_A = 4 cd/m^2 -> D approx 0.69 (significant incomplete adaptation)
L_A = 0.2 cd/m^2 -> D approx 0.49 (under scotopic conditions)