sane-dmc(5) SANE Scanner Access Now Easy sane-dmc(5)
sane-dmc - SANE backend for the Polaroid Digital Microscope Camera
The sane-dmc library implements a SANE (Scanner Access Now Easy) back‐
end 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 corre‐
sponds 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 /dev/sga or /dev/sge, for example.
The Polaroid DMC supports a number of imaging modes. This driver sup‐
ports five of the imaging modes:
This mode corresponds to the 801-by-600 pixel full-color full-
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
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.)
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 "Fluores‐
cent" white balances. This setting more-or-less corresponds to
the "Color Temperature" settings on Polaroid's Windows and Mac
The contents of the dmc.conf file is a list of device names that corre‐
spond 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 config‐
uration file is searched in two default directories: first, the
current working directory (".") and then in
/usr/local/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 directo‐
ries. For example, setting SANE_CONFIG_DIR to "/tmp/config:"
would result in directories "tmp/config", ".", and
"/usr/local/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
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 Jul 2008 sane-dmc(5)
Man(1) output converted with