Tesseract 3.02

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stopper.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Filename: stopper.h
3 ** Purpose: Stopping criteria for word classifier.
4 ** Author: Dan Johnson
5 ** History: Wed May 1 09:42:57 1991, DSJ, Created.
6 **
7 ** (c) Copyright Hewlett-Packard Company, 1988.
8 ** Licensed under the Apache License, Version 2.0 (the "License");
9 ** you may not use this file except in compliance with the License.
10 ** You may obtain a copy of the License at
11 ** http://www.apache.org/licenses/LICENSE-2.0
12 ** Unless required by applicable law or agreed to in writing, software
13 ** distributed under the License is distributed on an "AS IS" BASIS,
14 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 ** See the License for the specific language governing permissions and
16 ** limitations under the License.
17 ******************************************************************************/
18 #ifndef STOPPER_H
19 #define STOPPER_H
20
25 #include "genericvector.h"
26 #include "params.h"
27 #include "ratngs.h"
28 #include "states.h"
29 #include "unichar.h"
30
31 class WERD_CHOICE;
32
33 typedef uinT8 BLOB_WIDTH;
34
35 struct DANGERR_INFO {
36 DANGERR_INFO() :
37 begin(-1), end(-1), dangerous(false), correct_is_ngram(false) {}
38 DANGERR_INFO(int b, int e, bool d, bool n) :
39 begin(b), end(e), dangerous(d), correct_is_ngram(n) {}
40 int begin;
41 int end;
42 bool dangerous;
43 bool correct_is_ngram;
44 };
45
46 typedef GenericVector<DANGERR_INFO> DANGERR;
47
48 enum ACCEPTABLE_CHOICE_CALLER { CHOPPER_CALLER, ASSOCIATOR_CALLER };
49
50 struct CHAR_CHOICE {
51 UNICHAR_ID Class;
52 uinT16 NumChunks;
53 float Certainty;
54 };
55
56 class VIABLE_CHOICE_STRUCT {
57 public:
58 VIABLE_CHOICE_STRUCT();
59 explicit VIABLE_CHOICE_STRUCT(int length);
60 ~VIABLE_CHOICE_STRUCT();
61
62 // Fill in the data with these values.
63 void Init(const WERD_CHOICE& word_choice,
64 const PIECES_STATE& pieces_state,
65 const float certainties[],
66 FLOAT32 adjust_factor);
67 void SetBlobChoices(const BLOB_CHOICE_LIST_VECTOR &src_choices);
68
69 int Length;
70 float Rating;
71 float Certainty;
72 FLOAT32 AdjustFactor;
73 bool ComposedFromCharFragments;
74 CHAR_CHOICE *Blob;
75 BLOB_CHOICE_LIST_CLIST *blob_choices;
76
77 private:
78 // Disallow assignment and copy construction
79 VIABLE_CHOICE_STRUCT(const VIABLE_CHOICE_STRUCT &other)
80 : Length(0), Blob(NULL) {}
81 VIABLE_CHOICE_STRUCT &operator=(const VIABLE_CHOICE_STRUCT &other) {
82 return *this;
83 }
84 };
85
86 typedef VIABLE_CHOICE_STRUCT *VIABLE_CHOICE;
87
88 #endif