[sane-devel] Reflecta ProScan / Crystalscan 7200 PIE film scanner update

Vleeshouwers, J.M. J.M.Vleeshouwers at tue.nl
Thu Sep 6 21:41:25 UTC 2012


Hi Michael & Klaus,

A working separate Reflecta/PIE-USB demo backend in the attachment. At least it works for a Crystalscan 7200. I'm curious about your devices.

The backend consists of:
* reflecta.c: the SANE interface implementation
* reflecta_specific.c: several auxiliary functions
* reflecta_scancmd.c: scanner command functions
* reflecta_usb.c: usb level functions
* reflecta_buffer.c: reader buffer (queue)
and corresponding header files. 

I added a modified scanimage frontend, to allow 4-channel TIFF generation. The frontend is hardcoded for reflecta only, and consists of:
* scanimage00.c: modified, see below
* stiff.c: added a 4-channel TIFF header function
* sanei_usb.c: the file from the regular distribution
* sane.h: disabled the definitions of sane_xxx (they move to reflecta.h); enabled SANE_STATUS_WARMING_UP and SANE_FRAME_RGBI
The modifications to scanimage are:
* all functions sane_xxx changed to sane_reflecta_xxx
* gain and offset are set using array syntax; scanimage already has the capability to do that, but it is not documented (so I added a couple of lines to the help text as well)
* added reading RGBI data from the scanner (and save it as 4-channel TIFF)

Build the modified reflecta-frontend+backend:
* include directories: sane-backends-git20120722/backend sane-backends-git20120722/include /usr/include/libusb-1.0
* libraries: libsane & libusb-1.0

I did only shallow testing:
./scanimage -L
./scanimage -A
./scanimage --test
./scanimage --format=pnm >test00.pnm
./scanimage --format=tiff test01.tiff
./scanimage --mode=Color+Infrared --format=tiff >test02.tiff

The list of current options:
  Scan Mode:
    --mode Lineart|Halftone|Gray|Color|Color+Infrared [Color]
        Selects the scan mode (e.g., lineart, monochrome, or color).
    --depth 1|8|12|16 [8]
        Number of bits per sample, typical values are 1 for "line-art" and 8
        for multibit scans.
    --resolution 25..7200dpi (in steps of 1) [300]
        Sets the resolution of the scanned image.
  Geometry:
    -l 0..37.6767mm [0]
        Top-left x position of scan area.
    -t 0..24.2993mm [0]
        Top-left y position of scan area.
    -x 0..37.6767mm [37.6767]
        Width of scan-area.
    -y 0..24.2993mm [24.2993]
        Height of scan-area.
  Enhancement:
    --halftone-pattern 53lpi 45d ROUND|70lpi 45d ROUND|75lpi Hori. Line|4X4 BAYER|
      4X4 SCROLL|5x5 26 Levels|4x4 SQUARE|5x5 TILE [inactive]
        Defines the halftoning (dithering) pattern for scanning halftoned
        images.
    --threshold 0..100% [inactive]
        Select minimum-brightness to get a white point
    --sharpen[=(yes|no)] [yes]
        Sharpen scan by taking more time to discharge the CCD.
    --skip-calibration[=(yes|no)] [no]
        Skip auto-calibration before scanning image. Option may be overridden
        by scanner.
    --fast-infrared[=(yes|no)] [no]
        Do not reposition scan head before scanning infrared line. Results in
        an infrared offset which may deteriorate IR dust and scratch removal.
  Advanced:
    --preview[=(yes|no)] [no]
        Request a preview-quality scan.
    --save-shading-data[=(yes|no)] [no]
        Save shading data in 'reflecta.shading'
    --save-ccdmask[=(yes|no)] [no]
        Save CCD mask 'reflecta.ccd'
    --exposure-time 100..5000us (in steps of 1) [2937, 2937, 2937, 2937]
        The time the 4 different color filters of the CCD are exposed
        (R,G,B,I)
    --gain 0..63 [19, 19, 19, 19]
        The gain of the signal processor for the 4 CCD color filters (R,G,B,I)
    --offset 0..255 [0, 0, 0, 0]
        The offset of the signal processor for the 4 CCD color filters
        (R,G,B,I)

Yours,

Jan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: reflecta.zip
Type: application/zip
Size: 81117 bytes
Desc: reflecta.zip
URL: <http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20120906/fb811167/attachment-0001.zip>


More information about the sane-devel mailing list