ij.gui
Class Roi

java.lang.Object
  extended by ij.gui.Roi
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
ImageRoi, Line, OvalRoi, PolygonRoi, ShapeRoi, TextRoi

public class Roi
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable

A rectangular region of interest and superclass for the other ROI classes.

See Also:
Serialized Form

Field Summary
static int ANGLE
           
protected  double asp_bk
           
protected  boolean aspect
           
protected  ImageProcessor cachedMask
           
protected  boolean center
           
protected  ImagePlus clipboard
           
protected  int clipHeight
           
protected  int clipWidth
           
protected  int clipX
           
protected  int clipY
           
static int COMPOSITE
           
protected  boolean constrain
           
static int CONSTRUCTING
           
protected static java.awt.Color defaultFillColor
           
protected  java.awt.Color fillColor
           
static int FREELINE
           
static int FREEROI
           
static int HANDLE_SIZE
           
protected  java.awt.Color handleColor
           
protected  ImageCanvas ic
           
protected  boolean ignoreClipRect
           
protected  ImagePlus imp
           
protected  java.awt.Color instanceColor
           
static int LINE
           
protected static int lineWidth
           
protected  double mag
           
static int MOVING
           
static int MOVING_HANDLE
           
protected  boolean nonScalable
           
static int NORMAL
           
static int NOT_PASTING
           
protected  int oldHeight
           
protected  int oldWidth
           
protected  int oldX
           
protected  int oldY
           
static java.awt.BasicStroke onePixelWide
           
static int OVAL
           
protected  boolean overlay
           
protected static int pasteMode
           
static int POINT
           
static int POLYGON
           
static int POLYLINE
           
static Roi previousRoi
           
static int RECTANGLE
           
static int RESIZING
           
protected static java.awt.Color ROIColor
           
protected  java.awt.BasicStroke stroke
           
protected  java.awt.Color strokeColor
           
static int TRACED_ROI
           
protected  int type
           
protected  boolean updateFullWindow
           
protected  boolean wideLine
           
protected  int xMax
           
protected  int yMax
           
 
Constructor Summary
Roi(double x, double y, double width, double height)
          Creates a rectangular ROI using double arguments.
Roi(double x, double y, double width, double height, int cornerDiameter)
          Creates a rounded rectangular ROI using double arguments.
Roi(int sx, int sy, ImagePlus imp)
          Starts the process of creating a user-defined rectangular Roi, where sx and sy are the starting screen coordinates.
Roi(int sx, int sy, ImagePlus imp, int cornerDiameter)
          Starts the process of creating a user-defined rectangular Roi, where sx and sy are the starting screen coordinates.
Roi(int x, int y, int width, int height)
          Creates a rectangular ROI.
Roi(int x, int y, int width, int height, ImagePlus imp)
          Deprecated.  
Roi(int x, int y, int width, int height, int cornerDiameter)
          Creates a new rounded rectangular ROI.
Roi(java.awt.Rectangle r)
          Creates a new rectangular Roi.
 
Method Summary
 void abortPaste()
           
protected  int clipRectMargin()
           
 java.lang.Object clone()
          Returns a copy of this roi.
 boolean contains(int x, int y)
           
 void copyAttributes(Roi roi2)
          Copy the attributes (outline color, fill color, outline width) of 'roi2' to the this selection.
 void draw(java.awt.Graphics g)
           
 void drawOverlay(java.awt.Graphics g)
           
 void drawPixels()
          Deprecated. replaced by drawPixels(ImageProcessor)
 void drawPixels(ImageProcessor ip)
          Draws the selection outline on the specified ImageProcessor.
 void enableSubPixelResolution()
           
 void endPaste()
           
 boolean equals(java.lang.Object obj)
          Checks whether two rectangles are equal.
 double getAngle(int x1, int y1, int x2, int y2)
          Returns the angle in degrees between the specified line and a horizontal line.
 java.awt.Rectangle getBoundingRect()
          Deprecated. replaced by getBounds()
 java.awt.Rectangle getBounds()
          Return this selection's bounding rectangle.
static java.awt.Color getColor()
          Returns the default (global) color used for drawing ROI outlines.
 java.awt.Polygon getConvexHull()
           
 int getCornerDiameter()
          Returns the rounded rectangle corner diameter (pixels).
 int getCPosition()
          Returns the channel position of this ROI, or zero if this ROI is not associated with a particular channel.
static int getCurrentPasteMode()
          Returns the current paste transfer mode.
 java.lang.String getDebugInfo()
           
static java.awt.Color getDefaultFillColor()
           
 boolean getDrawOffset()
          Returns true if this is a PolygonRoi that supports sub-pixel resolution and polygons are drawn on zoomed images offset down and to the right by 0.5 pixels..
 double getFeretsDiameter()
          Returns Feret's diameter, the greatest distance between any two points along the ROI boundary.
 double[] getFeretValues()
          Caculates "Feret" (maximum caliper width), "FeretAngle" and "MinFeret" (minimum caliper width), "FeretX" and "FeretY".
 java.awt.Color getFillColor()
          Returns the fill color used to display this ROI, or null if it is displayed transparently.
 double getFloatAngle(double x1, double y1, double x2, double y2)
          Returns the angle in degrees between the specified line and a horizontal line.
 java.awt.geom.Rectangle2D.Double getFloatBounds()
          Return this selection's bounding rectangle.
 double getFloatHeight()
           
 FloatPolygon getFloatPolygon()
           
 double getFloatWidth()
           
 int getHashCode()
          Returns a hashcode for this Roi that typically changes if it is moved, even though it is still the same object.
 ImagePlus getImage()
          Returns the ImagePlus associated with this ROI, or null.
 int getImageID()
          Returns the ID of the image associated with this ROI.
 FloatPolygon getInterpolatedPolygon()
          Returns, as a FloatPolygon, an interpolated version of this selection that has points spaced 1.0 pixel apart.
 FloatPolygon getInterpolatedPolygon(double interval, boolean smooth)
          Returns, as a FloatPolygon, an interpolated version of this selection with points spaced 'interval' pixels apart.
protected  FloatPolygon getInterpolatedPolygon(FloatPolygon p, double interval, boolean smooth)
           
 double getLength()
          Returns the perimeter length.
protected  double getMagnification()
           
 ImageProcessor getMask()
          Always returns null for rectangular Roi's
 java.lang.String getName()
          Returns the name of this ROI, or null.
 int getPasteMode()
          Returns the current paste transfer mode, or NOT_PASTING (-1) if no paste operation is in progress.
 java.awt.Polygon getPolygon()
          Returns the outline of this selection as a Polygon, or null if this is a straight line selection.
 int getPosition()
          Returns the stack position (image number) of this ROI, or zero if the ROI is not associated with a particular stack image.
 java.lang.String getProperties()
           
 java.lang.String getProperty(java.lang.String property)
           
 int getPropertyCount()
           
 Overlay getPrototypeOverlay()
           
 int getRoundRectArcSize()
          Obsolete; replaced by getCornerDiameter().
protected  java.awt.BasicStroke getScaledStroke()
           
 int getState()
           
 java.awt.BasicStroke getStroke()
          Returns the Stroke used to draw this ROI, or null if no Stroke is used.
 java.awt.Color getStrokeColor()
          Returns the the color used to draw the ROI outline or null if the default color is being used.
 float getStrokeWidth()
          Returns the lineWidth.
 int getTPosition()
          Returns the frame position of this ROI, or zero if this ROI is not associated with a particular frame.
 int getType()
           
 java.lang.String getTypeAsString()
          Convenience method that converts Roi type to a human-readable form.
 double getXBase()
           
 double getYBase()
           
 int getZPosition()
          Returns the slice position of this ROI, or zero if this ROI is not associated with a particular slice.
protected  void grow(int sx, int sy)
           
protected  void handleMouseDown(int sx, int sy)
           
protected  void handleMouseDrag(int sx, int sy, int flags)
           
protected  void handleMouseUp(int screenX, int screenY)
           
 boolean isActiveOverlayRoi()
           
 boolean isArea()
          Returns 'true' if this is an area selection.
 boolean isDrawingTool()
          Returns 'true' if this is an ROI primarily used from drawing (e.g., TextRoi or Arrow).
 int isHandle(int sx, int sy)
          Returns a handle number if the specified screen coordinates are inside or near a handle, otherwise returns -1.
 boolean isLine()
          Returns 'true' if this is a line selection.
 boolean isVisible()
          Returns true if this ROI is currently displayed on an image.
protected  void mouseDownInHandle(int handle, int sx, int sy)
           
 void mouseDragged(java.awt.event.MouseEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
protected  void moveHandle(int sx, int sy)
           
 void nudge(int key)
          Nudge ROI one pixel on arrow key press.
 void nudgeCorner(int key)
          Nudge lower right corner of rectangular and oval ROIs by one pixel based on arrow key press.
 Roi rescale(double fromBinSize, double toBinSize)
           
protected  int screenX(int ox)
           
protected  int screenXD(double ox)
           
protected  int screenY(int oy)
           
protected  int screenYD(double oy)
           
static void setColor(java.awt.Color c)
          Sets the default (global) color used for ROI outlines.
 void setCornerDiameter(int cornerDiameter)
          Sets the rounded rectangle corner diameter (pixels).
static void setDefaultFillColor(java.awt.Color color)
           
 void setDrawOffset(boolean drawOffset)
           
 void setFillColor(java.awt.Color color)
          Sets the fill color used to display this ROI, or set to null to display it transparently.
 void setIgnoreClipRect(boolean ignoreClipRect)
           
 void setImage(ImagePlus imp)
           
 void setInstanceColor(java.awt.Color c)
          Deprecated. replaced by setStrokeColor()
 void setLineWidth(int width)
          Deprecated. replaced by setStrokeWidth(int)
 void setLocation(double x, double y)
          Set the location of the ROI in image coordinates.
 void setLocation(int x, int y)
          Set the location of the ROI in image coordinates.
 void setName(java.lang.String name)
          Sets the name of this ROI.
 void setNonScalable(boolean nonScalable)
          Set 'nonScalable' true to have TextRois in a display list drawn at a fixed location and size.
static void setPasteMode(int transferMode)
          Sets the Paste transfer mode.
 void setPosition(int n)
          Sets the stack position (image number) of this ROI.
 void setPosition(int channel, int slice, int frame)
          Sets the hyperstack position of this ROI.
 void setProperties(java.lang.String properties)
           
 void setProperty(java.lang.String key, java.lang.String value)
           
 void setPrototypeOverlay(Overlay overlay)
           
 void setRoundRectArcSize(int cornerDiameter)
          Obsolete; replaced by setCornerDiameter().
 void setStroke(java.awt.BasicStroke stroke)
          Sets the Stroke used to draw this ROI.
 void setStrokeColor(java.awt.Color c)
          Sets the color used by this ROI to draw its outline.
 void setStrokeWidth(double width)
          This is a version of setStrokeWidth() that accepts a double argument.
 void setStrokeWidth(float width)
          Sets the width of the line used to draw this ROI.
protected  void showStatus()
           
 void startPaste(ImagePlus clipboard)
           
 boolean subPixelResolution()
          Returns true if this is a slection that supports sub-pixel resolution.
 void temporarilyHide()
          Deprecated
static float[] toFloat(int[] arr)
          Converts an int array to a float array.
static int[] toInt(float[] arr)
          Converts a float array to an int array using truncation.
static int[] toInt(float[] arr, int[] arr2, int size)
           
static int[] toIntR(float[] arr)
          Converts a float array to an int array using rounding.
 java.lang.String toString()
           
 void update(boolean add, boolean subtract)
          If 'add' is true, adds this selection to the previous one.
protected  void updateClipRect()
           
 void updateWideLine(float width)
           
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CONSTRUCTING

public static final int CONSTRUCTING
See Also:
Constant Field Values

MOVING

public static final int MOVING
See Also:
Constant Field Values

RESIZING

public static final int RESIZING
See Also:
Constant Field Values

NORMAL

public static final int NORMAL
See Also:
Constant Field Values

MOVING_HANDLE

public static final int MOVING_HANDLE
See Also:
Constant Field Values

RECTANGLE

public static final int RECTANGLE
See Also:
Constant Field Values

OVAL

public static final int OVAL
See Also:
Constant Field Values

POLYGON

public static final int POLYGON
See Also:
Constant Field Values

FREEROI

public static final int FREEROI
See Also:
Constant Field Values

TRACED_ROI

public static final int TRACED_ROI
See Also:
Constant Field Values

LINE

public static final int LINE
See Also:
Constant Field Values

POLYLINE

public static final int POLYLINE
See Also:
Constant Field Values

FREELINE

public static final int FREELINE
See Also:
Constant Field Values

ANGLE

public static final int ANGLE
See Also:
Constant Field Values

COMPOSITE

public static final int COMPOSITE
See Also:
Constant Field Values

POINT

public static final int POINT
See Also:
Constant Field Values

HANDLE_SIZE

public static final int HANDLE_SIZE
See Also:
Constant Field Values

NOT_PASTING

public static final int NOT_PASTING
See Also:
Constant Field Values

previousRoi

public static Roi previousRoi

onePixelWide

public static final java.awt.BasicStroke onePixelWide

ROIColor

protected static java.awt.Color ROIColor

pasteMode

protected static int pasteMode

lineWidth

protected static int lineWidth

defaultFillColor

protected static java.awt.Color defaultFillColor

type

protected int type

xMax

protected int xMax

yMax

protected int yMax

imp

protected ImagePlus imp

ic

protected ImageCanvas ic

oldX

protected int oldX

oldY

protected int oldY

oldWidth

protected int oldWidth

oldHeight

protected int oldHeight

clipX

protected int clipX

clipY

protected int clipY

clipWidth

protected int clipWidth

clipHeight

protected int clipHeight

clipboard

protected ImagePlus clipboard

constrain

protected boolean constrain

center

protected boolean center

aspect

protected boolean aspect

updateFullWindow

protected boolean updateFullWindow

mag

protected double mag

asp_bk

protected double asp_bk

cachedMask

protected ImageProcessor cachedMask

handleColor

protected java.awt.Color handleColor

strokeColor

protected java.awt.Color strokeColor

instanceColor

protected java.awt.Color instanceColor

fillColor

protected java.awt.Color fillColor

stroke

protected java.awt.BasicStroke stroke

nonScalable

protected boolean nonScalable

overlay

protected boolean overlay

wideLine

protected boolean wideLine

ignoreClipRect

protected boolean ignoreClipRect
Constructor Detail

Roi

public Roi(int x,
           int y,
           int width,
           int height)
Creates a rectangular ROI.


Roi

public Roi(double x,
           double y,
           double width,
           double height)
Creates a rectangular ROI using double arguments.


Roi

public Roi(int x,
           int y,
           int width,
           int height,
           int cornerDiameter)
Creates a new rounded rectangular ROI.


Roi

public Roi(double x,
           double y,
           double width,
           double height,
           int cornerDiameter)
Creates a rounded rectangular ROI using double arguments.


Roi

public Roi(java.awt.Rectangle r)
Creates a new rectangular Roi.


Roi

public Roi(int sx,
           int sy,
           ImagePlus imp)
Starts the process of creating a user-defined rectangular Roi, where sx and sy are the starting screen coordinates.


Roi

public Roi(int sx,
           int sy,
           ImagePlus imp,
           int cornerDiameter)
Starts the process of creating a user-defined rectangular Roi, where sx and sy are the starting screen coordinates.


Roi

public Roi(int x,
           int y,
           int width,
           int height,
           ImagePlus imp)
Deprecated. 

Method Detail

setLocation

public void setLocation(int x,
                        int y)
Set the location of the ROI in image coordinates.


setLocation

public void setLocation(double x,
                        double y)
Set the location of the ROI in image coordinates.


setImage

public void setImage(ImagePlus imp)

getImage

public ImagePlus getImage()
Returns the ImagePlus associated with this ROI, or null.


getImageID

public int getImageID()
Returns the ID of the image associated with this ROI.


getType

public int getType()

getState

public int getState()

getLength

public double getLength()
Returns the perimeter length.


getFeretsDiameter

public double getFeretsDiameter()
Returns Feret's diameter, the greatest distance between any two points along the ROI boundary.


getFeretValues

public double[] getFeretValues()
Caculates "Feret" (maximum caliper width), "FeretAngle" and "MinFeret" (minimum caliper width), "FeretX" and "FeretY".


getConvexHull

public java.awt.Polygon getConvexHull()

getBounds

public java.awt.Rectangle getBounds()
Return this selection's bounding rectangle.


getFloatBounds

public java.awt.geom.Rectangle2D.Double getFloatBounds()
Return this selection's bounding rectangle.


getBoundingRect

public java.awt.Rectangle getBoundingRect()
Deprecated. replaced by getBounds()


getPolygon

public java.awt.Polygon getPolygon()
Returns the outline of this selection as a Polygon, or null if this is a straight line selection.

See Also:
ImageProcessor.setRoi(java.awt.Rectangle), ImageProcessor.drawPolygon(java.awt.Polygon), ImageProcessor.fillPolygon(java.awt.Polygon)

getFloatPolygon

public FloatPolygon getFloatPolygon()

getInterpolatedPolygon

public FloatPolygon getInterpolatedPolygon()
Returns, as a FloatPolygon, an interpolated version of this selection that has points spaced 1.0 pixel apart.


getInterpolatedPolygon

public FloatPolygon getInterpolatedPolygon(double interval,
                                           boolean smooth)
Returns, as a FloatPolygon, an interpolated version of this selection with points spaced 'interval' pixels apart. If 'smooth' is true, traced and freehand selections are first smoothed using a 3 point running average.


getInterpolatedPolygon

protected FloatPolygon getInterpolatedPolygon(FloatPolygon p,
                                              double interval,
                                              boolean smooth)

rescale

public Roi rescale(double fromBinSize,
                   double toBinSize)

clone

public java.lang.Object clone()
Returns a copy of this roi. See Thinking is Java by Bruce Eckel (www.eckelobjects.com) for a good description of object cloning.

Overrides:
clone in class java.lang.Object

grow

protected void grow(int sx,
                    int sy)

moveHandle

protected void moveHandle(int sx,
                          int sy)

nudge

public void nudge(int key)
Nudge ROI one pixel on arrow key press.


nudgeCorner

public void nudgeCorner(int key)
Nudge lower right corner of rectangular and oval ROIs by one pixel based on arrow key press.


updateClipRect

protected void updateClipRect()

clipRectMargin

protected int clipRectMargin()

handleMouseDrag

protected void handleMouseDrag(int sx,
                               int sy,
                               int flags)

draw

public void draw(java.awt.Graphics g)

drawOverlay

public void drawOverlay(java.awt.Graphics g)

drawPixels

public void drawPixels()
Deprecated. replaced by drawPixels(ImageProcessor)


drawPixels

public void drawPixels(ImageProcessor ip)
Draws the selection outline on the specified ImageProcessor.

See Also:
ImageProcessor.setColor(java.awt.Color), ImageProcessor.setLineWidth(int)

contains

public boolean contains(int x,
                        int y)

isHandle

public int isHandle(int sx,
                    int sy)
Returns a handle number if the specified screen coordinates are inside or near a handle, otherwise returns -1.


mouseDownInHandle

protected void mouseDownInHandle(int handle,
                                 int sx,
                                 int sy)

handleMouseDown

protected void handleMouseDown(int sx,
                               int sy)

handleMouseUp

protected void handleMouseUp(int screenX,
                             int screenY)

update

public void update(boolean add,
                   boolean subtract)
If 'add' is true, adds this selection to the previous one. If 'subtract' is true, subtracts it from the previous selection. Called by the IJ.doWand() method, and the makeRectangle(), makeOval(), makePolygon() and makeSelection() macro functions.


showStatus

protected void showStatus()

getMask

public ImageProcessor getMask()
Always returns null for rectangular Roi's


startPaste

public void startPaste(ImagePlus clipboard)

endPaste

public void endPaste()

abortPaste

public void abortPaste()

getAngle

public double getAngle(int x1,
                       int y1,
                       int x2,
                       int y2)
Returns the angle in degrees between the specified line and a horizontal line.


getFloatAngle

public double getFloatAngle(double x1,
                            double y1,
                            double x2,
                            double y2)
Returns the angle in degrees between the specified line and a horizontal line.


setColor

public static void setColor(java.awt.Color c)
Sets the default (global) color used for ROI outlines.

See Also:
getColor(), setStrokeColor(Color)

getColor

public static java.awt.Color getColor()
Returns the default (global) color used for drawing ROI outlines.

See Also:
setColor(Color), getStrokeColor()

setStrokeColor

public void setStrokeColor(java.awt.Color c)
Sets the color used by this ROI to draw its outline. This color, if not null, overrides the global color set by the static setColor() method.

See Also:
getStrokeColor(), setStrokeWidth(float), ImagePlus.setOverlay(ij.gui.Overlay)

getStrokeColor

public java.awt.Color getStrokeColor()
Returns the the color used to draw the ROI outline or null if the default color is being used.

See Also:
setStrokeColor(Color)

setFillColor

public void setFillColor(java.awt.Color color)
Sets the fill color used to display this ROI, or set to null to display it transparently.

See Also:
getFillColor(), setStrokeColor(java.awt.Color)

getFillColor

public java.awt.Color getFillColor()
Returns the fill color used to display this ROI, or null if it is displayed transparently.

See Also:
setFillColor(java.awt.Color), getStrokeColor()

setDefaultFillColor

public static void setDefaultFillColor(java.awt.Color color)

getDefaultFillColor

public static java.awt.Color getDefaultFillColor()

copyAttributes

public void copyAttributes(Roi roi2)
Copy the attributes (outline color, fill color, outline width) of 'roi2' to the this selection.


setInstanceColor

public void setInstanceColor(java.awt.Color c)
Deprecated. replaced by setStrokeColor()


setLineWidth

public void setLineWidth(int width)
Deprecated. replaced by setStrokeWidth(int)


updateWideLine

public void updateWideLine(float width)

setNonScalable

public void setNonScalable(boolean nonScalable)
Set 'nonScalable' true to have TextRois in a display list drawn at a fixed location and size.


setStrokeWidth

public void setStrokeWidth(float width)
Sets the width of the line used to draw this ROI. Set the width to 0.0 and the ROI will be drawn using a a 1 pixel stroke width regardless of the magnification.

See Also:
setStrokeColor(Color), ImagePlus.setOverlay(ij.gui.Overlay)

setStrokeWidth

public void setStrokeWidth(double width)
This is a version of setStrokeWidth() that accepts a double argument.


getStrokeWidth

public float getStrokeWidth()
Returns the lineWidth.


setStroke

public void setStroke(java.awt.BasicStroke stroke)
Sets the Stroke used to draw this ROI.


getStroke

public java.awt.BasicStroke getStroke()
Returns the Stroke used to draw this ROI, or null if no Stroke is used.


getScaledStroke

protected java.awt.BasicStroke getScaledStroke()

getName

public java.lang.String getName()
Returns the name of this ROI, or null.


setName

public void setName(java.lang.String name)
Sets the name of this ROI.


setPasteMode

public static void setPasteMode(int transferMode)
Sets the Paste transfer mode.

See Also:
Blitter

setCornerDiameter

public void setCornerDiameter(int cornerDiameter)
Sets the rounded rectangle corner diameter (pixels).


getCornerDiameter

public int getCornerDiameter()
Returns the rounded rectangle corner diameter (pixels).


setRoundRectArcSize

public void setRoundRectArcSize(int cornerDiameter)
Obsolete; replaced by setCornerDiameter().


getRoundRectArcSize

public int getRoundRectArcSize()
Obsolete; replaced by getCornerDiameter().


setPosition

public void setPosition(int n)
Sets the stack position (image number) of this ROI. In an overlay, this ROI is only displayed when the stack is at the specified position. Set to zero to have the ROI displayed on all images in the stack.

See Also:
Overlay

getPosition

public int getPosition()
Returns the stack position (image number) of this ROI, or zero if the ROI is not associated with a particular stack image.

See Also:
Overlay

setPosition

public void setPosition(int channel,
                        int slice,
                        int frame)
Sets the hyperstack position of this ROI. In an overlay, this ROI is only displayed when the hyperstack is at the specified position.

See Also:
Overlay

getCPosition

public final int getCPosition()
Returns the channel position of this ROI, or zero if this ROI is not associated with a particular channel.


getZPosition

public final int getZPosition()
Returns the slice position of this ROI, or zero if this ROI is not associated with a particular slice.


getTPosition

public final int getTPosition()
Returns the frame position of this ROI, or zero if this ROI is not associated with a particular frame.


setPrototypeOverlay

public void setPrototypeOverlay(Overlay overlay)

getPrototypeOverlay

public Overlay getPrototypeOverlay()

getPasteMode

public int getPasteMode()
Returns the current paste transfer mode, or NOT_PASTING (-1) if no paste operation is in progress.

See Also:
Blitter

getCurrentPasteMode

public static int getCurrentPasteMode()
Returns the current paste transfer mode.


isArea

public boolean isArea()
Returns 'true' if this is an area selection.


isLine

public boolean isLine()
Returns 'true' if this is a line selection.


isDrawingTool

public boolean isDrawingTool()
Returns 'true' if this is an ROI primarily used from drawing (e.g., TextRoi or Arrow).


getMagnification

protected double getMagnification()

getTypeAsString

public java.lang.String getTypeAsString()
Convenience method that converts Roi type to a human-readable form.


isVisible

public boolean isVisible()
Returns true if this ROI is currently displayed on an image.


subPixelResolution

public boolean subPixelResolution()
Returns true if this is a slection that supports sub-pixel resolution.


getDrawOffset

public boolean getDrawOffset()
Returns true if this is a PolygonRoi that supports sub-pixel resolution and polygons are drawn on zoomed images offset down and to the right by 0.5 pixels..


setDrawOffset

public void setDrawOffset(boolean drawOffset)

setIgnoreClipRect

public void setIgnoreClipRect(boolean ignoreClipRect)

isActiveOverlayRoi

public final boolean isActiveOverlayRoi()

equals

public boolean equals(java.lang.Object obj)
Checks whether two rectangles are equal.

Overrides:
equals in class java.lang.Object

screenX

protected int screenX(int ox)

screenY

protected int screenY(int oy)

screenXD

protected int screenXD(double ox)

screenYD

protected int screenYD(double oy)

toInt

public static int[] toInt(float[] arr)
Converts a float array to an int array using truncation.


toInt

public static int[] toInt(float[] arr,
                          int[] arr2,
                          int size)

toIntR

public static int[] toIntR(float[] arr)
Converts a float array to an int array using rounding.


toFloat

public static float[] toFloat(int[] arr)
Converts an int array to a float array.


setProperty

public void setProperty(java.lang.String key,
                        java.lang.String value)

getProperty

public java.lang.String getProperty(java.lang.String property)

setProperties

public void setProperties(java.lang.String properties)

getProperties

public java.lang.String getProperties()

getPropertyCount

public int getPropertyCount()

toString

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

temporarilyHide

public void temporarilyHide()
Deprecated


mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)

getXBase

public double getXBase()

getYBase

public double getYBase()

getFloatWidth

public double getFloatWidth()

getFloatHeight

public double getFloatHeight()

enableSubPixelResolution

public void enableSubPixelResolution()

getDebugInfo

public java.lang.String getDebugInfo()

getHashCode

public int getHashCode()
Returns a hashcode for this Roi that typically changes if it is moved, even though it is still the same object.