# PolygonalROI¶

class glue.core.roi.PolygonalROI(vx=None, vy=None)[source]

Bases: `VertexROIBase`

A class to define 2D polygonal regions of interest.

Parameters:
vxfloat or array-like, optional

Initial x vertices.

vyfloat or array-like, optional

Initial y vertices.

Methods Summary

 `area`([signed]) Return area of polygon using the shoelace formula. Return centroid (centre of mass) of polygon. `contains`(x, y) Test which of a set of (x, y) points fall within the region of interest. Return arithmetic mean (of vertex positions) of polygon. `move_to`(xdelta, ydelta) Translate the ROI to a center of (x, y) `rotate_to`(theta[, center]) Rotate polygon to position angle theta around center.

Methods Documentation

area(signed=False)[source]

Return area of polygon using the shoelace formula.

Parameters:
signedbool, optional

If True, return signed area from the cross product calculation, indicating whether vertices are ordered clockwise (negative) or counter clockwise (positive).

centroid()[source]

Return centroid (centre of mass) of polygon.

contains(x, y)[source]

Test which of a set of (x, y) points fall within the region of interest.

Parameters:
xfloat or array-like

x coordinate(s) of point(s).

yfloat or array-like

y coordinate(s) of point(s).

Returns:
insidebool or ~numpy.ndarray

An boolean iterable, where each element is True if the corresponding (x, y) tuple is inside the Roi.

Raises:
UndefinedROI

If not defined.

mean()[source]

Return arithmetic mean (of vertex positions) of polygon.

move_to(xdelta, ydelta)[source]

Translate the ROI to a center of (x, y)

rotate_to(theta, center=None)[source]

Rotate polygon to position angle theta around center.

Parameters:
thetafloat

Angle of anticlockwise rotation around center in radian.

centerpair of float, optional

Coordinates of center of rotation. Defaults to `centroid()`, for linear “polygons” to `mean()`.