20 #ifndef TESSERACT_CCUTIL_TESSDATAMANAGER_H_ 21 #define TESSERACT_CCUTIL_TESSDATAMANAGER_H_ 30 static const char kTrainedDataSuffix[] =
"traineddata";
34 static const char kLangConfigFileSuffix[] =
"config";
35 static const char kUnicharsetFileSuffix[] =
"unicharset";
36 static const char kAmbigsFileSuffix[] =
"unicharambigs";
37 static const char kBuiltInTemplatesFileSuffix[] =
"inttemp";
38 static const char kBuiltInCutoffsFileSuffix[] =
"pffmtable";
39 static const char kNormProtoFileSuffix[] =
"normproto";
40 static const char kPuncDawgFileSuffix[] =
"punc-dawg";
41 static const char kSystemDawgFileSuffix[] =
"word-dawg";
42 static const char kNumberDawgFileSuffix[] =
"number-dawg";
43 static const char kFreqDawgFileSuffix[] =
"freq-dawg";
44 static const char kFixedLengthDawgsFileSuffix[] =
"fixed-length-dawgs";
45 static const char kCubeUnicharsetFileSuffix[] =
"cube-unicharset";
46 static const char kCubeSystemDawgFileSuffix[] =
"cube-word-dawg";
47 static const char kShapeTableFileSuffix[] =
"shapetable";
48 static const char kBigramDawgFileSuffix[] =
"bigram-dawg";
49 static const char kUnambigDawgFileSuffix[] =
"unambig-dawg";
50 static const char kParamsModelFileSuffix[] =
"params-model";
51 static const char kLSTMModelFileSuffix[] =
"lstm";
52 static const char kLSTMPuncDawgFileSuffix[] =
"lstm-punc-dawg";
53 static const char kLSTMSystemDawgFileSuffix[] =
"lstm-word-dawg";
54 static const char kLSTMNumberDawgFileSuffix[] =
"lstm-number-dawg";
55 static const char kLSTMUnicharsetFileSuffix[] =
"lstm-unicharset";
56 static const char kLSTMRecoderFileSuffix[] =
"lstm-recoder";
57 static const char kVersionFileSuffix[] =
"version";
94 static const char *
const kTessdataFileSuffixes[] = {
95 kLangConfigFileSuffix,
96 kUnicharsetFileSuffix,
98 kBuiltInTemplatesFileSuffix,
99 kBuiltInCutoffsFileSuffix,
100 kNormProtoFileSuffix,
102 kSystemDawgFileSuffix,
103 kNumberDawgFileSuffix,
105 kFixedLengthDawgsFileSuffix,
106 kCubeUnicharsetFileSuffix,
107 kCubeSystemDawgFileSuffix,
108 kShapeTableFileSuffix,
109 kBigramDawgFileSuffix,
110 kUnambigDawgFileSuffix,
111 kParamsModelFileSuffix,
112 kLSTMModelFileSuffix,
113 kLSTMPuncDawgFileSuffix,
114 kLSTMSystemDawgFileSuffix,
115 kLSTMNumberDawgFileSuffix,
116 kLSTMUnicharsetFileSuffix,
117 kLSTMRecoderFileSuffix,
128 static const int kMaxNumTessdataEntries = 1000;
137 : reader_(reader), is_loaded_(false), swap_(false) {
142 bool swap()
const {
return swap_; }
152 bool Init(
const char *data_file_name);
155 bool LoadMemBuffer(
const char *name,
const char *data,
int size);
171 return !entries_[type].
empty();
203 const char *output_filename);
211 char **component_filenames,
212 int num_new_components);
257 #endif // TESSERACT_CCUTIL_TESSDATAMANAGER_H_ static bool TessdataTypeFromFileName(const char *filename, TessdataType *type)
static bool TessdataTypeFromFileSuffix(const char *suffix, TessdataType *type)
bool SaveFile(const STRING &filename, FileWriter writer) const
bool ExtractToFile(const char *filename)
bool IsLSTMAvailable() const
bool IsComponentAvailable(TessdataType type) const
bool GetComponent(TessdataType type, TFile *fp)
bool(* FileWriter)(const GenericVector< char > &data, const STRING &filename)
string VersionString() const
TessdataManager(FileReader reader)
bool CombineDataFiles(const char *language_data_path_prefix, const char *output_filename)
bool LoadMemBuffer(const char *name, const char *data, int size)
void LoadFileLater(const char *data_file_name)
void Serialize(GenericVector< char > *data) const
bool OverwriteComponents(const char *new_traineddata_filename, char **component_filenames, int num_new_components)
void OverwriteEntry(TessdataType type, const char *data, int size)
const STRING & GetDataFileName() const
bool Init(const char *data_file_name)
bool(* FileReader)(const STRING &filename, GenericVector< char > *data)
#define TESSERACT_VERSION_STR
bool IsBaseAvailable() const
void SetVersionString(const string &v_str)