public class Roi
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable
Modifier and Type | Field and Description |
---|---|
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 and Description |
---|
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.
|
Modifier and Type | Method and Description |
---|---|
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.
|
Rois |
forwardTraverse() |
double |
getAngle(int x1,
int y1,
int x2,
int y2)
Returns the angle in degrees between the specified line and a horizontal line.
|
double |
getArea()
Calculates the area of the Roi passed as argument (in pixel values).
|
java.awt.Rectangle |
getBoundingRect()
Deprecated.
replaced by getBounds()
|
java.awt.Rectangle |
getBounds()
Return this selection's bounding rectangle.
|
java.awt.Point |
getCentroid()
Calculates the centroid point of the Roi passed as argument (in pixel coordinates).
|
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.
|
Roi |
getNextRoi()
JAH: I added this!
|
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.
|
Roi |
getPreviousRoi()
JAH: I added this!
|
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) |
void |
saveRoi(java.lang.String path)
Saves the ROI at the explicit path provided and does not add .roi to the end.
|
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 |
setNextRoi(Roi nRoi)
JAH: I added this!
|
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 |
setPreviousRoi(Roi pRoi)
JAH: I added this!
|
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) |
public static final int CONSTRUCTING
public static final int MOVING
public static final int RESIZING
public static final int NORMAL
public static final int MOVING_HANDLE
public static final int RECTANGLE
public static final int OVAL
public static final int POLYGON
public static final int FREEROI
public static final int TRACED_ROI
public static final int LINE
public static final int POLYLINE
public static final int FREELINE
public static final int ANGLE
public static final int COMPOSITE
public static final int POINT
public static final int HANDLE_SIZE
public static final int NOT_PASTING
public static Roi previousRoi
public static final java.awt.BasicStroke onePixelWide
protected static java.awt.Color ROIColor
protected static int pasteMode
protected static int lineWidth
protected static java.awt.Color defaultFillColor
protected int type
protected int xMax
protected int yMax
protected ImagePlus imp
protected ImageCanvas ic
protected int oldX
protected int oldY
protected int oldWidth
protected int oldHeight
protected int clipX
protected int clipY
protected int clipWidth
protected int clipHeight
protected ImagePlus clipboard
protected boolean constrain
protected boolean center
protected boolean aspect
protected boolean updateFullWindow
protected double mag
protected double asp_bk
protected ImageProcessor cachedMask
protected java.awt.Color handleColor
protected java.awt.Color strokeColor
protected java.awt.Color instanceColor
protected java.awt.Color fillColor
protected java.awt.BasicStroke stroke
protected boolean nonScalable
protected boolean overlay
protected boolean wideLine
protected boolean ignoreClipRect
public Roi(int x, int y, int width, int height)
public Roi(double x, double y, double width, double height)
public Roi(int x, int y, int width, int height, int cornerDiameter)
public Roi(double x, double y, double width, double height, int cornerDiameter)
public Roi(java.awt.Rectangle r)
public Roi(int sx, int sy, ImagePlus imp)
public Roi(int sx, int sy, ImagePlus imp, int cornerDiameter)
public Roi(int x, int y, int width, int height, ImagePlus imp)
public void setLocation(int x, int y)
public void setLocation(double x, double y)
public void saveRoi(java.lang.String path)
public void setImage(ImagePlus imp)
public ImagePlus getImage()
public int getImageID()
public int getType()
public int getState()
public double getLength()
public double getFeretsDiameter()
public double[] getFeretValues()
public java.awt.Polygon getConvexHull()
public java.awt.Rectangle getBounds()
public java.awt.geom.Rectangle2D.Double getFloatBounds()
public java.awt.Rectangle getBoundingRect()
public java.awt.Polygon getPolygon()
public FloatPolygon getFloatPolygon()
public FloatPolygon getInterpolatedPolygon()
public FloatPolygon getInterpolatedPolygon(double interval, boolean smooth)
protected FloatPolygon getInterpolatedPolygon(FloatPolygon p, double interval, boolean smooth)
public Roi rescale(double fromBinSize, double toBinSize)
public java.lang.Object clone()
clone
in class java.lang.Object
protected void grow(int sx, int sy)
protected void moveHandle(int sx, int sy)
public void nudge(int key)
public void nudgeCorner(int key)
protected void updateClipRect()
protected int clipRectMargin()
protected void handleMouseDrag(int sx, int sy, int flags)
public void draw(java.awt.Graphics g)
public void drawOverlay(java.awt.Graphics g)
public void setPreviousRoi(Roi pRoi)
public Roi getPreviousRoi()
public void setNextRoi(Roi nRoi)
public Roi getNextRoi()
public void drawPixels()
public void drawPixels(ImageProcessor ip)
public Rois forwardTraverse()
public double getArea()
public java.awt.Point getCentroid()
public boolean contains(int x, int y)
public int isHandle(int sx, int sy)
protected void mouseDownInHandle(int handle, int sx, int sy)
protected void handleMouseDown(int sx, int sy)
protected void handleMouseUp(int screenX, int screenY)
public void update(boolean add, boolean subtract)
protected void showStatus()
public ImageProcessor getMask()
public void startPaste(ImagePlus clipboard)
public void endPaste()
public void abortPaste()
public double getAngle(int x1, int y1, int x2, int y2)
public double getFloatAngle(double x1, double y1, double x2, double y2)
public static void setColor(java.awt.Color c)
getColor()
,
setStrokeColor(Color)
public static java.awt.Color getColor()
setColor(Color)
,
getStrokeColor()
public void setStrokeColor(java.awt.Color c)
getStrokeColor()
,
setStrokeWidth(float)
,
ij.ImagePlus#setOverlay(ij.gui.Overlay)
public java.awt.Color getStrokeColor()
setStrokeColor(Color)
public void setFillColor(java.awt.Color color)
getFillColor()
,
setStrokeColor(java.awt.Color)
public java.awt.Color getFillColor()
setFillColor(java.awt.Color)
,
getStrokeColor()
public static void setDefaultFillColor(java.awt.Color color)
public static java.awt.Color getDefaultFillColor()
public void copyAttributes(Roi roi2)
public void setInstanceColor(java.awt.Color c)
public void setLineWidth(int width)
public void updateWideLine(float width)
public void setNonScalable(boolean nonScalable)
public void setStrokeWidth(float width)
setStrokeColor(Color)
,
ij.ImagePlus#setOverlay(ij.gui.Overlay)
public void setStrokeWidth(double width)
public float getStrokeWidth()
public void setStroke(java.awt.BasicStroke stroke)
public java.awt.BasicStroke getStroke()
protected java.awt.BasicStroke getScaledStroke()
public java.lang.String getName()
public void setName(java.lang.String name)
public static void setPasteMode(int transferMode)
ij.process.Blitter
public void setCornerDiameter(int cornerDiameter)
public int getCornerDiameter()
public void setRoundRectArcSize(int cornerDiameter)
public int getRoundRectArcSize()
public void setPosition(int n)
ij.gui.Overlay
public int getPosition()
ij.gui.Overlay
public void setPosition(int channel, int slice, int frame)
ij.gui.Overlay
public final int getCPosition()
public final int getZPosition()
public final int getTPosition()
public void setPrototypeOverlay(Overlay overlay)
public Overlay getPrototypeOverlay()
public int getPasteMode()
ij.process.Blitter
public static int getCurrentPasteMode()
public boolean isArea()
public boolean isLine()
public boolean isDrawingTool()
protected double getMagnification()
public java.lang.String getTypeAsString()
public boolean isVisible()
public boolean subPixelResolution()
public boolean getDrawOffset()
public void setDrawOffset(boolean drawOffset)
public void setIgnoreClipRect(boolean ignoreClipRect)
public final boolean isActiveOverlayRoi()
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
protected int screenX(int ox)
protected int screenY(int oy)
protected int screenXD(double ox)
protected int screenYD(double oy)
public static int[] toInt(float[] arr)
public static int[] toInt(float[] arr, int[] arr2, int size)
public static int[] toIntR(float[] arr)
public static float[] toFloat(int[] arr)
public void setProperty(java.lang.String key, java.lang.String value)
public java.lang.String getProperty(java.lang.String property)
public void setProperties(java.lang.String properties)
public java.lang.String getProperties()
public int getPropertyCount()
public java.lang.String toString()
toString
in class java.lang.Object
public void temporarilyHide()
public void mouseDragged(java.awt.event.MouseEvent e)
public void mouseMoved(java.awt.event.MouseEvent e)
public void mouseReleased(java.awt.event.MouseEvent e)
public double getXBase()
public double getYBase()
public double getFloatWidth()
public double getFloatHeight()
public void enableSubPixelResolution()
public java.lang.String getDebugInfo()
public int getHashCode()