#include "findseam.h"#include "gradechop.h"#include "seam.h"#include "ndminx.h"#include "olutil.h"#include "plotedges.h"#include "outlines.h"#include "freelist.h"Defines | |
| #define | SPLIT_CLOSENESS 20 |
| #define | MAX_NUM_SEAMS 150 |
| #define | MAX_OLD_SEAMS 150 |
| #define | NO_FULL_PRIORITY -1 |
| #define | BAD_PRIORITY 9999.0 |
| #define | add_seam_to_queue(seams, seam, priority) |
| #define | best_seam_priority(seam_queue) |
| #define | create_seam_queue(seam_queue) (seam_queue = MakeHeap (MAX_NUM_SEAMS)) |
| #define | create_seam_pile(seam_pile) (seam_pile = array_new (MAX_OLD_SEAMS)) |
| #define | delete_seam_queue(seam_queue) |
| #define | pop_next_seam(seams, seam, priority) (HeapPop (seams,&priority,&seam) == OK) \ |
| #define | seam_queue_element(seam_queue, index) |
Functions | |
| void | junk_worst_seam (SEAM_QUEUE seams, SEAM *new_seam, float new_priority) |
| void | choose_best_seam (SEAM_QUEUE seam_queue, SEAM_PILE *seam_pile, SPLIT *split, PRIORITY priority, SEAM **seam_result, TBLOB *blob) |
| void | combine_seam (SEAM_QUEUE seam_queue, SEAM_PILE seam_pile, SEAM *seam) |
| inT16 | constrained_split (SPLIT *split, TBLOB *blob) |
| void | delete_seam_pile (SEAM_PILE seam_pile) |
| SEAM * | pick_good_seam (TBLOB *blob) |
| PRIORITY | seam_priority (SEAM *seam, inT16 xmin, inT16 xmax) |
| void | try_point_pairs (EDGEPT *points[MAX_NUM_POINTS], inT16 num_points, SEAM_QUEUE seam_queue, SEAM_PILE *seam_pile, SEAM **seam, TBLOB *blob) |
| void | try_vertical_splits (EDGEPT *points[MAX_NUM_POINTS], inT16 num_points, SEAM_QUEUE seam_queue, SEAM_PILE *seam_pile, SEAM **seam, TBLOB *blob) |
| #define add_seam_to_queue | ( | seams, | |||
| seam, | |||||
| priority | ) |
if (seam)\ {\ if (HeapFull(seams))\ junk_worst_seam(seams,seam,priority);\ else\ HeapPush (seams, priority, (char*) seam);\ }
| #define BAD_PRIORITY 9999.0 |
| #define best_seam_priority | ( | seam_queue | ) |
(HeapEmpty (seam_queue) ? \ NO_FULL_PRIORITY : \ ((SEAM*) seam_queue_element(seam_queue, 0))->priority)
| #define create_seam_pile | ( | seam_pile | ) | (seam_pile = array_new (MAX_OLD_SEAMS)) |
| #define create_seam_queue | ( | seam_queue | ) | (seam_queue = MakeHeap (MAX_NUM_SEAMS)) |
| #define delete_seam_queue | ( | seam_queue | ) |
(FreeHeapData (seam_queue, delete_seam), \ seam_queue = NULL) \
| #define MAX_NUM_SEAMS 150 |
| #define MAX_OLD_SEAMS 150 |
| #define NO_FULL_PRIORITY -1 |
| #define pop_next_seam | ( | seams, | |||
| seam, | |||||
| priority | ) | (HeapPop (seams,&priority,&seam) == OK) \ |
| #define seam_queue_element | ( | seam_queue, | |||
| index | ) |
((index < SizeOfHeap (seam_queue)) ? \ HeapDataFor (seam_queue, index) : \ NULL) \
| #define SPLIT_CLOSENESS 20 |
| void choose_best_seam | ( | SEAM_QUEUE | seam_queue, | |
| SEAM_PILE * | seam_pile, | |||
| SPLIT * | split, | |||
| PRIORITY | priority, | |||
| SEAM ** | seam_result, | |||
| TBLOB * | blob | |||
| ) |
| void combine_seam | ( | SEAM_QUEUE | seam_queue, | |
| SEAM_PILE | seam_pile, | |||
| SEAM * | seam | |||
| ) |
tessedit_fix_sideways_chops ||
| void delete_seam_pile | ( | SEAM_PILE | seam_pile | ) |
| void junk_worst_seam | ( | SEAM_QUEUE | seams, | |
| SEAM * | new_seam, | |||
| float | new_priority | |||
| ) |
| void try_point_pairs | ( | EDGEPT * | points[MAX_NUM_POINTS], | |
| inT16 | num_points, | |||
| SEAM_QUEUE | seam_queue, | |||
| SEAM_PILE * | seam_pile, | |||
| SEAM ** | seam, | |||
| TBLOB * | blob | |||
| ) |
1.6.3