Contents
wave = 400:10:700;
s1 = daylight(wave,4000);
ctemp = (4000:500:7000);
angval = zeros(size(ctemp));
deval = zeros(size(ctemp));
miredval = zeros(size(ctemp));
for ii=1:numel(ctemp)
s2 = daylight(wave,ctemp(ii));
angval(ii) = metricsSPD(s1,s2,'metric','angle');
deval(ii) = metricsSPD(s1,s2,'metric','cielab','wave',wave);
miredval(ii) = metricsSPD(s1,s2,'metric','mired','wave',wave);
end
Plot the relationships
ieNewGraphWin([],'tall');
tiledlayout(2,1);
nexttile; plot(angval,deval,'-o');
xlabel('Vector angle'); ylabel('\Delta E');
identityLine;
grid on; title('Standard D4000')
nexttile, plot(angval,miredval,'-o');
xlabel('Angle'); ylabel('Mired');
identityLine;
grid on;
assert(abs(miredval(end) - 114.3814) < 1e-4);
assert(abs(angval(end) - 25.0450) < 1e-4);
Now fix the white point at d65
s1 = daylight(wave,6500);
for ii=1:numel(ctemp)
s2 = daylight(wave,ctemp(ii));
angval(ii) = metricsSPD(s1,s2,'metric','angle');
deval(ii) = metricsSPD(s1,s2,'metric','cielab','wave',wave,'white point',[94.9409 100.0000 108.6656]);
miredval(ii) = metricsSPD(s1,s2,'metric','mired','wave',wave);
end
ieNewGraphWin([],'tall');
tiledlayout(2,1);
nexttile, plot(angval,deval,'-o');
xlabel('Angle'); ylabel('\Delta E');
identityLine;
grid on; title('Standard D6500')
nexttile, plot(angval,miredval,'-o');
xlabel('Angle'); ylabel('Mired');
identityLine;
grid on;
assert(abs(miredval(end) - 12.0726) < 1e-4);
assert(abs(angval(end) - 2.6800) < 1e-4);
END