ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/cal/cal/cieluv.cal
Revision: 1.4
Committed: Thu Jun 18 00:12:18 2015 UTC (8 years, 11 months ago) by greg
Branch: MAIN
CVS Tags: rad5R4, rad5R2, rad5R0, rad5R1, rad5R3, HEAD
Changes since 1.3: +2 -2 lines
Log Message:
Fixed non-constant function

File Contents

# User Rev Content
1 greg 1.4 { RCSid $Id: cieluv.cal,v 1.3 2015/06/18 00:11:39 greg Exp $ }
2 greg 1.1 {
3     Compute Luv color space and color differences from XYZ primaries.
4    
5     5/4/98 G.W.Larson
6     }
7     Xw = 1; Yw = 1; Zw = 1; { default white }
8     sq(x) : x*x;
9     up(Xi,Yi,Zi) : 4*Xi/(Xi + 15*Yi + 3*Zi);
10     vp(Xi,Yi,Zi) : 9*Yi/(Xi + 15*Yi + 3*Zi);
11 greg 1.3 up_neu : up(1,1,1);
12     vp_neu : vp(1,1,1);
13     uw = up(Xw,Yw,Zw);
14     vw = vp(Xw,Yw,Zw);
15 greg 1.4 Ls(Yi) = if(Yi/Yw - .01, 116*(Yi/Yw)^(1/3) - 16, 903.3*Yi/Yw);
16 greg 1.3 us(Xi,Yi,Zi) = 13*Ls(Yi)*(up(Xi,Yi,Zi) - uw);
17     vs(Xi,Yi,Zi) = 13*Ls(Yi)*(vp(Xi,Yi,Zi) - vw);
18     hue_deg(Xi,Yi,Zi) = 180/PI*atan2(vs(Xi,Yi,Zi),us(Xi,Yi,Zi));
19     sat_uv(Xi,Yi,Zi) = 13*sqrt(sq(up(Xi,Yi,Zi)-uw) + sq(vp(Xi,Yi,Zi)-vw));
20     dE(X1,Y1,Z1,X2,Y2,Z2) = sqrt(sq(Ls(Y1)-Ls(Y2)) + sq(us(X1,Y1,Z1)-us(X2,Y2,Z2))
21 greg 1.1 + sq(vs(X1,Y1,Z1)-vs(X2,Y2,Z2)));