locan.data.region.Polygon#
- class locan.data.region.Polygon(points=((0, 0), (0, 1), (1, 1), (1, 0)), holes=None)[source]#
Bases:
Region2D
Region 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 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.Axes
object.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_box
A region describing the minimum axis-aligned bounding box that encloses the original region.
bounds
Region bounds min_x, min_y, ..., max_x, max_y, .
Point coordinates for region centroid.
dimension
The region dimension.
extent
The extent (max_x - min_x), (max_y - min_y), .
Holes where each hole is specified by polygon points.
The maximum distance between any two points within the region.
Exterior polygon points.
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. circumference (for 2d) or surface (for 3d).
- as_artist(origin=(0, 0), **kwargs)[source]#
Matplotlib 2D patch object for this region (e.g. matplotlib.patches.Ellipse).
- Parameters:
origin (
Union
[_SupportsArray
[dtype
[Any
]],_NestedSequence
[_SupportsArray
[dtype
[Any
]]],bool
,int
,float
,complex
,str
,bytes
,_NestedSequence
[Union
[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[Any, 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
[_SupportsArray
[dtype
[Any
]],_NestedSequence
[_SupportsArray
[dtype
[Any
]]],bool
,int
,float
,complex
,str
,bytes
,_NestedSequence
[Union
[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]
- classmethod from_shapely(polygon)[source]#
Constructor for instantiating Region from shapely object.
- Parameters:
shapely_object – Geometric object to be converted into Region
- Return type:
- property holes: list[ndarray[Any, 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[Any, 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. circumference (for 2d) or surface (for 3d).
- Return type:
float