[sane-devel] Status update on CanoScan 3200F backend: code in CVS experimental branch

Lauri Pirttiaho lauri.pirttiaho at luukku.com
Sun Mar 26 19:43:37 UTC 2006

To all those eagerly waiting the CanoScan 3200F backend:
a status update.

During the past two weeks I have had less than ten
hours for this, total. Despite that, I managed to
hack together the unstaggering algorithm and now
it is possible to get real looking scans in color
and at 1200 dpi, too.

After Gerhard Jaeger's suggetion, I created account
to Alioth and Henning Meier-Geinitz gave me
developer access to the SANE CVS area. So, using
those privileges I added the cs3200f backend
codes, as they currently stand, to the experimental
branch of the SANE. Feel free to take a look.

Again, severe WARNING has to be kept in mind! The
codes are experimental and in many cases there may
appear anomalies which in the worst case may break
the scanner, mechanically or electrically, so be
careful and DON'T PLAY WITH THE CODES unless you
want to take the risk or know what you are doing.

At present the functionality is very limited. It is
possible to make uncalibrated reflective scans in
8-bit gray and color. That basically works at all
resolutions but I found out that at 75 dpi the scanner
really does internally 100 dpi scans and decimates the
results to 75 dpi, and in the case of color that is
even more complex so that another decimation needs
to be made in the driver. Now, I haven't yet figured
out the exact way to compute the line count parameter
for these cases, so the parameters in the code are
more or less guesses. They may work but also may
not and backend may hang at that resolution.

I have not yet had time to figure out the proper
way to make the motor speed ramps for the scans.
The current ramp computation is based on parabolic
speed curve and is not very good. Some kind of
S-curve matched at both ends and limited to some
reliably determined maximum acceleration is what
is needed.

Currently the exposure and speed is based on 
12 Mbps USB so scanning is slow. Meaning, it could
be much faster in 480 Mbps USB systems. Eventually
I plan to support automatic speed detection
but at present it is fixed. Now, even though
the speed is slow, you may still sometimes see
back-tracking. Unfortunately the speed curve
used for back-tracking is not good enough and
you may see artifacts due to that in the image.

Currently there is no calibration for the geometry
so it is likely that you will see something inside
the scanner, too, besides what you have on the glass.
That will be corrected when the calibrations are added.
Those will also solve the uneven illumination (a
feature of CCF-lamp) and streaks (a feature of CCD).

Also due to lack of geometry calibration, it is
possible to run the scan head to either end of the
scanner. That causes worrying noise and I do not
know if the mechanics has been designed to handle
those collisions. I have not yet broken my HW but
you might have worse luck, so don't do it. One way
to do that is to use xsane preview, so don't use it.

So, that's it, folks. I will continue on this even
though slowly and post again when I have more news.

With best regards,

Lauri Pirttiaho

Luukku Plus paketilla pääset eroon tila- ja turvallisuusongelmista.
Hanki Luukku Plus ja helpotat elämääsi. http://www.mtv3.fi/luukku

More information about the sane-devel mailing list