Module ij
Package ij.gui

# Class OvalRoi

java.lang.Object
ij.gui.Roi
ij.gui.OvalRoi

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Iterable<Point>`

public class OvalRoi extends Roi
Oval region of interest

See Also:
  - Serialized Form

## Field Summary

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

Constructors
Constructor
Description
`OvalRoi(double x, double y, double width, double height)`
Creates an OvalRoi using double arguments.
`OvalRoi(int x, int y, int width, int height)`
Creates an OvalRoi.
`OvalRoi(int x, int y, int width, int height, ImagePlus imp)`
Deprecated.
`OvalRoi(int x, int y, ImagePlus imp)`
Starts the process of creating a user-defined OvalRoi.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`contains(int ox, int oy)`
Tests whether the center of the specified pixel is inside the boundary of this OvalRoi.
`boolean`
`containsPoint(double x, double y)`
Returns whether coordinate (x,y) is contained in the Roi.
`static OvalRoi`
`create(double x, double y, double width, double height)`
Creates an OvalRoi.
`void`
`draw(Graphics g)`
`void`
`drawPixels(ImageProcessor ip)`
Draws an outline of this OvalRoi on the image.
`double[]`
`getFeretValues()`
Feret (caliper width) values, see ij.gui.Roi.getFeretValues().
`FloatPolygon`
`getFloatPolygon()`
Returns this OvalRoi as a FloatPolygon approximating the ellipse.
`FloatPolygon`
`getFloatPolygon4()`
Returns this OvalRoi as a 4 point FloatPolygon (x,y,w,h).
`double`
`getLength()`
Returns the perimeter length using Ramanujan's approximation for the circumference of an ellipse
`ImageProcessor`
`getMask()`
Always returns null for rectangular Roi's
`Polygon`
`getPolygon()`
Returns this OvalRoi as a Polygon that outlines the mask, in image pixel coordinates.
`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`
`moveHandle(int sx, int sy)`
`int`
`size()`
Returns the number of corner points in the mask of this selection; equivalent to getPolygon().npoints.

### Methods inherited from class ij.gui.Roi

`abortModification, abortPaste, addRoiListener, clipRectMargin, clone, convertLineToArea, convertToPolygon, copyAttributes, create, drawOverlay, drawPixels, enableSubPixelResolution, endPaste, equals, getAngle, getAngle, getAntiAlias, getBoundingRect, getBounds, getColor, getContainedFloatPoints, getContainedPoints, getContourCentroid, getConvexHull, getCornerDiameter, getCPosition, getCurrentPasteMode, getDebugInfo, getDefaultFillColor, getDefaultGroup, getDefaultHandleSize, getDefaultStrokeWidth, getDrawOffset, getFeretsDiameter, getFillColor, getFloatAngle, getFloatBounds, getFloatConvexHull, getFloatHeight, getFloatPolygon, getFloatWidth, getGroup, getGroupName, getGroupNames, getHandleSize, getHashCode, getImage, getImageID, getInterpolatedPolygon, 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, grow, handleMouseDown, handleMouseDrag, handleMouseUp, hasHyperStackPosition, isActiveOverlayRoi, isArea, isCursor, isDrawingTool, isInteger, isLine, isLineOrPoint, isVisible, iterator, lineCircleIntersection, magnificationForSubPixel, magnificationForSubPixel, mouseDownInHandle, mouseDragged, mouseMoved, 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, setLocation, setName, setNonScalable, setPasteMode, setPosition, setPosition, setPosition, setPreviousRoi, setProperties, setProperty, setPrototypeOverlay, setRenderingHint, setRotationCenter, setRoundRectArcSize, setStroke, setStrokeColor, setStrokeWidth, setStrokeWidth, setUnscalableStrokeWidth, showStatus, startPaste, subPixelResolution, 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`

## Constructor Details

### OvalRoi

public OvalRoi(int x, int y, int width, int height)
Creates an OvalRoi.

### OvalRoi

public OvalRoi(double x, double y, double width, double height)
Creates an OvalRoi using double arguments.

### OvalRoi

public OvalRoi(int x, int y, ImagePlus imp)
Starts the process of creating a user-defined OvalRoi.

### OvalRoi

public OvalRoi(int x, int y, int width, int height, ImagePlus imp)
Deprecated.

## Method Details

### create

public static OvalRoi create(double x, double y, double width, double height)
Creates an OvalRoi.

### getFeretValues

public double[] getFeretValues()
Feret (caliper width) values, see ij.gui.Roi.getFeretValues(). The superclass method of calculating this via the convex hull is less accurate for the MinFeret because it does not get the exact minor axis.

Overrides:
  `getFeretValues` in class `Roi`

### moveHandle

protected void moveHandle(int sx, int sy)

Overrides:
  `moveHandle` in class `Roi`

### draw

public void draw(Graphics g)

Overrides:
  `draw` in class `Roi`

### drawPixels

public void drawPixels(ImageProcessor ip)
Draws an outline of this OvalRoi on the image.

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

### getPolygon

public Polygon getPolygon()
Returns this OvalRoi as a Polygon that outlines the mask, in image pixel coordinates.

Overrides:
  `getPolygon` in class `Roi`
See Also:
  - `ImageProcessor.setRoi(java.awt.Rectangle)`
  - `ImageProcessor.drawPolygon(java.awt.Polygon)`
  - `ImageProcessor.fillPolygon(java.awt.Polygon)`

### getFloatPolygon

public FloatPolygon getFloatPolygon()
Returns this OvalRoi as a FloatPolygon approximating the ellipse.

Overrides:
  `getFloatPolygon` in class `Roi`

### getFloatPolygon4

public FloatPolygon getFloatPolygon4()
Returns this OvalRoi as a 4 point FloatPolygon (x,y,w,h).

### size

public int size()
Returns the number of corner points in the mask of this selection; equivalent to getPolygon().npoints.

Overrides:
  `size` in class `Roi`

### contains

public boolean contains(int ox, int oy)
Tests whether the center of the specified pixel is inside the boundary of this OvalRoi. Authors: Barry DeZonia and Michael Schmid

Overrides:
  `contains` in class `Roi`

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

Overrides:
  `containsPoint` 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`

### getMask

public ImageProcessor getMask()
Description copied from class: `Roi`
Always returns null for rectangular Roi's

Overrides:
  `getMask` in class `Roi`

### getLength

public double getLength()
Returns the perimeter length using Ramanujan's approximation for the circumference of an ellipse

Overrides:
  `getLength` in class `Roi`