[sane-devel] EPSON 3490, calibration and raw data
Oliver Schwartz
Oliver.Schwartz at gmx.de
Thu Feb 16 20:49:52 UTC 2006
Hi,
> Reading the sources to snapscan backend I got the impression that:
> a) before the actual scanning the scanner performs white level
> calibration (and, with TPU, black level calibration).
> This is actually READ/READ_CALIBRATION and
> READ/READ_CALIBRATION_BLACK and the scanner just scans 16 lines of
> open area behind the actual film (and respectively 48 lines for
> black calibration, not sure where).
>
> The images are either 8-bit or 16-bit, but I'm not sure all bits
> are used (details?).
The Epson 3490 uses 14 bit internally. The gamma table is used to
spread or shrink the values into 8 / 16 bit.
> b) the scanned "calibration image" is averaged and a single line is
> sent back using SEND/READ_CALIBRATION and
> SEND/READ_CALIBRATION_BLACK. Not sure about 16-bit, does the values
> differ from 8-bit mode?
Yes. The scanner sends back 16 bit/channel or 8 bit/channel.
> c) eventually the "analog" gamma information is uploaded to the
> scanner as well (not yet sure about details, someone?).
>
> What do I need? I need to obtain "raw" scan data, without any
> calibration or gamma correction at scanning time.
I'm not sure that's what you really want. You should at least apply
calibration before scanning, because there's no easy way to
compensate different gain / black level of sensor elements
afterwards. Anyway, if you really want to skip calibration you can
just turn it off in xsane (or whatever frontend you use) by
unchecking the option "quality calibration").
> Next thing, "analog" gamma - does setting it to 1.0 prevents
> scanner firmware from doing any calculations?
It will calculate something anyway, but if you set brightness /
contrast to 0 and gamma to 1.0 it should result in a linear gamma
table, so you get unchanged data in 16 bit mode. :-).
Note that xsane provides its own sliders for gamma / brightness /
contrast for post-processing. Use the sliders in the "standard
option" window to set the backend values.
> Is this scanner really 48-bit (3 * 16 bit)? Can I really get full
> 16-bit data from it?
No, that's marketing blah blah. It's 3*14 bit, i.e. 42 bit.
> Do you think adding "get raw data" option and possibly "get
> calibration data" (for further processing with general
> image-manipulation programs) to this backend would make sense?
I'm not sure the calibration data would be of any use. "Get raw data"
is just a gamma value of 1.0 and disabled quality calibration, which
is already possible. If you really want to do the quality calibration
afterwards you can just as well do a black scan / white scan with
quality calibration turned off and figure out how to correct your
image data from that...
I'm interested in any results you achieve. Let me know how you get on.
/Oliver
More information about the sane-devel
mailing list