00001
00020 #ifndef APPLYBOX_H
00021 #define APPLYBOX_H
00022
00023 #include "varable.h"
00024 #include "ocrblock.h"
00025 #include "ocrrow.h"
00026 #include "notdll.h"
00027
00030 extern BOOL_VAR_H (applybox_rebalance, TRUE, "Drop dead");
00031 extern INT_VAR_H (applybox_debug, 0, "Debug level");
00032 extern STRING_VAR_H (applybox_test_exclusions, "|",
00033 "Chars ignored for testing");
00034 extern double_VAR_H (applybox_error_band, 0.15, "Err band as fract of xht");
00037 void apply_boxes(
00038 BLOCK_LIST *block_list
00039 );
00040 void clear_any_old_text(
00041 BLOCK_LIST *block_list
00042 );
00043 BOOL8 read_next_box(FILE* box_file,
00044 BOX *box,
00045 char *ch);
00046 ROW *find_row_of_box(
00047 BLOCK_LIST *block_list,
00048 BOX box,
00049 INT16 &block_id,
00050 INT16 &row_id_to_process);
00051 INT16 resegment_box(
00052 ROW *row,
00053 BOX box,
00054 char *ch,
00055 INT16 block_id,
00056 INT16 row_id,
00057 INT16 boxfile_lineno,
00058 INT16 boxfile_charno);
00059 void tidy_up(
00060 BLOCK_LIST *block_list,
00061 INT16 &ok_char_count,
00062 INT16 &ok_row_count,
00063 INT16 &unlabelled_words,
00064 INT16 *tgt_char_counts,
00065 INT16 &rebalance_count,
00066 char &min_char,
00067 INT16 &min_samples,
00068 INT16 &final_labelled_blob_count);
00069 void report_failed_box(INT16 boxfile_lineno,
00070 INT16 boxfile_charno,
00071 BOX box,
00072 char *box_ch,
00073 const char *err_msg);
00074 void apply_box_training(BLOCK_LIST *block_list);
00075 void apply_box_testing(BLOCK_LIST *block_list);
00076 #endif