Module dynamic

Module dynamic 

Source
Expand description

Dynamic batching for OCR pipeline components.

This module provides functionality for dynamically batching images based on shape compatibility and performance requirements. It supports both same-image batching (multiple images) and cross-image batching (text regions from multiple images).

§Features

  • Shape Compatibility: Group images by exact dimensions, aspect ratio, or custom strategies
  • Flexible Batching: Support for detection and recognition batching
  • Performance Metrics: Track batching performance and efficiency
  • Cross-Image Batching: Batch text regions from multiple images together

§Example

use oar_ocr::core::{DynamicBatchConfig, DefaultDynamicBatcher, DynamicBatcher};
use image::RgbImage;

let config = DynamicBatchConfig::default();
let batcher = DefaultDynamicBatcher::new();
let images = vec![(0, RgbImage::new(100, 100)), (1, RgbImage::new(100, 100))];

let batches = batcher.group_images_by_compatibility(images, &config).unwrap();

Structs§

BatchPerformanceMetrics
Performance metrics for batch operations
CompatibleBatch
A batch of compatible images that can be processed together
CrossImageBatch
Batch of cross-image items
CrossImageItem
Cross-image item for batching (e.g., text regions from multiple images)
DefaultDynamicBatcher
Default implementation of dynamic batcher
DynamicBatchConfig
Configuration for dynamic batching
DynamicBatchResult
Result of dynamic batch processing

Enums§

PaddingStrategy
Strategy for padding images to uniform size
ShapeCompatibilityStrategy
Strategy for determining shape compatibility

Traits§

DynamicBatcher
Enhanced trait for dynamic batching functionality