locan.data.regions.region.Polygon¶
- class locan.data.regions.region.Polygon(points=((0, 0), (0, 1), (1, 1), (1, 0)), holes=None)[source]¶
Bases:
Region2DRegion class to define a polygon.
The polygon is constructed from a list of points that can be closed (i.e. the first and last point are identical) or not (in this case the list of points will be closed implicitly).
- Parameters:
points (npt.ArrayLike) – Points with shape (n_points, 2) that define the exterior boundary of a polygon.
holes (list[npt.ArrayLike] | None) – Points with shape (n_holes, n_points, 2) that define holes within the polygon.
Methods
__init__([points, holes])as_artist([origin])Matplotlib 2D patch object for this region (e.g. matplotlib.patches.Ellipse).
buffer(distance, **kwargs)Extend the region perpendicular by a distance.
contains(points)Return list of indices for all points that are inside the region of interest.
from_intervals(intervals)Constructor for instantiating a line or axis-oriented, box-like Region from list of (min, max) bounds.
from_shapely(polygon)Constructor for instantiating Region from shapely object.
intersection(other)Returns a region representing the intersection of this region with
other.plot([ax])Provide plot of region as
matplotlib.axes.Axesobject.symmetric_difference(other)Returns the union of the two regions minus any areas contained in the intersection of the two regions.
union(other)Returns a region representing the union of this region with
other.Attributes
bounding_boxA region describing the minimum axis-aligned bounding box that encloses the original region.
boundsRegion bounds min_x, min_y, ..., max_x, max_y, .
Point coordinates for region centroid.
dimensionThe region dimension.
A measure between 0 and 1 for how elongated the object is.
extentThe extent (max_x - min_x), (max_y - min_y), .
Holes where each hole is specified by polygon points.
intervalsProvide bounds in a tuple (min, max) arrangement.
isoperimetric_quotientRatio of the area of a region to the area of a circle with the same perimeter:
The maximum distance between any two points within the region.
Exterior polygon points.
radial_distanceAverage of all absolute distances between vertices and centroid.
Region measure, i.e. area (for 2d) or volume (for 3d).
Legacy interface to serve legacy RoiRegion.
Geometric object as defined in shapely.
Measure of the sub-dimensional region, i.e. perimeter length (for 2d) or surface area (for 3d).
Exterior polygon points.
- as_artist(origin=(0, 0), **kwargs)[source]¶
Matplotlib 2D patch object for this region (e.g. matplotlib.patches.Ellipse).
- Parameters:
origin (
Union[_Buffer,_SupportsArray[dtype[Any]],_NestedSequence[_SupportsArray[dtype[Any]]],bool,int,float,complex,str,bytes,_NestedSequence[bool|int|float|complex|str|bytes]]) – The (x, y) pixel position of the origin of the displayed image. Default is (0, 0).kwargs (
Any) – Other parameters passed to the matplotlib.patches object.
- Returns:
Matplotlib patch for the specified region.
- Return type:
matplotlib.patches.Patch
- property centroid: ndarray[tuple[int, ...], dtype[float64]]¶
Point coordinates for region centroid.
- Returns:
of shape (dimension,)
- Return type:
npt.NDArray[np.float64] | None
- contains(points)[source]¶
Return list of indices for all points that are inside the region of interest.
- Parameters:
points (
Union[_Buffer,_SupportsArray[dtype[Any]],_NestedSequence[_SupportsArray[dtype[Any]]],bool,int,float,complex,str,bytes,_NestedSequence[bool|int|float|complex|str|bytes]]) – Coordinates of points that are tested for being inside the specified region.- Returns:
Array with indices for all points in original point array that are within the region.
- Return type:
npt.NDArray[np.int64]
- property elongation: float¶
A measure between 0 and 1 for how elongated the object is. It is computed as: 1 - the ratio of length of minor axis to length of major axis.
- Return type:
float
- classmethod from_shapely(polygon)[source]¶
Constructor for instantiating Region from shapely object.
Note
This function is deprecated.
- Parameters:
shapely_object – Geometric object to be converted into Region
- Return type:
- property holes: list[ndarray[tuple[int, ...], dtype[float64]]] | None¶
Holes where each hole is specified by polygon points.
- Returns:
n holes of shape(n_points, dimension)
- Return type:
list[npt.NDArray[np.float64]] | None
- property max_distance: float¶
The maximum distance between any two points within the region.
- Return type:
float
- property points: ndarray[tuple[int, ...], dtype[float64]]¶
Exterior polygon points.
- Returns:
of shape(n_points, dimension)
- Return type:
npt.NDArray[np.float64]
- property region_measure: float¶
Region measure, i.e. area (for 2d) or volume (for 3d).
- Return type:
float
- property region_specs¶
Legacy interface to serve legacy RoiRegion.
Warning
Do not use - will be deprecated.
- Return type:
dict[str, Any]
- property shapely_object: Polygon¶
Geometric object as defined in shapely.
- Return type:
Shapely object
- property subregion_measure: float¶
Measure of the sub-dimensional region, i.e. perimeter length (for 2d) or surface area (for 3d).
- Return type:
float
- property vertices: ndarray[tuple[int, ...], dtype[float64]]¶
Exterior polygon points.
- Returns:
of shape(n_vertices, dimension)
- Return type:
npt.NDArray[np.float64]