tesseract
4.00.00dev
|
#include <wordrec.h>
Public Member Functions | |||||||
Wordrec () | |||||||
virtual | ~Wordrec () | ||||||
void | SaveAltChoices (const LIST &best_choices, WERD_RES *word) | ||||||
void | FillLattice (const MATRIX &ratings, const WERD_CHOICE_LIST &best_choices, const UNICHARSET &unicharset, BlamerBundle *blamer_bundle) | ||||||
void | CallFillLattice (const MATRIX &ratings, const WERD_CHOICE_LIST &best_choices, const UNICHARSET &unicharset, BlamerBundle *blamer_bundle) | ||||||
void | SegSearch (WERD_RES *word_res, BestChoiceBundle *best_choice_bundle, BlamerBundle *blamer_bundle) | ||||||
void | WordSearch (WERD_RES *word_res) | ||||||
void | InitialSegSearch (WERD_RES *word_res, LMPainPoints *pain_points, GenericVector< SegSearchPending > *pending, BestChoiceBundle *best_choice_bundle, BlamerBundle *blamer_bundle) | ||||||
void | DoSegSearch (WERD_RES *word_res) | ||||||
SEAM * | attempt_blob_chop (TWERD *word, TBLOB *blob, inT32 blob_number, bool italic_blob, const GenericVector< SEAM *> &seams) | ||||||
SEAM * | chop_numbered_blob (TWERD *word, inT32 blob_number, bool italic_blob, const GenericVector< SEAM *> &seams) | ||||||
SEAM * | chop_overlapping_blob (const GenericVector< TBOX > &boxes, bool italic_blob, WERD_RES *word_res, int *blob_number) | ||||||
void | add_seam_to_queue (float new_priority, SEAM *new_seam, SeamQueue *seams) | ||||||
void | choose_best_seam (SeamQueue *seam_queue, const SPLIT *split, PRIORITY priority, SEAM **seam_result, TBLOB *blob, SeamPile *seam_pile) | ||||||
void | combine_seam (const SeamPile &seam_pile, const SEAM *seam, SeamQueue *seam_queue) | ||||||
SEAM * | pick_good_seam (TBLOB *blob) | ||||||
void | try_point_pairs (EDGEPT *points[MAX_NUM_POINTS], inT16 num_points, SeamQueue *seam_queue, SeamPile *seam_pile, SEAM **seam, TBLOB *blob) | ||||||
void | try_vertical_splits (EDGEPT *points[MAX_NUM_POINTS], inT16 num_points, EDGEPT_CLIST *new_points, SeamQueue *seam_queue, SeamPile *seam_pile, SEAM **seam, TBLOB *blob) | ||||||
PRIORITY | grade_split_length (register SPLIT *split) | ||||||
PRIORITY | grade_sharpness (register SPLIT *split) | ||||||
bool | near_point (EDGEPT *point, EDGEPT *line_pt_0, EDGEPT *line_pt_1, EDGEPT **near_pt) | ||||||
virtual BLOB_CHOICE_LIST * | classify_piece (const GenericVector< SEAM *> &seams, inT16 start, inT16 end, const char *description, TWERD *word, BlamerBundle *blamer_bundle) | ||||||
void | merge_fragments (MATRIX *ratings, inT16 num_blobs) | ||||||
void | get_fragment_lists (inT16 current_frag, inT16 current_row, inT16 start, inT16 num_frag_parts, inT16 num_blobs, MATRIX *ratings, BLOB_CHOICE_LIST *choice_lists) | ||||||
void | merge_and_put_fragment_lists (inT16 row, inT16 column, inT16 num_frag_parts, BLOB_CHOICE_LIST *choice_lists, MATRIX *ratings) | ||||||
void | fill_filtered_fragment_list (BLOB_CHOICE_LIST *choices, int fragment_pos, int num_frag_parts, BLOB_CHOICE_LIST *filtered_choices) | ||||||
program_editup | |||||||
Initialize all the things in the program that need to be initialized. init_permute determines whether to initialize the permute functions and Dawg models. | |||||||
void | program_editup (const char *textbase, TessdataManager *init_classifier, TessdataManager *init_dict) | ||||||
cc_recog | |||||||
Recognize a word. | |||||||
void | cc_recog (WERD_RES *word) | ||||||
program_editdown | |||||||
This function holds any nessessary post processing for the Wise Owl program. | |||||||
void | program_editdown (inT32 elasped_time) | ||||||
set_pass1 | |||||||
Get ready to do some pass 1 stuff. | |||||||
void | set_pass1 () | ||||||
set_pass2 | |||||||
Get ready to do some pass 2 stuff. | |||||||
void | set_pass2 () | ||||||
end_recog | |||||||
Cleanup and exit the recog program. | |||||||
int | end_recog () | ||||||
call_matcher | |||||||
Called from Tess with a blob in tess form. The blob may need rotating to the correct orientation for classification. | |||||||
BLOB_CHOICE_LIST * | call_matcher (TBLOB *blob) | ||||||
dict_word() | |||||||
Test the dictionaries, returning NO_PERM (0) if not found, or one of the PermuterType values if found, according to the dictionary. | |||||||
int | dict_word (const WERD_CHOICE &word) | ||||||
classify_blob | |||||||
Classify the this blob if it is not already recorded in the match table. Attempt to recognize this blob as a character. The recognition rating for this blob will be stored as a part of the blob. This value will also be returned to the caller.
| |||||||
BLOB_CHOICE_LIST * | classify_blob (TBLOB *blob, const char *string, C_COL color, BlamerBundle *blamer_bundle) | ||||||
point_priority | |||||||
Assign a priority to and edge point that might be used as part of a split. The argument should be of type EDGEPT. | |||||||
PRIORITY | point_priority (EDGEPT *point) | ||||||
add_point_to_list | |||||||
Add an edge point to a POINT_GROUP containg a list of other points. | |||||||
void | add_point_to_list (PointHeap *point_heap, EDGEPT *point) | ||||||
bool | is_inside_angle (EDGEPT *pt) | ||||||
angle_change | |||||||
Return the change in angle (degrees) of the line segments between points one and two, and two and three. | |||||||
int | angle_change (EDGEPT *point1, EDGEPT *point2, EDGEPT *point3) | ||||||
pick_close_point | |||||||
Choose the edge point that is closest to the critical point. This point may not be exactly vertical from the critical point. | |||||||
EDGEPT * | pick_close_point (EDGEPT *critical_point, EDGEPT *vertical_point, int *best_dist) | ||||||
prioritize_points | |||||||
Find a list of edge points from the outer outline of this blob. For each of these points assign a priority. Sort these points using a heap structure so that they can be visited in order. | |||||||
void | prioritize_points (TESSLINE *outline, PointHeap *points) | ||||||
new_min_point | |||||||
Found a new minimum point try to decide whether to save it or not. Return the new value for the local minimum. If a point is saved then the local minimum is reset to NULL. | |||||||
void | new_min_point (EDGEPT *local_min, PointHeap *points) | ||||||
new_max_point | |||||||
Found a new minimum point try to decide whether to save it or not. Return the new value for the local minimum. If a point is saved then the local minimum is reset to NULL. | |||||||
void | new_max_point (EDGEPT *local_max, PointHeap *points) | ||||||
vertical_projection_point | |||||||
For one point on the outline, find the corresponding point on the other side of the outline that is a likely projection for a split point. This is done by iterating through the edge points until the X value of the point being looked at is greater than the X value of the split point. Ensure that the point being returned is not right next to the split point. Return the edge point in *best_point as a result, and any points that were newly created are also saved on the new_points list. | |||||||
void | vertical_projection_point (EDGEPT *split_point, EDGEPT *target_point, EDGEPT **best_point, EDGEPT_CLIST *new_points) | ||||||
improve_one_blob | |||||||
Finds the best place to chop, based on the worst blob, fixpt, or next to a fragment, according to the input. Returns the SEAM corresponding to the chop point, if any is found, and the index in the ratings_matrix of the chopped blob. Note that blob_choices is just a copy of the pointers in the leading diagonal of the ratings MATRIX. Although the blob is chopped, the returned SEAM is yet to be inserted into word->seam_array and the resulting blobs are unclassified, so this function can be used by ApplyBox as well as during recognition. | |||||||
SEAM * | improve_one_blob (const GenericVector< BLOB_CHOICE *> &blob_choices, DANGERR *fixpt, bool split_next_to_fragment, bool italic_blob, WERD_RES *word, int *blob_number) | ||||||
chop_one_blob | |||||||
Start with the current one-blob word and its classification. Find the worst blobs and try to divide it up to improve the ratings. Used for testing chopper. | |||||||
SEAM * | chop_one_blob (const GenericVector< TBOX > &boxes, const GenericVector< BLOB_CHOICE *> &blob_choices, WERD_RES *word_res, int *blob_number) | ||||||
chop_word_main | |||||||
void | chop_word_main (WERD_RES *word) | ||||||
improve_by_chopping | |||||||
Repeatedly chops the worst blob, classifying the new blobs fixing up all the data, and incrementally runs the segmentation search until a good word is found, or no more chops can be found. | |||||||
void | improve_by_chopping (float rating_cert_scale, WERD_RES *word, BestChoiceBundle *best_choice_bundle, BlamerBundle *blamer_bundle, LMPainPoints *pain_points, GenericVector< SegSearchPending > *pending) | ||||||
int | select_blob_to_split (const GenericVector< BLOB_CHOICE *> &blob_choices, float rating_ceiling, bool split_next_to_fragment) | ||||||
int | select_blob_to_split_from_fixpt (DANGERR *fixpt) | ||||||
![]() | |||||||
Classify () | |||||||
virtual | ~Classify () | ||||||
Dict & | getDict () | ||||||
const ShapeTable * | shape_table () const | ||||||
void | SetStaticClassifier (ShapeClassifier *static_classifier) | ||||||
void | AddLargeSpeckleTo (int blob_length, BLOB_CHOICE_LIST *choices) | ||||||
bool | LargeSpeckle (const TBLOB &blob) | ||||||
ADAPT_TEMPLATES | NewAdaptedTemplates (bool InitFromUnicharset) | ||||||
int | GetFontinfoId (ADAPT_CLASS Class, uinT8 ConfigId) | ||||||
int | PruneClasses (const INT_TEMPLATES_STRUCT *int_templates, int num_features, int keep_this, const INT_FEATURE_STRUCT *features, const uinT8 *normalization_factors, const uinT16 *expected_num_features, GenericVector< CP_RESULT_STRUCT > *results) | ||||||
void | ReadNewCutoffs (TFile *fp, CLASS_CUTOFF_ARRAY Cutoffs) | ||||||
void | PrintAdaptedTemplates (FILE *File, ADAPT_TEMPLATES Templates) | ||||||
void | WriteAdaptedTemplates (FILE *File, ADAPT_TEMPLATES Templates) | ||||||
ADAPT_TEMPLATES | ReadAdaptedTemplates (TFile *File) | ||||||
FLOAT32 | ComputeNormMatch (CLASS_ID ClassId, const FEATURE_STRUCT &feature, BOOL8 DebugMatch) | ||||||
void | FreeNormProtos () | ||||||
NORM_PROTOS * | ReadNormProtos (TFile *fp) | ||||||
void | ConvertProto (PROTO Proto, int ProtoId, INT_CLASS Class) | ||||||
INT_TEMPLATES | CreateIntTemplates (CLASSES FloatProtos, const UNICHARSET &target_unicharset) | ||||||
void | LearnWord (const char *fontname, WERD_RES *word) | ||||||
void | LearnPieces (const char *fontname, int start, int length, float threshold, CharSegmentationType segmentation, const char *correct_text, WERD_RES *word) | ||||||
void | InitAdaptiveClassifier (TessdataManager *mgr) | ||||||
void | InitAdaptedClass (TBLOB *Blob, CLASS_ID ClassId, int FontinfoId, ADAPT_CLASS Class, ADAPT_TEMPLATES Templates) | ||||||
void | AmbigClassifier (const GenericVector< INT_FEATURE_STRUCT > &int_features, const INT_FX_RESULT_STRUCT &fx_info, const TBLOB *blob, INT_TEMPLATES templates, ADAPT_CLASS *classes, UNICHAR_ID *ambiguities, ADAPT_RESULTS *results) | ||||||
void | MasterMatcher (INT_TEMPLATES templates, inT16 num_features, const INT_FEATURE_STRUCT *features, const uinT8 *norm_factors, ADAPT_CLASS *classes, int debug, int matcher_multiplier, const TBOX &blob_box, const GenericVector< CP_RESULT_STRUCT > &results, ADAPT_RESULTS *final_results) | ||||||
void | ExpandShapesAndApplyCorrections (ADAPT_CLASS *classes, bool debug, int class_id, int bottom, int top, float cp_rating, int blob_length, int matcher_multiplier, const uinT8 *cn_factors, UnicharRating *int_result, ADAPT_RESULTS *final_results) | ||||||
double | ComputeCorrectedRating (bool debug, int unichar_id, double cp_rating, double im_rating, int feature_misses, int bottom, int top, int blob_length, int matcher_multiplier, const uinT8 *cn_factors) | ||||||
void | ConvertMatchesToChoices (const DENORM &denorm, const TBOX &box, ADAPT_RESULTS *Results, BLOB_CHOICE_LIST *Choices) | ||||||
void | AddNewResult (const UnicharRating &new_result, ADAPT_RESULTS *results) | ||||||
int | GetAdaptiveFeatures (TBLOB *Blob, INT_FEATURE_ARRAY IntFeatures, FEATURE_SET *FloatFeatures) | ||||||
void | DebugAdaptiveClassifier (TBLOB *Blob, ADAPT_RESULTS *Results) | ||||||
PROTO_ID | MakeNewTempProtos (FEATURE_SET Features, int NumBadFeat, FEATURE_ID BadFeat[], INT_CLASS IClass, ADAPT_CLASS Class, BIT_VECTOR TempProtoMask) | ||||||
int | MakeNewTemporaryConfig (ADAPT_TEMPLATES Templates, CLASS_ID ClassId, int FontinfoId, int NumFeatures, INT_FEATURE_ARRAY Features, FEATURE_SET FloatFeatures) | ||||||
void | MakePermanent (ADAPT_TEMPLATES Templates, CLASS_ID ClassId, int ConfigId, TBLOB *Blob) | ||||||
void | PrintAdaptiveMatchResults (const ADAPT_RESULTS &results) | ||||||
void | RemoveExtraPuncs (ADAPT_RESULTS *Results) | ||||||
void | RemoveBadMatches (ADAPT_RESULTS *Results) | ||||||
void | SetAdaptiveThreshold (FLOAT32 Threshold) | ||||||
void | ShowBestMatchFor (int shape_id, const INT_FEATURE_STRUCT *features, int num_features) | ||||||
STRING | ClassIDToDebugStr (const INT_TEMPLATES_STRUCT *templates, int class_id, int config_id) const | ||||||
int | ClassAndConfigIDToFontOrShapeID (int class_id, int int_result_config) const | ||||||
int | ShapeIDToClassID (int shape_id) const | ||||||
UNICHAR_ID * | BaselineClassifier (TBLOB *Blob, const GenericVector< INT_FEATURE_STRUCT > &int_features, const INT_FX_RESULT_STRUCT &fx_info, ADAPT_TEMPLATES Templates, ADAPT_RESULTS *Results) | ||||||
int | CharNormClassifier (TBLOB *blob, const TrainingSample &sample, ADAPT_RESULTS *adapt_results) | ||||||
int | CharNormTrainingSample (bool pruner_only, int keep_this, const TrainingSample &sample, GenericVector< UnicharRating > *results) | ||||||
UNICHAR_ID * | GetAmbiguities (TBLOB *Blob, CLASS_ID CorrectClass) | ||||||
void | DoAdaptiveMatch (TBLOB *Blob, ADAPT_RESULTS *Results) | ||||||
void | AdaptToChar (TBLOB *Blob, CLASS_ID ClassId, int FontinfoId, FLOAT32 Threshold, ADAPT_TEMPLATES adaptive_templates) | ||||||
void | DisplayAdaptedChar (TBLOB *blob, INT_CLASS_STRUCT *int_class) | ||||||
bool | AdaptableWord (WERD_RES *word) | ||||||
void | EndAdaptiveClassifier () | ||||||
void | SettupPass1 () | ||||||
void | SettupPass2 () | ||||||
void | AdaptiveClassifier (TBLOB *Blob, BLOB_CHOICE_LIST *Choices) | ||||||
void | ClassifyAsNoise (ADAPT_RESULTS *Results) | ||||||
void | ResetAdaptiveClassifierInternal () | ||||||
void | SwitchAdaptiveClassifier () | ||||||
void | StartBackupAdaptiveClassifier () | ||||||
int | GetCharNormFeature (const INT_FX_RESULT_STRUCT &fx_info, INT_TEMPLATES templates, uinT8 *pruner_norm_array, uinT8 *char_norm_array) | ||||||
void | ComputeCharNormArrays (FEATURE_STRUCT *norm_feature, INT_TEMPLATES_STRUCT *templates, uinT8 *char_norm_array, uinT8 *pruner_array) | ||||||
bool | TempConfigReliable (CLASS_ID class_id, const TEMP_CONFIG &config) | ||||||
void | UpdateAmbigsGroup (CLASS_ID class_id, TBLOB *Blob) | ||||||
bool | AdaptiveClassifierIsFull () const | ||||||
bool | AdaptiveClassifierIsEmpty () const | ||||||
bool | LooksLikeGarbage (TBLOB *blob) | ||||||
void | RefreshDebugWindow (ScrollView **win, const char *msg, int y_offset, const TBOX &wbox) | ||||||
void | ClearCharNormArray (uinT8 *char_norm_array) | ||||||
void | ComputeIntCharNormArray (const FEATURE_STRUCT &norm_feature, uinT8 *char_norm_array) | ||||||
void | ComputeIntFeatures (FEATURE_SET Features, INT_FEATURE_ARRAY IntFeatures) | ||||||
INT_TEMPLATES | ReadIntTemplates (TFile *fp) | ||||||
void | WriteIntTemplates (FILE *File, INT_TEMPLATES Templates, const UNICHARSET &target_unicharset) | ||||||
CLASS_ID | GetClassToDebug (const char *Prompt, bool *adaptive_on, bool *pretrained_on, int *shape_id) | ||||||
void | ShowMatchDisplay () | ||||||
UnicityTable< FontInfo > & | get_fontinfo_table () | ||||||
const UnicityTable< FontInfo > & | get_fontinfo_table () const | ||||||
UnicityTable< FontSet > & | get_fontset_table () | ||||||
void | NormalizeOutlines (LIST Outlines, FLOAT32 *XScale, FLOAT32 *YScale) | ||||||
FEATURE_SET | ExtractOutlineFeatures (TBLOB *Blob) | ||||||
FEATURE_SET | ExtractPicoFeatures (TBLOB *Blob) | ||||||
FEATURE_SET | ExtractIntCNFeatures (const TBLOB &blob, const INT_FX_RESULT_STRUCT &fx_info) | ||||||
FEATURE_SET | ExtractIntGeoFeatures (const TBLOB &blob, const INT_FX_RESULT_STRUCT &fx_info) | ||||||
void | LearnBlob (const STRING &fontname, TBLOB *Blob, const DENORM &cn_denorm, const INT_FX_RESULT_STRUCT &fx_info, const char *blob_text) | ||||||
bool | WriteTRFile (const STRING &filename) | ||||||
![]() | |||||||
CCStruct () | |||||||
~CCStruct () | |||||||
![]() | |||||||
CUtil () | |||||||
~CUtil () | |||||||
void | read_variables (const char *filename, bool global_only) | ||||||
![]() | |||||||
CCUtil () | |||||||
virtual | ~CCUtil () | ||||||
void | main_setup (const char *argv0, const char *basename) | ||||||
CCUtil::main_setup - set location of tessdata and name of image. More... | |||||||
ParamsVectors * | params () | ||||||
Protected Member Functions | |
bool | SegSearchDone (int num_futile_classifications) |
void | UpdateSegSearchNodes (float rating_cert_scale, int starting_col, GenericVector< SegSearchPending > *pending, WERD_RES *word_res, LMPainPoints *pain_points, BestChoiceBundle *best_choice_bundle, BlamerBundle *blamer_bundle) |
void | ProcessSegSearchPainPoint (float pain_point_priority, const MATRIX_COORD &pain_point, const char *pain_point_type, GenericVector< SegSearchPending > *pending, WERD_RES *word_res, LMPainPoints *pain_points, BlamerBundle *blamer_bundle) |
void | ResetNGramSearch (WERD_RES *word_res, BestChoiceBundle *best_choice_bundle, GenericVector< SegSearchPending > *pending) |
void | InitBlamerForSegSearch (WERD_RES *word_res, LMPainPoints *pain_points, BlamerBundle *blamer_bundle, STRING *blamer_debug) |
Additional Inherited Members | |
![]() | |
static void | SetupBLCNDenorms (const TBLOB &blob, bool nonlinear_norm, DENORM *bl_denorm, DENORM *cn_denorm, INT_FX_RESULT_STRUCT *fx_info) |
static void | ExtractFeatures (const TBLOB &blob, bool nonlinear_norm, GenericVector< INT_FEATURE_STRUCT > *bl_features, GenericVector< INT_FEATURE_STRUCT > *cn_features, INT_FX_RESULT_STRUCT *results, GenericVector< int > *outline_cn_counts) |
![]() | |
static const double | kDescenderFraction = 0.25 |
static const double | kXHeightFraction = 0.5 |
static const double | kAscenderFraction = 0.25 |
static const double | kXHeightCapRatio |
![]() | |
IntegerMatcher | im_ |
FEATURE_DEFS_STRUCT | feature_defs_ |
ShapeTable * | shape_table_ |
tesseract::Wordrec::Wordrec | ( | ) |
Definition at line 26 of file wordrec.cpp.
|
virtual |
Definition at line 123 of file wordrec.cpp.
Definition at line 64 of file chop.cpp.
void tesseract::Wordrec::add_seam_to_queue | ( | float | new_priority, |
SEAM * | new_seam, | ||
SeamQueue * | seams | ||
) |
Definition at line 63 of file findseam.cpp.
Definition at line 88 of file chop.cpp.
SEAM * tesseract::Wordrec::attempt_blob_chop | ( | TWERD * | word, |
TBLOB * | blob, | ||
inT32 | blob_number, | ||
bool | italic_blob, | ||
const GenericVector< SEAM *> & | seams | ||
) |
Definition at line 169 of file chopper.cpp.
BLOB_CHOICE_LIST * tesseract::Wordrec::call_matcher | ( | TBLOB * | blob | ) |
Definition at line 138 of file tface.cpp.
|
inline |
Definition at line 195 of file wordrec.h.
void tesseract::Wordrec::cc_recog | ( | WERD_RES * | word | ) |
Definition at line 113 of file tface.cpp.
void tesseract::Wordrec::choose_best_seam | ( | SeamQueue * | seam_queue, |
const SPLIT * | split, | ||
PRIORITY | priority, | ||
SEAM ** | seam_result, | ||
TBLOB * | blob, | ||
SeamPile * | seam_pile | ||
) |
Definition at line 102 of file findseam.cpp.
SEAM * tesseract::Wordrec::chop_numbered_blob | ( | TWERD * | word, |
inT32 | blob_number, | ||
bool | italic_blob, | ||
const GenericVector< SEAM *> & | seams | ||
) |
Definition at line 223 of file chopper.cpp.
SEAM * tesseract::Wordrec::chop_one_blob | ( | const GenericVector< TBOX > & | boxes, |
const GenericVector< BLOB_CHOICE *> & | blob_choices, | ||
WERD_RES * | word_res, | ||
int * | blob_number | ||
) |
Definition at line 373 of file chopper.cpp.
SEAM * tesseract::Wordrec::chop_overlapping_blob | ( | const GenericVector< TBOX > & | boxes, |
bool | italic_blob, | ||
WERD_RES * | word_res, | ||
int * | blob_number | ||
) |
Definition at line 231 of file chopper.cpp.
void tesseract::Wordrec::chop_word_main | ( | WERD_RES * | word | ) |
Definition at line 393 of file chopper.cpp.
BLOB_CHOICE_LIST * tesseract::Wordrec::classify_blob | ( | TBLOB * | blob, |
const char * | string, | ||
C_COL | color, | ||
BlamerBundle * | blamer_bundle | ||
) |
Definition at line 56 of file wordclass.cpp.
|
virtual |
Definition at line 56 of file pieces.cpp.
void tesseract::Wordrec::combine_seam | ( | const SeamPile & | seam_pile, |
const SEAM * | seam, | ||
SeamQueue * | seam_queue | ||
) |
Definition at line 196 of file findseam.cpp.
int tesseract::Wordrec::dict_word | ( | const WERD_CHOICE & | word | ) |
Definition at line 128 of file tface.cpp.
void tesseract::Wordrec::DoSegSearch | ( | WERD_RES * | word_res | ) |
Definition at line 31 of file segsearch.cpp.
int tesseract::Wordrec::end_recog | ( | ) |
Definition at line 65 of file tface.cpp.
void tesseract::Wordrec::fill_filtered_fragment_list | ( | BLOB_CHOICE_LIST * | choices, |
int | fragment_pos, | ||
int | num_frag_parts, | ||
BLOB_CHOICE_LIST * | filtered_choices | ||
) |
Definition at line 105 of file pieces.cpp.
void tesseract::Wordrec::FillLattice | ( | const MATRIX & | ratings, |
const WERD_CHOICE_LIST & | best_choices, | ||
const UNICHARSET & | unicharset, | ||
BlamerBundle * | blamer_bundle | ||
) |
void tesseract::Wordrec::get_fragment_lists | ( | inT16 | current_frag, |
inT16 | current_row, | ||
inT16 | start, | ||
inT16 | num_frag_parts, | ||
inT16 | num_blobs, | ||
MATRIX * | ratings, | ||
BLOB_CHOICE_LIST * | choice_lists | ||
) |
Definition at line 281 of file pieces.cpp.
Definition at line 74 of file gradechop.cpp.
Definition at line 51 of file gradechop.cpp.
void tesseract::Wordrec::improve_by_chopping | ( | float | rating_cert_scale, |
WERD_RES * | word, | ||
BestChoiceBundle * | best_choice_bundle, | ||
BlamerBundle * | blamer_bundle, | ||
LMPainPoints * | pain_points, | ||
GenericVector< SegSearchPending > * | pending | ||
) |
Definition at line 456 of file chopper.cpp.
SEAM * tesseract::Wordrec::improve_one_blob | ( | const GenericVector< BLOB_CHOICE *> & | blob_choices, |
DANGERR * | fixpt, | ||
bool | split_next_to_fragment, | ||
bool | italic_blob, | ||
WERD_RES * | word, | ||
int * | blob_number | ||
) |
Definition at line 329 of file chopper.cpp.
|
protected |
Definition at line 342 of file segsearch.cpp.
void tesseract::Wordrec::InitialSegSearch | ( | WERD_RES * | word_res, |
LMPainPoints * | pain_points, | ||
GenericVector< SegSearchPending > * | pending, | ||
BestChoiceBundle * | best_choice_bundle, | ||
BlamerBundle * | blamer_bundle | ||
) |
Definition at line 150 of file segsearch.cpp.
bool tesseract::Wordrec::is_inside_angle | ( | EDGEPT * | pt | ) |
Definition at line 78 of file chop.cpp.
void tesseract::Wordrec::merge_and_put_fragment_lists | ( | inT16 | row, |
inT16 | column, | ||
inT16 | num_frag_parts, | ||
BLOB_CHOICE_LIST * | choice_lists, | ||
MATRIX * | ratings | ||
) |
Definition at line 138 of file pieces.cpp.
Definition at line 313 of file pieces.cpp.
bool tesseract::Wordrec::near_point | ( | EDGEPT * | point, |
EDGEPT * | line_pt_0, | ||
EDGEPT * | line_pt_1, | ||
EDGEPT ** | near_pt | ||
) |
Definition at line 49 of file outlines.cpp.
Definition at line 245 of file chop.cpp.
Definition at line 221 of file chop.cpp.
EDGEPT * tesseract::Wordrec::pick_close_point | ( | EDGEPT * | critical_point, |
EDGEPT * | vertical_point, | ||
int * | best_dist | ||
) |
Definition at line 124 of file chop.cpp.
Definition at line 215 of file findseam.cpp.
Definition at line 54 of file chop.cpp.
Definition at line 162 of file chop.cpp.
|
protected |
Definition at line 262 of file segsearch.cpp.
void tesseract::Wordrec::program_editdown | ( | inT32 | elasped_time | ) |
Definition at line 78 of file tface.cpp.
void tesseract::Wordrec::program_editup | ( | const char * | textbase, |
TessdataManager * | init_classifier, | ||
TessdataManager * | init_dict | ||
) |
Definition at line 46 of file tface.cpp.
|
protected |
Definition at line 325 of file segsearch.cpp.
void tesseract::Wordrec::SegSearch | ( | WERD_RES * | word_res, |
BestChoiceBundle * | best_choice_bundle, | ||
BlamerBundle * | blamer_bundle | ||
) |
Definition at line 37 of file segsearch.cpp.
|
inlineprotected |
Definition at line 425 of file wordrec.h.
int tesseract::Wordrec::select_blob_to_split | ( | const GenericVector< BLOB_CHOICE *> & | blob_choices, |
float | rating_ceiling, | ||
bool | split_next_to_fragment | ||
) |
Definition at line 540 of file chopper.cpp.
Definition at line 628 of file chopper.cpp.
void tesseract::Wordrec::set_pass1 | ( | ) |
Definition at line 89 of file tface.cpp.
void tesseract::Wordrec::set_pass2 | ( | ) |
Definition at line 101 of file tface.cpp.
void tesseract::Wordrec::try_point_pairs | ( | EDGEPT * | points[MAX_NUM_POINTS], |
inT16 | num_points, | ||
SeamQueue * | seam_queue, | ||
SeamPile * | seam_pile, | ||
SEAM ** | seam, | ||
TBLOB * | blob | ||
) |
Definition at line 296 of file findseam.cpp.
void tesseract::Wordrec::try_vertical_splits | ( | EDGEPT * | points[MAX_NUM_POINTS], |
inT16 | num_points, | ||
EDGEPT_CLIST * | new_points, | ||
SeamQueue * | seam_queue, | ||
SeamPile * | seam_pile, | ||
SEAM ** | seam, | ||
TBLOB * | blob | ||
) |
Definition at line 334 of file findseam.cpp.
|
protected |
Definition at line 194 of file segsearch.cpp.
void tesseract::Wordrec::vertical_projection_point | ( | EDGEPT * | split_point, |
EDGEPT * | target_point, | ||
EDGEPT ** | best_point, | ||
EDGEPT_CLIST * | new_points | ||
) |
Definition at line 274 of file chop.cpp.
void tesseract::Wordrec::WordSearch | ( | WERD_RES * | word_res | ) |
Definition at line 130 of file segsearch.cpp.
bool tesseract::Wordrec::assume_fixed_pitch_char_segment = FALSE |
GenericVector<int> tesseract::Wordrec::blame_reasons_ |
double tesseract::Wordrec::chop_center_knob = 0.15 |
int tesseract::Wordrec::chop_centered_maxwidth = 90 |
double tesseract::Wordrec::chop_good_split = 50.0 |
int tesseract::Wordrec::chop_inside_angle = -50 |
int tesseract::Wordrec::chop_min_outline_area = 2000 |
int tesseract::Wordrec::chop_min_outline_points = 6 |
bool tesseract::Wordrec::chop_new_seam_pile = 1 |
double tesseract::Wordrec::chop_ok_split = 100.0 |
double tesseract::Wordrec::chop_overlap_knob = 0.9 |
int tesseract::Wordrec::chop_same_distance = 2 |
int tesseract::Wordrec::chop_seam_pile_size = 150 |
double tesseract::Wordrec::chop_sharpness_knob = 0.06 |
double tesseract::Wordrec::chop_split_dist_knob = 0.5 |
int tesseract::Wordrec::chop_split_length = 10000 |
bool tesseract::Wordrec::chop_vertical_creep = 0 |
double tesseract::Wordrec::chop_width_change_knob = 5.0 |
int tesseract::Wordrec::chop_x_y_weight = 3 |
void(Wordrec::* tesseract::Wordrec::fill_lattice_) (const MATRIX &ratings, const WERD_CHOICE_LIST &best_choices, const UNICHARSET &unicharset, BlamerBundle *blamer_bundle) |
bool tesseract::Wordrec::force_word_assoc = FALSE |
bool tesseract::Wordrec::fragments_guide_chopper = FALSE |
LanguageModel* tesseract::Wordrec::language_model_ |
bool tesseract::Wordrec::merge_fragments_in_matrix = TRUE |
WERD_CHOICE* tesseract::Wordrec::prev_word_best_choice_ |
int tesseract::Wordrec::repair_unchopped_blobs = 1 |
bool tesseract::Wordrec::save_alt_choices = true |
int tesseract::Wordrec::segment_adjust_debug = 0 |
int tesseract::Wordrec::segsearch_debug_level = 0 |
double tesseract::Wordrec::segsearch_max_char_wh_ratio = 2.0 |
int tesseract::Wordrec::segsearch_max_futile_classifications = 10 |
int tesseract::Wordrec::segsearch_max_pain_points = 2000 |
double tesseract::Wordrec::tessedit_certainty_threshold = -2.25 |
bool tesseract::Wordrec::wordrec_debug_blamer = false |
int tesseract::Wordrec::wordrec_debug_level = 0 |
bool tesseract::Wordrec::wordrec_enable_assoc = TRUE |
int tesseract::Wordrec::wordrec_max_join_chunks = 4 |
bool tesseract::Wordrec::wordrec_no_block = FALSE |
bool tesseract::Wordrec::wordrec_run_blamer = false |
bool tesseract::Wordrec::wordrec_skip_no_truth_words = false |
double tesseract::Wordrec::wordrec_worst_state = 1 |