99 static ScrollView *terminator =
nullptr;
100 if (terminator ==
nullptr) {
101 terminator =
new ScrollView(
"XIT", 0, 0, 50, 50, 50, 50,
true);
105 auto *popup_menu =
new SVMenuNode();
106 popup_menu->AddChild(
"Choose class to debug", 0,
"x",
"Class to debug");
107 popup_menu->BuildMenu(debug_win,
false);
109 const INT_FEATURE_STRUCT *features = sample.features();
110 uint32_t num_features = sample.num_features();
111 for (uint32_t f = 0; f < num_features; ++f) {
115 std::vector<UnicharRating> results;
121 std::vector<ScrollView *> windows;
122 if (unichar_id >= 0) {
123 tprintf(
"Debugging class %d = %s\n", unichar_id, unicharset.id_to_unichar(unichar_id));
127 tprintf(
"Invalid unichar_id: %d\n", unichar_id);
130 if (unichar_id >= 0) {
131 tprintf(
"Debugged class %d = %s\n", unichar_id, unicharset.id_to_unichar(unichar_id));
133 tprintf(
"Right-click in ClassifierDebug window to choose debug class,");
134 tprintf(
" Left-click or close window to quit...\n");
137 old_unichar_id = unichar_id;
138 ev = debug_win->AwaitEvent(
SVET_ANY);
141 if (unicharset.contains_unichar(ev->parameter)) {
142 unichar_id = unicharset.unichar_to_id(ev->parameter);
144 tprintf(
"Char class '%s' not found in unicharset", ev->parameter);
149 for (
auto window : windows) {
void tprintf(const char *format,...)
ScrollView * CreateFeatureSpaceWindow(const char *name, int xpos, int ypos)
void RenderIntFeature(ScrollView *window, const INT_FEATURE_STRUCT *Feature, ScrollView::Color color)
virtual int UnicharClassifySample(const TrainingSample &sample, Image page_pix, int debug, UNICHAR_ID keep_this, std::vector< UnicharRating > *results)
virtual const UNICHARSET & GetUnicharset() const
virtual int DisplayClassifyAs(const TrainingSample &sample, Image page_pix, UNICHAR_ID unichar_id, int index, std::vector< ScrollView * > &windows)