Am 26.06.2010 17:53, schrieb Gerhard Fuernkranz: > I'm not sure though, whether Graeme does some kind of shrinkage in his > driver, which may lead to the observed bias. Klaus, in i1pro_compute_white_cal() I find /* For each wavelength */ for (j = 0; j < m->nwav1; j++) { if (white_read1[j] < 1000.0) cal_factor1[j] = white_ref1[j]/1000.0; else cal_factor1[j] = white_ref1[j]/white_read1[j]; } and /* For each wavelength */ for (j = 0; j < m->nwav2; j++) { if (white_read2[j] < 1000.0) cal_factor2[j] = white_ref2[j]/1000.0; else cal_factor2[j] = white_ref2[j]/white_read2[j]; } If the white readings happen to be < 1000 at particular wavelenghts, then a minimum value of 1000 is still enforced for the denominator, which I assume will lead to a downwards shrinkage/biasing of the readings at these wawevelengths. It should be easy, to print out the write_ref1[] and white_ref2[] numbers in order to verify whether or not they happen to be < 1000 your case. Regards, Gerhard