CroppingStrategy.java

package ac.essex.ooechs.imaging.commons.apps.training.strategies; 
 
import ac.essex.ooechs.imaging.commons.Pixel; 
import ac.essex.ooechs.imaging.commons.util.Region; 
 
import java.util.Vector; 
 
/** 
 * Defines the way in which a crop may be constructed from a number of nodes 
 * positioned on an image. The training data GUI allows a graphical interface 
 * by which these nodes may be positioned, and then this strategy is used to 
 * create a Rectangle cropping region. 
 * 
 * @author Olly Oechsle, University of Essex, Date: 17-Oct-2006 
 * @version 1.0 
 */ 
public interface CroppingStrategy { 
 
    public String getName(); 
 
    public String getDescription(); 
 
    public int countNodes(); 
 
    public double getAspectRatio(); 
 
    public Region getCropRegion(Vector<Pixel> nodes) throws StrategyException; 
 
}