Base¶
Base class for reading order predictors.
Defines the abstract interface that all reading order predictors must implement.
BaseReadingOrderPredictor
¶
Bases: ABC
Abstract base class for reading order predictors.
Reading order predictors take layout detection and OCR results and produce a properly ordered sequence of document elements.
Example
predict
abstractmethod
¶
predict(
layout: LayoutOutput,
ocr: Optional[OCROutput] = None,
page_no: int = 0,
) -> ReadingOrderOutput
Predict reading order for a single page.
| PARAMETER | DESCRIPTION |
|---|---|
layout
|
Layout detection results with bounding boxes
TYPE:
|
ocr
|
Optional OCR results. If provided, text will be matched to layout elements by bbox overlap.
TYPE:
|
page_no
|
Page number (for multi-page documents)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
ReadingOrderOutput
|
ReadingOrderOutput with ordered elements and associations |
Example
Source code in omnidocs/tasks/reading_order/base.py
predict_multi_page
¶
predict_multi_page(
layouts: List[LayoutOutput],
ocrs: Optional[List[OCROutput]] = None,
) -> List[ReadingOrderOutput]
Predict reading order for multiple pages.
| PARAMETER | DESCRIPTION |
|---|---|
layouts
|
List of layout results, one per page
TYPE:
|
ocrs
|
Optional list of OCR results, one per page
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
List[ReadingOrderOutput]
|
List of ReadingOrderOutput, one per page |