Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## ij.gui
Class Roi

    java.lang.Object
      ij.gui.Roi

All Implemented Interfaces:
  java.lang.Cloneable, java.io.Serializable

Direct Known Subclasses:
  Line, OvalRoi, PolygonRoi, ShapeRoi, TextRoi

public class Roi
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable

A rectangular region of interest and superclass for the other ROI classes.

See Also:
  Serialized Form

Field Summary
`static int` | `ANGLE`
`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`
`static int` | `FREELINE`
`static int` | `FREEROI`
`static int` | `HANDLE_SIZE`
`protected java.awt.Color` | `handleColor`
`protected ImageCanvas` | `ic`
`protected ImagePlus` | `imp`
`protected java.awt.Color` | `instanceColor`
`static int` | `LINE`
`protected double` | `mag`
`static int` | `MOVING`
`static int` | `MOVING_HANDLE`
`protected java.lang.String` | `name`
`static int` | `NORMAL`
`static int` | `NOT_PASTING`
`protected int` | `oldHeight`
`protected int` | `oldWidth`
`protected int` | `oldX`
`protected int` | `oldY`
`static int` | `OVAL`
`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`
`static int` | `TRACED_ROI`
`protected int` | `type`
`protected boolean` | `updateFullWindow`
`protected int` | `xMax`
`protected int` | `yMax`

Constructor Summary
`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 x, int y, int width, int height)` Creates a new rectangular Roi.
`Roi(int x, int y, int width, int height, ImagePlus imp)` Obsolete
`Roi(java.awt.Rectangle r)` Creates a new rectangular Roi.

Method Summary
`void` | `abortPaste()`
`java.lang.Object` | `clone()` Returns a copy of this roi.
`boolean` | `contains(int x, int y)`
`void` | `draw(java.awt.Graphics g)`
`void` | `drawPixels()` Obsolete, use drawPixels(ImageProcessor)
`void` | `drawPixels(ImageProcessor ip)` Draws the selection outline on the specified ImageProcessor.
`void` | `endPaste()`
`boolean` | `equals(java.lang.Object obj)` Checks whether two rectangles are equal.
`double` | `getAngle(int x1, int y1, int x2, int y2)` Returns the angle in degrees between the specified line and a horizontal line.
`java.awt.Rectangle` | `getBoundingRect()` This obsolete method has been replaced by getBounds().
`java.awt.Rectangle` | `getBounds()` Return this selection's bounding rectangle.
`static java.awt.Color` | `getColor()` Returns the color used for drawing ROI outlines.
`static int` | `getCurrentPasteMode()` Returns the current paste transfer mode.
`double` | `getFeretsDiameter()` Returns Feret's diameter, the greatest distance between any two points along the ROI boundary.
`double` | `getLength()` Returns the perimeter length.
`ImageProcessor` | `getMask()` Always returns null for rectangular Roi's
`java.lang.String` | `getName()` Returns the name of this ROI, or null.
`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` | `getState()`
`int` | `getType()`
`java.lang.String` | `getTypeAsString()` Convenience method that converts Roi type to a human-readable form.
`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` | `isArea()` Returns true if this is an area selection.
`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)`
`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.
`static void` | `setColor(java.awt.Color c)` Sets the color used for ROI outlines to the specified value.
`void` | `setImage(ImagePlus imp)`
`void` | `setInstanceColor(java.awt.Color c)` Sets the color used by this ROI to draw its outline.
`void` | `setLocation(int x, int y)`
`void` | `setName(java.lang.String name)` Sets the name of this ROI.
`static void` | `setPasteMode(int transferMode)` Sets the Paste transfer mode.
`protected void` | `showStatus()`
`void` | `startPaste(ImagePlus clipboard)`
`java.lang.String` | `toString()`
`void` | `update(boolean add, boolean subtract)` If 'add' is true, adds this selection to the previous one.
`protected void` | `updateClipRect()`

Methods inherited from class java.lang.Object
`finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### CONSTRUCTING

    public static final int CONSTRUCTING

See Also:
  Constant Field Values

### MOVING

    public static final int MOVING

See Also:
  Constant Field Values

### RESIZING

    public static final int RESIZING

See Also:
  Constant Field Values

### NORMAL

    public static final int NORMAL

See Also:
  Constant Field Values

### MOVING_HANDLE

    public static final int MOVING_HANDLE

See Also:
  Constant Field Values

### RECTANGLE

    public static final int RECTANGLE

See Also:
  Constant Field Values

### OVAL

    public static final int OVAL

See Also:
  Constant Field Values

### POLYGON

    public static final int POLYGON

See Also:
  Constant Field Values

### FREEROI

    public static final int FREEROI

See Also:
  Constant Field Values

### TRACED_ROI

    public static final int TRACED_ROI

See Also:
  Constant Field Values

### LINE

    public static final int LINE

See Also:
  Constant Field Values

### POLYLINE

    public static final int POLYLINE

See Also:
  Constant Field Values

### FREELINE

    public static final int FREELINE

See Also:
  Constant Field Values

### ANGLE

    public static final int ANGLE

See Also:
  Constant Field Values

### COMPOSITE

    public static final int COMPOSITE

See Also:
  Constant Field Values

### POINT

    public static final int POINT

See Also:
  Constant Field Values

### HANDLE_SIZE

    public static final int HANDLE_SIZE

See Also:
  Constant Field Values

### NOT_PASTING

    public static final int NOT_PASTING

See Also:
  Constant Field Values

### previousRoi

    public static Roi previousRoi

### ROIColor

    protected static java.awt.Color ROIColor

### pasteMode

    protected static int pasteMode

### type

    protected int type

### xMax

    protected int xMax

### yMax

    protected int yMax

### imp

    protected ImagePlus imp

### ic

    protected ImageCanvas 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

    protected ImagePlus clipboard

### constrain

    protected boolean constrain

### center

    protected boolean center

### updateFullWindow

    protected boolean updateFullWindow

### mag

    protected double mag

### name

    protected java.lang.String name

### cachedMask

    protected ImageProcessor cachedMask

### handleColor

    protected java.awt.Color handleColor

### instanceColor

    protected java.awt.Color instanceColor

Constructor Detail

### Roi

    public Roi(int x,
               int y,
               int width,
               int height)

  Creates a new rectangular Roi.

### Roi

    public Roi(java.awt.Rectangle r)

  Creates a new rectangular Roi.

### Roi

    public 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

    public Roi(int x,
               int y,
               int width,
               int height,
               ImagePlus imp)

  Obsolete

Method Detail

### setLocation

    public void setLocation(int x,
                            int y)

### setImage

    public void setImage(ImagePlus imp)

### 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.

### getBounds

    public java.awt.Rectangle getBounds()

  Return this selection's bounding rectangle.

### getBoundingRect

    public java.awt.Rectangle getBoundingRect()

  This obsolete method has been replaced by getBounds().

### getPolygon

    public java.awt.Polygon getPolygon()

  Returns the outline of this selection as a Polygon, or null if this is a straight line selection.

  See Also:
    `ImageProcessor.setRoi(java.awt.Rectangle)`, `ImageProcessor.drawPolygon(java.awt.Polygon)`, `ImageProcessor.fillPolygon(java.awt.Polygon)`

### clone

    public java.lang.Object clone()

  Returns a copy of this roi. See Thinking is Java by Bruce Eckel (www.eckelobjects.com) for a good description of object cloning.

### 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()

### handleMouseDrag

    protected void handleMouseDrag(int sx,
                                   int sy,
                                   int flags)

### draw

    public void draw(java.awt.Graphics g)

### drawPixels

    public void drawPixels()

  Obsolete, use drawPixels(ImageProcessor)

### drawPixels

    public void drawPixels(ImageProcessor ip)

  Draws the selection outline on the specified ImageProcessor.

  See Also:
    `ImageProcessor.setColor(java.awt.Color)`, `ImageProcessor.setLineWidth(int)`

### contains

    public boolean contains(int x,
                            int y)

### 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

    protected void showStatus()

### getMask

    public ImageProcessor getMask()

  Always returns null for rectangular Roi's

### startPaste

    public void startPaste(ImagePlus clipboard)

### endPaste

    public void endPaste()

### abortPaste

    public void abortPaste()

### 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.

### getColor

    public static java.awt.Color getColor()

  Returns the color used for drawing ROI outlines.

### setColor

    public static void setColor(java.awt.Color c)

  Sets the color used for ROI outlines to the specified value.

### setInstanceColor

    public void setInstanceColor(java.awt.Color c)

  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.

### getName

    public java.lang.String getName()

  Returns the name of this ROI, or null.

### setName

    public void setName(java.lang.String name)

  Sets the name of this ROI.

### setPasteMode

    public static void setPasteMode(int transferMode)

  Sets the Paste transfer mode.

  See Also:
    `Blitter`

### getPasteMode

    public int getPasteMode()

  Returns the current paste transfer mode, or NOT_PASTING (-1) if no paste operation is in progress.

  See Also:
    `Blitter`

### 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.

### getTypeAsString

    public java.lang.String 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.

### equals

    public boolean equals(java.lang.Object obj)

  Checks whether two rectangles are equal.

### toString

    public java.lang.String toString()

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD