File talk:Black-body-in-mireds-reversed.png
Jump to navigation
Jump to search
Source code
[edit]MIREDS=1:1000; % 1MK to 1000K; don't use zero!
c2=1.4387752; % second radiation constant
[LAMBDA, XFCN, YFCN, ZFCN]=colorMatchFcn('Judd_Vos');
[lambda,mireds]=meshgrid(LAMBDA,MIREDS);
spd=lambda.^(-5)./(exp(c2.*mireds*10./lambda)-1);
pl_XYZ=spd*[XFCN' YFCN' ZFCN'];
norm_XYZ=pl_XYZ./(max(pl_XYZ,[],2)*[1 1 1]); % max trick
mean_XYZ=norm_XYZ*0.5./(mean(norm_XYZ,2)*[1 1 1]); % even the brightness
pl_srgb=applycform(mean_XYZ,makecform('xyz2srgb'));
colors(:,:,1)=pl_srgb(:,1)';
colors(:,:,2)=pl_srgb(:,2)';
colors(:,:,3)=pl_srgb(:,3)';
image(colors);
set(gca,'XTickLabel',100:100:1000); % counterintuitive...
set(gca,'YTick',[]);