1 |
{ |
2 |
Rcalc run to compute CRI and other factors from light source SPD |
3 |
convolved with standard curves. |
4 |
Used by scripts illumcal, reflcal. |
5 |
|
6 |
Input is summed wavelength convolution used below. |
7 |
} |
8 |
Lp = $1; { photopic lumens or luminance } |
9 |
Ls = $2; { scotopic lumens or luminance } |
10 |
x_k = $3/($3+$4+$5); { source x } |
11 |
y_k = $4/($3+$4+$5); { source y } |
12 |
u_k = u_XYZ($3,$4,$5); { source u } |
13 |
v_k = v_XYZ($3,$4,$5); { source v } |
14 |
c_k = c_uv(u_k,v_k); { source c } |
15 |
d_k = d_uv(u_k,v_k); { source d } |
16 |
x10_k = $6/($6+$7+$8); { source x10 } |
17 |
y10_k = $7/($6+$7+$8); { source y10 } |
18 |
Yi(i) = select(i, $10, $13, $16, $19, $22, $25, $28, $31) * 100 / $4; |
19 |
ui(i) = select(i, |
20 |
u_XYZ($9,$10,$11), { u for reference color 1 } |
21 |
u_XYZ($12,$13,$14), { u for reference color 2 } |
22 |
u_XYZ($15,$16,$17), { u for reference color 3 } |
23 |
u_XYZ($18,$19,$20), { u for reference color 4 } |
24 |
u_XYZ($21,$22,$23), { u for reference color 5 } |
25 |
u_XYZ($24,$25,$26), { u for reference color 6 } |
26 |
u_XYZ($27,$28,$29), { u for reference color 7 } |
27 |
u_XYZ($30,$31,$32) { u for reference color 8 } |
28 |
); |
29 |
vi(i) = select(i, |
30 |
v_XYZ($9,$10,$11), { v for reference color 1 } |
31 |
v_XYZ($12,$13,$14), { v for reference color 2 } |
32 |
v_XYZ($15,$16,$17), { v for reference color 3 } |
33 |
v_XYZ($18,$19,$20), { v for reference color 4 } |
34 |
v_XYZ($21,$22,$23), { v for reference color 5 } |
35 |
v_XYZ($24,$25,$26), { v for reference color 6 } |
36 |
v_XYZ($27,$28,$29), { v for reference color 7 } |
37 |
v_XYZ($30,$31,$32) { v for reference color 8 } |
38 |
); |
39 |
|
40 |
ci(i) = c_uv(ui(i),vi(i)); |
41 |
di(i) = d_uv(ui(i),vi(i)); |
42 |
|
43 |
u_XYZ(X,Y,Z) = 4*X/(X+15*Y+3*Z); |
44 |
v_XYZ(X,Y,Z) = 9*Y/(X+15*Y+3*Z); |
45 |
c_uv(u,v) = (4-u-10*v)/v; |
46 |
d_uv(u,v) = (1.708*v+.404-1.481*u)/v; |