java.lang.Object
ij.gui.Roi
ij.gui.Line
- All Implemented Interfaces:
Serializable
,Cloneable
,Iterable<Point>
- Direct Known Subclasses:
Arrow
This class represents a straight line selection.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Dedicated point iterator for thin lines. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected double
protected double
int
double
protected double
int
double
protected double
int
double
protected double
int
double
protected double
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, type, updateFullWindow, wideLine, xMax, yMax
-
Constructor Summary
ConstructorsConstructorDescriptionLine
(double ox1, double oy1, double ox2, double oy2) Creates a new straight line selection using the specified starting and ending offscreen double coordinates.Line
(int ox1, int oy1, int ox2, int oy2) Creates a new straight line selection using the specified starting and ending offscreen integer coordinates.Deprecated.replaced by Line(int, int, int, int)Starts the process of creating a new user-generated straight line selection. -
Method Summary
Modifier and TypeMethodDescriptionprotected int
boolean
contains
(int x, int y) Returns whether the center of pixel (x,y) is contained in the Roi.static Line
create
(double x1, double y1, double x2, double y2) Creates a new straight line selection using the specified starting and ending offscreen coordinates.void
Draws this line on the image.protected void
drawLine
(int sx, int sy) void
If the width of this line is less than or equal to one, draws the line.double
getAngle()
Overridden by PolygonRoi (angle between first two points), TextRoi (text angle) and Line (line angle).Returns, as a FloatPolygon, the two points that define this line.If the width of this line is less than or equal to one, returns the starting and ending coordinates as a 2-point FloatPolygon, or, if the width is greater than one, returns an outline of the line as a 4-point FloatPolygon.getFloatPolygon
(double strokeWidth) Obsoletedouble
Returns the length of this line.double[]
Returns the pixel values along this line.Returns, as a Polygon, the two points that define this line.If the width of this line is less than or equal to one, returns the starting and ending coordinates as a 2-point Polygon, or, if the width is greater than one, returns an outline of the line as a 4-point Polygon.double
Returns the length of this line in pixels.static int
getWidth()
Returns the default line width.protected void
grow
(int sx, int sy) protected void
handleMouseDown
(int sx, int sy) protected void
handleMouseUp
(int screenX, int screenY) int
isHandle
(int sx, int sy) Returns a handle number if the specified screen coordinates are inside or near a handle, otherwise returns -1.iterator()
Required by theIterable
interface.protected void
mouseDownInHandle
(int handle, int sx, int sy) void
protected void
moveHandle
(int sx, int sy) void
nudgeCorner
(int key) Nudge end point of line by one pixel.void
setLocation
(double x, double y) Sets the x coordinate of the leftmost and y coordinate of the topmost end pointvoid
setLocation
(int x, int y) Set the location of the ROI in image coordinates.void
setStrokeWidth
(float width) Sets the width of the line used to draw this ROI.static void
setWidth
(int w) Sets the default line width.void
int
size()
Returns the number of points in this selection; equivalent to getPolygon().npoints.boolean
Always returns true.Methods inherited from class ij.gui.Roi
abortModification, abortPaste, addRoiListener, clone, containsPoint, convertLineToArea, convertToPolygon, copyAttributes, create, drawOverlay, drawPixels, enableSubPixelResolution, endPaste, equals, getAngle, getAntiAlias, getBoundingRect, getBounds, getColor, getContainedFloatPoints, getContainedPoints, getContourCentroid, getConvexHull, getCornerDiameter, getCPosition, getCurrentPasteMode, getDebugInfo, getDefaultFillColor, getDefaultGroup, getDefaultHandleSize, getDefaultStrokeWidth, getDrawOffset, getFeretsDiameter, getFeretValues, getFillColor, getFloatAngle, getFloatBounds, getFloatConvexHull, getFloatHeight, getFloatPolygon, getFloatWidth, getGroup, getGroupName, getGroupNames, getHandleSize, getHashCode, getImage, getImageID, getInterpolatedPolygon, getInterpolatedPolygon, getInterpolatedPolygon, getInverse, getListeners, getMagnification, getMask, getName, getPasteMode, getPosition, getPreviousRoi, getProperties, getProperty, getPropertyCount, getPrototypeOverlay, getRoundRectArcSize, getScaledStroke, getScaleStrokeWidth, getState, getStatistics, getStroke, getStrokeColor, getStrokeWidth, getTPosition, getType, getTypeAsString, getXBase, getYBase, getZPosition, handleMouseDrag, hasHyperStackPosition, isActiveOverlayRoi, isArea, isCursor, isDrawingTool, isInteger, isLine, isLineOrPoint, isVisible, lineCircleIntersection, magnificationForSubPixel, magnificationForSubPixel, mouseDragged, mouseReleased, notifyListeners, nudge, 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, setName, setNonScalable, setPasteMode, setPosition, setPosition, setPosition, setPreviousRoi, setProperties, setProperty, setPrototypeOverlay, setRenderingHint, setRotationCenter, setRoundRectArcSize, setStroke, setStrokeColor, setStrokeWidth, setUnscalableStrokeWidth, startPaste, temporarilyHide, toFloat, toInt, toInt, toIntR, toString, translate, update, updateClipRect, updateWideLine, useLineSubpixelConvention, xor
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
-
x1
public int x1 -
y1
public int y1 -
x2
public int x2 -
y2
public int y2 -
x1d
public double x1d -
y1d
public double y1d -
x2d
public double x2d -
y2d
public double y2d -
x1R
protected double x1R -
y1R
protected double y1R -
x2R
protected double x2R -
y2R
protected double y2R -
startxd
protected double startxd -
startyd
protected double startyd
-
-
Constructor Details
-
Line
public Line(int ox1, int oy1, int ox2, int oy2) Creates a new straight line selection using the specified starting and ending offscreen integer coordinates. -
Line
public Line(double ox1, double oy1, double ox2, double oy2) Creates a new straight line selection using the specified starting and ending offscreen double coordinates. -
Line
Starts the process of creating a new user-generated straight line selection. 'sx' and 'sy' are screen coordinates that specify the start of the line. The user will determine the end of the line interactively using rubber banding. -
Line
Deprecated.replaced by Line(int, int, int, int)
-
-
Method Details
-
create
Creates a new straight line selection using the specified starting and ending offscreen coordinates. -
grow
protected void grow(int sx, int sy) -
mouseMoved
- Overrides:
mouseMoved
in classRoi
-
handleMouseUp
protected void handleMouseUp(int screenX, int screenY) - Overrides:
handleMouseUp
in classRoi
-
drawLine
protected void drawLine(int sx, int sy) -
moveHandle
protected void moveHandle(int sx, int sy) - Overrides:
moveHandle
in classRoi
-
mouseDownInHandle
protected void mouseDownInHandle(int handle, int sx, int sy) - Overrides:
mouseDownInHandle
in classRoi
-
draw
Draws this line on the image. -
showStatus
public void showStatus()- Overrides:
showStatus
in classRoi
-
getAngle
public double getAngle()Description copied from class:Roi
Overridden by PolygonRoi (angle between first two points), TextRoi (text angle) and Line (line angle). -
getLength
public double getLength()Returns the length of this line. -
getRawLength
public double getRawLength()Returns the length of this line in pixels. -
getPixels
public double[] getPixels()Returns the pixel values along this line. The line roi must have an associated ImagePlus -
getPoints
Returns, as a Polygon, the two points that define this line. -
getFloatPoints
Returns, as a FloatPolygon, the two points that define this line. -
getPolygon
If the width of this line is less than or equal to one, returns the starting and ending coordinates as a 2-point Polygon, or, if the width is greater than one, returns an outline of the line as a 4-point Polygon.- Overrides:
getPolygon
in classRoi
- See Also:
-
getFloatPolygon
If the width of this line is less than or equal to one, returns the starting and ending coordinates as a 2-point FloatPolygon, or, if the width is greater than one, returns an outline of the line as a 4-point FloatPolygon.- Overrides:
getFloatPolygon
in classRoi
- See Also:
-
getFloatPolygon
Obsolete -
size
public int size()Returns the number of points in this selection; equivalent to getPolygon().npoints. -
drawPixels
If the width of this line is less than or equal to one, draws the line. Otherwise draws the outline of the area of this line.- Overrides:
drawPixels
in classRoi
- See Also:
-
contains
public boolean contains(int x, int y) Description copied from class:Roi
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. -
handleMouseDown
protected void handleMouseDown(int sx, int sy) - Overrides:
handleMouseDown
in classRoi
-
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. -
getWidth
public static int getWidth()Returns the default line width. Use getStrokeWidth()to get the width of a Line instance.- See Also:
-
setWidth
public static void setWidth(int w) Sets the default line width. Use setStrokeWidth() to set the width of a Line instance.- See Also:
-
setStrokeWidth
public void setStrokeWidth(float width) Description copied from class:Roi
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. -
clipRectMargin
protected int clipRectMargin()- Overrides:
clipRectMargin
in classRoi
-
nudgeCorner
public void nudgeCorner(int key) Nudge end point of line by one pixel.- Overrides:
nudgeCorner
in classRoi
-
subPixelResolution
public boolean subPixelResolution()Always returns true.- Overrides:
subPixelResolution
in classRoi
-
setLocation
public void setLocation(int x, int y) Description copied from class:Roi
Set the location of the ROI in image coordinates.- Overrides:
setLocation
in classRoi
-
setLocation
public void setLocation(double x, double y) Sets the x coordinate of the leftmost and y coordinate of the topmost end point- Overrides:
setLocation
in classRoi
-
getRotationCenter
- Overrides:
getRotationCenter
in classRoi
-
iterator
Description copied from class:Roi
Required by theIterable
interface. Use to iterate over the contained coordinates. Usage example:for (Point p : roi) { // process p }
Author: Wilhelm Burger
-