All Downloads are FREE. Search and download functionalities are using the official Maven repository.

marvin.plugin.MarvinImagePlugin Maven / Gradle / Ivy

The newest version!
/**
Marvin Project <2007-2013>
http://www.marvinproject.org

License information:
http://marvinproject.sourceforge.net/en/license.html

Discussion group:
https://groups.google.com/forum/#!forum/marvin-project
*/

package marvin.plugin;

import java.util.List;

import marvin.gui.MarvinAttributesPanel;
import marvin.gui.MarvinImagePanel;
import marvin.image.MarvinImage;
import marvin.image.MarvinImageMask;
import marvin.util.MarvinAttributes;

public interface MarvinImagePlugin extends MarvinPlugin
{	
	/**
	 * Shows a graphical interface 
	 */
	public MarvinAttributesPanel getAttributesPanel();
	
	/**
	 * Executes the algorithm.
	 * @param imgIn				input image.
	 * @param imgOut			output image.
	 * @param attrOut			output attributes.
	 * @param mask				mask containing what pixels should be considered.
	 * @param previewMode		it is or isn�t on preview mode.
	 */
	public void process
	(
		MarvinImage imgIn, 
		MarvinImage imgOut, 
		MarvinAttributes attrOut, 
		MarvinImageMask mask, 
		boolean previewMode
	);
	
	/**
	 * Executes the algorithm.
	 * @param imgIn				input image.
	 * @param imgOut			output image.
	 * @param attrOut			output attributes.
	 */
	public void process
	(
		MarvinImage imgIn, 
		MarvinImage imgOut, 
		MarvinImageMask mask
	);
	
	public void process
	(
		MarvinImage imgIn, 
		MarvinImage imgOut, 
		MarvinAttributes attrOut
	);
	
	/**
	 * Executes the algorithm.
	 * @param imgIn				input image.
	 * @param imgOut			output image.
	 */
	public void process
	(
		MarvinImage imgIn, 
		MarvinImage imgOut
	);
	
	/**
	 * Interface for algorithms that use multiple images as input.
	 */
	public void process
	(
		List imagesIn,
		MarvinImage imageOut
	);
	
	
	/**
	 * Associates the plug-in with an MarvinImagePanel
	 * @param imgPanel	reference to a MarvinImagePanel object
	 */
	public void setImagePanel(MarvinImagePanel imgPanel);
	
	/**
	 * @return a reference to the associated MarvinImagePanel. If no one MarvinImagePanel is associated with this plug-in,
	 * this method returns null.
	 */
	public MarvinImagePanel getImagePanel();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy