Module ij
Package ij.gui

# Class Overlay

java.lang.Object
ij.gui.Overlay

All Implemented Interfaces:
  `Iterable<Roi>`

public class Overlay extends Object implements 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
`Overlay`
`add(Overlay overlay2)`
Adds the ROIs in 'overlay2' to this overlay.
`void`
`add(Roi roi)`
Adds an ROI to this Overlay.
`void`
`add(Roi roi, 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(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, Color foreground, 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(String name)`
Returns the ROI with the specified name or null if not found.
`boolean`
`getDrawBackgrounds()`
`boolean`
`getDrawLabels()`
`boolean`
`getDrawNames()`
`int`
`getIndex(String name)`
Returns the index of the ROI with the specified name, or -1 if not found.
`Color`
`getLabelColor()`
`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.
`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(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(Color color)`
Sets the fill color of all the ROIs in this overlay.
`void`
`setIsCalibrationBar(boolean b)`
`void`
`setLabelColor(Color c)`
`void`
`setLabelFont(Font font)`
`void`
`setLabelFont(Font font, boolean scalable)`
`void`
`setLabelFontSize(int size, String options)`
Set the label font size with options.
`void`
`setStrokeColor(Color color)`
Sets the stroke color of all the ROIs in this overlay.
`void`
`setStrokeWidth(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.
`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, String name)
Adds an ROI to this Overlay using the specified name.

### add

public Overlay add(Overlay overlay2)
Adds the ROIs in 'overlay2' to this overlay.

### 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(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(String name)
Returns the ROI with the specified name or null if not found.

### getIndex

public int getIndex(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(Color color)
Sets the stroke color of all the ROIs in this overlay.

### setStrokeWidth

public void setStrokeWidth(Double width)
Sets the stroke width of all the ROIs in this overlay.

### setFillColor

public void setFillColor(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(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(Color c)

### getLabelColor

public Color getLabelColor()

### setLabelFont

public void setLabelFont(Font font)

### setLabelFont

public void setLabelFont(Font font, boolean scalable)

### setLabelFontSize

public void setLabelFontSize(int size, 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 Font getLabelFont()

### setIsCalibrationBar

public void setIsCalibrationBar(boolean b)

### isCalibrationBar

public boolean isCalibrationBar()

### fill

public void fill(ImagePlus imp, Color foreground, 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 String toString()

Overrides:
  `toString` in class `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 Iterator<Roi> iterator()

Specified by:
  `iterator` in interface `Iterable<Roi>`