All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
tesseract::CubeTessClassifier Class Reference

#include <cubeclassifier.h>

Inheritance diagram for tesseract::CubeTessClassifier:
tesseract::ShapeClassifier

Public Member Functions

 CubeTessClassifier (Tesseract *tesseract)
 
virtual ~CubeTessClassifier ()
 
virtual int UnicharClassifySample (const TrainingSample &sample, Pix *page_pix, int debug, UNICHAR_ID keep_this, GenericVector< UnicharRating > *results)
 
virtual const ShapeTableGetShapeTable () const
 
- Public Member Functions inherited from tesseract::ShapeClassifier
virtual ~ShapeClassifier ()
 
virtual int BestShapeForUnichar (const TrainingSample &sample, Pix *page_pix, UNICHAR_ID unichar_id, ShapeRating *result)
 
virtual const UNICHARSETGetUnicharset () const
 
virtual void DebugDisplay (const TrainingSample &sample, Pix *page_pix, UNICHAR_ID unichar_id)
 
virtual int DisplayClassifyAs (const TrainingSample &sample, Pix *page_pix, UNICHAR_ID unichar_id, int index, PointerVector< ScrollView > *windows)
 
virtual void UnicharPrintResults (const char *context, const GenericVector< UnicharRating > &results) const
 
virtual void PrintResults (const char *context, const GenericVector< ShapeRating > &results) const
 

Additional Inherited Members

- Protected Member Functions inherited from tesseract::ShapeClassifier
virtual int ClassifySample (const TrainingSample &sample, Pix *page_pix, int debug, UNICHAR_ID keep_this, GenericVector< ShapeRating > *results)
 
void FilterDuplicateUnichars (GenericVector< ShapeRating > *results) const
 

Detailed Description

Definition at line 58 of file cubeclassifier.h.

Constructor & Destructor Documentation

tesseract::CubeTessClassifier::CubeTessClassifier ( tesseract::Tesseract tesseract)
explicit

Definition at line 78 of file cubeclassifier.cpp.

79  : cube_cntxt_(tesseract->GetCubeRecoContext()),
80  shape_table_(*tesseract->shape_table()),
81  pruner_(new TessClassifier(true, tesseract)) {
82 }
const ShapeTable * shape_table() const
Definition: classify.h:69
CubeRecoContext * GetCubeRecoContext()
tesseract::CubeTessClassifier::~CubeTessClassifier ( )
virtual

Definition at line 83 of file cubeclassifier.cpp.

83  {
84  delete pruner_;
85 }

Member Function Documentation

const ShapeTable * tesseract::CubeTessClassifier::GetShapeTable ( ) const
virtual

Provides access to the ShapeTable that this classifier works with.

Implements tesseract::ShapeClassifier.

Definition at line 127 of file cubeclassifier.cpp.

127  {
128  return &shape_table_;
129 }
int tesseract::CubeTessClassifier::UnicharClassifySample ( const TrainingSample sample,
Pix *  page_pix,
int  debug,
UNICHAR_ID  keep_this,
GenericVector< UnicharRating > *  results 
)
virtual

Classifies the given [training] sample, writing to results. See ShapeClassifier for a full description.

Reimplemented from tesseract::ShapeClassifier.

Definition at line 89 of file cubeclassifier.cpp.

91  {
92  int num_results = pruner_->UnicharClassifySample(sample, page_pix, debug,
93  keep_this, results);
94  if (page_pix == NULL) return num_results;
95 
96  ASSERT_HOST(cube_cntxt_ != NULL);
97  const TBOX& char_box = sample.bounding_box();
98  CubeObject* cube_obj = new tesseract::CubeObject(
99  cube_cntxt_, page_pix, char_box.left(),
100  pixGetHeight(page_pix) - char_box.top(),
101  char_box.width(), char_box.height());
102  CharAltList* alt_list = cube_obj->RecognizeChar();
103  CharSet* char_set = cube_cntxt_->CharacterSet();
104  if (alt_list != NULL) {
105  for (int r = 0; r < num_results; ++r) {
106  // Get the best cube probability of the unichar in the result.
107  double best_prob = 0.0;
108  for (int i = 0; i < alt_list->AltCount(); ++i) {
109  int alt_id = alt_list->Alt(i);
110  int unichar_id = char_set->UnicharID(char_set->ClassString(alt_id));
111  if (unichar_id == (*results)[r].unichar_id &&
112  alt_list->AltProb(i) > best_prob) {
113  best_prob = alt_list->AltProb(i);
114  }
115  }
116  (*results)[r].rating = best_prob;
117  }
118  delete alt_list;
119  // Re-sort by rating.
121  }
122  delete cube_obj;
123  return results->size();
124 }
int size() const
Definition: genericvector.h:72
virtual int UnicharClassifySample(const TrainingSample &sample, Pix *page_pix, int debug, UNICHAR_ID keep_this, GenericVector< UnicharRating > *results)
#define ASSERT_HOST(x)
Definition: errcode.h:84
inT16 left() const
Definition: rect.h:68
static int SortDescendingRating(const void *t1, const void *t2)
Definition: shapetable.h:56
int UnicharID(const char_32 *str) const
Definition: char_set.h:80
CharAltList * RecognizeChar()
inT16 height() const
Definition: rect.h:104
inT16 width() const
Definition: rect.h:111
CharSet * CharacterSet() const
Definition: cluster.h:32
Definition: rect.h:30
#define NULL
Definition: host.h:144
inT16 top() const
Definition: rect.h:54

The documentation for this class was generated from the following files: