/* * Copyright (C) 2010-2014 - Andreas Maier * CONRAD is developed as an Open Source project under the GNU General Public License (GPL). */ package edu.stanford.rsl.apps.gui.roi; import java.io.IOException; import java.util.ArrayList; import edu.stanford.rsl.apps.gui.GUIConfigurable; import edu.stanford.rsl.conrad.utils.CONRAD; import ij.ImagePlus; import ij.gui.Roi; public abstract class EvaluateROI implements GUIConfigurable { protected ImagePlus image = null; protected boolean configured = false; protected Roi roi = null; protected boolean debug = false; public ImagePlus getImage() { return image; } public void setImage(ImagePlus image) { this.image = image; } public EvaluateROI(){ } public static EvaluateROI [] knownMethods(){ ArrayList<Object> list = null; try { list = CONRAD.getInstancesFromConrad(EvaluateROI.class); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } EvaluateROI [] known = new EvaluateROI [list.size()]; list.toArray(known); return known; } public boolean isConfigured() { return configured; } public abstract Object evaluate(); public abstract String toString(); public Roi getRoi() { return roi; } public void setRoi(Roi roi) { this.roi = roi; } public void setConfigured(boolean configured) { this.configured = configured; } }