Current section

Files

Jump to
xberg lib xberg ocr_bounding_geometry.ex
Raw

lib/xberg/ocr_bounding_geometry.ex

# This file is auto-generated by alef — DO NOT EDIT.
# alef:hash:44df7621a52239a822c632ad86d25d572eb9ff921657c2db06767d4dad50098a
# To regenerate: alef generate
# To verify freshness: alef verify --exit-code
defmodule Xberg.OcrBoundingGeometry do
@moduledoc """
Bounding geometry for an OCR element.
Supports both axis-aligned rectangles (from Tesseract) and 4-point quadrilaterals
(from PaddleOCR and rotated text detection).
"""
@typedoc "Bounding geometry for an OCR element."
@type t :: term()
@typedoc "Axis-aligned bounding box (typical for Tesseract output)."
@type rectangle :: %{type: :rectangle, left: non_neg_integer(), top: non_neg_integer(), width: non_neg_integer(), height: non_neg_integer()}
@typedoc "4-point quadrilateral for rotated/skewed text (PaddleOCR)."
@type quadrilateral :: %{type: :quadrilateral, points: String.t()}
def rectangle(left, top, width, height), do: {:rectangle, %{left: left, top: top, width: width, height: height}}
end