|
| StrokeWidth (int gridsize, const ICOORD &bleft, const ICOORD &tright) |
|
virtual | ~StrokeWidth () |
|
void | SetNeighboursOnMediumBlobs (TO_BLOCK *block) |
|
void | FindTextlineDirectionAndFixBrokenCJK (PageSegMode pageseg_mode, bool cjk_merge, TO_BLOCK *input_block) |
|
bool | TestVerticalTextDirection (double find_vertical_text_ratio, TO_BLOCK *block, BLOBNBOX_CLIST *osd_blobs) |
|
void | CorrectForRotation (const FCOORD &rerotation, ColPartitionGrid *part_grid) |
|
void | FindLeaderPartitions (TO_BLOCK *block, ColPartitionGrid *part_grid) |
|
void | RemoveLineResidue (ColPartition_LIST *big_part_list) |
|
void | GradeBlobsIntoPartitions (PageSegMode pageseg_mode, const FCOORD &rerotation, TO_BLOCK *block, Pix *nontext_pix, const DENORM *denorm, bool cjk_script, TextlineProjection *projection, BLOBNBOX_LIST *diacritic_blobs, ColPartitionGrid *part_grid, ColPartition_LIST *big_parts) |
|
virtual void | HandleClick (int x, int y) |
|
| BlobGrid (int gridsize, const ICOORD &bleft, const ICOORD &tright) |
|
virtual | ~BlobGrid () |
|
void | InsertBlobList (BLOBNBOX_LIST *blobs) |
|
| BBGrid () |
|
| BBGrid (int gridsize, const ICOORD &bleft, const ICOORD &tright) |
|
virtual | ~BBGrid () |
|
void | Init (int gridsize, const ICOORD &bleft, const ICOORD &tright) |
|
void | Clear () |
|
void | ClearGridData (void(*free_method)(BLOBNBOX *)) |
|
void | InsertBBox (bool h_spread, bool v_spread, BLOBNBOX *bbox) |
|
void | InsertPixPtBBox (int left, int bottom, Pix *pix, BLOBNBOX *bbox) |
|
void | RemoveBBox (BLOBNBOX *bbox) |
|
bool | RectangleEmpty (const TBOX &rect) |
|
IntGrid * | CountCellElements () |
|
ScrollView * | MakeWindow (int x, int y, const char *window_name) |
|
void | DisplayBoxes (ScrollView *window) |
|
void | AssertNoDuplicates () |
|
| GridBase ()=default |
|
| GridBase (int gridsize, const ICOORD &bleft, const ICOORD &tright) |
|
virtual | ~GridBase () |
|
void | Init (int gridsize, const ICOORD &bleft, const ICOORD &tright) |
|
int | gridsize () const |
|
int | gridwidth () const |
|
int | gridheight () const |
|
const ICOORD & | bleft () const |
|
const ICOORD & | tright () const |
|
void | GridCoords (int x, int y, int *grid_x, int *grid_y) const |
|
void | ClipGridCoords (int *x, int *y) const |
|
|
void | ComputeNoiseDensity (TO_BLOCK *block, TabFind *line_grid) |
|
void | FindLeadersAndMarkNoise (TO_BLOCK *block, ColPartition_LIST *leader_parts) |
|
void | InsertBlobs (TO_BLOCK *block) |
|
bool | FixBrokenCJK (TO_BLOCK *block) |
|
void | AccumulateOverlaps (const BLOBNBOX *not_this, bool debug, int max_size, int max_dist, TBOX *bbox, BLOBNBOX_CLIST *blobs) |
|
void | FindTextlineFlowDirection (PageSegMode pageseg_mode, bool display_if_debugging) |
|
void | SetNeighbours (bool leaders, bool activate_line_trap, BLOBNBOX *blob) |
|
int | FindGoodNeighbour (BlobNeighbourDir dir, bool leaders, BLOBNBOX *blob) |
|
void | SetNeighbourFlows (BLOBNBOX *blob) |
|
void | SimplifyObviousNeighbours (BLOBNBOX *blob) |
|
void | SmoothNeighbourTypes (PageSegMode pageseg_mode, bool desperate, BLOBNBOX *blob) |
|
void | MarkLeaderNeighbours (const ColPartition *part, LeftOrRight side) |
|
PartitionFindResult | FindInitialPartitions (PageSegMode pageseg_mode, const FCOORD &rerotation, bool find_problems, TO_BLOCK *block, BLOBNBOX_LIST *diacritic_blobs, ColPartitionGrid *part_grid, ColPartition_LIST *big_parts, FCOORD *skew_angle) |
|
bool | DetectAndRemoveNoise (int pre_overlap, const TBOX &grid_box, TO_BLOCK *block, ColPartitionGrid *part_grid, BLOBNBOX_LIST *diacritic_blobs) |
|
void | FindVerticalTextChains (ColPartitionGrid *part_grid) |
|
void | FindHorizontalTextChains (ColPartitionGrid *part_grid) |
|
void | TestDiacritics (ColPartitionGrid *part_grid, TO_BLOCK *block) |
|
bool | DiacriticBlob (BlobGrid *small_grid, BLOBNBOX *blob) |
|
bool | DiacriticXGapFilled (BlobGrid *grid, const TBOX &diacritic_box, const TBOX &base_box) |
|
void | MergeDiacritics (TO_BLOCK *block, ColPartitionGrid *part_grid) |
|
void | RemoveLargeUnusedBlobs (TO_BLOCK *block, ColPartitionGrid *part_grid, ColPartition_LIST *big_parts) |
|
void | PartitionRemainingBlobs (PageSegMode pageseg_mode, ColPartitionGrid *part_grid) |
|
void | MakePartitionsFromCellList (PageSegMode pageseg_mode, bool combine, ColPartitionGrid *part_grid, BLOBNBOX_CLIST *cell_list) |
|
void | CompletePartition (PageSegMode pageseg_mode, ColPartition *part, ColPartitionGrid *part_grid) |
|
bool | FindingVerticalOnly (PageSegMode pageseg_mode) const |
|
bool | FindingHorizontalOnly (PageSegMode pageseg_mode) const |
|
void | EasyMerges (ColPartitionGrid *part_grid) |
|
bool | OrientationSearchBox (ColPartition *part, TBOX *box) |
|
bool | ConfirmEasyMerge (const ColPartition *p1, const ColPartition *p2) |
|
bool | NoNoiseInBetween (const TBOX &box1, const TBOX &box2) const |
|
ScrollView * | DisplayGoodBlobs (const char *window_name, int x, int y) |
|
ScrollView * | DisplayDiacritics (const char *window_name, int x, int y, TO_BLOCK *block) |
|
The StrokeWidth class holds all the normal and large blobs. It is used to find good large blobs and move them to the normal blobs by virtue of having a reasonable strokewidth compatible neighbour.