Library Structure
=================
.. mermaid::
graph LR
manuscript[manuscript] --> Pipeline
manuscript --> Stack
manuscript --> data
manuscript --> detectors
manuscript --> layouts
manuscript --> recognizers
manuscript --> correctors
manuscript --> models
manuscript --> utils
manuscript --> api
data --> elements["Page, Element, TextRegion
Table, Cell, Image"]
detectors --> detection["YOLO, EAST, PPOCR
RFDETR, Mask2Former"]
layouts --> ordering["SimpleSorting
ReadingSorting"]
recognizers --> recognition["TRBA, PPOCRRec, TrOCR"]
recognizers --> ensembles["MajorityVotingRecognizer
MedoidRecognizer"]
correctors --> CharLM
models --> registry["Registry and artifact cache"]
api --> contracts["Base classes and protocols"]
Modules
-------
.. list-table::
:header-rows: 1
:widths: 25 75
* - Module or class
- Responsibility
* - :doc:`Pipeline `
- Runs configured stages and exposes Page snapshots and execution timings.
* - :doc:`Stack `
- Composes processors, accumulates detector regions and optionally runs
independent detectors in parallel.
* - :doc:`data `
- Defines elements, parent-child links, validation, COCO serialization and text output.
* - :doc:`detectors `
- Produces configured regions and optional detailed detection results.
* - :doc:`layouts `
- Groups, reparents and orders existing regions.
* - :doc:`recognizers `
- Recognizes selected text regions and combines independent predictions.
* - :doc:`correctors `
- Updates recognized text, including CharLM character substitutions.
* - ``models``
- Resolves remote catalogs and manages local model artifacts.
* - :doc:`utils `
- Provides image input, geometry, grouping, transformations and visualization.
* - ``api``
- Defines stage protocols, base classes and shared artifact-loading behavior.
Public entry points
-------------------
Import the components you need from their packages:
.. code-block:: python
from manuscript import Pipeline, Stack
from manuscript.data import Page, TextRegion
from manuscript.detectors import YOLO
from manuscript.layouts import SimpleSorting, ReadingSorting
from manuscript.recognizers import TRBA, MajorityVotingRecognizer
from manuscript.correctors import CharLM
from manuscript import models