package cz.cuni.lf1.lge.ThunderSTORM.rendering;
import cz.cuni.lf1.lge.ThunderSTORM.IModule;
import cz.cuni.lf1.lge.ThunderSTORM.estimators.PSF.Molecule;
import ij.ImagePlus;
import java.util.List;
/**
* Incremental SMLM rendering. Image can be slowly built as new molecule
* locations are supplied.
*/
public interface IncrementalRenderingMethod extends IModule {
/**
* Draws the specified molecules into the image.
*
* @param x x coordinates of localized molecules
* @param y y coordinates of localized molecules
* @param z z coordinates of localized molecules. When null, 0 is used instead.
* @param dx localization XY uncertainty - for each molecule (not used in all implementations). When null default value is used instead.
* @param dz localization Z uncertainty - for each molecule (not used in all implementations). When null default value is used instead.
*/
public void addToImage(double[] x, double[] y, double[] z, double[] dx, double[] dz);
/**
* Draws the specified molecules into the image.
*
* @param fits information about localized molecules
*/
public void addToImage(List<Molecule> fits);
/**
* Returns the image to which points are rendered. Subsequent calls to
* addToImage or reset will alter the returned ImageProcessor.
*
* @return
*/
public ImagePlus getRenderedImage();
/**
* Returns the name of the renderer.
*
* @return
*/
public abstract String getRendererName();
/**
* Sets the whole image to zeros. Makes the image returned by getRenderedImage
* displayable by ImagePlus#show() even if it was previously closed.
*/
public void reset();
}