[sane-devel] Canon FS4000 backend code

Andrew McDonnell bugs at andrewmcdonnell.net
Mon Nov 19 14:17:21 UTC 2012


As I have no access to the FS4000 to further this project for the time being,
and it is not yet mature enough to be incorporated into the mainline of sane
on alioth, I have uploaded my code to github:

https://github.com/andymc73/sane-fs4000-backend

A patch against sane itself is also at

http://andrewmcdonnell.net/snippets/fs4000-backend-alpha-update1.patch

although this was generated in September so may well break by now.

I hope to have the device back at some future point for further development,
but in the meantime, the partially completed backend is now publicly available
for use or improvement

--Andrew

--

https://launchpad.net/~andymc73
http://blog.oldcomputerjunk.net
Twitter: @andymc73
GPG: http://www.andrewmcdonnell.net/gpg.html


> Date: Sat, 29 Sep 2012 17:48:27 +0930
> From: Andrew McDonnell <bugs at andrewmcdonnell.net>
> To: sane-devel at lists.alioth.debian.org
> Subject: [sane-devel] Canon FS4000 backend code
> Message-ID: <5066AED3.8080004 at andrewmcdonnell.net>
> Content-Type: text/plain; charset=ISO-8859-1
> 
> 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
> 




More information about the sane-devel mailing list