|
import os |
|
from dataclasses import dataclass, field |
|
from enum import Enum |
|
from typing import List, Dict |
|
|
|
class DetectionLabels(Enum): |
|
table = 0 |
|
table_column = 1 |
|
table_row = 2 |
|
table_column_header = 3 |
|
table_projected_row_header = 4 |
|
table_spanning_cell = 5 |
|
|
|
class ExtractionContext(Enum): |
|
document = 1 |
|
table = 2 |
|
row = 3 |
|
|
|
@dataclass |
|
class Cell: |
|
cellindex : int = 0 |
|
value : str = '' |
|
prob : float = 0.5 |
|
|
|
@dataclass |
|
class Row: |
|
rowindex : int = 0 |
|
extracted_cells : List[Cell]= field(default_factory=lambda: []) |
|
|
|
@dataclass |
|
class TableRecognitionData: |
|
scores : List = field(default_factory=lambda: []) |
|
labels : List = field(default_factory=lambda: []) |
|
boxes : List = field(default_factory=lambda: []) |
|
|
|
@dataclass |
|
class TableRecognitionOrdered: |
|
recognized_row : List = field(default_factory=lambda: []) |
|
recognized_column : List = field(default_factory=lambda: []) |
|
|
|
@dataclass |
|
class TableDetectionData: |
|
detection_score : float = 0.0 |
|
detection_label : int = 0 |
|
detection_box : List = field(default_factory=lambda: []) |
|
recognitiondata : TableRecognitionData = field(default_factory=lambda: []) |
|
ordered_recognitiondata : List[TableRecognitionOrdered] = field(default_factory=lambda: []) |
|
extracted_rows : List[Row] = field(default_factory=lambda: []) |
|
|
|
|
|
@dataclass |
|
class ImageData: |
|
tables: List[TableDetectionData] |
|
|