Home      Discussion      Topics      Dictionary      Almanac
Signup       Login
Scanner Access Now Easy

Scanner Access Now Easy

Overview
Scanner Access Now Easy (SANE) is an application programming interface
Application programming interface
An application programming interface is an interface in computer science that defines the ways by which an application program may request services from libraries and/or operating systems. An API determines the vocabulary and calling conventions the programmer should employ to use the services...

 (API) that provides standardized access to any raster image scanner
Image scanner
In computing, a scanner is a device that optically scans images, printed text, handwriting, or an object, and converts it to a digital image. Common examples found in offices are variations of the desktop scanner where the document is placed on a glass window for scanning...

 hardware (flatbed
Image scanner
In computing, a scanner is a device that optically scans images, printed text, handwriting, or an object, and converts it to a digital image. Common examples found in offices are variations of the desktop scanner where the document is placed on a glass window for scanning...

 scanner, handheld scanner, video- and still-cameras, frame grabber
Frame grabber
A frame grabber is an electronic device that captures individual, digital still frames from an analog video signal or a digital video stream. It is usually employed as a component of a computer vision system, in which video frames are captured in digital form and then displayed, stored or...

s, etc.). The SANE API is public domain
Public domain
The public domain is a range of abstract materials—commonly referred to as intellectual property—which are not owned or controlled by anyone. The term indicates that these materials are therefore "public property", and available for anyone to use for any purpose...

 and its discussion and development is open to everybody. It is commonly used on Linux
Linux
Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed,...

.

SANE differs from TWAIN
TWAIN
TWAIN is a standard software protocol and applications programming interface that regulates communication between software applications and imaging devices such as scanners and digital cameras....

 in that it is cleanly separated into frontends (user programs) and backends (scanner drivers).
Discussion
Ask a question about 'Scanner Access Now Easy'
Start a new discussion about 'Scanner Access Now Easy'
Answer questions from other users
Full Discussion Forum
 
Encyclopedia
Scanner Access Now Easy (SANE) is an application programming interface
Application programming interface
An application programming interface is an interface in computer science that defines the ways by which an application program may request services from libraries and/or operating systems. An API determines the vocabulary and calling conventions the programmer should employ to use the services...

 (API) that provides standardized access to any raster image scanner
Image scanner
In computing, a scanner is a device that optically scans images, printed text, handwriting, or an object, and converts it to a digital image. Common examples found in offices are variations of the desktop scanner where the document is placed on a glass window for scanning...

 hardware (flatbed
Image scanner
In computing, a scanner is a device that optically scans images, printed text, handwriting, or an object, and converts it to a digital image. Common examples found in offices are variations of the desktop scanner where the document is placed on a glass window for scanning...

 scanner, handheld scanner, video- and still-cameras, frame grabber
Frame grabber
A frame grabber is an electronic device that captures individual, digital still frames from an analog video signal or a digital video stream. It is usually employed as a component of a computer vision system, in which video frames are captured in digital form and then displayed, stored or...

s, etc.). The SANE API is public domain
Public domain
The public domain is a range of abstract materials—commonly referred to as intellectual property—which are not owned or controlled by anyone. The term indicates that these materials are therefore "public property", and available for anyone to use for any purpose...

 and its discussion and development is open to everybody. It is commonly used on Linux
Linux
Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed,...

.

SANE differs from TWAIN
TWAIN
TWAIN is a standard software protocol and applications programming interface that regulates communication between software applications and imaging devices such as scanners and digital cameras....

 in that it is cleanly separated into frontends (user programs) and backends (scanner drivers). Whereas a TWAIN driver handles the user interface as well as communications with the scanner hardware, a SANE driver only provides an interface with the hardware and describes a number of "options" which drive each scan. These options specify parameters such as the resolution of the scan, the scan area, colour model, etc. Each option has a name, and information about its type, units, and range or possible values (e.g enumerated list). By convention there are several "well known" options that frontends can supply using convenient GUI
Graphical user interface
A graphical user interface is a type of user interface item that allows people to interact with programs in more ways than typing such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment with images rather than...

 interaction e.g. the scan area options can be set by dragging a rectangular outline over a preview image. Other options can be presented using GUI elements appropriate to their type e.g. sliders, drop-down lists, etc.

One consequence of this separation is that network scanning is easily implemented with no special handling in either the frontends or backends. On a host with a scanner, the saned daemon runs and handles network requests. On client machines a "net" backend (driver) connects to the remote host to fetch the scanner options, and perform previews and scans. The saned daemon acts as a frontend locally, but simply passes requests and data between the network connections and the local scanner. Similarly, the "net" backend passes requests and data between the local frontend and the remote host.

Various types of unsupervised batch scanning are also possible with a minimum of support needed in the backend (driver). Many scanners support the attachment of document feeders which allow a large number of sheets of paper to be automatically scanned in succession. Using the SANE API, the frontend simply has to "play back" the same set of options for each scan, driving the document feed in between scans to load the next sheet of paper. The frontend only has to obtain the set of options from the user once.

See also

  • Image and Scanner Interface Specification - Proprietary
    Proprietary
    The word proprietary indicates that a party, or proprietor, exercises private ownership, control or use over an item of property.Terms relating to Proprietary include:*Proprietary chapel*Proprietary church*Proprietary colleges*Proprietary colony...

     industry standard interface.
  • TWAIN
    TWAIN
    TWAIN is a standard software protocol and applications programming interface that regulates communication between software applications and imaging devices such as scanners and digital cameras....

     - Software API
    Application programming interface
    An application programming interface is an interface in computer science that defines the ways by which an application program may request services from libraries and/or operating systems. An API determines the vocabulary and calling conventions the programmer should employ to use the services...

     for local drivers that are bundled with control GUI
    Graphical user interface
    A graphical user interface is a type of user interface item that allows people to interact with programs in more ways than typing such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment with images rather than...

    .
  • Windows Image Acquisition
    Windows Image Acquisition
    Windows Image Acquisition is a Microsoft driver model and application programming interface for Microsoft Windows 2000 and later operating systems that enables graphics software to communicate with imaging hardware such as scanners, digital cameras and Digital Video-equipment...

     (WIA) - Proprietary API from Microsoft.

External links