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