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() | |