Tesseract
3.02
|
00001 /****************************************************************************** 00002 ** Filename: stopper.h 00003 ** Purpose: Stopping criteria for word classifier. 00004 ** Author: Dan Johnson 00005 ** History: Wed May 1 09:42:57 1991, DSJ, Created. 00006 ** 00007 ** (c) Copyright Hewlett-Packard Company, 1988. 00008 ** Licensed under the Apache License, Version 2.0 (the "License"); 00009 ** you may not use this file except in compliance with the License. 00010 ** You may obtain a copy of the License at 00011 ** http://www.apache.org/licenses/LICENSE-2.0 00012 ** Unless required by applicable law or agreed to in writing, software 00013 ** distributed under the License is distributed on an "AS IS" BASIS, 00014 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00015 ** See the License for the specific language governing permissions and 00016 ** limitations under the License. 00017 ******************************************************************************/ 00018 #ifndef STOPPER_H 00019 #define STOPPER_H 00020 00025 #include "genericvector.h" 00026 #include "params.h" 00027 #include "states.h" 00028 #include "unichar.h" 00029 00030 class WERD_CHOICE; 00031 00032 typedef uinT8 BLOB_WIDTH; 00033 00034 struct DANGERR_INFO { 00035 DANGERR_INFO() : 00036 begin(-1), end(-1), dangerous(false), correct_is_ngram(false) {} 00037 DANGERR_INFO(int b, int e, bool d, bool n) : 00038 begin(b), end(e), dangerous(d), correct_is_ngram(n) {} 00039 int begin; 00040 int end; 00041 bool dangerous; 00042 bool correct_is_ngram; 00043 }; 00044 00045 typedef GenericVector<DANGERR_INFO> DANGERR; 00046 00047 enum ACCEPTABLE_CHOICE_CALLER { CHOPPER_CALLER, ASSOCIATOR_CALLER }; 00048 00049 struct CHAR_CHOICE { 00050 UNICHAR_ID Class; 00051 uinT16 NumChunks; 00052 float Certainty; 00053 }; 00054 00055 class VIABLE_CHOICE_STRUCT { 00056 public: 00057 VIABLE_CHOICE_STRUCT(); 00058 explicit VIABLE_CHOICE_STRUCT(int length); 00059 ~VIABLE_CHOICE_STRUCT(); 00060 00061 // Fill in the data with these values. 00062 void Init(const WERD_CHOICE& word_choice, 00063 const PIECES_STATE& pieces_state, 00064 const float certainties[], 00065 FLOAT32 adjust_factor); 00066 00067 int Length; 00068 float Rating; 00069 float Certainty; 00070 FLOAT32 AdjustFactor; 00071 bool ComposedFromCharFragments; 00072 CHAR_CHOICE *Blob; 00073 00074 private: 00075 // Disallow assignment and copy construction 00076 VIABLE_CHOICE_STRUCT(const VIABLE_CHOICE_STRUCT &other) 00077 : Length(0), Blob(NULL) {} 00078 VIABLE_CHOICE_STRUCT &operator=(const VIABLE_CHOICE_STRUCT &other) { 00079 return *this; 00080 } 00081 }; 00082 00083 typedef VIABLE_CHOICE_STRUCT *VIABLE_CHOICE; 00084 00085 #endif