[sane-devel] Canon FS4000 backend code
Andrew McDonnell
bugs at andrewmcdonnell.net
Sat Sep 29 08:18:27 UTC 2012
Hi all,
I have developed a partially completed backend for a Canon FS4000 slide
scanner. It can scan a chosen slide or negative position into a native
resolution negative image.
I have uploaded a patch generated from my git working copy (using git diff
origin) against the development tree, to:
http://andrewmcdonnell.net/snippets/fs4000-backend-alpha-update1.patch
I am developing using Squeeze amd64, and the most recent git rebase doesnt
build cleanly for me, so I have to regenerate the libtool scripts from the
working tree (the patch excludes the changes this causes):
I build it using:
make clean
rm -rf aclocal.m4 autom4te.cache
libtoolize -c -i -f
./configure --prefix=$HOME/opt/sane-1.0.24-head-git \
--disable-translations --enable-warnings --disable-avahi --disable-ipv6 \
--without-snmp --enable-pnm-backend --disable-locking --enable-pthread \
--with-gphoto2 --enable-static --enable-maintainer-mode BACKENDS=fs4000
make install
Locate device:
scanimage -d fs4000:libusb:009:005 -A
Outputs:
All options specific to device `fs4000:libusb:009:005':
--product <string> [IX-40015G] [hardware]
Product string detected from scanner.
--iframe-slide auto|1..4 (in steps of 1) [1]
Frame to scan, 1..4 for slides
--iframe-neg auto|1..6 (in steps of 1) [1]
Frame to scan, 1..6 for negatives
Scanning:
# give the tray a slight push so it retracts into the device
# below, 4 is a number between 1 and 6 for the slide position.
scanimage --iframe-neg 4 --format=pnm > test.pnm
This produces a 4040x5904 pixel negative image (for negatives, I have no slide
to test currently) viewable in Gimp.
The backend still needs quite a bit of work to be properly usable, some of the
areas needing refinement includes:
* fleshing out of scanner-specific options for fine control of the scanner
* makeing code more conformant with sane programming standards
* support for actual SCSI (only USB currently tested)
* support for more than one connected Fs4000 (to support this, the code
ported from Windows will need to be refactored, the original author only ever
assumed one scanner I think)
* calibration support (the low code supports the ability to save calibration
data for reuse but I havent yet worked out how to incorporate this into sane)
* general code clean up and more detailed comments
* scan zooming
* scan at a reduced resolution
* automated negative conversion (this would need to be done in software)
I have been slowly starting to work through the above
hoping I can make a useful contribution,
--Andrew
--
https://launchpad.net/~andymc73
http://blog.oldcomputerjunk.net
Twitter: @andymc73
GPG: http://www.andrewmcdonnell.net/gpg.html
More information about the sane-devel
mailing list