From a9b22a8694bcd11abd3b115cb82767513182dbe3 Mon Sep 17 00:00:00 2001 From: Nikos Livathinos Date: Mon, 7 Oct 2024 15:41:35 +0200 Subject: [PATCH] fix(BoundingBox): Fixing the BoundingBox.area() method to work for all values of CoordOrigin Signed-off-by: Nikos Livathinos --- docling/datamodel/base_models.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docling/datamodel/base_models.py b/docling/datamodel/base_models.py index f18dbd7a..752e264a 100644 --- a/docling/datamodel/base_models.py +++ b/docling/datamodel/base_models.py @@ -110,7 +110,10 @@ class BoundingBox(BaseModel): return BoundingBox(l=l, t=t, r=r, b=b, coord_origin=origin) def area(self) -> float: - return (self.r - self.l) * (self.b - self.t) + area = (self.r - self.l) * (self.b - self.t) + if self.coord_origin == CoordOrigin.BOTTOMLEFT: + area = -area + return area def intersection_area_with(self, other: "BoundingBox") -> float: # Calculate intersection coordinates