|
| | 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.