i = 0;
for engine_num = 1:length(comp.engine),
for printer_num = 1:length(comp.engine(engine_num).printer),
% Calculate delta E for RGBCMYK for
No Color Simulation vs. Printout,
% for Color Simulation vs. Printout,
and No Color Simulation vs. Color
% Simulation
%======================================================================
dnosim = deltaLab(comp.engine(engine_num).printer(printer_num).simPrintColors(1).Lab,spectro.engine(engine_num).printer(printer_num).Lab);
dsim = deltaLab(comp.engine(engine_num).printer(printer_num).simPrintColors(2).Lab,spectro.engine(engine_num).printer(printer_num).Lab);
dsim_nosim = deltaLab(comp.engine(engine_num).printer(printer_num).simPrintColors(1).Lab,comp.engine(engine_num).printer(printer_num).simPrintColors(2).Lab);
% Plot them all on the same axis
%===============================
f = figure;
plot(1:7,dnosim,'r');
hold on;
plot(1:7,dsim,'b');
plot(1:7,dsim_nosim,'g');
axis([1 7 0 110]);
set(gca,'xticklabel',['R';'G';'B';'C';'M';'Y';'K';]);
ylabel('Delta E units');
xlabel('Color');
title(sprintf('%s\n%s','Lab Deltas',[printers(printer_num).name{1},'::',engines(engine_num).name{1}]));
legend('No Sim Print Colors','Sim Print
Colors','Sim Difference');
if (SaveAllPlots == 1),
print( f, '-djpeg90',
['LabE',num2str(engine_num),'P',num2str(printer_num),'.jpg']);
end
% Calculate the average distance between
Colors in Lab Space.
% ===========================================================
i = i+1;
difference_measure(i) = sum(dsim)/7;
if (~isempty(comp.engine(engine_num).printer(printer_num).simPrintColors(2).convertLab)),
diff1 = deltaLab(comp.engine(engine_num).printer(printer_num).simPrintColors(2).Lab,spectro.engine(engine_num).printer(printer_num).Lab);
diff2 = deltaLab(comp.engine(engine_num).printer(printer_num).simPrintColors(2).convertLab,spectro.engine(engine_num).printer(printer_num).convertLab);
diff3 = deltaLab(comp.engine(engine_num).printer(printer_num).simPrintColors(2).Lab,comp.engine(engine_num).printer(printer_num).simPrintColors(2).convertLab);
f = figure;
plot(1:3,diff1(1:3),'r');
hold on;
plot(1:3,diff2(1:3),'b');
plot(1:3,diff3(1:3),'g');
axis([1 3 0 110]);
set(gca,'xtick',[1
2 3],'xticklabel',['R';'G';'B']);
ylabel('Delta E units');
xlabel('Color');
title(sprintf('%s\n%s','Lab
Deltas: RGB->CMYK',[printers(printer_num).name{1},'::',engines(engine_num).name{1}]));
legend('Before Convert','After
Convert','Convert Monitor Difference');
if (SaveAllPlots ==
1),
print( f, '-djpeg90', ['LabCRE',num2str(engine_num),'P',num2str(printer_num),'.jpg']);
end
f = figure;
plot(1:4,diff1(4:7),'r');
hold on;
plot(1:4,diff2(4:7),'b');
plot(1:4,diff3(4:7),'g');
axis([1 4 0 110]);
set(gca,'xtick',[1
2 3 4],'xticklabel',['C';'M';'Y';'K']);
ylabel('Delta E units');
xlabel('Color');
title(sprintf('%s\n%s','Lab
Deltas: CMYK->RGB',[printers(printer_num).name{1},'::',engines(engine_num).name{1}]));
legend('Before Convert','After
Convert','Convert Monitor Difference');
if (SaveAllPlots ==
1),
print( f, '-djpeg90', ['LabCCE',num2str(engine_num),'P',num2str(printer_num),'.jpg']);
end
end
end
end
% Plot the average distance for each printer/engine setting
% ==========================================================
f = figure;
plot(difference_measure);
set(gca,'xtick',1:6,'xticklabel',['AI:AD';'HP:AD';'KD:AD';'AI:KD';'HP:KD';'KD:KD']);
ylabel('Delta E units');
xlabel('Adobe Color Setting');
title('Average Lab Difference Between Printout and Monitor Simulated
Colors');
if (SaveAllPlots == 1),
print( f, '-djpeg90', ['LabAve','.jpg']);
end