.. java:import:: ch.epfl.leb.alica.interfaces.analyzers AnalyzerStatusPanel .. java:import:: ij.gui Roi Analyzer ======== .. java:package:: ch.epfl.leb.alica.interfaces :noindex: .. java:type:: public interface Analyzer Processes an image or series of images. Analyzers compute quantities from an image or series of images that are relevant for real-time control. These quantities can include, for example, the number of fluorescent molecules or the resolution. :author: Marcel Stefko Methods ------- dispose ^^^^^^^ .. java:method:: public void dispose() :outertype: Analyzer Close all windows that were opened and are owned by this analyzer. getBatchOutput ^^^^^^^^^^^^^^ .. java:method:: public double getBatchOutput() :outertype: Analyzer Returns the output of the analyzer for Controller input. If no output can be provided (such as when there are no new analyzed images), Double.NaN should be returned. This method can also modify the internal state of the analyzer (such as flushing the intermittent value cache). :return: The analyzer's current output value for use by the controller **See also:** :java:ref:`ch.epfl.leb.alica.interfaces.Controller` getIntermittentOutput ^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public double getIntermittentOutput() :outertype: Analyzer Returns the intermittent output of the analyzer. This is used to read the current output of the analyzer; its internal state is unchanged. \ :java:ref:`getBatchOutput `\ () should be used to obtain output that will be passed to the controller. :return: The analyzer's current output value. getName ^^^^^^^ .. java:method:: public String getName() :outertype: Analyzer Returns a unique name for the analyzer. :return: The analyzer's name. getShortReturnDescription ^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public String getShortReturnDescription() :outertype: Analyzer Returns a short description of the values returned by the analyzer. :return: A short description of the values returned by the analyzer. getStatusPanel ^^^^^^^^^^^^^^ .. java:method:: public AnalyzerStatusPanel getStatusPanel() :outertype: Analyzer Returns the analyzer's status panel that will be displayed in the GUI. If no panel is implemented, this method should return null. In this case, the corresponding space in the MonitorGUI will appear blank. :return: The status panel of the analyzer, or null. processImage ^^^^^^^^^^^^ .. java:method:: public void processImage(Object image, int image_width, int image_height, double pixel_size_um, long time_ms) :outertype: Analyzer Processes an image and adjust the analyzer's internal state to reflect the results of the calculation. This method is called after each new image acquisition by the AnalysisWorker. You can use the synchronized(this) statement within the body of an implementation of an Analyzer to ensure that no output readout happens during code execution. When implementing new Analyzers, try to keep the computation time as short as possible. :param image: The image to be processed as 1D raw pixel data. :param image_width: Image width in pixels. :param image_height: Image height in pixels. :param pixel_size_um: Length of a side of a square pixel in micrometers. :param time_ms: Image acquisition time in milliseconds. setROI ^^^^^^ .. java:method:: public void setROI(Roi roi) :outertype: Analyzer Sets the region of interest in the image so that only a portion of the whole image is analyzed. :param roi: The Roi object corresponding to the region. **See also:** :java:ref:`ij.gui.Roi`