Re: SANE & exposure times

Andreas Rick (rickand@gemse.fr)
Thu, 29 Jul 1999 12:00:29 +0200

Didier Carlier wrote:
>
> ewald@pobox.com said:
> > My concern is not changing the values but getting them from the
> > backend so the frontend knows how to make sense out of the RGB values.
> > I think we could use SANE_NAME_SCAN_EXPOS_TIME_R (defined in sane/
> > saneopts.h) and friends for that. That is, the frontend should check
> > these options and if they are present then it should divide the RGB
> > values by their corresponding exposure time.
>
> What is the meaning of an RGB value divided by a time ? Nothing says
> for instance that the sensitivity of the detectors is the same for all
> colors so that even for a picture that looks perfectly grey, you would get
> completely different values for the quotients.
>
> I'm just curious to understand in what application that division makes sense.

I agree with Didier: Just dividig by the exposure values returned
by the scanner will do nothing but degrade the color balance that
the scanner establishes on its own, because it already has some compensation
for the different light-source efficiencies+detector sensibility.


Nevertheless I think the relation between exposure time and sensor
result is quite interesting.
If we assume that the exposure time really accurate its variation
can be used to verify the linear reponse of the scanner.
I did that and found the result to be quite sattisfactory for the LS-30.
This makes me think of the following application:

The major difference between the LS-30 and LS-2000
film-scanners is the color resolution and the dynamic range
of the images and the fact that the LS-2000 can do
"multi scanning".

I don't have the LS-2000 so I don't know whether the
multiple scanning is done by moving the scanner head
multiple times over the image or wether the head does
only one cycle but each line is scanned multiple times.

The multi scanning allows to reduce the noise captured
in dark areas in the image (or bright on negatives),
where detector noise is important relative to the image signal.

I would like to state that in theory you can scan
any image with any scanner multiple times.
The limitations of the usefullness of multiple scanning
is the repositioning precision of the scanner.
On the LS-30 it is pretty good. I think it may be
sufficient for full resolution scanning and adding of
the images.

While I am trying to implement this functionality
into the SANE-backend I had some doubts if this feature
should not rather be implemented in the frontends.
They have everything in their power to do so.
If I want to do it in the backend I have to store the
whole image (up to 70MB on the LS-30).

What do you think?

The exposure related idea is: multi-exposure scanning.
Instead of scanning all the images of a multi-scanning
process with the same exposure level we might want to
scan one image with the exposure calculated by the scanner,
one with the double and one with 4-times the exposure.
We then fusion the images by choosing the 3rd scan for
all pixel values where the detector was not saturated during the
third scan (ususally 25% of the dynamic range) the second
image for the remaining pixels where the second image was not
satturated and the first for the rest.
Of course we have to scale the values to the same exposure
level before the fusion (->divide by exposure).
We may also leave out the second scan, extend the method to
even more scans and or use a weighting scheme for the fusion.
The advantage of this method is to add two bits of resolution
(or reduce the noise by a factor of sqrt(4)=2) with only 2/3 scans.

As the absolut resolution (or noise) is not so important as
the SNR (Signal to Noise Ratio) and the resulting image
should have an almost signal independent SNR (to be verified)
we get good improvement in the subjective image quality
especially in the dark areas of images with a high contrast
where the quality of the LS-30 is quite poor.

Any comments?.

Andreas

--
Source code, list archive, and docs: http://www.mostang.com/sane/
To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com