Module ij
Package ij.gui

Class Overlay

java.lang.Object
ij.gui.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

    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 Details

    • Overlay

      public Overlay()
      Constructs an empty Overlay.
    • Overlay

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

    • 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>