20 #ifndef TESSERACT_TEXTORD_COLFIND_H_    21 #define TESSERACT_TEXTORD_COLFIND_H_    43 class ColPartitionSet;
    44 class ColPartitionSet_LIST;
    45 class ColSegment_LIST;
    46 class ColumnGroup_LIST;
    49 class TempColumn_LIST;
    50 class EquationDetectBase;
    65                int resolution, 
bool cjk_script, 
double aligned_gap_fraction,
    66                TabVector_LIST* vlines, TabVector_LIST* hlines,
    67                int vertical_x, 
int vertical_y);
   126                                TO_BLOCK* block, BLOBNBOX_CLIST* osd_blobs);
   140                           int recognition_rotation);
   166                  TO_BLOCK* block, Pix* photo_mask_pix, Pix* thresholds_pix,
   167                  Pix* grey_pix, 
DebugPixa* pixa_debug, BLOCK_LIST* blocks,
   168                  BLOBNBOX_LIST* diacritic_blobs, TO_BLOCK_LIST* to_blocks);
   178   void DisplayBlocks(BLOCK_LIST* blocks);
   187   bool MakeColumns(
bool single_column);
   195   void PrintColumnCandidates(
const char* title);
   202   bool BiggestUnassignedRange(
int set_count, 
const bool* any_columns_possible,
   203                               int* start, 
int* end);
   205   int RangeModalColumnSet(
int** column_set_costs, 
const int* assigned_costs,
   211   void ShrinkRangeToLongestRun(
int** column_set_costs,
   212                                const int* assigned_costs,
   213                                const bool* any_columns_possible,
   215                                int* best_start, 
int* best_end);
   219   void ExtendRangePastSmallGaps(
int** column_set_costs,
   220                                 const int* assigned_costs,
   221                                 const bool* any_columns_possible,
   223                                 int step, 
int end, 
int* start);
   225   void AssignColumnToRange(
int column_set_id, 
int start, 
int end,
   226                            int** column_set_costs, 
int* assigned_costs);
   229   void ComputeMeanColumnGap(
bool any_multi_column);
   237   void ReleaseBlobsAndCleanupUnused(
TO_BLOCK* block);
   239   void GridSplitPartitions();
   242   void GridMergePartitions();
   245   void InsertRemainingNoise(
TO_BLOCK* block);
   248   void GridRemoveUnderlinePartitions();
   250   void GridInsertHLinePartitions();
   252   void GridInsertVLinePartitions();
   255   void SetPartitionTypes();
   258   void SmoothPartnerRuns();
   264   void AddToTempPartList(
ColPartition* part, ColPartition_CLIST* temp_list);
   266   void EmptyTempPartList(ColPartition_CLIST* temp_list,
   267                          WorkingPartSet_LIST* work_set);
   270   void TransformToBlocks(BLOCK_LIST* blocks, TO_BLOCK_LIST* to_blocks);
   278   void ReflectForRtl(
TO_BLOCK* input_block, BLOBNBOX_LIST* bblobs);
   292   void RotateAndReskewBlocks(
bool input_is_rtl, TO_BLOCK_LIST* to_blocks);
   299   FCOORD ComputeBlockAndClassifyRotation(
BLOCK* block);
   307   int min_gutter_width_;
   309   int mean_column_gap_;
   312   double tabfind_aligned_gap_fraction_;
   336   ColPartition_LIST good_parts_;
   339   ColPartition_LIST big_parts_;
   341   ColPartition_LIST noise_parts_;
   343   BLOBNBOX_LIST image_bblobs_;
   345   TabVector_LIST horizontal_lines_;
   369 #endif  // TESSERACT_TEXTORD_COLFIND_H_ 
const DENORM * denorm() const
 
bool textord_tabfind_find_tables
 
void SetEquationDetect(EquationDetectBase *detect)
 
const ICOORD & bleft() const
 
void set_cjk_script(bool is_cjk)
 
bool IsVerticallyAlignedText(double find_vertical_text_ratio, TO_BLOCK *block, BLOBNBOX_CLIST *osd_blobs)
 
void GetDeskewVectors(FCOORD *deskew, FCOORD *reskew)
 
void SetupAndFilterNoise(PageSegMode pageseg_mode, Pix *photo_mask_pix, TO_BLOCK *input_block)
 
const ICOORD & tright() const
 
const TextlineProjection * projection() const
 
ColumnFinder(int gridsize, const ICOORD &bleft, const ICOORD &tright, int resolution, bool cjk_script, double aligned_gap_fraction, TabVector_LIST *vlines, TabVector_LIST *hlines, int vertical_x, int vertical_y)
 
void CorrectOrientation(TO_BLOCK *block, bool vertical_text_lines, int recognition_rotation)
 
#define BOOL_VAR_H(name, val, comment)
 
int FindBlocks(PageSegMode pageseg_mode, Pix *scaled_color, int scaled_factor, TO_BLOCK *block, Pix *photo_mask_pix, Pix *thresholds_pix, Pix *grey_pix, DebugPixa *pixa_debug, BLOCK_LIST *blocks, BLOBNBOX_LIST *diacritic_blobs, TO_BLOCK_LIST *to_blocks)