Hello Gerhard!Please can you describe a little bit more the calculation process of this matrix. Did you use MathCad?
Best regards, Alexey Gribunin. Gerhard Fuernkranz wrote:
Hi Graeme,I tried to map artificially corrupted spectral readings to the original ones, using a simple linear principal component regression in spectral space, and IMO the results seem quite promising (for one particular "medium" of course, i.e. for one paper/ink/printer/dpi/halftoning/etc. combination)."Artificially corrupted" means 1) Argyll FWA applied + 2) convolution with a low-pass filter kernel in order to simulate a different bandwith of the other instrument + 3) non-linear distortion along the wavelength axis in order to simulate a bad wavelength calibration of the other instrument. Eventuelly the "corrupted" readings differed from the original ones by 11dE avg, 56dE max.Still a linear PCR in spectral space, using 10...20 principal components, like% compute correction matrix M % training set, measured with 2nd instrument spectral_readings = [ ... ]; % same chart measured with 1st (reference) instrument reference_readings = [ ... ]; % number of principal components num_pc = 15; [u,s,v] = svd(spectral_readings); basis = v(:,1:num_pc); M = basis * ((spectral_readings * basis) \ reference_readings); % apply correction to spectral readings measured with 2nd instrument estimated_reference_readings = readings * M;was able to obtain corrected residual errors of less than 0.05dE avg (and spectral reflectance residuals of 0.0005% RMS).