sane-dmc - SANE backend for the Polaroid Digital Microscope Camera
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:
is the UNIX path-name for the special device that
corresponds to the scanner. 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
, for example.
The Polaroid DMC supports a number of imaging modes. This driver supports five
of the imaging modes:
- Full Frame
- This mode corresponds to the 801-by-600 pixel full-color
- This mode corresponds to the 270-by-201 pixel grey-scale
viewfinder image. This image is acquired very quickly.
- 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
- Super Resolution
- 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 software, 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.)
- ASA Setting
- This setting adjusts the camera's sensitivity. You can
choose one of 25, 50, or 100 "equivalent" ASA.
- Shutter Speed
- You can select a shutter speed from 8 to 1000 milliseconds.
The shutter speed is quantized in units of 32 microseconds.
- White Balance
- 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 scanners. Empty lines and lines starting with a hash mark
(#) are ignored. A sample configuration file is shown below:
# this is a comment
- The backend configuration file (see also description of
- The static library implementing this backend.
- The shared library implementing this backend (present on
systems that support dynamic loading).
- 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
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
In the "Super Resolution" mode, images must be read in units of
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