ij.gui
Class Line

java.lang.Object
  extended by ij.gui.Roi
      extended by ij.gui.Line
All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
Arrow

public class Line
extends Roi

This class represents a straight line selection.

See Also:
Serialized Form

Field Summary
protected  double startxd
           
protected  double startyd
           
 int x1
           
 double x1d
           
protected  double x1R
           
 int x2
           
 double x2d
           
protected  double x2R
           
 int y1
           
 double y1d
           
protected  double y1R
           
 int y2
           
 double y2d
           
protected  double y2R
           
 
Fields inherited from class ij.gui.Roi
ANGLE, asp_bk, aspect, cachedMask, center, clipboard, clipHeight, clipWidth, clipX, clipY, COMPOSITE, constrain, CONSTRUCTING, defaultFillColor, fillColor, 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
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(int sx, int sy, ImagePlus imp)
          Starts the process of creating a new user-generated straight line selection.
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(int ox1, int oy1, int ox2, int oy2, ImagePlus imp)
          Deprecated. replaced by Line(int, int, int, int)
 
Method Summary
protected  int clipRectMargin()
           
 boolean contains(int x, int y)
           
 void draw(Graphics g)
          Draws this line on the image.
protected  void drawLine(int sx, int sy)
           
 void drawPixels(ImageProcessor ip)
          Draws the selection outline on the specified ImageProcessor.
 double getAngle()
          Overridden by PolygonRoi (angle between first two points), TextRoi (text angle) and Line (line angle).
 Rectangle getBounds()
          Return the bounding rectangle of this line.
 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..
 FloatPolygon getFloatPoints()
          Returns, as a FloatPolygon, the two points that define this line.
 FloatPolygon 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.
 double getLength()
          Returns the length of this line.
 double[] getPixels()
          Returns the pixel values along this line.
 Polygon getPoints()
          Returns, as a Polygon, the two points that define this line.
 Polygon 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.
 double getRawLength()
          Returns the length of this line in pixels.
static int getWidth()
           
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.
protected  void mouseDownInHandle(int handle, int sx, int sy)
           
 void mouseMoved(MouseEvent e)
           
protected  void moveHandle(int sx, int sy)
           
 void nudgeCorner(int key)
          Nudge end point of line by one pixel.
 void setDrawOffset(boolean drawOffset)
           
 void setStrokeWidth(float width)
          Sets the width of the line used to draw this ROI.
static void setWidth(int w)
           
 boolean subPixelResolution()
          Always returns true.
 
Methods inherited from class ij.gui.Roi
abortPaste, addRoiListener, clone, copyAttributes, drawOverlay, drawPixels, enableSubPixelResolution, endPaste, equals, getAngle, getBoundingRect, getColor, getConvexHull, getCornerDiameter, getCPosition, getCurrentPasteMode, getDebugInfo, getDefaultFillColor, getFeretsDiameter, getFeretValues, getFillColor, getFloatAngle, getFloatBounds, getFloatHeight, getFloatWidth, getHashCode, getImage, getImageID, getInterpolatedPolygon, getInterpolatedPolygon, getInterpolatedPolygon, getMagnification, getMask, getName, getPasteMode, getPosition, getProperties, getProperty, getPropertyCount, getPrototypeOverlay, getRoundRectArcSize, getScaledStroke, getState, getStroke, getStrokeColor, getStrokeWidth, getTPosition, getType, getTypeAsString, getXBase, getYBase, getZPosition, handleMouseDrag, isActiveOverlayRoi, isArea, isDrawingTool, isLine, isVisible, lineCircleIntersection, mouseDragged, mouseReleased, notifyListeners, nudge, removeRoiListener, screenX, screenXD, screenY, screenYD, setColor, setCornerDiameter, setDefaultFillColor, setFillColor, setIgnoreClipRect, setImage, setInstanceColor, setLineWidth, setLocation, setLocation, setName, setNonScalable, setPasteMode, setPosition, setPosition, setProperties, setProperty, setPrototypeOverlay, setRoundRectArcSize, setStroke, setStrokeColor, setStrokeWidth, showStatus, startPaste, temporarilyHide, toFloat, toInt, toInt, toIntR, toString, update, updateClipRect, updateWideLine
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

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 Detail

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

public Line(int sx,
            int sy,
            ImagePlus imp)
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

public Line(int ox1,
            int oy1,
            int ox2,
            int oy2,
            ImagePlus imp)
Deprecated. replaced by Line(int, int, int, int)

Method Detail

grow

protected void grow(int sx,
                    int sy)
Overrides:
grow in class Roi

mouseMoved

public void mouseMoved(MouseEvent e)
Overrides:
mouseMoved in class Roi

handleMouseUp

protected void handleMouseUp(int screenX,
                             int screenY)
Overrides:
handleMouseUp in class Roi

drawLine

protected void drawLine(int sx,
                        int sy)

moveHandle

protected void moveHandle(int sx,
                          int sy)
Overrides:
moveHandle in class Roi

mouseDownInHandle

protected void mouseDownInHandle(int handle,
                                 int sx,
                                 int sy)
Overrides:
mouseDownInHandle in class Roi

draw

public void draw(Graphics g)
Draws this line on the image.

Overrides:
draw in class Roi

getAngle

public double getAngle()
Description copied from class: Roi
Overridden by PolygonRoi (angle between first two points), TextRoi (text angle) and Line (line angle).

Overrides:
getAngle in class Roi

getLength

public double getLength()
Returns the length of this line.

Overrides:
getLength in class Roi

getRawLength

public double getRawLength()
Returns the length of this line in pixels.


getPixels

public double[] getPixels()
Returns the pixel values along this line.


getPoints

public Polygon getPoints()
Returns, as a Polygon, the two points that define this line.


getFloatPoints

public FloatPolygon getFloatPoints()
Returns, as a FloatPolygon, the two points that define this line.


getPolygon

public Polygon 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 class Roi
See Also:
getFloatPolygon(), getPoints()

getFloatPolygon

public FloatPolygon 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 class Roi
See Also:
getFloatPoints()

drawPixels

public void drawPixels(ImageProcessor ip)
Description copied from class: Roi
Draws the selection outline on the specified ImageProcessor.

Overrides:
drawPixels in class Roi
See Also:
ImageProcessor.setColor(java.awt.Color), ImageProcessor.setLineWidth(int)

contains

public boolean contains(int x,
                        int y)
Overrides:
contains in class Roi

handleMouseDown

protected void handleMouseDown(int sx,
                               int sy)
Overrides:
handleMouseDown in class Roi

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.

Overrides:
isHandle in class Roi

getWidth

public static int getWidth()

setWidth

public static void setWidth(int w)

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.

Overrides:
setStrokeWidth in class Roi
See Also:
Roi.setStrokeColor(Color), ImagePlus.setOverlay(ij.gui.Overlay)

getBounds

public Rectangle getBounds()
Return the bounding rectangle of this line.

Overrides:
getBounds in class Roi

clipRectMargin

protected int clipRectMargin()
Overrides:
clipRectMargin in class Roi

nudgeCorner

public void nudgeCorner(int key)
Nudge end point of line by one pixel.

Overrides:
nudgeCorner in class Roi

getDrawOffset

public boolean getDrawOffset()
Description copied from class: Roi
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..

Overrides:
getDrawOffset in class Roi

setDrawOffset

public void setDrawOffset(boolean drawOffset)
Overrides:
setDrawOffset in class Roi

subPixelResolution

public boolean subPixelResolution()
Always returns true.

Overrides:
subPixelResolution in class Roi


Copyright © 1997–2015 NIH. All rights reserved.