WindowClassifier.java
package ac.essex.ooechs.imaging.commons.window.classifiers;
import ac.essex.ooechs.imaging.commons.window.data.WindowImage;
import ac.essex.ooechs.imaging.commons.window.data.Window;
import ac.essex.ooechs.imaging.commons.window.util.WindowFeatures;
import ac.essex.ooechs.imaging.commons.PixelLoader;
/**
* <p/>
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version,
* provided that any use properly credits the author.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details at http://www.gnu.org
* </p>
*
* @author Olly Oechsle, University of Essex, Date: 21-Mar-2008
* @version 1.0
*/
public abstract class WindowClassifier {
public int classify(WindowImage image, Window w) throws Exception {
return classify(image.getPixelLoader(), w);
}
public int classify(PixelLoader image, Window w) throws Exception {
double[] features = WindowFeatures.getFeatures(image, w);
return (int) classify(features);
}
public abstract double classify(double[] feature);
}