[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