sane-dmc(5)

✨ sane-dmc(5) ✨

okay so bestie, welcome to the sane-dmc page πŸ’– this is a section 5 manpage from the SANE Scanner Access Now Easy family, and it's all about the Polaroid Digital Microscope Camera backend. let's get into it πŸŽ€


🌸 NAME 🌸

sane-dmc β€” the SANE backend for the Polaroid Digital Microscope Camera, no cap πŸ¦‹

πŸ’… DESCRIPTION πŸ’…

The sane-dmc library implements a SANE (Scanner Access Now Easy) backend that gives you access to the Polaroid Digital Microscope Camera. that's literally the whole vibe. it's giving "tiny but mighty" ✨

πŸŽ€ DEVICE NAMES πŸŽ€

This backend expects device names shaped like this, okay?

special

where special is the UNIX path-name for the special device that corresponds to the scanner. and listen β€” the special device name must be a generic SCSI device, or a symlink pointing at such a device. under Linux, a device name like /dev/sga or /dev/sge would do the trick, for example πŸ‘‘

🌈 IMAGING MODES 🌈

The Polaroid DMC supports a whole bunch of imaging modes, and this driver supports five of them. five! iconic:

  • Full Frame β€” this mode corresponds to the 801-by-600 pixel full-color full-frame image πŸ’–
  • Viewfinder β€” this mode corresponds to the 270-by-201 pixel grey-scale viewfinder image. and the way this one is fast β€” the image is acquired very quickly πŸ”₯
  • Raw β€” this mode corresponds to the 1599-by-600 pixel "raw" image from the CCD. it's grey-scale, with pixels alternating horizontally between red, green and blue stripes. also the pixels are twice as high as they are wide, so the image comes out distorted πŸ™ˆ
  • Thumbnail β€” this mode corresponds to the 80-by-60 pixel full-color thumbnail image πŸ“
  • 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 are done in software, so this mode is very slow 😭 also, this mode places restrictions on how the image is read, which means the "preview" mode of xscanimage(1) does not work in Super Resolution mode. (xcam(1) and the non-preview modes of scanimage(1) and xscanimage(1) work fine, however.) πŸ’€

⭐ OTHER SETTINGS ⭐

  • 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 🌸

πŸ¦‹ CONFIGURATION πŸ¦‹

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, bestie:

/dev/scanner
# this is a comment
/dev/sge

πŸ’– FILES πŸ’–

  • /etc/sane.d/dmc.conf β€” the backend configuration file (see also description of SANE_CONFIG_DIR below)
  • /usr/lib64/sane/libsane-dmc.a β€” the static library implementing this backend
  • /usr/lib64/sane/libsane-dmc.so β€” the shared library implementing this backend (present on systems that support dynamic loading)

πŸ‘‘ ENVIRONMENT πŸ‘‘

  • SANE_CONFIG_DIR β€” this environment variable specifies the list of directories that may contain the configuration file. on *NIX systems, 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_DMC β€” 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 ⭐

😭 BUGS 😭

okay so this is the part where we keep it real, no cap:

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. and 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. also, 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 πŸŽ€

πŸ’œ SEE ALSO πŸ’œ

sane(7), sane-scsi(5)

🌟 AUTHOR 🌟

Dianne Skoll <dianne@skoll.ca> πŸ’–

the backend is derived from sane-hp(5) by David Mosberger 🫢


and that's the whole page, bestie! go forth and scan something iconic 🌈

okay so that's a wrap β€” this vibe check was brought to you by sane-dmc(5), dated 13 Jul 2008, page sane-dmc(5). periodt πŸ’…βœ¨

πŸ“¦ where this page comes from