package handwriting.kohonen;

import handwriting.editor.*;

abstract public class SOMClassifier {
	
	abstract public int getDrawingWidth();
	
	abstract public int getDrawingHeight();
	
	abstract public SelfOrgMap getSelfOrgMap();
	
	abstract public String classify(Drawing d);
	
	abstract public boolean hasLabel(String label);
	
	public int numCorrectTests(SampleData testData) {
		int passed = 0;
		for (String label: testData.allLabels()) {
			for (int j = 0; j < testData.numDrawingsFor(label); ++j) {
				if (classify(testData.getDrawing(label, j)).equals(label)) {
					passed += 1;
				}
			}
		}
		return passed;
	}

    public static double[] inputsFor(Drawing d) {
        return null;
    }
}
