package ie.dcu.segment.painters; import ie.dcu.segment.SegmentationContext; import ie.dcu.swt.ObservableImage; import org.eclipse.swt.graphics.*; /** * Interface for classes that can be used to visualize an image and it's * segmentation mask. * * * @author Kevin McGuinness */ public interface SegmentationPainter { /** * Returns the painter name (Shown in the UI) */ public String getName(); /** * Returns a description of the painter. */ public ImageData getMaskData(SegmentationContext ctx); /** * Returns a masked imageData. */ public String getDescription(); /** * Paint the segmentation context onto the observable image * * @param ctx * The current segmentation context. * @param im * An observable image instance. */ public void paint(SegmentationContext ctx, ObservableImage im); /** * Dispose of any resources (SWT image objects, colors, etc.) */ public void dispose(); }