[sane-devel] Implementing calibration (was: CanoScan N1240U is working with plustek backend)

Henning Meier-Geinitz henning@meier-geinitz.de
Mon, 18 Nov 2002 19:32:59 +0100


Hi,

On Mon, Nov 18, 2002 at 01:25:05PM +0100, Gerhard Jaeger wrote:
> Anyway. Calibration is a problem for me so far, as this does not really
> work for correctly for my 670 here. We might have to write new routines
> for the CIS devices. 

I'm not sure if it helps you but maybe someone else who writes a
backend will find it in the archive later :-)

The gt68xx backend uses the following approaches for calibration
(simplified):

1) CCD scanners: They all have a white strip with a black mark
   (about2x10 mm) to the left. Some have also a black mark near the
   right border of the white strip.
   
   Coarse calibration (setting up AFE gain and offset): The scan head
   doesn't move during scan and scans continously the white strip
   including the black mark. After each line, the minimum color value of
   the black mark (min black) and the maximum color of the white strip
   (max white) is identified. Offset and gain is set up so these
   values fit better. E.g. Gain is increased if max white is too low.
   Max white is something like 240-250, min black 5-15 (in a range of
   0-255). This is repeated until these values are reached.
   
   Fine calibration (used for correctin the color of each pixel): Some
   lines of the white strip are scanned (with motor move) and the color
   values for each column are averaged. This happens for white calibration
   (lamp on) and black calibrarion (lamp of).
   
2) CIS scanners: They also have the white strip but no black marks.

   Coarse calibration: Similar as above only the min black values are
   generated by scanning a line with the lamp of. So usually Offset is
   changed unmtil minblack is 5-15, then the lamp is turned on and
   gain is changed until max white is 240-250.
   Some scanners also have exposure to fine-tune max white.
   
   Fine calibration: same as above.
   
Bye,
  Henning