│ Grooper Help - Version 25.0
25.0.0017 2,127
  • Overview
  • Help Status

Real Time Image Processor

Grooper.Capture

Provides real-time, multi-threaded image processing and document separation for scanned pages in Grooper's capture workflows.

Remarks

Overview

The Real Time Image Processor is responsible for processing scanned images in real time as they are acquired by the Scan Service in Grooper Desktop and web-based capture workflows. It applies image processing (IP) commands, detects and handles control sheets, and performs document separation using settings from the active Scanner Profile and Separation Profile.

This class enables high-throughput, parallel processing of scanned pages, ensuring that images are cleaned, analyzed, and separated into documents as soon as they are captured—without waiting for the entire scan job to complete.

How It Works

  • As each page is scanned, it is enqueued for processing by the Real Time Image Processor.
  • Multiple worker threads (configured at initialization) dequeue pages and apply the following steps:
    1. Apply Settings: The current Capture Settings (derived from the Scanner Profile and Scan View) are assigned to the page.
    2. Control Sheet Detection: If enabled, the processor checks for control sheets (such as patch codes or barcodes) that may alter processing or separation behavior for the current or next page.
    3. Image Processing: The configured IP Profile is executed, applying cleanup, enhancement, and analysis commands to the image.
    4. Separation: If a Separation Profile is active, separation logic is applied to split documents based on control sheets, blank page detection, or other triggers.
    5. Compression: Images are compressed for storage and, if configured, a web-friendly version is generated.
  • Processed pages are tracked and made available for downstream consumption, such as review, export, or further processing.
  • The processor raises events when each image is completed and when the entire job is finished.

Impact of Scanner Profile and Separation Profile

  • Scanner Profile:
    The Scanner Profile determines the device, feed orientation, and device-specific image processing options. It is the source of the initial Capture Settings used by the processor. Changes to the Scanner Profile (such as feed side, color mode, or device-specific options) directly affect how images are processed and stored.

  • Separation Profile:
    The Separation Profile defines how and when documents are split during scanning. It may use real-time separation providers (such as patch code, barcode, or blank page detection) to trigger new document creation. The processor applies these rules as each page is processed, ensuring that documents are separated according to the configured logic.

  • IP Profile:
    The IP Profile (referenced by the Scan View or Scanner Profile) specifies the sequence of image processing commands (such as deskew, despeckle, or color correction) to be applied in real time. The processor executes these commands for each page, ensuring consistent image quality and cleanup.

Usage in the Scan Service

The Real Time Image Processor is used internally by the Scan Service in Grooper Desktop and web-based scanning utilities.

  • When a scan session is started, the Scan View and Scanner Profile are used to configure the processor.
  • As pages are scanned, they are enqueued for real-time processing and separation.
  • The processor runs in the background, using multiple threads to maximize throughput and minimize latency.
  • Events are raised for each completed image and when the scan job is finished, allowing the UI and downstream logic to update in real time.

This design enables operators to scan, review, and separate documents efficiently, with immediate feedback and minimal waiting between actions.

Best Practices

  • Configure the Scanner Profile, IP Profile, and Separation Profile to match your scanning hardware, document types, and workflow requirements.
  • Use control sheets (such as patch codes) to automate separation and processing changes during scanning.
  • Adjust the thread count to balance processing speed with available system resources.
  • Monitor the processor's queue and completion events to provide responsive UI feedback and error handling.

For more information, see the documentation for Scan View, Scanner Profile, IP Profile, Separation Profile, and the Scan Service.

Notification