File talk:Black-body-in-mireds-reversed.png

From Wikimedia Commons, the free media repository
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',[]);