sane-dmc - SANE backend for the Polaroid Digital Microscope Camera
The sane-dmc library implements a SANE (Scanner Access Now Easy) backend that provides
access to the Polaroid Digital Microscope Camera.
This backend expects device names of the form:
Where special is the UNIX path-name for the special device that corresponds to the scan-
ner. The special device name must be a generic SCSI device or a symlink to such a device.
Under Linux, such a device name could be /dev/sga or /dev/sge, for example.
The Polaroid DMC supports a number of imaging modes. This driver supports five of the
This mode corresponds to the 801-by-600 pixel full-color full-frame image.
This mode corresponds to the 270-by-201 pixel grey-scale viewfinder image. This
image is acquired very quickly.
Raw This mode corresponds to the 1599-by-600 pixel "raw" image from the CCD. It is
grey-scale, with pixels alternating horizontally between red, green and blue
stripes. The pixels are twice as high as they are wide, so the image is distorted.
This mode corresponds to the 80-by-60 pixel full-color thumbnail image.
This image is a 1599-by-1200 pixel full-color image constructed by filtering and
interpolating the "raw" image. The filtering and interpolation is done in soft-
ware, so this mode is very slow. Also, this mode places restrictions on how the
image is read which means that the "preview" mode of xscanimage does not work in
Super Resolution mode. (xcam and the non-preview modes of scanimage and xscanimage
work fine, however.)
This setting adjusts the camera's sensitivity. You can choose one of 25, 50, or
100 "equivalent" ASA.
You can select a shutter speed from 8 to 1000 milliseconds. The shutter speed is
quantized in units of 32 microseconds.
You can choose one of "Daylight", "Incandescent" or "Fluorescent" white balances.
This setting more-or-less corresponds to the "Color Temperature" settings on
Polaroid's Windows and Mac software.
The contents of the dmc.conf file is a list of device names that correspond to DMC scan-
ners. Empty lines and lines starting with a hash mark (#) are ignored. A sample configu-
ration file is shown below:
# this is a comment
The backend configuration file (see also description of SANE_CONFIG_DIR below).
The static library implementing this backend.
The shared library implementing this backend (present on systems that support
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).
If the library was compiled with debug support enabled, this environment variable
controls the debug level for this backend. E.g., a value of 128 requests all debug
output to be printed. Smaller levels reduce verbosity.
In the "Full Frame" and "Raw" modes, images must be read in units of entire lines. The
driver performs no buffering in these modes; if you ask sane_read to read a non-integral
number of lines, it may read less than you ask for. If you ask sane_read to read less
than a single line, it returns SANE_STATUS_INVAL.
In the "Super Resolution" mode, images must be read in units of two lines (3198 pixels or
9594 bytes.) If you try to read less than two lines, you get SANE_STATUS_INVAL. The
Super Resolution mode is very slow.
In the "Viewfinder" and "Thumbnail" modes, the entire image must be read in one SCSI
transfer. In this case, the driver performs buffering and you can read the image in as
small an increment as you like.
David F. Skoll
The backend is derived from sane-hp by David Mosberger
13 May 1998 sane-dmc(5)