tesseract-doxygen/wordrec/findseam.cpp File Reference

#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)
SEAMpick_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 Documentation

#define add_seam_to_queue ( seams,
seam,
priority   ) 
Value:
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   ) 
Value:
(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   ) 
Value:
(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   ) 
Value:
((index < SizeOfHeap (seam_queue)) ?        \
        HeapDataFor (seam_queue, index)   :        \
        NULL)                                      \
#define SPLIT_CLOSENESS   20

Function Documentation

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 ||

inT16 constrained_split ( SPLIT split,
TBLOB blob 
)
void delete_seam_pile ( SEAM_PILE  seam_pile  ) 
void junk_worst_seam ( SEAM_QUEUE  seams,
SEAM new_seam,
float  new_priority 
)
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 
)
Generated on Sun Jul 18 17:10:52 2010 for Tesseract by  doxygen 1.6.3