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}