*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> sane-bh (5)              
Title
Content
Arch
Section
 

sane-bh(5)

Contents


NAME    [Toc]    [Back]

       sane-bh	-  SANE  backend  for  Bell+Howell Copiscan II series document
       scanners

DESCRIPTION    [Toc]    [Back]

       The sane-bh library implements a SANE (Scanner Access Now Easy) backend
       that  provides  access to Bell+Howell Copiscan II series document scanners.
  The Copiscan II 6338 has been the  primary  scanner  model  used
       during development and testing, but since the programming interface for
       the entire series is consistent the backend should work for the following
 scanner models.

	      COPISCAN II 6338 Duplex Scanner with ACE
	      COPISCAN II 2135 Simplex Scanner
	      COPISCAN II 2137(A) Simplex Scanner (with ACE)
	      COPISCAN II 2138A Simplex Scanner with ACE
	      COPISCAN II 3238 Simplex Scanner
	      COPISCAN II 3338(A) Simplex Scanner (with ACE)

       If  you	have  a  Bell+Howell scanner and are able to test it with this
       backend, please contact [email protected] with  the  model	number
       and	 testing       results.       Have	 a	 look	    at
       http://www.mostang.com/sane/mail.html concerning subscription to  sanedevel.
  Additionally,  the  author  is  curious as to the likelihood of
       using this backend with the newer 4000 and 8000	series	scanners.   If
       you have such a beast, please let me know.

       The  Bell+Howell  Copiscan II series document scanners are high volume,
       high throughput scanners designed for document  scanning  applications.
       As  such, they are lineart/grayscale scanners supporting a fixed number
       of fairly low resolutions (e.g. 200/240/300dpi).  However, they do have
       a number of interesting and useful features suited to needs of document
       imaging applications.  This backend attempts  to  support  as  many  of
       these features as possible.

       The  main  technical reference used in writing this backend is the Bell
       and Howell Copiscan II Remote SCSI Controller (RSC) OEM Technical  Man-
       ual  Version 1.5.  The Linux SCSI programming HOWTO, the SANE API documentation,
 and SANE source code were also extremely valuable resources.


       The  latest  backend  release, additional information and helpful hints
       are available from the backend homepage:
	      http://www.martoneconsulting.com/sane-bh.html

DEVICE NAMES    [Toc]    [Back]

       This backend expects device names of the form:

	      special

       Where special is the path-name for the special device that  corresponds
       to a SCSI scanner. For SCSI scanners, the special device name must be a
       generic SCSI device or a symlink to such a device.  Under Linux, such a
       device  name  takes a format such as /dev/sga or /dev/sg0, for example.
       See sane-scsi(5) for details.

CONFIGURATION    [Toc]    [Back]

       The contents of the bh.conf file is a list of device names that	correspond
  to  Bell+Howell  scanners.   See sane-scsi(5) on details of what
       constitutes a valid device name.  Additionally, options can  be	specified;
  these  lines  begin  with  the  word  "option".	Each option is
       described in detail below.  Empty lines and lines starting with a  hash
       mark (#) are ignored.

OPTIONS    [Toc]    [Back]

       The following options can be specified in the bh.conf file.

       disable-optional-frames
	      This  option  prevents  the  backend  from  sending any optional
	      frames.  This option may be useful when dealing  with  frontends
	      which do not support these optional frames.  When this option is
	      in effect, the data is sent in  a  SANE_FRAME_GRAY  frame.   The
	      optional	frames	sent  by  this	backend  are: SANE_FRAME_G31D,
	      SANE_FRAME_G32D,	SANE_FRAME_G42D  and  SANE_FRAME_TEXT.	 These
	      frames  are  generated  based  on  the  compression  and barcode
	      options.	These frames are never sent in preview mode.

       fake-inquiry
	      This option is used for debugging purposes and its  use  is  not
	      encouraged.  Essentially, it allows the backend to initialize in
	      the absence of a scanner.  This is useful  for  development  and
	      not  much  else.	 This  option must be specified earlier in the
	      configuration file than the devices which are to be "faked".

FILES    [Toc]    [Back]

       /etc/sane.d/bh.conf
	      The  backend  configuration  file  (see  also   description   of
	      SANE_CONFIG_DIR below).

       /usr/lib/sane/libsane-bh.a
	      The static library implementing this backend.

       /usr/lib/sane/libsane-bh.so
	      The shared library implementing this backend (present on systems
	      that support dynamic loading).

ENVIRONMENT    [Toc]    [Back]

       SANE_CONFIG_DIR
	      This environment variable specifies the list of directories that
	      may contain the configuration file.  Under UNIX, the directories
	      are separated by a colon (`:'), under OS/2, they	are  separated
	      by a semi-colon (`;').  If this variable is not set, the configuration
 file is searched in two default directories: first,  the
	      current working directory (".") and then in /etc/sane.d.	If the
	      value of the environment variable ends with the directory  separator
 character, then the default directories are searched after
	      the explicitly  specified  directories.	For  example,  setting
	      SANE_CONFIG_DIR  to  "/tmp/config:"  would result in directories
	      "tmp/config", ".", and "/etc/sane.d"  being  searched  (in  this
	      order).

       SANE_DEBUG_BH    [Toc]    [Back]
	      If  the  library	was  compiled with debug support enabled, this
	      environment variable controls the debug level for this  backend.
	      E.g.,  a	value  of 255 requests all debug output to be printed.
	      Smaller levels reduce verbosity.

SUPPORTED FEATURES    [Toc]    [Back]

       ADF support
	      With document scanners, automatic document feeder (ADF)  support
	      is  a  key feature.  The backend supports the ADF by default and
	      returns SANE_STATUS_NO_DOCS when the out-of-paper  condition  is
	      detected.   The SANE frontend scanadf is a command line frontend
	      that supports multi-page scans.  It has been  used  successfully
	      with  this  backend.  The SANE frontend xsane is an improved GUI
	      frontend by Oliver  Rauch.   Support  for  multi-page  scans  is
	      included in xsane version 0.35 and above.


       Duplex scanning    [Toc]    [Back]
	      Some  models, such as the COPISCAN II 6338, support duplex scanning.
  That is, they scan both sides of the  document  during  a
	      single  pass  through the scanner (the scanner has two cameras).
	      This  backend  supports  duplex  scanning  (with	the   --duplex
	      option).	 The front and back page images are delivered consecutively
 as if they were separately scanned pages.


       Hardware compression    [Toc]    [Back]
	      The scanner is capable of  compressing  the  data  into  several
	      industry	standard  formats  (CCITT  G3, CCITT G3-2D, CCITT G4).
	      This results in increased performance as	less  data  is	passed
	      from  the  scanner  to  the host over the SCSI bus.  The backend
	      supports these  compression  formats  via  the  --g31d,  --g32d,
	      --g42d  options,	respectively.	Many  SANE  frontends  are not
	      equipped to deal with these formats, however.  The SANE frontend
	      scanadf  supports  these optional frame formats.	The compressed
	      image data is written directly to a file and can	then  be  processed
  by  a scan-script using the --scan-script option.  Examples
 of this are given on the scanadf homepage.


       Automatic Border Detection    [Toc]    [Back]
	      The scanner can automatically detect the paper size  and	adjust
	      the  scanning  window  geometry appropriately.  The backend supports
 this useful feature with the --autoborder option.	It  is
	      enabled by default.


       Batch Mode Scanning    [Toc]    [Back]
	      The batch scan mode allows for maximum throughput.  The Set Window
 parameters must remain constant during the entire batch.


       Icon Generation    [Toc]    [Back]
	      The Icon function generates a thumbnail of the full page	image,
	      that  can  be  transferred  as if it were a separate page.  This
	      allows the host to quickly display  a  thumbnail	representation
	      during  the  scanning  operation.  Perhaps this would be a great
	      way of implementing a preview scan, but since a normal  scan  is
	      so quick, it might not be worth the trouble.


       Multiple Sections    [Toc]    [Back]
	      Multiple	sections (scanning sub-windows) can be defined for the
	      front and back pages.  Each section can have  different  characteristics
   (e.g.  geometry,  compression).   The  sections  are
	      returned as if they were separately scanned  images.   Additionally
  sections  can  be used to greatly enhance the accuracy and
	      efficiency of the barcode/patchcode decoding process by limiting
	      the search area to a small subset of the page.  Most Copiscan II
	      series scanners support up to 8 user-defined sections.


       Support Barcode/Patchcode Decoding
	      The RSC unit can recognize Bar and Patch Codes of various  types
	      embedded	in  the  scanned image.  The codes are decoded and the
	      data is returned to the frontend as a text frame.  The  text  is
	      encoded  in  xml	and contains a great deal of information about
	      the decoded data such as the location where it  was  found,  its
	      orientation,  and the time it took to find.  Further information
	      on the content of this text frame as well as some barcode decoding
 examples can be found on the backend homepage.

LIMITATIONS    [Toc]    [Back]

       Decoding a single barcode type per scan
	      The RSC unit can search for up to six different barcode types at
	      a time.  While the code generally supports  this	as  well,  the
	      --barcode-search-bar  option  only  allows the user to specify a
	      single barcode type.  Perhaps  another  option  which  allows  a
	      comma  separated	list  of  barcode type codes could be added to
	      address this.

       Scanning a fixed number of pages in batch mode    [Toc]    [Back]
	      The separation of front  and  back  end  functionality  in  SANE
	      presents	a problem in supporting the 'cancel batch' functionality
 in the scanner.  In batch mode, the scanner is always a page
	      ahead  of  the host.  The host, knowing ahead of time which page
	      will be the last, can cancel batch mode prior to initiating  the
	      last  scan  command.  Currently, there is no mechanism available
	      for the frontend to pass this  knowledge	to  the  backend.   If
	      batch  mode  is enabled and the --end-count terminates a scanadf
	      session, an extra page will be pulled through the  scanner,  but
	      is niether read nor delivered to the frontend.  The issue can be
	      avoided by specifying --batch=no when scanning a fixed number of
	      pages.

       Revision 1.2 Patch detector    [Toc]    [Back]
	      There  is an enhanced patchcode detection algorithm available in
	      the RSC with revision 1.2 or higher  that  is  faster  and  more
	      reliable	than the standard Bar/Patch code decoder.  This is not
	      currently supported.

OPTIONS    [Toc]    [Back]

       Scan Mode Options:

       --preview[=(yes|no)] [no]
	      Request a preview-quality scan.  When  preview  is  set  to  yes
	      image  compression  is  disabled and the image is delivered in a
	      SANE_FRAME_GRAY frame.

       --mode lineart|halftone [lineart]
	      Selects the scan mode (e.g., lineart,monochrome, or color).

       --resolution 200|240|300dpi [200]
	      Sets the resolution of the scanned image.   Each	scanner  model
	      supports	a list of standard resolutions; only these resolutions
	      can be used.

       --compression none|g31d|g32d|g42d [none]
	      Sets the compression mode of the scanner.  Determines  the  type
	      of data returned from the scanner.  Values are:
	      none - uncompressed data - delivered in a SANE_FRAME_GRAY frame
	      g31d   -	 CCITT	 G3   1   dimension  (MH)  -  delivered  in  a
	      SANE_FRAME_G31D frame
	      g32d - CCITT  G3	2  dimensions  (MR,  K=4)  -  delivered  in  a
	      SANE_FRAME_G32D frame
	      g42d - CCITT G4 (MMR) - delivered in a SANE_FRAME_G42D frame
	      NOTE:  The use of g31d, g32d, and g42d compression values causes
	      the backend to generate optional frame formats which may not  be
	      supported by all SANE frontends.


       Geometry Options:

       --autoborder[=(yes|no)] [yes]
	      Enable/Disable  automatic image border detection.  When enabled,
	      the RSC unit automatically detects the image area and  sets  the
	      window geometry to match.

       --paper-size Custom|Letter|Legal|A3|A4|A5|A6|B4|B5 [Custom]
	      Specify the scan window geometry by specifying the paper size of
	      the documents to be scanned.

       --tl-x 0..297.18mm [0]
	      Top-left x position of scan area.

       --tl-y 0..431.8mm [0]
	      Top-left y position of scan area.

       --br-x 0..297.18mm [297.18]
	      Bottom-right x position of scan area.

       --br-y 0..431.8mm [431.8]
	      Bottom-right y position of scan area.

       Feeder Options:

       --source Automatic Document Feeder|Manual Feed Tray [Automatic Document
       Feeder]
	      Selects the scan source  (such  as  a  document  feeder).   This
	      option  is provided to allow multiple image scans with xsane; it
	      has no other purpose.

       --batch[=(yes|no)] [no]
	      Enable/disable batch mode scanning.  Batch mode allows  scanning
	      at  maximum  throughput  by buffering within the RSC unit.  This
	      option is recommended when performing multiple pages scans until
	      the feeder is emptied.

       --duplex[=(yes|no)] [no]
	      Enable duplex (dual-sided) scanning.  The scanner takes an image
	      of each side of the document during a single  pass  through  the
	      scanner.	The front page is delivered followed by the back page.
	      Most options, such as compression, affect  both  the  front  and
	      back pages.

       --timeout-adf 0..255 [0]
	      Sets  the  timeout  in seconds for the automatic document feeder
	      (ADF).  The value 0 specifies the hardware default  value  which
	      varies based on the scanner model.

       --timeout-manual 0..255 [0]
	      Sets  the  timeout  in  seconds  for semi-automatic feeder.  The
	      value 0 specifies the hardware default value which varies  based
	      on the scanner model.

       --check-adf[=(yes|no)] [no]
	      Check  ADF  Status prior to starting scan using the OBJECT POSITION
 command.  Note that	this  feature  requires  RSC  firmware
	      level 1.5 or higher and dip switch 4 must be in the on position.
	      NOTE: This option has not been tested extensively and  may  produce
 undesireable results.

       Enhancement:

       --control-panel[=(yes|no)] [yes]
	      Enables the scanner's control panel for selecting image enhancement
 parameters.	When the option is set	to  no	the  following
	      options	are  used  to  control	image  enhancement.   See  the
	      Bell+Howell scanner users' guide for complete information on ACE
	      functionality.

       --ace-function -4..4 [3]
	      Specify the Automatic Contrast Enhancement (ACE) Function.

       --ace-sensitivity 0..9 [5]
	      Specify the Automatic Contrast Enhancement (ACE) Sensitivity.

       --brightness 0..255 [0]
	      Controls	the brightness of the acquired image.  Ignored for ACE
	      capable scanners.

       --threshold 0..255 [0]
	      Select minimum-brightness to get a white point.  Ignored for ACE
	      capable scanners.

       --contrast 0..255 [inactive]
	      Controls the contrast of the acquired image.  This option is not
	      currently used by the scanner (and perhaps never will be).

       --negative[=(yes|no)] [no]
	      Swap black and white, yielding a reverse-video image.

       Icon:

       --icon-width 0..3600pel (in steps of 8) [0]
	      Width of icon (thumbnail) image in pixels.

       --icon-length 0..3600pel (in steps of 8) [0]
	      Length of icon (thumbnail) image in pixels.

       Barcode Options:

       --barcode-search-bar <see list> [none]
	      Specifies the barcode type to search for.  If this option is not
	      specified,  or  specified with a value of none, then the barcode
	      decoding feature is completely disabled.	The valid barcode type
	      are:
	      none
	      ean-8
	      ean-13
	      reserved-ean-add
	      code39
	      code2-5-interleaved
	      code2-5-3lines-matrix
	      code2-5-3lines-datalogic
	      code2-5-5lines-industrial
	      patchcode
	      codabar
	      codabar-with-start-stop
	      code39ascii
	      code128
	      code2-5-5lines-iata

       --barcode-search-count 1..7 [3]
	      Number  of  times  that the RSC performs the decoding algorithm.
	      Specify the smallest number possible  to	increase  performance.
	      If  you are having trouble recognizing barcodes, it is suggested
	      that you increase this option to its maximum value (7).

       --barcode-search-mode <see list> [horiz-vert]
	      Chooses the orientation of barcodes to be searched.   The  valid
	      orientations are:
	      horiz-vert
	      horizontal
	      vertical
	      vert-horiz

       --barcode-hmin 0..1660mm [5]
	      Sets  the  barcode  minimum height in millimeters (larger values
	      increase recognition speed).  Of course the actual  barcodes  in
	      the document must be of sufficient size.

       --barcode-search-timeout 20..65535us [10000]
	      Sets  the  timeout  for barcode searching in milliseconds.  When
	      the timeout expires, the decoder will stop trying to decode barcodes.


       --section <string> []
	      Specifies  a series of image sections.  A section can be used to
	      gather a subset image or to provide a  small  area  for  barcode
	      decoding.   Each	section  is  specified in the following format
	      (units are in millimeters):

       <width>x<height>+<top-left-x>+<top-left-y>[:functioncode...]

       Multiple sections can be specified by separating them with commas.

       For example 76.2x25.4+50.8+0:frontbar identifies an area 3 inches  wide
       and  1  inch  high  with  a  top left corner at the top of the page two
       inches from the left hand edge of the page.  This section will be  used
       for barcode decoding on the front page only.

       For  example  50.8x25.4+25.4+0:frontbar:front:g42d identifies an area 2
       inches wide and 1 inch high with a top left corner at the  top  of  the
       page  one  inch from the left hand edge of the page.  This section will
       be used for barcode decoding on the front page as well as generating an
       image compressed in g42d format.

       Ordinarily  barcodes  are  searched in the entire image.  However, when
       you specify sections all barcode searching is done within the  specific
       sections  identified.   This  can  significantly  speed up the decoding
       process.

       The following functioncodes are available:
	      front - generate an image for the front page section
	      back - generate an image for the back page section
	      frontbar - perform barcode search in front page section
	      backbar - perform barcode search in back page section
	      frontpatch - perform patchcode search in front page section
	      backpatch - perform patchcode search in back page section
	      none - use no image compression
	      g31d - use Group 3 1 dimension image compression
	      g32d - use Group 3 2 dimensions image compression
	      g42d - use Group 4 2 dimensions image compression

       If you omit a compression functioncode, the full page compression  setting
  is used.  If you specify multiple compression functioncodes, only
       the last one is used.


       --barcode-relmax 0..255 [0]
	      Specifies the maximum relation from the widest to  the  smallest
	      bar.

       --barcode-barmin 0..255 [0]
	      Specifies the minimum number of bars in Bar/Patch code.

       --barcode-barmax 0..255 [0]
	      Specifies the maximum number of bars in a Bar/Patch code.

       --barcode-contrast 0..6 [3]
	      Specifies  the image contrast used in decoding.  Use higher values
 when there are more white pixels in the code.

       --barcode-patchmode 0..1 [0]
	      Controls Patch Code detection.

BUGS    [Toc]    [Back]

       This is a new backend; detailed bug reports are welcome -- and expected
       ;)

       If  you have found something that you think is a bug, please attempt to
       recreate it with the SANE_DEBUG_BH environment variable set to 255, and
       send   a  report  detailing  the  conditions  surrounding  the  bug  to
       [email protected].

SEE ALSO    [Toc]    [Back]

      
      
       sane(7), sane-scsi(5), scanimage(1), scanadf(1)

AUTHOR    [Toc]    [Back]

       The sane-bh backend was written by Tom Martone, based on the sane-ricoh
       backend by Feico W. Dillema and the bnhscan program by Sean Reifschneider
 of tummy.com ltd.  Some 8000 enhancements added by Mark Temple.



				  15 Sep 1999			    sane-bh(5)
[ Back ]
 Similar pages
Name OS Title
sane-nec Linux SANE backend for NEC scanners
sane-sharp Linux SANE backend for SHARP scanners
sane-epson Linux SANE backend for EPSON scanners
sane-hp Linux SANE backend for HP ScanJet scanners
sane-microtek Linux SANE backend for Microtek scanners
sane-umax Linux SANE backend for UMAX scanners
sane-apple Linux SANE backend for Apple flatbed scanners
sane-artec Linux SANE backend for Artec flatbed scanners
sane-canon Linux SANE backend for Canon flatbed scanners
sane-coolscan Linux SANE backend for Nikon film-scanners
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service