19#ifndef TESSERACT_TEXTORD_STROKEWIDTH_H_
20#define TESSERACT_TEXTORD_STROKEWIDTH_H_
33class ColPartition_LIST;
35class TextlineProjection;
87 BLOBNBOX_CLIST *osd_blobs);
115 Image nontext_pix,
const DENORM *denorm,
bool cjk_script,
136 void FindLeadersAndMarkNoise(
TO_BLOCK *block, ColPartition_LIST *leader_parts);
153 void AccumulateOverlaps(
const BLOBNBOX *not_this,
bool debug,
int max_size,
int max_dist,
154 TBOX *bbox, BLOBNBOX_CLIST *blobs);
163 void FindTextlineFlowDirection(
PageSegMode pageseg_mode,
bool display_if_debugging);
170 void SetNeighbours(
bool leaders,
bool activate_line_trap,
BLOBNBOX *blob);
181 void SetNeighbourFlows(
BLOBNBOX *blob);
186 void SimplifyObviousNeighbours(
BLOBNBOX *blob);
211 bool find_problems,
TO_BLOCK *block,
212 BLOBNBOX_LIST *diacritic_blobs,
214 ColPartition_LIST *big_parts,
FCOORD *skew_angle);
219 bool DetectAndRemoveNoise(
int pre_overlap,
const TBOX &grid_box,
TO_BLOCK *block,
247 bool DiacriticXGapFilled(
BlobGrid *grid,
const TBOX &diacritic_box,
const TBOX &base_box);
254 ColPartition_LIST *big_parts);
261 void MakePartitionsFromCellList(
PageSegMode pageseg_mode,
bool combine,
270 bool FindingVerticalOnly(
PageSegMode pageseg_mode)
const {
271 if (rerotation_.
y() == 0.0f) {
278 bool FindingHorizontalOnly(
PageSegMode pageseg_mode)
const {
279 if (rerotation_.
y() == 0.0f) {
297 bool NoNoiseInBetween(
const TBOX &box1,
const TBOX &box2)
const;
299#ifndef GRAPHICS_DISABLED
302 ScrollView *DisplayGoodBlobs(
const char *window_name,
int x,
int y);
319#ifndef GRAPHICS_DISABLED
@ PSM_SINGLE_BLOCK_VERT_TEXT
bool PSM_ORIENTATION_ENABLED(int pageseg_mode)
const ICOORD & bleft() const
const ICOORD & tright() const
void FindTextlineDirectionAndFixBrokenCJK(PageSegMode pageseg_mode, bool cjk_merge, TO_BLOCK *input_block)
void CorrectForRotation(const FCOORD &rerotation, ColPartitionGrid *part_grid)
void HandleClick(int x, int y) override
StrokeWidth(int gridsize, const ICOORD &bleft, const ICOORD &tright)
void RemoveLineResidue(ColPartition_LIST *big_part_list)
void GradeBlobsIntoPartitions(PageSegMode pageseg_mode, const FCOORD &rerotation, TO_BLOCK *block, Image nontext_pix, const DENORM *denorm, bool cjk_script, TextlineProjection *projection, BLOBNBOX_LIST *diacritic_blobs, ColPartitionGrid *part_grid, ColPartition_LIST *big_parts)
void SetNeighboursOnMediumBlobs(TO_BLOCK *block)
void FindLeaderPartitions(TO_BLOCK *block, ColPartitionGrid *part_grid)
bool TestVerticalTextDirection(double find_vertical_text_ratio, TO_BLOCK *block, BLOBNBOX_CLIST *osd_blobs)