- java.lang.Object
-
- ij.gui.Roi
-
- ij.gui.PolygonRoi
-
- ij.gui.PointRoi
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.lang.Iterable<java.awt.Point>
public class PointRoi extends PolygonRoi
This class represents a collection of points that can be associated with counters. Use the getPolygon() or getFloatPolygon() methods to retrieve the coordinates of the points.- See Also:
- PointProperties.js, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
CIRCLE
static int
CROSS
static int
CROSSHAIR
static int
DOT
static int
HYBRID
static int
MAX_COUNTERS
static PointRoi
savedPoints
static java.lang.String[]
sizes
static java.lang.String[]
types
-
Fields inherited from class ij.gui.PolygonRoi
maxPoints, nPoints, splinePoints, xp, xp2, xpf, xSpline, yp, yp2, ypf, ySpline
-
Fields inherited from class ij.gui.Roi
ANGLE, asp_bk, aspect, cachedMask, center, clipboard, clipHeight, clipWidth, clipX, clipY, COMPOSITE, constrain, CONSTRUCTING, defaultColor, defaultFillColor, FERET_ARRAY_POINTOFFSET, FERET_ARRAYSIZE, fillColor, flattenScale, FREELINE, FREEROI, HANDLE_SIZE, handleColor, ic, ignoreClipRect, imp, instanceColor, LINE, lineWidth, mag, MOVING, MOVING_HANDLE, nonScalable, NORMAL, NOT_PASTING, oldHeight, oldWidth, oldX, oldY, onePixelWide, OVAL, overlay, pasteMode, POINT, POLYGON, POLYLINE, previousRoi, RECTANGLE, RESIZING, ROIColor, stroke, strokeColor, TRACED_ROI, updateFullWindow, wideLine, xMax, yMax
-
-
Constructor Summary
Constructors Constructor Description PointRoi()
PointRoi(double ox, double oy)
Creates a new PointRoi using the specified offscreen double coordinates.PointRoi(double ox, double oy, java.lang.String options)
Creates a new PointRoi using the specified coordinates and options.PointRoi(float[] ox, float[] oy)
Creates a new PointRoi using the specified float arrays of offscreen coordinates.PointRoi(float[] ox, float[] oy, int points)
Creates a new PointRoi using the specified float arrays of offscreen coordinates.PointRoi(float[] ox, float[] oy, java.lang.String options)
Creates a new PointRoi using the specified coordinate arrays and options.PointRoi(int[] ox, int[] oy, int points)
Creates a new PointRoi using the specified int arrays of offscreen coordinates.PointRoi(int ox, int oy)
Creates a new PointRoi using the specified offscreen int coordinates.PointRoi(int sx, int sy, ImagePlus imp)
Creates a new PointRoi using the specified screen coordinates.PointRoi(FloatPolygon poly)
Creates a new PointRoi from a FloatPolygon.PointRoi(java.awt.Polygon poly)
Creates a new PointRoi from a Polygon.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description PointRoi
addPoint(double x, double y)
Adds a point to this PointRoi.void
addPoint(double x, double y, int position)
Adds a point at the specified stack position.void
addPoint(ImagePlus imp, double ox, double oy)
Adds a point to this PointRoi.boolean
addToOverlay()
void
addUserPoint(ImagePlus imp, double ox, double oy)
java.lang.Object
clone()
Returns a copy of this PointRoi.PointRoi
containedPoints(Roi roi)
Returns the points of this Roi that are contained in the specified area ROI.boolean
contains(int x, int y)
Returns true if (x,y) is one of the points in this collection.void
copyAttributes(Roi roi2)
Copy the attributes (outline color, fill color, outline width) of 'roi2' to the this selection.PointRoi
crop(Roi roi)
protected void
deletePoint(int index)
void
displayCounts()
void
draw(java.awt.Graphics g)
Draws the points on the image.void
drawPixels(ImageProcessor ip)
Draws the selection outline on the specified ImageProcessor.protected int
getClosestPoint(double x, double y, FloatPolygon points)
FloatPolygon
getContainedFloatPoints()
Returns the points as a FloatPolygon.java.awt.Point[]
getContainedPoints()
Returns the points as an array of Points.int
getCount(int counter)
Returns the count associated with the specified counter index.int
getCounter()
Returns the index of the current counter.int
getCounter(int index)
Returns the counter assocated with the specified point.static java.lang.String[]
getCounterChoices()
int[]
getCounterInfo()
int[]
getCounters()
Returns an array containing for each point: The counter number (0-100) in the lower 8 bits, and the slice number (or 0, if the point appears on all slices) in the higher 24 bits.static java.awt.Color
getDefaultCrossColor()
Deprecatedstatic java.lang.String
getDefaultMarkerSize()
Deprecated.static int
getDefaultSize()
Returns the default point size 0-6 (Tiny-XXXL).static int
getDefaultType()
int
getLastCounter()
Returns the index of the last counter.ImageProcessor
getMask()
Always returns null for rectangular Roi'sint
getNCounters()
Returns the number of counters.int
getPointPosition(int index)
Returns the stack slice of the point with the given index, or 0 if no slice defined for this pointint
getPointType()
Returns the point type (0=hybrid, 1=cross, 2=dot, 3=circle).boolean
getShowLabels()
int
getSize()
Returns the current point size 0-6 (Tiny-XXXL).protected void
handleMouseUp(int sx, int sy)
With segmented selections, ignore first mouse up and finalize when user double-clicks, control-clicks or clicks in start box.int
isHandle(int sx, int sy)
Returns a point index if it has been at least one second since the last point was added and the specified screen coordinates are inside or near a point, otherwise returns -1.java.util.Iterator<java.awt.Point>
iterator()
Custom iterator for points contained in aPointRoi
.boolean
promptBeforeDeleting()
void
promptBeforeDeleting(java.lang.Boolean prompt)
void
resetCounters()
void
setCounter(int counter)
void
setCounterInfo(int[] info)
void
setCounters(int[] counters)
Sets the counter number and slice number for each point from an array, where the lower 8 bits are the counter number and the higher 24 bits contain the slice position of each point.static void
setDefaultCounter(int counter)
static void
setDefaultCrossColor(java.awt.Color color)
Deprecatedstatic void
setDefaultMarkerSize(java.lang.String size)
Deprecated.static void
setDefaultSize(int size)
Sets the default point size, where 'size' is 0-6 (Tiny-XXXL).static void
setDefaultType(int type)
void
setHideLabels(boolean hideLabels)
Deprecated.void
setOptions(java.lang.String options)
void
setPointType(int type)
Sets the point type (0=hybrid, 1=cross, 2=dot, 3=circle).void
setShowLabels(boolean showLabels)
void
setSize(int size)
Sets the point size, where 'size' is 0-6 (Tiny-XXXL).boolean
subPixelResolution()
Always returns true.PointRoi
subtractPoints(Roi roi)
Returns the points of this Roi that are not contained in the specified area ROI.java.lang.String
toString()
void
updateCounts()
Updates the counts for each category in 'counters'-
Methods inherited from class ij.gui.PolygonRoi
addOffset, clipRectMargin, containsPoint, deleteHandle, enableSubPixelResolution, exitConstructingMode, fitSpline, fitSpline, fitSplineForStraightening, getAngle, getDebugInfo, getFloatPolygon, getInterpolatedPolygon, getLength, getNCoordinates, getNonSplineCoordinates, getNonSplineFloatPolygon, getPolygon, getUncalibratedLength, getXCoordinates, getYCoordinates, grow, isSplineFit, mouseDownInHandle, mouseMoved, moveHandle, removeSplineFit, resetBoundingRect, setLocation, size, updatePolygon, wipeBack
-
Methods inherited from class ij.gui.Roi
abortModification, abortPaste, addRoiListener, convertLineToArea, convertToPolygon, create, create, drawOverlay, drawPixels, endPaste, equals, getAngle, getAntiAlias, getBoundingRect, getBounds, getColor, getContourCentroid, getConvexHull, getCornerDiameter, getCPosition, getCurrentPasteMode, getDefaultFillColor, getDefaultGroup, getDefaultHandleSize, getDefaultStrokeWidth, getDrawOffset, getFeretsDiameter, getFeretValues, getFillColor, getFloatAngle, getFloatBounds, getFloatConvexHull, getFloatHeight, getFloatPolygon, getFloatWidth, getGroup, getGroupName, getGroupNames, getHandleSize, getHashCode, getImage, getImageID, getInterpolatedPolygon, getInterpolatedPolygon, getInverse, getListeners, getMagnification, getName, getPasteMode, getPosition, getPreviousRoi, getProperties, getProperty, getPropertyCount, getPrototypeOverlay, getRotationCenter, getRoundRectArcSize, getScaledStroke, getScaleStrokeWidth, getState, getStatistics, getStroke, getStrokeColor, getStrokeWidth, getTPosition, getType, getTypeAsString, getXBase, getYBase, getZPosition, handleMouseDown, handleMouseDrag, hasHyperStackPosition, isActiveOverlayRoi, isArea, isCursor, isDrawingTool, isInteger, isLine, isLineOrPoint, isVisible, lineCircleIntersection, magnificationForSubPixel, magnificationForSubPixel, mouseDragged, mouseReleased, notifyListeners, nudge, nudgeCorner, offScreenX, offScreenXD, offScreenY, offScreenYD, removeRoiListener, resetDefaultHandleSize, saveGroupNames, screenX, screenXD, screenY, screenYD, setAntiAlias, setBounds, setColor, setCornerDiameter, setDefaultColor, setDefaultFillColor, setDefaultGroup, setDefaultStrokeWidth, setDrawOffset, setFillColor, setFlattenScale, setGroup, setGroupName, setGroupNames, setHandleSize, setIgnoreClipRect, setImage, setInstanceColor, setIsCursor, setLineWidth, setLocation, setName, setNonScalable, setPasteMode, setPosition, setPosition, setPosition, setPreviousRoi, setProperties, setProperty, setPrototypeOverlay, setRenderingHint, setRotationCenter, setRoundRectArcSize, setStroke, setStrokeColor, setStrokeWidth, setStrokeWidth, setUnscalableStrokeWidth, showStatus, startPaste, temporarilyHide, toFloat, toInt, toInt, toIntR, translate, update, updateClipRect, updateWideLine, useLineSubpixelConvention, xor
-
-
-
-
Field Detail
-
sizes
public static final java.lang.String[] sizes
-
types
public static final java.lang.String[] types
-
HYBRID
public static final int HYBRID
- See Also:
- Constant Field Values
-
CROSS
public static final int CROSS
- See Also:
- Constant Field Values
-
CROSSHAIR
public static final int CROSSHAIR
- See Also:
- Constant Field Values
-
DOT
public static final int DOT
- See Also:
- Constant Field Values
-
CIRCLE
public static final int CIRCLE
- See Also:
- Constant Field Values
-
MAX_COUNTERS
public static final int MAX_COUNTERS
- See Also:
- Constant Field Values
-
savedPoints
public static PointRoi savedPoints
-
-
Constructor Detail
-
PointRoi
public PointRoi()
-
PointRoi
public PointRoi(int[] ox, int[] oy, int points)
Creates a new PointRoi using the specified int arrays of offscreen coordinates.
-
PointRoi
public PointRoi(float[] ox, float[] oy, int points)
Creates a new PointRoi using the specified float arrays of offscreen coordinates.
-
PointRoi
public PointRoi(float[] ox, float[] oy)
Creates a new PointRoi using the specified float arrays of offscreen coordinates.
-
PointRoi
public PointRoi(float[] ox, float[] oy, java.lang.String options)
Creates a new PointRoi using the specified coordinate arrays and options.
-
PointRoi
public PointRoi(FloatPolygon poly)
Creates a new PointRoi from a FloatPolygon.
-
PointRoi
public PointRoi(java.awt.Polygon poly)
Creates a new PointRoi from a Polygon.
-
PointRoi
public PointRoi(double ox, double oy, java.lang.String options)
Creates a new PointRoi using the specified coordinates and options.
-
PointRoi
public PointRoi(int ox, int oy)
Creates a new PointRoi using the specified offscreen int coordinates.
-
PointRoi
public PointRoi(double ox, double oy)
Creates a new PointRoi using the specified offscreen double coordinates.
-
PointRoi
public PointRoi(int sx, int sy, ImagePlus imp)
Creates a new PointRoi using the specified screen coordinates.
-
-
Method Detail
-
setOptions
public void setOptions(java.lang.String options)
-
handleMouseUp
protected void handleMouseUp(int sx, int sy)
Description copied from class:PolygonRoi
With segmented selections, ignore first mouse up and finalize when user double-clicks, control-clicks or clicks in start box.- Overrides:
handleMouseUp
in classPolygonRoi
-
draw
public void draw(java.awt.Graphics g)
Draws the points on the image.- Overrides:
draw
in classPolygonRoi
-
drawPixels
public void drawPixels(ImageProcessor ip)
Description copied from class:Roi
Draws the selection outline on the specified ImageProcessor.- Overrides:
drawPixels
in classPolygonRoi
- See Also:
ImageProcessor.setColor(java.awt.Color)
,ImageProcessor.setLineWidth(int)
-
addPoint
public void addPoint(ImagePlus imp, double ox, double oy)
Adds a point to this PointRoi.
-
addUserPoint
public void addUserPoint(ImagePlus imp, double ox, double oy)
-
addPoint
public PointRoi addPoint(double x, double y)
Adds a point to this PointRoi.
-
addPoint
public void addPoint(double x, double y, int position)
Adds a point at the specified stack position.
-
deletePoint
protected void deletePoint(int index)
- Overrides:
deletePoint
in classPolygonRoi
-
getCounter
public int getCounter()
Returns the index of the current counter.
-
getCount
public int getCount(int counter)
Returns the count associated with the specified counter index.- See Also:
getLastCounter()
, PointProperties.js
-
getLastCounter
public int getLastCounter()
Returns the index of the last counter.
-
getNCounters
public int getNCounters()
Returns the number of counters.
-
getCounter
public int getCounter(int index)
Returns the counter assocated with the specified point.
-
resetCounters
public void resetCounters()
-
subtractPoints
public PointRoi subtractPoints(Roi roi)
Returns the points of this Roi that are not contained in the specified area ROI. Returns null if there are no resulting points or Roi is not an area roi.
-
containedPoints
public PointRoi containedPoints(Roi roi)
Returns the points of this Roi that are contained in the specified area ROI. Returns null if there are no resulting points or Roi is not an area roi.
-
getMask
public ImageProcessor getMask()
Description copied from class:Roi
Always returns null for rectangular Roi's- Overrides:
getMask
in classPolygonRoi
-
contains
public boolean contains(int x, int y)
Returns true if (x,y) is one of the points in this collection.- Overrides:
contains
in classPolygonRoi
-
setShowLabels
public void setShowLabels(boolean showLabels)
-
getShowLabels
public boolean getShowLabels()
-
setDefaultType
public static void setDefaultType(int type)
-
getDefaultType
public static int getDefaultType()
-
setPointType
public void setPointType(int type)
Sets the point type (0=hybrid, 1=cross, 2=dot, 3=circle).
-
getPointType
public int getPointType()
Returns the point type (0=hybrid, 1=cross, 2=dot, 3=circle).
-
setDefaultSize
public static void setDefaultSize(int size)
Sets the default point size, where 'size' is 0-6 (Tiny-XXXL).
-
getDefaultSize
public static int getDefaultSize()
Returns the default point size 0-6 (Tiny-XXXL).
-
setSize
public void setSize(int size)
Sets the point size, where 'size' is 0-6 (Tiny-XXXL).
-
getSize
public int getSize()
Returns the current point size 0-6 (Tiny-XXXL).
-
subPixelResolution
public boolean subPixelResolution()
Always returns true.- Overrides:
subPixelResolution
in classRoi
-
setCounter
public void setCounter(int counter)
-
promptBeforeDeleting
public boolean promptBeforeDeleting()
-
promptBeforeDeleting
public void promptBeforeDeleting(java.lang.Boolean prompt)
-
setDefaultCounter
public static void setDefaultCounter(int counter)
-
getCounters
public int[] getCounters()
Returns an array containing for each point: The counter number (0-100) in the lower 8 bits, and the slice number (or 0, if the point appears on all slices) in the higher 24 bits. Used when writing a Roi to file (RoiEncoder)
-
setCounters
public void setCounters(int[] counters)
Sets the counter number and slice number for each point from an array, where the lower 8 bits are the counter number and the higher 24 bits contain the slice position of each point. Used when reading a roi fromfile (RoiDecoder).
-
updateCounts
public void updateCounts()
Updates the counts for each category in 'counters'
-
getPointPosition
public int getPointPosition(int index)
Returns the stack slice of the point with the given index, or 0 if no slice defined for this point
-
displayCounts
public void displayCounts()
-
getCounterChoices
public static java.lang.String[] getCounterChoices()
-
isHandle
public int isHandle(int sx, int sy)
Returns a point index if it has been at least one second since the last point was added and the specified screen coordinates are inside or near a point, otherwise returns -1.- Overrides:
isHandle
in classPolygonRoi
-
getContainedPoints
public java.awt.Point[] getContainedPoints()
Returns the points as an array of Points. Wilhelm Burger: modified to use FloatPolygon for correct point positions.- Overrides:
getContainedPoints
in classRoi
- See Also:
Roi.getContainedFloatPoints()
,Roi.iterator()
-
getContainedFloatPoints
public FloatPolygon getContainedFloatPoints()
Returns the points as a FloatPolygon.- Overrides:
getContainedFloatPoints
in classRoi
- See Also:
Roi.getContainedPoints()
,Roi.iterator()
-
iterator
public java.util.Iterator<java.awt.Point> iterator()
Custom iterator for points contained in aPointRoi
. Author: W. Burger- Specified by:
iterator
in interfacejava.lang.Iterable<java.awt.Point>
- Overrides:
iterator
in classRoi
- See Also:
Roi.getContainedPoints()
,Roi.getContainedFloatPoints()
-
getClosestPoint
protected int getClosestPoint(double x, double y, FloatPolygon points)
- Overrides:
getClosestPoint
in classPolygonRoi
-
clone
public java.lang.Object clone()
Returns a copy of this PointRoi.- Overrides:
clone
in classPolygonRoi
-
copyAttributes
public void copyAttributes(Roi roi2)
Description copied from class:Roi
Copy the attributes (outline color, fill color, outline width) of 'roi2' to the this selection.- Overrides:
copyAttributes
in classRoi
-
setCounterInfo
public void setCounterInfo(int[] info)
-
getCounterInfo
public int[] getCounterInfo()
-
addToOverlay
public boolean addToOverlay()
-
setHideLabels
public void setHideLabels(boolean hideLabels)
Deprecated.
-
setDefaultMarkerSize
public static void setDefaultMarkerSize(java.lang.String size)
Deprecated.
-
getDefaultMarkerSize
public static java.lang.String getDefaultMarkerSize()
Deprecated.
-
setDefaultCrossColor
public static void setDefaultCrossColor(java.awt.Color color)
Deprecated
-
getDefaultCrossColor
public static java.awt.Color getDefaultCrossColor()
Deprecated
-
-