Package ij.gui

Class PlotWindow

  • All Implemented Interfaces:
    RoiListener, ImageListener, java.awt.datatransfer.ClipboardOwner, java.awt.event.ActionListener, java.awt.event.FocusListener, java.awt.event.ItemListener, java.awt.event.MouseWheelListener, java.awt.event.WindowListener, java.awt.event.WindowStateListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Runnable, java.util.EventListener, javax.accessibility.Accessible

    public class PlotWindow
    extends ImageWindow
    implements java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.datatransfer.ClipboardOwner, ImageListener, RoiListener, java.lang.Runnable
    This class implements the Analyze/Plot Profile command.
    Author:
    Michael Schmid, Wayne Rasband
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.awt.Frame

        java.awt.Frame.AccessibleAWTFrame
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static boolean autoClose
      Automatically close window after saving values.
      static int BOX
      Display points using an box-shaped mark.
      static int CIRCLE
      Display points using a circle 5 pixels in diameter.
      static int CROSS
      Display points using an cross-shaped mark.
      static int fontSize
      The plot text size, can be overridden by Plot.setFont, Plot.setFontSize, Plot.setXLabelFont etc.
      static boolean interpolate
      Interpolate line profiles.
      static int LINE
      Connect points with solid lines.
      static boolean listValues
      Display the XY coordinates in a separate window.
      static boolean noGridLines
      Have axes with no grid lines.
      static boolean noTicks
      Have axes with no ticks.
      static int plotHeight
      The height of the plot in pixels.
      static int plotWidth
      The width of the plot (without frame) in pixels.
      static boolean saveXValues
      Write first X column when listing or saving.
      static int TRIANGLE
      Display points using an tiangular mark.
      static int X
      Display points using an X-shaped mark.
      • Fields inherited from class java.awt.Frame

        CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
      • Fields inherited from class java.awt.Component

        accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, PROPERTIES, SOMEBITS
    • Constructor Summary

      Constructors 
      Constructor Description
      PlotWindow​(java.lang.String title, java.lang.String xLabel, java.lang.String yLabel, double[] xValues, double[] yValues)
      Deprecated.
      replaced by the Plot class.
      PlotWindow​(java.lang.String title, java.lang.String xLabel, java.lang.String yLabel, float[] xValues, float[] yValues)
      Deprecated.
      replaced by the Plot class.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent e)
      Called if user has activated a button or popup menu item
      void addErrorBars​(float[] errorBars)
      Adds vertical error bars to the plot.
      void addLabel​(double x, double y, java.lang.String label)
      Draws a label.
      void addPoints​(double[] x, double[] y, int shape)
      Adds a set of points to the plot using double arrays.
      void addPoints​(float[] x, float[] y, int shape)
      Adds a set of points to the plot or adds a curve if shape is set to LINE.
      void changeFont​(java.awt.Font font)
      Changes the font.
      void dispose()
      Releases the resources used by this PlotWindow
      void draw()
      Displays the plot.
      void drawPlot​(Plot plot)
      Draws a new plot in this window.
      static void freeze()
      Freezes the active plot window.
      Plot getPlot()
      Returns the Plot associated with this PlotWindow.
      ResultsTable getResultsTable()
      Returns the plot values as a ResultsTable.
      float[] getXValues()  
      float[] getYValues()  
      void imageClosed​(ImagePlus imp)  
      void imageOpened​(ImagePlus imp)  
      void imageUpdated​(ImagePlus imp)
      For live plots, this method is called if the source image content is changed
      void itemStateChanged​(java.awt.event.ItemEvent e)
      Called if the user activates/deactivates a CheckboxMenuItem
      void lostOwnership​(java.awt.datatransfer.Clipboard clipboard, java.awt.datatransfer.Transferable contents)  
      void mouseMoved​(int x, int y)
      Updates the X and Y values when the mouse is moved and, if appropriate, shows/hides the overlay with the triangular buttons for changing the axis range limits Overrides mouseMoved() in ImageWindow.
      void mouseWheelMoved​(java.awt.event.MouseWheelEvent e)
      Mouse wheel: zooms when shift or ctrl is pressed, scrolls in x if space bar down, in y otherwise.
      void roiModified​(ImagePlus img, int id)
      For live plots, update the plot if the ROI of the source image changes
      void run()  
      static void savePreferences​(java.util.Properties prefs)
      Called once when ImageJ quits.
      void setColor​(java.awt.Color c)
      Changes the drawing color.
      void setLimits​(double xMin, double xMax, double yMin, double yMax)
      Sets the x-axis and y-axis range.
      void setLineWidth​(int lineWidth)
      Changes the line width.
      • Methods inherited from class java.awt.Frame

        addNotify, getAccessibleContext, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, paramString, remove, removeNotify, setBackground, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
      • Methods inherited from class java.awt.Container

        add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.awt.MenuContainer

        getFont, postEvent
    • Field Detail

      • CIRCLE

        public static final int CIRCLE
        Display points using a circle 5 pixels in diameter.
        See Also:
        Constant Field Values
      • BOX

        public static final int BOX
        Display points using an box-shaped mark.
        See Also:
        Constant Field Values
      • TRIANGLE

        public static final int TRIANGLE
        Display points using an tiangular mark.
        See Also:
        Constant Field Values
      • CROSS

        public static final int CROSS
        Display points using an cross-shaped mark.
        See Also:
        Constant Field Values
      • saveXValues

        public static boolean saveXValues
        Write first X column when listing or saving.
      • autoClose

        public static boolean autoClose
        Automatically close window after saving values. To set, use Edit/Options/Plots.
      • listValues

        public static boolean listValues
        Display the XY coordinates in a separate window. To set, use Edit/Options/Plots.
      • interpolate

        public static boolean interpolate
        Interpolate line profiles. To set, use Edit/Options/Plots.
      • plotWidth

        public static int plotWidth
        The width of the plot (without frame) in pixels.
      • plotHeight

        public static int plotHeight
        The height of the plot in pixels.
      • fontSize

        public static int fontSize
        The plot text size, can be overridden by Plot.setFont, Plot.setFontSize, Plot.setXLabelFont etc.
      • noGridLines

        public static boolean noGridLines
        Have axes with no grid lines. If both noGridLines and noTicks are true, only min&max value of the axes are given
      • noTicks

        public static boolean noTicks
        Have axes with no ticks. If both noGridLines and noTicks are true, only min&max value of the axes are given
    • Constructor Detail

      • PlotWindow

        public PlotWindow​(java.lang.String title,
                          java.lang.String xLabel,
                          java.lang.String yLabel,
                          float[] xValues,
                          float[] yValues)
        Deprecated.
        replaced by the Plot class.
      • PlotWindow

        public PlotWindow​(java.lang.String title,
                          java.lang.String xLabel,
                          java.lang.String yLabel,
                          double[] xValues,
                          double[] yValues)
        Deprecated.
        replaced by the Plot class.
    • Method Detail

      • setLimits

        public void setLimits​(double xMin,
                              double xMax,
                              double yMin,
                              double yMax)
        Sets the x-axis and y-axis range. Must be called before the plot is displayed.
      • addPoints

        public void addPoints​(float[] x,
                              float[] y,
                              int shape)
        Adds a set of points to the plot or adds a curve if shape is set to LINE. Must be called before the plot is displayed. Note that there are more options available by using the methods of the Plot class instead.
        Parameters:
        x - the x-coodinates
        y - the y-coodinates
        shape - Plot.CIRCLE, X, BOX, TRIANGLE, CROSS, LINE etc.
      • addPoints

        public void addPoints​(double[] x,
                              double[] y,
                              int shape)
        Adds a set of points to the plot using double arrays. Must be called before the plot is displayed. Note that there are more options available by using the methods of the Plot class instead.
      • addErrorBars

        public void addErrorBars​(float[] errorBars)
        Adds vertical error bars to the plot. Must be called before the plot is displayed. Note that there are more options available by using the methods of the Plot class instead.
      • addLabel

        public void addLabel​(double x,
                             double y,
                             java.lang.String label)
        Draws a label. Must be called before the plot is displayed. Note that there are more options available by using the methods of the Plot class instead.
      • setColor

        public void setColor​(java.awt.Color c)
        Changes the drawing color. The frame and labels are always drawn in black. Must be called before the plot is displayed. Note that there are more options available by using the methods of the Plot class instead.
      • setLineWidth

        public void setLineWidth​(int lineWidth)
        Changes the line width. Must be called before the plot is displayed. Note that there are more options available by using the methods of the Plot class instead.
      • changeFont

        public void changeFont​(java.awt.Font font)
        Changes the font. Must be called before the plot is displayed. Note that there are more options available by using the methods of the Plot class instead.
      • draw

        public void draw()
        Displays the plot.
      • dispose

        public void dispose()
        Releases the resources used by this PlotWindow
        Overrides:
        dispose in class java.awt.Window
      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent e)
        Called if user has activated a button or popup menu item
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
      • itemStateChanged

        public void itemStateChanged​(java.awt.event.ItemEvent e)
        Called if the user activates/deactivates a CheckboxMenuItem
        Specified by:
        itemStateChanged in interface java.awt.event.ItemListener
      • mouseMoved

        public void mouseMoved​(int x,
                               int y)
        Updates the X and Y values when the mouse is moved and, if appropriate, shows/hides the overlay with the triangular buttons for changing the axis range limits Overrides mouseMoved() in ImageWindow.
        Overrides:
        mouseMoved in class ImageWindow
        See Also:
        ImageWindow.mouseMoved(int, int)
      • mouseWheelMoved

        public void mouseWheelMoved​(java.awt.event.MouseWheelEvent e)
        Mouse wheel: zooms when shift or ctrl is pressed, scrolls in x if space bar down, in y otherwise.
        Specified by:
        mouseWheelMoved in interface java.awt.event.MouseWheelListener
        Overrides:
        mouseWheelMoved in class ImageWindow
      • getResultsTable

        public ResultsTable getResultsTable()
        Returns the plot values as a ResultsTable.
      • lostOwnership

        public void lostOwnership​(java.awt.datatransfer.Clipboard clipboard,
                                  java.awt.datatransfer.Transferable contents)
        Specified by:
        lostOwnership in interface java.awt.datatransfer.ClipboardOwner
      • getXValues

        public float[] getXValues()
      • getYValues

        public float[] getYValues()
      • drawPlot

        public void drawPlot​(Plot plot)
        Draws a new plot in this window.
      • savePreferences

        public static void savePreferences​(java.util.Properties prefs)
        Called once when ImageJ quits.
      • roiModified

        public void roiModified​(ImagePlus img,
                                int id)
        For live plots, update the plot if the ROI of the source image changes
        Specified by:
        roiModified in interface RoiListener
      • imageUpdated

        public void imageUpdated​(ImagePlus imp)
        For live plots, this method is called if the source image content is changed
        Specified by:
        imageUpdated in interface ImageListener
      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
      • getPlot

        public Plot getPlot()
        Returns the Plot associated with this PlotWindow.
      • freeze

        public static void freeze()
        Freezes the active plot window.