Polygon#
- class lsst.images.Polygon(*, x_vertices: Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str], y_vertices: Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str])#
Bases:
RegionA simple 2-d polygon in Euclidean coordinates, with no holes.
Parameters#
- x_vertices
The x coordinates of the vertices of the polygon.
- y_vertices
The y coordinate of the vertices of the polygon.
Attributes Summary
The area of the region (
float).The integer-coordinate bounding box of the region (
Box).The number of vertices in the polygon.
The 'Well-Known Text' representation of this region (
str).The x coordinates of the vertices of the polygon.
The y coordinates of the vertices of the polygon.
Methods Summary
contains([other, x, y])Test whether the geometry contains the given points or another geometry.
difference(other)Compute the point-set difference of this region with another.
from_box(box)Construct from an integer-coordinate box.
from_legacy(legacy)Convert from a legacy
lsst.afw.geom.Polygoninstance.from_wkt(wkt)Construct from a 'Well-Known Text' string.
intersection(other)Compute the intersection of this region with a
Boundsobject.Serialize the region to a Pydantic model.
Convert to a legacy
lsst.afw.geom.Polygoninstance.Convert to a
shapely.Polygonorshapely.MultiPolygonobject.If the underlying geometry is a rectangle that fully covers integer pixels (i.e. has all vertices at half-integer positions), return the equivalent
Box.If the underlying geometry is a single polygon with no holes, return a
Polygoninstance holding it.union(other)Compute the point-set union of this region with another.
Attributes Documentation
- area#
The area of the region (
float).
- bbox#
The integer-coordinate bounding box of the region (
Box).Because a
Boxlogically contains the entirety of the pixels on its boundary, but the centers of those pixels are the numerical values of its bounds, the region may contain vertices that are up to 0.5 beyond the integer box coordinates in either dimension.
- n_vertices#
The number of vertices in the polygon.
- wkt#
The ‘Well-Known Text’ representation of this region (
str).
- x_vertices#
The x coordinates of the vertices of the polygon.
This is a read-only array; polygons are immutable.
- y_vertices#
The y coordinates of the vertices of the polygon.
This is a read-only array; polygons are immutable.
Methods Documentation
- contains(other: Region | None = None, *, x: float | int | ndarray | None = None, y: float | int | ndarray | None = None) bool | ndarray#
Test whether the geometry contains the given points or another geometry.
Parameters#
- other
Another geometry to compare to. Not compatible with the
yandxarguments.- x
One or more floating-point or integer X coordinates to test for containment. If an array, an array of results will be returned.
- y
One or more floating-point or integer Y coordinates to test for containment. If an array, an array of results will be returned.
- static from_box(box: Box) Polygon#
Construct from an integer-coordinate box.
Notes#
Because the integer min and max coordinates of the box are interpreted as pixel centers, these are expanded by 0.5 on all sides before using them to form the polygon vertices.
- static from_legacy(legacy: LegacyPolygon) Polygon#
Convert from a legacy
lsst.afw.geom.Polygoninstance.
- intersection(other: Bounds) Bounds#
Compute the intersection of this region with a
Boundsobject.Notes#
Because
Regionimplements theBoundsinterface, its intersections need to support all otherBoundsobjects. This is not true of otherRegionpoint-set operations likeunionanddifference.
- serialize() RegionSerializationModel#
Serialize the region to a Pydantic model.
Region serialization uses a subset of the GeoJSON specification (IETF RFC 7946).
- to_legacy() LegacyPolygon#
Convert to a legacy
lsst.afw.geom.Polygoninstance.
- to_shapely() Polygon | MultiPolygon#
Convert to a
shapely.Polygonorshapely.MultiPolygonobject.
- try_to_box() Region | Box#
If the underlying geometry is a rectangle that fully covers integer pixels (i.e. has all vertices at half-integer positions), return the equivalent
Box.In all other cases
selfis returned.