- All Implemented Interfaces:
Serializable
,Cloneable
,Iterable<Point>
Iterable<Point>
and can thus be
used to iterate over the contained coordinates. Usage example:
Roi roi = ...; for (Point p : roi) { // process p }Convention for subpixel resolution and zooming in:
- Area ROIs: Integer coordinates refer to the top-left corner of the pixel with these coordinates. Thus, pixel (0,0) is enclosed by the rectangle spanned between points (0,0) and (1,1), i.e., a rectangle at (0,0) with width = height = 1 pixel.
- Line and Point Rois: Integer coordinates refer to the center of a pixel. Thus, a line from (0,0) to (1,0) has its start and end points in the center of pixels (0,0) and (1,0), respectively, and drawing the line should affect both pixels. For images dispplayed at high zoom levels, this means that (open) lines and single points are displayed 0.5 pixels further to the right and bottom than the outlines of area ROIs (closed lines) with the same coordinates.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
protected double
protected boolean
protected ImageProcessor
protected boolean
protected ImagePlus
protected int
protected int
protected int
protected int
static final int
protected boolean
static final int
protected static Color
protected static Color
static final int
static final int
protected Color
protected double
static final int
static final int
static final int
protected Color
protected ImageCanvas
protected boolean
protected ImagePlus
protected Color
static final int
protected static int
protected double
static final int
static final int
protected boolean
static final int
static final int
protected int
protected int
protected int
protected int
static final BasicStroke
static final int
protected boolean
protected static int
static final int
static final int
static final int
static Roi
Get using getPreviousRoi() and set using setPreviousRoi()static final int
static final int
protected static Color
protected BasicStroke
protected Color
static final int
protected int
protected boolean
protected boolean
protected int
protected int
-
Constructor Summary
ConstructorsConstructorDescriptionRoi
(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 x, int y, int width, int height) Creates a rectangular ROI.Roi
(int x, int y, int width, int height, int cornerDiameter) Creates a new rounded rectangular ROI.Deprecated.Starts the process of creating a user-defined rectangular Roi, where sx and sy are the starting screen coordinates.Starts the process of creating a user-defined rectangular Roi, where sx and sy are the starting screen coordinates.Creates a new rectangular Roi. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Aborts constructing or modifying the roi (called by the ImageJ class on escape)void
static void
addRoiListener
(RoiListener listener) protected int
clone()
Returns a copy of this roi.boolean
contains
(int x, int y) Returns whether the center of pixel (x,y) is contained in the Roi.boolean
containsPoint
(double x, double y) Returns whether coordinate (x,y) is contained in the Roi.static Roi
convertLineToArea
(Roi line) Converts a line selection into an area (polygon or composite) selection.
Author: Michael SchmidDeprecated.void
copyAttributes
(Roi roi2) Copy the attributes (outline color, fill color, outline width) of 'roi2' to the this selection.static Roi
create
(double x, double y, double width, double height) Creates a rectangular ROI.static Roi
create
(double x, double y, double width, double height, int cornerDiameter) Creates a rounded rectangular ROI.void
void
void
Deprecated.replaced by drawPixels(ImageProcessor)void
Draws the selection outline on the specified ImageProcessor.void
void
endPaste()
boolean
Checks whether two rectangles are equal.double
getAngle()
Overridden by PolygonRoi (angle between first two points), TextRoi (text angle) and Line (line angle).double
getAngle
(int x1, int y1, int x2, int y2) Returns the angle in degrees between the specified line and a horizontal line.boolean
Deprecated.replaced by getBounds()Returns this selection's bounding rectangle.static Color
getColor()
Returns the default (global) color used for drawing ROI outlines.Returns the coordinates of the pixels inside this ROI as a FloatPolygon.Point[]
Returns the coordinates of the pixels inside this ROI as an array of Points.double[]
Returns the convex hull of this Roi as a Polygon with integer coordinates by rounding the floating-point values.int
Returns the rounded rectangle corner diameter (pixels).final int
Returns the channel position of this ROI, or zero if this ROI is not associated with a particular channel.static int
Returns the current paste transfer mode.static Color
static int
Returns the group value assigned to newly created ROIs.static int
Returns the default handle size.static double
Returns the default stroke width.boolean
Deprecated.Drawoffset is not used any more.double
Returns Feret's diameter, the greatest distance between any two points along the ROI boundary.double[]
Returns an array with the following values:
[0] "Feret" (maximum caliper width)
[1] "FeretAngle" (angle of diameter with maximum caliper width, between 0 and 180 deg)
[2] "MinFeret" (minimum caliper width)
[3][4] , "FeretX" and "FeretY", the X and Y coordinates of the starting point (leftmost point) of the maximum-caliper-width diameter.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.Returns this selection's bounding rectangle (with subpixel accuracy).Returns the convex hull of this Roi as a FloatPolygon.double
Returns the outline of this selection as a FloatPolygongetFloatPolygon
(String options) Returns the outline in image pixel coordinates, where options may include "close" to add a point to close the outline if this is an area roi and the outline is not closed yet.double
int
getGroup()
Returns the group attribute of this ROI.static String
getGroupName
(int groupNumber) Returns the group name associtated with the specified group.static String
Returns the group names as a comma-delimeted string.int
Returns the current handle size.int
Returns a hashcode for this Roi that typically changes if it is moved, even though it is still the same object.getImage()
Returns the ImagePlus associated with this ROI, or null.int
Returns the ID of the image associated with this ROI.Returns, as a FloatPolygon, an interpolated version of this selection that has points spaced 1.0 pixel apart.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) Returns, as a FloatPolygon, an interpolated version of this selection with points spaced abs('interval') pixels apart.getInverse
(ImagePlus imp) Returns the inverted roi, or null if this is not an area roi or cannot be converted to a ShapeRoi.double
Returns the perimeter length.static Vector
protected double
getMask()
Always returns null for rectangular Roi'sgetName()
Returns the name of this ROI, or null.int
Returns the current paste transfer mode, or NOT_PASTING (-1) if no paste operation is in progress.Returns the outline of this selection as a Polygon.int
Returns the stack position (image number) of this ROI, or zero if the ROI is not associated with a particular stack image.static Roi
Returns the Roi saved by setPreviousRoi().getProperty
(String property) int
int
Obsolete; replaced by getCornerDiameter().protected BasicStroke
boolean
Returns 'true' if the stroke width is scaled as images are zoomed.int
getState()
Returns the Stroke used to draw this ROI, or null if no Stroke is used.Returns the the color used to draw the ROI outline or null if the default color is being used.float
Returns the line width.final int
Returns the frame position of this ROI, or zero if this ROI is not associated with a particular frame.int
getType()
Convenience method that converts Roi type to a human-readable form.double
getXBase()
double
getYBase()
final int
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
Returns 'true' if setPosition(C,Z,T) has been called.final boolean
Returns 'true' if this ROI is displayed and is also in an overlay.boolean
isArea()
Returns 'true' if this is an area selection.boolean
isCursor()
boolean
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.static boolean
isInteger
(double x) Returns whether a number is an integerboolean
isLine()
Returns 'true' if this is a line selection.boolean
Return 'true' if this is a line or point selection.boolean
Returns true if this ROI is currently displayed on an image.iterator()
Required by theIterable
interface.static double[]
lineCircleIntersection
(double ax, double ay, double bx, double by, double cx, double cy, double rad, boolean ignoreOutside) Calculates intersections of a line segment with a circle Author N.Vischer ax, ay, bx, by: points A and B of line segment cx, cy, rad: Circle center and radius.protected boolean
Returns whether a roi created interactively should have subpixel resolution, (if the roi type supports it), i.e., whether the magnification is high enoughprotected static boolean
magnificationForSubPixel
(double magnification) protected void
mouseDownInHandle
(int handle, int sx, int sy) void
void
void
protected void
moveHandle
(int sx, int sy) void
notifyListeners
(int id) 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.protected int
offScreenX
(int sx) Converts image canvas screen x coordinates to integer offscreen image pixel coordinates, depending on whether this roi uses the line or area convention for coordinates.protected double
offScreenXD
(int sx) Converts image canvas screen x coordinates to floating-point offscreen image pixel coordinates, depending on whether this roi uses the line or area convention for coordinates.protected int
offScreenY
(int sy) Converts image canvas screen y coordinates to integer offscreen image pixel coordinates, depending on whether this roi uses the line or area convention for coordinates.protected double
offScreenYD
(int sy) Converts image canvas screen y coordinates to floating-point offscreen image pixel coordinates, depending on whether this roi uses the line or area convention for coordinates.static void
removeRoiListener
(RoiListener listener) static void
static void
protected int
screenX
(int ox) protected int
screenXD
(double ox) Converts an image pixel x (offscreen)coordinate to a screen x coordinate, taking the the line or area convention for coordinates into accountprotected int
screenY
(int oy) protected int
screenYD
(double oy) Converts an image pixel y (offscreen)coordinate to a screen y coordinate, taking the the line or area convention for coordinates into accountvoid
setAntiAlias
(boolean antiAlias) void
Sets the bounds of rectangular, oval or text selections.static void
Sets the default (global) color used for ROI outlines.void
setCornerDiameter
(int cornerDiameter) Sets the rounded rectangle corner diameter (pixels).static void
setDefaultColor
(Color color) Sets the default stroke color.static void
setDefaultFillColor
(Color color) static void
setDefaultGroup
(int group) Sets the group value assigned to newly created ROIs, and also sets the default ROI color to the group color.static void
setDefaultStrokeWidth
(double width) Sets the default stroke width.void
setDrawOffset
(boolean drawOffset) Deprecated.This method was previously used to draw lines and polylines shifted by 0.5 pixels top the bottom and right, for better agreement with the position used by ProfilePlot, with the default taken from Prefs.subPixelResolution.void
setFillColor
(Color color) Sets the fill color used to display this ROI, or set to null to display it transparently.void
setFlattenScale
(double scale) void
setGroup
(int group) Sets the group of this Roi, and updates stroke color accordingly.static void
setGroupName
(int groupNumber, String name) static void
setGroupNames
(String names) Sets the group names from a comma-delimeted string.void
setHandleSize
(int size) Sets the current handle size.void
setIgnoreClipRect
(boolean ignoreClipRect) void
Sets the ImagePlus associated with this ROI.void
Deprecated.replaced by setStrokeColor()void
setIsCursor
(boolean isCursor) 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
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
setPosition
(ImagePlus imp) Sets the position of this ROI based on the stack position of the specified image.static void
setPreviousRoi
(Roi roi) Saves 'roi' so it can be restored later using Edit/Selection/Restore Selection.void
setProperties
(String properties) void
setProperty
(String key, String value) void
setPrototypeOverlay
(Overlay overlay) protected void
void
setRotationCenter
(double x, double y) void
setRoundRectArcSize
(int cornerDiameter) Obsolete; replaced by setCornerDiameter().void
setStroke
(BasicStroke stroke) Sets the Stroke used to draw this ROI.void
Sets the color used by this ROI to draw its outline.void
setStrokeWidth
(double strokeWidth) This is a version of setStrokeWidth() that accepts a double argument.void
setStrokeWidth
(float strokeWidth) Sets the width of the line used to draw this ROI.void
setUnscalableStrokeWidth
(double strokeWidth) Sets the width of the line used to draw this ROI and prevents the width from increasing when the image is zoomed.void
int
size()
Returns the number of points in this selection; equivalent to getFloatPolygon().npoints.void
startPaste
(ImagePlus clipboard) boolean
Returns true if this is a slection that supports sub-pixel resolution.void
Deprecatedstatic 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.toString()
void
translate
(double dx, double dy) void
update
(boolean add, boolean subtract) If 'add' is true, adds this selection to the previous one.protected void
void
updateWideLine
(float width) protected boolean
Returns 'true' if this ROI uses for drawing the convention for line and point ROIs, where the coordinates are with respect to the pixel center.static Roi
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
CONSTRUCTING
public static final int CONSTRUCTING- See Also:
-
MOVING
public static final int MOVING- See Also:
-
RESIZING
public static final int RESIZING- See Also:
-
NORMAL
public static final int NORMAL- See Also:
-
MOVING_HANDLE
public static final int MOVING_HANDLE- See Also:
-
RECTANGLE
public static final int RECTANGLE- See Also:
-
OVAL
public static final int OVAL- See Also:
-
POLYGON
public static final int POLYGON- See Also:
-
FREEROI
public static final int FREEROI- See Also:
-
TRACED_ROI
public static final int TRACED_ROI- See Also:
-
LINE
public static final int LINE- See Also:
-
POLYLINE
public static final int POLYLINE- See Also:
-
FREELINE
public static final int FREELINE- See Also:
-
ANGLE
public static final int ANGLE- See Also:
-
COMPOSITE
public static final int COMPOSITE- See Also:
-
POINT
public static final int POINT- See Also:
-
HANDLE_SIZE
public static final int HANDLE_SIZE- See Also:
-
NOT_PASTING
public static final int NOT_PASTING- See Also:
-
FERET_ARRAYSIZE
public static final int FERET_ARRAYSIZE- See Also:
-
FERET_ARRAY_POINTOFFSET
public static final int FERET_ARRAY_POINTOFFSET- See Also:
-
onePixelWide
-
ROIColor
-
pasteMode
protected static int pasteMode -
lineWidth
protected static int lineWidth -
defaultFillColor
-
previousRoi
Get using getPreviousRoi() and set using setPreviousRoi() -
type
protected int type -
xMax
protected int xMax -
yMax
protected int yMax -
imp
-
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
-
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
-
handleColor
-
strokeColor
-
instanceColor
-
fillColor
-
stroke
-
nonScalable
protected boolean nonScalable -
overlay
protected boolean overlay -
wideLine
protected boolean wideLine -
ignoreClipRect
protected boolean ignoreClipRect -
flattenScale
protected double flattenScale -
defaultColor
-
-
Constructor Details
-
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
Creates a new rectangular Roi. -
Roi
Starts the process of creating a user-defined rectangular Roi, where sx and sy are the starting screen coordinates. -
Roi
Starts the process of creating a user-defined rectangular Roi, where sx and sy are the starting screen coordinates. For rectangular rois, also a corner diameter may be specified to make it a rounded rectangle -
Roi
Deprecated.
-
-
Method Details
-
create
Creates a rectangular ROI. -
create
Creates a rounded rectangular ROI. -
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. -
translate
public void translate(double dx, double dy) -
setImage
Sets the ImagePlus associated with this ROI.imp
may be null to remove the association to an image. -
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()Returns an array with the following values:
[0] "Feret" (maximum caliper width)
[1] "FeretAngle" (angle of diameter with maximum caliper width, between 0 and 180 deg)
[2] "MinFeret" (minimum caliper width)
[3][4] , "FeretX" and "FeretY", the X and Y coordinates of the starting point (leftmost point) of the maximum-caliper-width diameter.
[5-7] reserved
All these values and point coordinates are in calibrated image coordinates.The following array elements are end points of the maximum and minimum caliper diameter, in unscaled image pixel coordinates:
[8][9] "FeretX1", "FeretY1"; unscaled versions of "FeretX" and "FeretY" (subclasses may use any end of the diameter, not necessarily the left one)
[10][11] "FeretX2", "FeretY2", end point of the maxium-caliper-width diameter. Both of these points are vertices of the convex hull.
The final four array elements are the starting and end points of the minimum caliper width,
[12],[13] "MinFeretX", "MinFeretY", and
[14],[15] "MinFeretX2", "MinFeretY2". These two pooints are not sorted by x, but the first point point (MinFeretX, MinFeretY) is guaranteed to be a vertex of the convex hull, while second point (MinFeretX2, MinFeretY2) usually is not a vertex point but at a boundary line of the convex hull. -
getConvexHull
Returns the convex hull of this Roi as a Polygon with integer coordinates by rounding the floating-point values. Coordinates of the convex hull are image pixel coordinates. -
getFloatConvexHull
Returns the convex hull of this Roi as a FloatPolygon. Coordinates of the convex hull are image pixel coordinates. -
getBounds
Returns this selection's bounding rectangle. -
getFloatBounds
Returns this selection's bounding rectangle (with subpixel accuracy). -
setBounds
Sets the bounds of rectangular, oval or text selections. Note that for these types, subpixel resolution is ignored, and the x,y values are rounded down, the width and height values rounded up. Do not use for other ROI types since their width and height are results of a calculation. For translating ROIs, use setLocation. -
getBoundingRect
Deprecated.replaced by getBounds() -
getPolygon
Returns the outline of this selection as a Polygon. -
getFloatPolygon
Returns the outline of this selection as a FloatPolygon -
getFloatPolygon
Returns the outline in image pixel coordinates, where options may include "close" to add a point to close the outline if this is an area roi and the outline is not closed yet. (For ShapeRois, "separate" inserts NaN values between subpaths). -
getInterpolatedPolygon
Returns, as a FloatPolygon, an interpolated version of this selection that has points spaced 1.0 pixel apart. -
getInterpolatedPolygon
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
Returns, as a FloatPolygon, an interpolated version of this selection with points spaced abs('interval') pixels apart. If 'smooth' is true, traced and freehand selections are first smoothed using a 3 point running average. If 'interval' is negative, the program is allowed to decrease abs('interval') so that the last segment will hit the end point -
getContainedPoints
Returns the coordinates of the pixels inside this ROI as an array of Points.- See Also:
-
getContainedFloatPoints
Returns the coordinates of the pixels inside this ROI as a FloatPolygon.- See Also:
-
lineCircleIntersection
public static double[] lineCircleIntersection(double ax, double ay, double bx, double by, double cx, double cy, double rad, boolean ignoreOutside) Calculates intersections of a line segment with a circle Author N.Vischer ax, ay, bx, by: points A and B of line segment cx, cy, rad: Circle center and radius. ignoreOutside: if true, ignores intersections outside the line segment A-B Returns an array of 0, 2 or 4 coordinates (for 0, 1, or 2 intersection points). If two intersection points are returned, they are listed in travel direction A->B
-
clone
Returns a copy of this roi. See Thinking is Java by Bruce Eckel (www.eckelobjects.com) for a good description of object cloning. -
abortModification
Aborts constructing or modifying the roi (called by the ImageJ class on escape) -
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
-
drawOverlay
-
getHandleSize
public int getHandleSize()Returns the current handle size. -
setHandleSize
public void setHandleSize(int size) Sets the current handle size. -
getDefaultHandleSize
public static int getDefaultHandleSize()Returns the default handle size. -
resetDefaultHandleSize
public static void resetDefaultHandleSize() -
drawPixels
public void drawPixels()Deprecated.replaced by drawPixels(ImageProcessor) -
drawPixels
Draws the selection outline on the specified ImageProcessor. -
contains
public boolean contains(int x, int y) Returns whether the center of pixel (x,y) is contained in the Roi. The position of a pixel center determines whether a pixel is selected. Points exactly at the left (right) border are considered outside (inside); points exactly on horizontal borders are considered outside (inside) at the border with the lower (higher) y. This convention is opposite to that of the java.awt.Shape class. -
containsPoint
public boolean containsPoint(double x, double y) Returns whether coordinate (x,y) is contained in the Roi. Note that the coordinate (0,0) is the top-left corner of pixel (0,0). Use contains(int, int) to determine whether a given pixel is contained in the Roi. -
getInverse
Returns the inverted roi, or null if this is not an area roi or cannot be converted to a ShapeRoi. If imp is not given, assumes a rectangle of size 2e9*2e9 for the boundary. -
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
public void showStatus() -
getMask
Always returns null for rectangular Roi's -
startPaste
-
endPaste
public void endPaste() -
abortPaste
public void abortPaste() -
getDefaultStrokeWidth
public static double getDefaultStrokeWidth()Returns the default stroke width. -
setDefaultStrokeWidth
public static void setDefaultStrokeWidth(double width) Sets the default stroke width. -
getDefaultGroup
public static int getDefaultGroup()Returns the group value assigned to newly created ROIs. -
setDefaultGroup
public static void setDefaultGroup(int group) Sets the group value assigned to newly created ROIs, and also sets the default ROI color to the group color. Set to zero to not have a default group and to use the default ROI color.- See Also:
-
setGroup(int)
getGroup()
getGroupColor(int)
-
getGroup
public int getGroup()Returns the group attribute of this ROI. -
getGroupName
Returns the group name associtated with the specified group. -
setGroupName
-
saveGroupNames
public static void saveGroupNames() -
getGroupNames
Returns the group names as a comma-delimeted string. -
setGroupNames
Sets the group names from a comma-delimeted string. -
setGroup
public void setGroup(int group) Sets the group of this Roi, and updates stroke color accordingly. -
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
Sets the default (global) color used for ROI outlines.- See Also:
-
getColor
Returns the default (global) color used for drawing ROI outlines.- See Also:
-
setStrokeColor
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. Set the stroke color after setting the fill color to both fill and outline the ROI. -
getStrokeColor
Returns the the color used to draw the ROI outline or null if the default color is being used.- See Also:
-
setDefaultColor
Sets the default stroke color. -
setFillColor
Sets the fill color used to display this ROI, or set to null to display it transparently.- See Also:
-
getFillColor
Returns the fill color used to display this ROI, or null if it is displayed transparently.- See Also:
-
setDefaultFillColor
-
getDefaultFillColor
-
setAntiAlias
public void setAntiAlias(boolean antiAlias) -
getAntiAlias
public boolean getAntiAlias() -
setRenderingHint
-
copyAttributes
Copy the attributes (outline color, fill color, outline width) of 'roi2' to the this selection. -
setInstanceColor
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 strokeWidth) 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. -
setStrokeWidth
public void setStrokeWidth(double strokeWidth) This is a version of setStrokeWidth() that accepts a double argument. -
setUnscalableStrokeWidth
public void setUnscalableStrokeWidth(double strokeWidth) Sets the width of the line used to draw this ROI and prevents the width from increasing when the image is zoomed. -
getStrokeWidth
public float getStrokeWidth()Returns the line width. -
setStroke
Sets the Stroke used to draw this ROI. -
getStroke
Returns the Stroke used to draw this ROI, or null if no Stroke is used. -
getScaleStrokeWidth
public boolean getScaleStrokeWidth()Returns 'true' if the stroke width is scaled as images are zoomed. -
getScaledStroke
-
getName
Returns the name of this ROI, or null. -
setName
Sets the name of this ROI. -
setPasteMode
public static void setPasteMode(int transferMode) Sets the Paste transfer mode.- See Also:
-
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:
-
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:
-
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:
-
hasHyperStackPosition
public boolean hasHyperStackPosition()Returns 'true' if setPosition(C,Z,T) has been called. -
setPosition
Sets the position of this ROI based on the stack position of the specified image. -
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
-
getPrototypeOverlay
-
getPasteMode
public int getPasteMode()Returns the current paste transfer mode, or NOT_PASTING (-1) if no paste operation is in progress.- See Also:
-
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. -
isLineOrPoint
public boolean isLineOrPoint()Return 'true' if this is a line or point 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
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
Deprecated.Drawoffset is not used any more. -
setDrawOffset
Deprecated.This method was previously used to draw lines and polylines shifted by 0.5 pixels top the bottom and right, for better agreement with the position used by ProfilePlot, with the default taken from Prefs.subPixelResolution. Now the shift is independent of this setting and only depends on the ROI type (area or line/point ROI). -
setIgnoreClipRect
public void setIgnoreClipRect(boolean ignoreClipRect) -
isActiveOverlayRoi
public final boolean isActiveOverlayRoi()Returns 'true' if this ROI is displayed and is also in an overlay. -
equals
Checks whether two rectangles are equal. -
offScreenX
protected int offScreenX(int sx) Converts image canvas screen x coordinates to integer offscreen image pixel coordinates, depending on whether this roi uses the line or area convention for coordinates. -
offScreenY
protected int offScreenY(int sy) Converts image canvas screen y coordinates to integer offscreen image pixel coordinates, depending on whether this roi uses the line or area convention for coordinates. -
offScreenXD
protected double offScreenXD(int sx) Converts image canvas screen x coordinates to floating-point offscreen image pixel coordinates, depending on whether this roi uses the line or area convention for coordinates. -
offScreenYD
protected double offScreenYD(int sy) Converts image canvas screen y coordinates to floating-point offscreen image pixel coordinates, depending on whether this roi uses the line or area convention for coordinates. -
useLineSubpixelConvention
protected boolean useLineSubpixelConvention()Returns 'true' if this ROI uses for drawing the convention for line and point ROIs, where the coordinates are with respect to the pixel center. Returns false for area rois, which have coordinates with respect to the upper left corners of the pixels -
magnificationForSubPixel
protected boolean magnificationForSubPixel()Returns whether a roi created interactively should have subpixel resolution, (if the roi type supports it), i.e., whether the magnification is high enough -
magnificationForSubPixel
protected static boolean magnificationForSubPixel(double magnification) -
screenXD
protected int screenXD(double ox) Converts an image pixel x (offscreen)coordinate to a screen x coordinate, taking the the line or area convention for coordinates into account -
screenYD
protected int screenYD(double oy) Converts an image pixel y (offscreen)coordinate to a screen y coordinate, taking the the line or area convention for coordinates into account -
screenX
protected int screenX(int ox) -
screenY
protected int screenY(int 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. -
isInteger
public static boolean isInteger(double x) Returns whether a number is an integer -
setProperty
-
getProperty
-
setProperties
-
getProperties
-
getPropertyCount
public int getPropertyCount() -
toString
-
temporarilyHide
public void temporarilyHide()Deprecated -
mouseDragged
-
mouseMoved
-
mouseReleased
-
getXBase
public double getXBase() -
getYBase
public double getYBase() -
getFloatWidth
public double getFloatWidth() -
getFloatHeight
public double getFloatHeight() -
getAngle
public double getAngle()Overridden by PolygonRoi (angle between first two points), TextRoi (text angle) and Line (line angle). -
enableSubPixelResolution
public void enableSubPixelResolution() -
setIsCursor
public void setIsCursor(boolean isCursor) -
isCursor
public boolean isCursor() -
getDebugInfo
-
getStatistics
-
getRotationCenter
-
setRotationCenter
public void setRotationCenter(double x, double y) -
size
public int size()Returns the number of points in this selection; equivalent to getFloatPolygon().npoints. -
setPreviousRoi
Saves 'roi' so it can be restored later using Edit/Selection/Restore Selection. -
getPreviousRoi
Returns the Roi saved by setPreviousRoi(). -
getContourCentroid
public double[] getContourCentroid() -
convertToPolygon
Deprecated.Obsolete, replaced by Roi.convertLineToArea() -
convertLineToArea
Converts a line selection into an area (polygon or composite) selection.
Author: Michael Schmid -
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. -
setFlattenScale
public void setFlattenScale(double scale) -
notifyListeners
public void notifyListeners(int id) -
xor
-
addRoiListener
-
removeRoiListener
-
getListeners
-
iterator
Required by theIterable
interface. Use to iterate over the contained coordinates. Usage example:for (Point p : roi) { // process p }
Author: Wilhelm Burger
-