pub struct CroppingStageProcessor;Expand description
Processor for text box cropping stage.
This processor encapsulates the logic for:
- Cropping text boxes from images (both rotated and regular bounding boxes)
- Parallel processing based on configurable thresholds
- Consistent error handling and metrics collection
Implementations§
Source§impl CroppingStageProcessor
impl CroppingStageProcessor
Sourcepub fn process_single(
image: &RgbImage,
text_boxes: &[BoundingBox],
config: Option<&CroppingConfig>,
) -> Result<StageResult<CroppingResult>, OCRError>
pub fn process_single( image: &RgbImage, text_boxes: &[BoundingBox], config: Option<&CroppingConfig>, ) -> Result<StageResult<CroppingResult>, OCRError>
Sourcepub fn process_single_with_policy(
image: &RgbImage,
text_boxes: &[BoundingBox],
config: Option<&CroppingConfig>,
policy_threshold: Option<usize>,
) -> Result<StageResult<CroppingResult>, OCRError>
pub fn process_single_with_policy( image: &RgbImage, text_boxes: &[BoundingBox], config: Option<&CroppingConfig>, policy_threshold: Option<usize>, ) -> Result<StageResult<CroppingResult>, OCRError>
Process text box cropping for a single image with policy threshold.
§Arguments
image- The source image to crop fromtext_boxes- Vector of bounding boxes to cropconfig- Optional configuration for cropping processingpolicy_threshold- Optional threshold from parallel policy
§Returns
A StageResult containing the cropping results and processing metrics
Sourcepub fn process_batch(
images_and_boxes: Vec<(&RgbImage, &[BoundingBox])>,
config: Option<&CroppingConfig>,
) -> Result<StageResult<Vec<CroppingResult>>, OCRError>
pub fn process_batch( images_and_boxes: Vec<(&RgbImage, &[BoundingBox])>, config: Option<&CroppingConfig>, ) -> Result<StageResult<Vec<CroppingResult>>, OCRError>
Sourcepub fn process_batch_with_policy(
images_and_boxes: Vec<(&RgbImage, &[BoundingBox])>,
config: Option<&CroppingConfig>,
_policy_threshold: Option<usize>,
) -> Result<StageResult<Vec<CroppingResult>>, OCRError>
pub fn process_batch_with_policy( images_and_boxes: Vec<(&RgbImage, &[BoundingBox])>, config: Option<&CroppingConfig>, _policy_threshold: Option<usize>, ) -> Result<StageResult<Vec<CroppingResult>>, OCRError>
Process text box cropping for multiple images with policy threshold.
§Arguments
images_and_boxes- Vector of (image, text_boxes) pairs to processconfig- Configuration for cropping processingpolicy_threshold- Optional threshold from parallel policy
§Returns
A StageResult containing the cropping results and processing metrics
Auto Trait Implementations§
impl Freeze for CroppingStageProcessor
impl RefUnwindSafe for CroppingStageProcessor
impl Send for CroppingStageProcessor
impl Sync for CroppingStageProcessor
impl Unpin for CroppingStageProcessor
impl UnwindSafe for CroppingStageProcessor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.