ImageGear for C and C++ on Windows v19.3 - Updated
Use ISIS Drivers
User Guide > How to Work with... > Common Operations > Scanning > ISIS Scanning > Use ISIS Drivers

PixTools/View, PixTools/Scan, and other DELL EMC Captiva PixTools products use the ISIS specification as a framework to access and connect different imaging functions. Some PixTools products, like the Scan toolkit, are based directly on the ISIS specification, while others, like the View toolkit, connect to ISIS through glue code called metadrivers.

The concept behind ISIS is to be able to create many small, reusable code pieces (drivers) which can be connected together to perform complex functions. These drivers use tags and messages to automatically communicate system parameters between themselves.

ISIS drivers are designed to be linked together into an ISIS pipe to perform a specific function. At the beginning or head of the ISIS pipe is a driver that generates data. This is generally either a scanner driver or a file reading driver. Next, various compression, decompression, packaging, and formatting drivers can be linked to the head driver to change the format of the image data as desired. At the end of the ISIS pipe is usually either a file writing driver or a driver that sends data to an image viewer.

One characteristic of an ISIS pipe is that most drivers only need access to a small portion of an image at one time. Therefore, data can "flow" through an ISIS pipe from the head driver to the end without ever requiring buffering of a full page. In most cases, each ISIS driver works with the same 8 Kbyte buffer at all times. This characteristic makes an ISIS pipe a very efficient system for scanning images and moving image data to its destination.

The drivers that are needed to construct an ISIS pipe must be loaded and initialized by the application. Then, the drivers can be linked into a pipe that will produce the desired results. Once the pipe is ready, parameters can be set as desired by sending tags to the head driver. The head driver passes these tags to every other driver in the pipe, and each driver either responds to or ignores each tag, as appropriate. When the pipe is ready, the application invokes it, causing the head driver to perform its function (scan, read, or whatever) and send its data through the pipe.

This topic provides information about the following:

In addition, this section provides information about the following:

Scanner Drivers

Most scanner drivers offered by DELL EMC Captiva PixTools are 32-bit drivers that work on Windows. These drivers have the filename driver.PXN. Some older drivers exist in 16-bit form and are used within the 16-bit sub-system on earlier versions of Windows.

Minidrivers

A minidriver is an ISIS driver that is implemented within an application, rather than as a stand-alone module. Although not a requirement, a minidriver generally has limited functionality and can be written by an application developer, whereas a regular ISIS driver must be written by a driver developer who has access to the Driver Developer's Toolkit.

Minidrivers typically are written to solve a particular problem, such as determining the actual size of an image that has been scanned by a scanner that does automatic edge detection, and therefore often returns an image that has a smaller length and width than you are expecting.

Pixel customers have written minidrivers that modify data, do special compression, implement progress monitors, and so forth.