20 #ifndef TESSERACT_TEXTORD_TABLEFIND_H__
21 #define TESSERACT_TEXTORD_TABLEFIND_H__
38 class ColPartitionSet;
57 bounding_box_.set_top(y);
61 bounding_box_.set_bottom(y);
65 bounding_box_.set_left(x);
69 bounding_box_.set_right(x);
73 bounding_box_ = other;
77 return num_table_cells_;
86 return num_text_cells_;
106 void InsertBox(
const TBOX& other);
110 int num_table_cells_;
116 typedef BBGrid<ColSegment,
145 void Init(
int grid_size,
const ICOORD& bottom_left,
const ICOORD& top_right);
196 ColSegmentGrid* col_seg_grid);
282 ColSegment_LIST *col_segments);
286 ColSegment_LIST *col_segments);
316 ColSegment_LIST *table_regions);
339 const TBOX& search_range,
435 #endif // TESSERACT_TEXTORD_TABLEFIND_H__
void GetColumnBlocks(ColPartitionSet **columns, ColSegment_LIST *col_segments)
void InsertRulingPartition(ColPartition *part)
void DisplayColPartitionConnections(ScrollView *win, ColPartitionGrid *grid, ScrollView::Color default_color)
void set_global_median_ledding(int ledding)
ColPartitionGrid clean_part_grid_
#define CLISTIZEH(CLASSNAME)
void SetVerticalSpacing(ColPartition *part)
void GridMergeTableRegions()
int global_median_ledding_
void FilterParagraphEndings()
void set_resolution(int resolution)
GridSearch< ColSegment, ColSegment_CLIST, ColSegment_C_IT > ColSegmentGridSearch
bool AllowTextPartition(const ColPartition &part) const
void GrowTableBox(const TBOX &table_box, TBOX *result_box)
void SetColumnsType(ColSegment_LIST *col_segments)
const ICOORD & bleft() const
int get_num_table_cells() const
void FilterHeaderAndFooter()
void set_global_median_xheight(int xheight)
void MoveColSegmentsToGrid(ColSegment_LIST *segments, ColSegmentGrid *col_seg_grid)
void SplitAndInsertFragmentedTextPartition(ColPartition *part)
void InsertImagePartition(ColPartition *part)
void SmoothTablePartitionRuns()
const ICOORD & tright() const
void DisplayColSegments(ScrollView *win, ColSegment_LIST *cols, ScrollView::Color color)
bool BelongToOneTable(const TBOX &box1, const TBOX &box2)
void InsertCleanPartitions(ColPartitionGrid *grid, TO_BLOCK *block)
void WriteToPix(const FCOORD &reskew)
bool HasWideOrNoInterWordGap(ColPartition *part) const
static void SetPartitionSpacings(ColPartitionGrid *grid, ColPartitionSet **all_columns)
void InsertFragmentedTextPartition(ColPartition *part)
bool HLineBelongsToTable(const ColPartition &part, const TBOX &table_box)
bool HasLeaderAdjacent(const ColPartition &part)
void set_num_table_cells(int n)
void GridMergeColumnBlocks()
void InitializePartitions(ColPartitionSet **all_columns)
ScrollView * MakeWindow(int x, int y, const char *window_name)
bool AllowBlob(const BLOBNBOX &blob) const
int get_num_text_cells() const
ColPartitionGrid leader_and_ruling_grid_
void SetGlobalSpacings(ColPartitionGrid *grid)
ColSegmentGrid col_seg_grid_
void GetTableRegions(ColSegment_LIST *table_columns, ColSegment_LIST *table_regions)
bool left_to_right_language_
void InsertLeaderPartition(ColPartition *part)
BBGrid< ColSegment, ColSegment_CLIST, ColSegment_C_IT > ColSegmentGrid
void MarkTablePartitions()
void GroupColumnBlocks(ColSegment_LIST *current_segments, ColSegment_LIST *col_segments)
int global_median_blob_width_
void GrowTableToIncludeLines(const TBOX &table_box, const TBOX &search_range, TBOX *result_box)
void GrowTableToIncludePartials(const TBOX &table_box, const TBOX &search_range, TBOX *result_box)
void LocateTables(ColPartitionGrid *grid, ColPartitionSet **columns, WidthCallback *width_cb, const FCOORD &reskew)
void set_global_median_blob_width(int width)
void AdjustTableBoundaries()
void DeleteSingleColumnTables()
void DisplayColSegmentGrid(ScrollView *win, ColSegmentGrid *grid, ScrollView::Color color)
ColSegmentGrid table_grid_
void MakeTableBlocks(ColPartitionGrid *grid, ColPartitionSet **columns, WidthCallback *width_cb)
const TBOX & bounding_box() const
void DisplayColPartitions(ScrollView *win, ColPartitionGrid *grid, ScrollView::Color text_color, ScrollView::Color table_color)
void set_left_to_right_language(bool order)
int global_median_xheight_
void Init(int grid_size, const ICOORD &bottom_left, const ICOORD &top_right)
void set_num_text_cells(int n)
bool GapInXProjection(int *xprojection, int length)
bool ConsecutiveBoxes(const TBOX &b1, const TBOX &b2)
ColPartitionGrid fragmented_text_grid_
void set_bounding_box(const TBOX &other)
void InsertTextPartition(ColPartition *part)
void IncludeLeftOutColumnHeaders(TBOX *table_box)
void GetTableColumns(ColSegment_LIST *table_columns)
void MarkPartitionsUsingLocalInformation()