29 #define PLUS '+' //flag states 35 return &global_params;
47 }
else if (*file ==
MINUS) {
54 if (!fp.
Open(file + nameoffset,
nullptr)) {
55 tprintf(
"read_params_file: Can't open %s\n", file + nameoffset);
69 if (line[0] !=
'\r' && line[0] !=
'\n' && line[0] !=
'#') {
71 for (valptr = line; *valptr && *valptr !=
' ' && *valptr !=
'\t';
77 while (*valptr ==
' ' || *valptr ==
'\t');
79 foundit =
SetParam(line, valptr, constraint, member_params);
83 tprintf(
"read_params_file: parameter not found: %s\n", line);
98 if (*value ==
'\0')
return (sp != NULL);
105 sscanf(value,
"%d", &intval) == 1) ip->
set_value(intval);
111 if (*value ==
'T' || *value ==
't' ||
112 *value ==
'Y' || *value ==
'y' || *value ==
'1') {
114 }
else if (*value ==
'F' || *value ==
'f' ||
115 *value ==
'N' || *value ==
'n' || *value ==
'0') {
128 if (sscanf(value,
"%lf", &doubleval) == 1)
132 return (sp || ip || bp || dp);
150 snprintf(buf,
sizeof(buf),
"%d",
inT32(*ip));
158 *value =
BOOL8(*bp) ?
"1":
"0";
166 snprintf(buf,
sizeof(buf),
"%g",
double(*dp));
175 int num_iterations = (member_params == NULL) ? 1 : 2;
176 for (v = 0; v < num_iterations; ++
v) {
178 for (i = 0; i < vec->
int_params.size(); ++i) {
179 fprintf(fp,
"%s\t%d\t%s\n", vec->
int_params[i]->name_str(),
183 fprintf(fp,
"%s\t%d\t%s\n", vec->
bool_params[i]->name_str(),
187 fprintf(fp,
"%s\t%s\t%s\n", vec->
string_params[i]->name_str(),
191 fprintf(fp,
"%s\t%g\t%s\n", vec->
double_params[i]->name_str(),
200 int num_iterations = (member_params == NULL) ? 1 : 2;
201 for (v = 0; v < num_iterations; ++
v) {
203 for (i = 0; i < vec->
int_params.size(); ++i) {
GenericVector< StringParam * > string_params
static bool ReadParamsFromFp(SetParamConstraint constraint, TFile *fp, ParamsVectors *member_params)
void set_value(const STRING &value)
bool constraint_ok(SetParamConstraint constraint) const
static bool GetParamAsString(const char *name, const ParamsVectors *member_params, STRING *value)
void chomp_string(char *str)
static bool ReadParamsFile(const char *file, SetParamConstraint constraint, ParamsVectors *member_params)
tesseract::ParamsVectors * GlobalParams()
static bool SetParam(const char *name, const char *value, SetParamConstraint constraint, ParamsVectors *member_params)
void set_value(BOOL8 value)
GenericVector< IntParam * > int_params
static void ResetToDefaults(ParamsVectors *member_params)
void set_value(inT32 value)
bool Open(const STRING &filename, FileReader reader)
GenericVector< DoubleParam * > double_params
const char * string() const
char * FGets(char *buffer, int buffer_size)
void set_value(double value)
static void PrintParams(FILE *fp, const ParamsVectors *member_params)
double strtofloat(const char *s)
GenericVector< BoolParam * > bool_params