1*80ee5cbfSDavid du Colombier /* 2*80ee5cbfSDavid du Colombier * li_recognizer_internal.h 3*80ee5cbfSDavid du Colombier * 4*80ee5cbfSDavid du Colombier * Adapted from cmu_recognizer_internal.h. 5*80ee5cbfSDavid du Colombier * Credit to Dean Rubine, Jim Kempf, and Ari Rapkin. 6*80ee5cbfSDavid du Colombier */ 7*80ee5cbfSDavid du Colombier 8*80ee5cbfSDavid du Colombier #define MAXSCLASSES 100 9*80ee5cbfSDavid du Colombier 10*80ee5cbfSDavid du Colombier typedef struct PointList { 11*80ee5cbfSDavid du Colombier Stroke; 12*80ee5cbfSDavid du Colombier int xrange, yrange; 13*80ee5cbfSDavid du Colombier struct PointList* next; 14*80ee5cbfSDavid du Colombier } point_list; 15*80ee5cbfSDavid du Colombier 16*80ee5cbfSDavid du Colombier typedef struct { 17*80ee5cbfSDavid du Colombier char* file_name; /*The classifier file name.*/ 18*80ee5cbfSDavid du Colombier int nclasses; /*Number of symbols in class */ 19*80ee5cbfSDavid du Colombier point_list* ex[MAXSCLASSES]; /*The training examples.*/ 20*80ee5cbfSDavid du Colombier char* cnames[MAXSCLASSES]; /*The class names.*/ 21*80ee5cbfSDavid du Colombier point_list* canonex[MAXSCLASSES]; /*Canonicalized vrsions of strokes */ 22*80ee5cbfSDavid du Colombier point_list* dompts[MAXSCLASSES]; /*Dominant points */ 23*80ee5cbfSDavid du Colombier } rClassifier; 24*80ee5cbfSDavid du Colombier 25*80ee5cbfSDavid du Colombier 26*80ee5cbfSDavid du Colombier /*This structure contains extra fields for instance-specific data.*/ 27*80ee5cbfSDavid du Colombier 28*80ee5cbfSDavid du Colombier typedef struct { 29*80ee5cbfSDavid du Colombier /*Instance-specific data.*/ 30*80ee5cbfSDavid du Colombier uint li_magic; /*Just to make sure nobody's cheating.*/ 31*80ee5cbfSDavid du Colombier rClassifier li_rc; /*The character classifier.*/ 32*80ee5cbfSDavid du Colombier } li_recognizer; 33*80ee5cbfSDavid du Colombier 34*80ee5cbfSDavid du Colombier 35*80ee5cbfSDavid du Colombier /*Name of the default classifier file.*/ 36*80ee5cbfSDavid du Colombier #define LI_DEFAULT_CLASSIFIER_FILE "default.cl" 37*80ee5cbfSDavid du Colombier 38*80ee5cbfSDavid du Colombier /*Classifier file extension.*/ 39*80ee5cbfSDavid du Colombier #define LI_CLASSIFIER_EXTENSION ".cl" 40*80ee5cbfSDavid du Colombier 41*80ee5cbfSDavid du Colombier /*Locale supported by recognizer.*/ 42*80ee5cbfSDavid du Colombier #define LI_SUPPORTED_LOCALE REC_DEFAULT_LOCALE 43