Stokes Imaging Inc

Imaging Workflow Solution

Overview of IWS

Imaging Workflow Solution (IWS) makes it possible to produce superior quality digital images with the highest productivity level available today. The results are overwhelming in the scope of detail preserved and information captured. The imaging database, IWSDB, is the backbone of IWS and drives the images through the workflow process. Each original to be digitized constitutes an image object in IWS terminology, and each facsimile produced from the original constitutes a derivative object in IWS terminology. Logical groups of images that have similar characteristics for the derivatives produced constitute a project in IWS terminology. The four tables that make up the IWS database are project, project_derivative, image, and derivative. IWS’s database structure and workflow architecture are keyed around these four tables. The six main phases in the IWS workflow architecture are DataEntry, Capture, Correction, Verification, Automation, and Inspection. IWS utilizes the database to track each image’s status and the overall project status through these phases.


While IWS is capable of being installed on a single workstation/server and perform all its function on a single host, usually it is installed on multiple workstations/servers all connected to a single IWSDB. These servers each can perform any of the phases of the workflow. Typically, an organization will have workstations dedicated to Capture and other workstations performing the various other phases of the workflow, and a server dedicated to hosting the IWSDB. Many times that server also is utilized in the automation phase. The number of concurrent users is only limited by the network configuration and applicable database and operating system licenses.


Technical Description of IWS



The project and project_derivative tables contain columns that provide descriptive information about the project and details about how the images in the project will be processed during the workflow. The image and derivative tables have two categories of columns, one category contains information that helps determine how the image is going to be digitized and the other category records metadata about the digitization process such as who, what, when, where, and how. While an image moves through the workflow the image table tracks its progress. While a derivative moves through the workflow the derivative table tracks its progress.


Project Table

The project table is populated during the DataEntry phase when a project is created. It contains one row per project. Certain fields may be updated later via DataEntry. Columns include project ID, name, description, client name, names of descriptive fields used to identify images during the workflow, auto crop information, etc.


Back to top


Project Derivative Table

This table is used to define how many derivatives will be produced for each image in a project. Accordingly, the columns in this table describe a given derivative for a project. If a project is given to have 5 derivatives for each image, this table will contain 5 rows for that project. Each row contains the project ID, the derivative number, and information about the derivative to be produced e.g. the derivative file type, how it is to be scaled, its bits per channel and number of channels, whether it is to be cropped or rotated, sharpening levels, and delivery parameters. This table contains one record per derivative per project and is generally populated at DataEntry time.


Back to top


Image Table

Each row in the image table contains certain information that is populated during DataEntry, but the vast majority of columns are populated during the workflow process. Each image is assigned a unique image ID at DataEntry time. Other fields populated at DataEntry are order of processing, the raw image file name and descriptive information that is used to identify the image at various phases during the workflow. Standard technical metadata gathered during each phase of the workflow are populated during that phase. For example, during the capture phase, information about the exposure time, scan resolution, scan width and pixels, scan height and pixels, capture date and time, etc are gathered. During the correction phase, information about cropping, deskewing, color, and gamma changes are recorded.


Back to top


Derivative Table

Like the image table, certain fields of the derivative table are also populated during DataEntry; they are project ID, image ID, derivative number, and derivative file name. When the derivatives are created during the automation phase specific information about the derivative such as pixels per inch, width, height, and MD5 checksum are collected. As each derivative is delivered during the delivery phase information about its delivery is recorded.


Back to top



Generally an image tracks through the phases of the workflow in order, however at any phase subsequent to the DataEntry an image can be rejected or put back into a previous phase in the workflow. This enables every phase to participate in the quality control process.


DataEntry Phase

DataEntry involves populating the IWSDB with the data needed to complete the workflow. It is used to create new projects or update information about an existing project by modifying the project and project_derivative tables. The capability of cloning a project is provided in this phase. Once a project has been created, DataEntry is used to add images to the image table for that project. DataEntry has extensive manual and auto file naming features. Information may also be imported from external sources such as tab-delimited files, CSV files, etc. DataEntry’s other important function is to allow editing of the database in a controlled environment. As projects change, those changes can be accommodated in the database.


Back to top


Capture Phase

The capture process involves pre-scan adjustments, scan, image assembly, and writing of the image to the raw file, and scaling and writing a correction image to file. The software separates these processes freeing the capturestation for the operator to remove the original, replace it with another, and make prescan adjustments while the previous image is being assembled and written to a file. Every image is scanned individually with each scan taking into account focus, lighting, and color. Based on the scan width and lighting characteristics, the capture station automatically adjusts focus and exposure for the image once it is positioned under the camera. Once the image is scanned, it is automatically converted from 14 to 16 bits per color, applying a color matrix if applicable, and optionally scaling the image based on the client specifications made during the data entry phase. The scanned image is saved to file as a 16-bit per channel DIB formatted “raw” image. This image is then scaled to 1280 pixels on the long side to create a second “correction” image for use in the correction and verification phases.


Back to top


Correction Phase

The Correction phase is the digital darkroom, providing the tools needed to reproduce an image’s original appearance while retaining aesthetic quality and detail. All changes are generated using the scaled down "correction" image created in Capture to significantly improve efficiency. Images may be deskewed and cropped manually or automatically. The image is examined for artifacts that may have occurred during capture such as dust not found in the original or accidental movement of the image before the scan was completed. Images assessed as having artifacts are deferred back to Capture. The image is then corrected for tonal distribution by the adjusting the gamma, minimum, shadow, highlight, and maximum digital values using IWS logarithmic Correction tools as necessary reproducing the original image, or in the case of a negative image, the most aesthetically pleasing image. These adjustments may be made manually. They may also be automated utilizing previously saved corrections. A histogram and a density curve are available to assist in visualizing these changes. These adjustments are then stored in the IWSDB for use in creating derivatives in the Automation phase.


By utilizing the auto deskew and auto crop features and by automatically applying previously stored corrections, this phase may be fully automated.


Back to top


Verification Phase

In this quality assurance phase, changes generated during Correction are reviewed. Further changes may be recorded using the same toolset provided in Correction. This phase provides a chance to review the corrected image in the final form immediately, rather than as it emerged from the “raw” image, providing a consistent overview from image to image. The same controls provided in Correction are also available in Verification to make final adjustments to the image if necessary. The user will also inspect the image for cropping, deskewing, articfacting and overall acceptability of the image. Any adjustments are then stored in the IWSDB for use in creating derivatives in the Automation phase.


This phase is optional for each project based on a setting in the project.


Back to top


Automation Phase

Derivatives are produced automatically by applying the changes generated in Correction and Verification to the raw image according to the specifications supplied during DataEntry. An MD5 checksum is calculated for each derivative and stored in the IWSDB. The Automation phase supports TIFF 6 and JPEG. Automation also supports the ability to save metadata in TIFF header tags, including Adobe XMP.


This is a fully automated phase that does not require any human intervention.


Back to top


Inspection Phase

Inspection, the final quality assurance phase in the workflow process, allows the user to inspect any or all derivatives before approving them for Aggregation or Delivery. Derivatives are displayed one at a time for final inspection. If the quality of a derivative is suspect, a higher resolution derivative may be available for a more thorough, magnified inspection. Failed images are deferred back to Capture or Correction as necessary.


This phase is optional for each project based on a setting in the project.


Back to top