23 #ifndef TESSERACT_WORDREC_PAIN_POINTS_H_ 24 #define TESSERACT_WORDREC_PAIN_POINTS_H_ 35 struct ViterbiStateEntry;
50 static const char *
const LMPainPointsTypeName[] = {
67 return LMPainPointsTypeName[type];
71 max_heap_size_(max), max_char_wh_ratio_(rat), fixed_pitch_(fp),
72 dict_(d), debug_level_(deb) {}
77 return !pain_points_heaps_[pp_type].
empty();
87 for (
int h = 0; h <
LM_PPTYPE_NUM; ++h) pain_points_heaps_[h].clear();
106 max_char_wh_ratio, word_res);
115 float special_priority,
bool ok_to_extend,
116 float max_char_wh_ratio,
131 float max_char_wh_ratio_;
142 #endif // TESSERACT_WORDREC_PAIN_POINTS_H_ bool GeneratePainPoint(int col, int row, LMPainPointsType pp_type, float special_priority, bool ok_to_extend, float max_char_wh_ratio, WERD_RES *word_res)
bool HasPainPoints(LMPainPointsType pp_type) const
void RemapForSplit(int index)
static const char * PainPointDescription(LMPainPointsType type)
static const float kDefaultPainPointPriorityAdjustment
LMPainPoints(int max, float rat, bool fp, const Dict *d, int deb)
static const float kLooseMaxCharWhRatio
LMPainPointsType Deque(MATRIX_COORD *pp, float *priority)
void GenerateInitial(WERD_RES *word_res)
void GenerateFromPath(float rating_cert_scale, ViterbiStateEntry *vse, WERD_RES *word_res)
void GenerateFromAmbigs(const DANGERR &fixpt, ViterbiStateEntry *vse, WERD_RES *word_res)
bool GenerateForBlamer(double max_char_wh_ratio, WERD_RES *word_res, int col, int row)