Spaces:
Build error
Build error
| from typing import Optional, List | |
| import uuid | |
| from abc import ABC, abstractmethod | |
| class Annotation(ABC): | |
| box: Optional[List[float]] = None | |
| index: uuid.UUID = None | |
| def __init__(self, box: Optional[List[float]] = None): | |
| self.box = box | |
| self.index = uuid.uuid4() | |
| class WordAnnotation(Annotation): | |
| # Class attributes since all classes should have it | |
| box:Optional[List[float]] =None, | |
| score:Optional[float]=None, | |
| text:str = None, | |
| index: uuid.UUID =None | |
| def __init__(self, | |
| box:Optional[List[float]], | |
| text:str=None): | |
| self.box =box if box is not None else None | |
| self.text = text if text is not None else None | |
| self.index = uuid.uuid4() | |
| class LineAnnotation(Annotation): | |
| """ | |
| Detection results of all OCR Components | |
| `pdf_id` : id or name of pdf so that it can be get from database | |
| `page`: pdf page number | |
| `box`: [xmin, ymin, xmax, ymax] | |
| `index`: same as index for bounding boxes, just the results is wrapped around in this class | |
| `score`: prediction score | |
| `line` : Parent line | |
| `text`: text string. | |
| """ | |
| # Class attributes since all classes should have it | |
| box:Optional[List[float]] =None, | |
| words:Optional[List[WordAnnotation]] =None, | |
| index: uuid.UUID =None | |
| def __init__(self, | |
| box:Optional[List[float]], | |
| words:List[WordAnnotation]=None): | |
| self.box = box if box is not None else None | |
| self.words = words if words is not None else [] | |
| self.index = uuid.uuid4() | |