Skip to main content

oar_ocr_core/
lib.rs

1//! # OAR OCR Core
2//!
3//! Core types, models, and predictors for the OAR OCR library.
4//!
5//! This crate provides:
6//! - Error handling types
7//! - Domain types (layout elements, structure results, etc.)
8//! - Model implementations
9//! - Image processors
10//! - Task predictors
11//!
12//! ## Modules
13//!
14//! * [`core`] - Core traits, error handling, and batch processing
15//! * [`domain`] - Domain types like orientation helpers and prediction models
16//! * [`models`] - Model adapters for different OCR tasks
17//! * [`processors`] - Image processing utilities
18//! * [`utils`] - Utility functions for images and tensors
19//! * [`predictors`] - Task-specific predictor interfaces
20
21// Core modules
22pub mod core;
23pub mod domain;
24pub mod models;
25pub mod predictors;
26pub mod processors;
27pub mod utils;
28
29// Re-export derive macros for convenient use
30pub use oar_ocr_derive::{ConfigValidator, TaskPredictorBuilder};
31
32/// Prelude module for convenient imports.
33pub mod prelude {
34    // Error Handling
35    pub use crate::core::{OCRError, OcrResult};
36
37    // Domain types
38    pub use crate::domain::TextRegion;
39    pub use crate::domain::structure::{
40        FormulaResult, LayoutElement, LayoutElementType, RegionBlock, StructureResult, TableCell,
41        TableResult, TableType,
42    };
43
44    // Geometry types
45    pub use crate::processors::{BoundingBox, MinAreaRect, Point};
46
47    // Image Utilities
48    pub use crate::utils::{BBoxCrop, load_image, load_images};
49
50    // Predictors (high-level API)
51    pub use crate::predictors::*;
52}