/** * @name program_editdown * * This function holds any nessessary post processing for the Wise Owl * program. */ void Wordrec::program_editdown(inT32 elasped_time) { dj_cleanup(); if (tord_display_text) cprintf ("\n"); if (!wordrec_no_block && tord_write_output) fprintf (textfile, "\n"); if (tord_write_raw_output) fprintf (rawfile, "\n"); if (tord_write_output) { #ifdef __UNIX__ fsync (fileno (textfile)); #endif fclose(textfile); } if (tord_write_raw_output) { #ifdef __UNIX__ fsync (fileno (rawfile)); #endif fclose(rawfile); } close_choices(); if (tessedit_save_stats) save_summary (elasped_time); end_match_table(); getDict().InitChoiceAccum(); if (global_hash != NULL) { free_mem(global_hash); global_hash = NULL; } end_metrics(); getDict().end_permute(); }
/********************************************************************** * init_metrics * * Set up the appropriate variables to record information about the * OCR process. Later calls will log the data and save a summary. **********************************************************************/ void init_metrics() { words_chopped1 = 0; words_chopped2 = 0; chops_performed1 = 0; chops_performed2 = 0; chops_attempted1 = 0; chops_attempted2 = 0; words_segmented1 = 0; words_segmented2 = 0; states_timed_out1 = 0; states_timed_out2 = 0; segmentation_states1 = 0; segmentation_states2 = 0; save_priorities = 0; character_count = 0; word_count = 0; chars_classified = 0; permutation_count = 0; end_metrics(); states_before_best = new_tally (MIN (100, wordrec_num_seg_states)); best_certainties[0] = new_tally (CERTAINTY_BUCKETS); best_certainties[1] = new_tally (CERTAINTY_BUCKETS); reset_width_tally(); }