Module ij
Package ij.gui

Class Overlay

  • All Implemented Interfaces:
    java.lang.Iterable<Roi>

    public class Overlay
    extends java.lang.Object
    implements java.lang.Iterable<Roi>
    An Overlay is a list of ROIs that can be drawn non-destructively on an Image.
    • Constructor Summary

      Constructors 
      Constructor Description
      Overlay()
      Constructs an empty Overlay.
      Overlay​(Roi roi)
      Constructs an Overlay and adds the specified ROI.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(Roi roi)
      Adds an ROI to this Overlay.
      void add​(Roi roi, java.lang.String name)
      Adds an ROI to this Overlay using the specified name.
      void addElement​(Roi roi)
      Adds an ROI to this Overlay.
      void clear()
      Removes all the ROIs in this Overlay.
      boolean contains​(Roi roi)
      Returns 'true' if this Overlay contains the specified ROI.
      Overlay create()
      Returns a new Overlay that has the same properties as this one.
      static Overlay createStackOverlay​(Roi[] rois)  
      void crop​(int firstSlice, int lastSlice)
      Removes ROIs having positions outside of the interval defined by firstSlice and lastSlice.
      void crop​(int firstC, int lastC, int firstZ, int lastZ, int firstT, int lastT)
      Removes ROIs having a C, Z or T coordinate outside the volume defined by firstC, lastC, firstZ, lastZ, firstT and lastT.
      Overlay crop​(java.awt.Rectangle bounds)  
      void drawBackgrounds​(boolean b)  
      void drawLabels​(boolean b)  
      void drawNames​(boolean b)  
      Overlay duplicate()
      Returns a clone of this Overlay.
      void fill​(ImagePlus imp, java.awt.Color foreground, java.awt.Color background)
      Fills all the ROIs in this overlay with 'foreground' after clearing the the image to 'background' if it is not null.
      Roi get​(int index)
      Returns the ROI with the specified index or null if the index is invalid.
      Roi get​(java.lang.String name)
      Returns the ROI with the specified name or null if not found.
      boolean getDrawBackgrounds()  
      boolean getDrawLabels()  
      boolean getDrawNames()  
      int getIndex​(java.lang.String name)
      Returns the index of the ROI with the specified name, or -1 if not found.
      java.awt.Color getLabelColor()  
      java.awt.Font getLabelFont()  
      int indexAt​(int x, int y)
      Returns the index of the last ROI that contains the point (x,y) or null if no ROI contains the point.
      boolean isCalibrationBar()  
      boolean isDraggable()
      Returns 'true' if ROIs in this overlay can be dragged by their labels.
      boolean isSelectable()
      Returns 'true' if ROIs in this overlay can be activated by clicking on their labels or by a long press.
      java.util.Iterator<Roi> iterator()  
      ResultsTable measure​(ImagePlus imp)
      Measures the ROIs in this overlay on the specified image and returns the results as a ResultsTable.
      void remove​(int index)
      Removes the ROI with the specified index from this Overlay.
      void remove​(Roi roi)
      Removes the specified ROI from this Overlay.
      void remove​(java.lang.String name)
      Removes all ROIs that have the specified name.
      Overlay rotate​(double angle, double xcenter, double ycenter)
      Returns a rotated version of this Overlay.
      boolean scalableLabels()  
      Overlay scale​(double xscale, double yscale)
      Returns a scaled version of this Overlay.
      void selectable​(boolean selectable)
      Set 'false' to prevent ROIs in this overlay from being activated by clicking on their labels or by a long clicking.
      void set​(Roi roi, int index)
      Replaces the ROI at the specified index.
      void setDraggable​(boolean draggable)
      Set 'false' to prevent ROIs in this overlay from being dragged by their labels.
      void setFillColor​(java.awt.Color color)
      Sets the fill color of all the ROIs in this overlay.
      void setIsCalibrationBar​(boolean b)  
      void setLabelColor​(java.awt.Color c)  
      void setLabelFont​(java.awt.Font font)  
      void setLabelFont​(java.awt.Font font, boolean scalable)  
      void setLabelFontSize​(int size, java.lang.String options)
      Set the label font size with options.
      void setStrokeColor​(java.awt.Color color)
      Sets the stroke color of all the ROIs in this overlay.
      void setStrokeWidth​(java.lang.Double width)
      Sets the stroke width of all the ROIs in this overlay.
      int size()
      Returns the number of ROIs in this Overlay.
      Roi[] toArray()
      Returns on array containing the ROIs in this Overlay.
      Roi[] toArray​(int[] indexes)
      Returns on array containing the ROIs with the specified indexes.
      java.lang.String toString()  
      void translate​(double dx, double dy)
      Moves all the ROIs in this overlay.
      void translate​(int dx, int dy)
      Moves all the ROIs in this overlay.
      static void updateTableOverlay​(ImagePlus imp, int first, int last, int tableSize)
      Updates overlays created by the particle analyzer after rows are deleted from the Results table.
      Roi xor​(int[] indexes)
      Returns the bounds of this overlay.
      • Methods inherited from class java.lang.Object

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

        forEach, spliterator
    • Constructor Detail

      • Overlay

        public Overlay()
        Constructs an empty Overlay.
      • Overlay

        public Overlay​(Roi roi)
        Constructs an Overlay and adds the specified ROI.
    • Method Detail

      • add

        public void add​(Roi roi)
        Adds an ROI to this Overlay.
      • add

        public void add​(Roi roi,
                        java.lang.String name)
        Adds an ROI to this Overlay using the specified name.
      • addElement

        public void addElement​(Roi roi)
        Adds an ROI to this Overlay.
      • set

        public void set​(Roi roi,
                        int index)
        Replaces the ROI at the specified index.
      • remove

        public void remove​(int index)
        Removes the ROI with the specified index from this Overlay.
      • remove

        public void remove​(Roi roi)
        Removes the specified ROI from this Overlay.
      • remove

        public void remove​(java.lang.String name)
        Removes all ROIs that have the specified name.
      • clear

        public void clear()
        Removes all the ROIs in this Overlay.
      • get

        public Roi get​(int index)
        Returns the ROI with the specified index or null if the index is invalid.
      • get

        public Roi get​(java.lang.String name)
        Returns the ROI with the specified name or null if not found.
      • getIndex

        public int getIndex​(java.lang.String name)
        Returns the index of the ROI with the specified name, or -1 if not found.
      • indexAt

        public int indexAt​(int x,
                           int y)
        Returns the index of the last ROI that contains the point (x,y) or null if no ROI contains the point.
      • contains

        public boolean contains​(Roi roi)
        Returns 'true' if this Overlay contains the specified ROI.
      • size

        public int size()
        Returns the number of ROIs in this Overlay.
      • toArray

        public Roi[] toArray()
        Returns on array containing the ROIs in this Overlay.
      • toArray

        public Roi[] toArray​(int[] indexes)
        Returns on array containing the ROIs with the specified indexes.
      • setStrokeColor

        public void setStrokeColor​(java.awt.Color color)
        Sets the stroke color of all the ROIs in this overlay.
      • setStrokeWidth

        public void setStrokeWidth​(java.lang.Double width)
        Sets the stroke width of all the ROIs in this overlay.
      • setFillColor

        public void setFillColor​(java.awt.Color color)
        Sets the fill color of all the ROIs in this overlay.
      • translate

        public void translate​(int dx,
                              int dy)
        Moves all the ROIs in this overlay.
      • translate

        public void translate​(double dx,
                              double dy)
        Moves all the ROIs in this overlay. Marcel Boeglin, October 2013
      • measure

        public ResultsTable measure​(ImagePlus imp)
        Measures the ROIs in this overlay on the specified image and returns the results as a ResultsTable.
      • crop

        public Overlay crop​(java.awt.Rectangle bounds)
      • crop

        public void crop​(int firstSlice,
                         int lastSlice)
        Removes ROIs having positions outside of the interval defined by firstSlice and lastSlice. Marcel Boeglin, September 2013
      • crop

        public void crop​(int firstC,
                         int lastC,
                         int firstZ,
                         int lastZ,
                         int firstT,
                         int lastT)
        Removes ROIs having a C, Z or T coordinate outside the volume defined by firstC, lastC, firstZ, lastZ, firstT and lastT. Marcel Boeglin, September 2013
      • xor

        public Roi xor​(int[] indexes)
        Returns the bounds of this overlay.
      • create

        public Overlay create()
        Returns a new Overlay that has the same properties as this one.
      • duplicate

        public Overlay duplicate()
        Returns a clone of this Overlay.
      • scale

        public Overlay scale​(double xscale,
                             double yscale)
        Returns a scaled version of this Overlay.
      • rotate

        public Overlay rotate​(double angle,
                              double xcenter,
                              double ycenter)
        Returns a rotated version of this Overlay.
      • drawLabels

        public void drawLabels​(boolean b)
      • getDrawLabels

        public boolean getDrawLabels()
      • drawNames

        public void drawNames​(boolean b)
      • getDrawNames

        public boolean getDrawNames()
      • drawBackgrounds

        public void drawBackgrounds​(boolean b)
      • getDrawBackgrounds

        public boolean getDrawBackgrounds()
      • setLabelColor

        public void setLabelColor​(java.awt.Color c)
      • getLabelColor

        public java.awt.Color getLabelColor()
      • setLabelFont

        public void setLabelFont​(java.awt.Font font)
      • setLabelFont

        public void setLabelFont​(java.awt.Font font,
                                 boolean scalable)
      • setLabelFontSize

        public void setLabelFontSize​(int size,
                                     java.lang.String options)
        Set the label font size with options. The options string can contain 'scale' (enlarge labels when image zoomed), 'bold' (display bold labels) or 'background' (display labels with contrasting background.
      • getLabelFont

        public java.awt.Font getLabelFont()
      • setIsCalibrationBar

        public void setIsCalibrationBar​(boolean b)
      • isCalibrationBar

        public boolean isCalibrationBar()
      • fill

        public void fill​(ImagePlus imp,
                         java.awt.Color foreground,
                         java.awt.Color background)
        Fills all the ROIs in this overlay with 'foreground' after clearing the the image to 'background' if it is not null.
      • selectable

        public void selectable​(boolean selectable)
        Set 'false' to prevent ROIs in this overlay from being activated by clicking on their labels or by a long clicking.
      • isSelectable

        public boolean isSelectable()
        Returns 'true' if ROIs in this overlay can be activated by clicking on their labels or by a long press.
      • setDraggable

        public void setDraggable​(boolean draggable)
        Set 'false' to prevent ROIs in this overlay from being dragged by their labels.
      • isDraggable

        public boolean isDraggable()
        Returns 'true' if ROIs in this overlay can be dragged by their labels.
      • scalableLabels

        public boolean scalableLabels()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • updateTableOverlay

        public static void updateTableOverlay​(ImagePlus imp,
                                              int first,
                                              int last,
                                              int tableSize)
        Updates overlays created by the particle analyzer after rows are deleted from the Results table.
      • createStackOverlay

        public static Overlay createStackOverlay​(Roi[] rois)
      • iterator

        public java.util.Iterator<Roi> iterator()
        Specified by:
        iterator in interface java.lang.Iterable<Roi>