CompoundSkyRegion#

class regions.CompoundSkyRegion(region1, region2, operator, meta=None, visual=None)[source]#

Bases: SkyRegion

A class that represents the logical combination of two regions in sky coordinates.

Parameters:
region1SkyRegion

The inner sky region.

region2SkyRegion

The outer sky region.

operatorcallable

A callable binary operator.

metaRegionMeta, optional

A dictionary that stores the meta attributes of this region.

visualRegionVisual, optional

A dictionary that stores the visual meta attributes of this region.

Attributes Summary

Methods Summary

as_artist(ax, **kwargs)

contains(skycoord, wcs)

Check whether a sky coordinate falls inside the region.

covers(skycoord, wcs)

Check whether a sky coordinate falls inside or on the boundary of the region.

to_pixel(wcs)

Return the equivalent region defined in pixel coordinates.

to_spherical_sky([wcs, ...])

Convert to an equivalent spherical SphericalSkyRegion instance.

Attributes Documentation

operator#
region1#
region2#

Methods Documentation

as_artist(ax, **kwargs)[source]#
contains(skycoord, wcs)[source]#

Check whether a sky coordinate falls inside the region.

Parameters:
skycoordSkyCoord

The position or positions to check.

wcsWCS

The world coordinate system transformation to use to convert between sky and pixel coordinates.

covers(skycoord, wcs)[source]#

Check whether a sky coordinate falls inside or on the boundary of the region.

This method considers points on the boundary as inside the region, consistent with Shapely’s covers function and DE-9IM semantics.

Parameters:
skycoordSkyCoord

The position or positions to check.

wcsWCS

The world coordinate system transformation to use to convert between sky and pixel coordinates.

See also

contains

Check if points are strictly inside (excludes boundary).

Notes

This method requires the pixel region returned by to_pixel to implement a covers method. It is currently available for circle, ellipse, rectangle, and polygon regions; for other regions a NotImplementedError is raised.

to_pixel(wcs)[source]#

Return the equivalent region defined in pixel coordinates.

Parameters:
wcsWCS

The world coordinate system transformation to use to convert between sky and pixel coordinates.

Returns:
pixel_regionPixelRegion

A pixel region.

Notes

The conversion between sky and pixel coordinates is an approximation. The sky region shape is mapped to a pixel region shape using the local pixel scale and angle at the region center. Projection effects over the extent of the region are not accounted for. The region shape type is always preserved (e.g., a CircleSkyRegion converts to a CirclePixelRegion).

For WCS with distortions (e.g., SIP), the local Jacobian matrix of the WCS transformation is used to compute directional scale factors and angle. For WCS without distortions, a local pixel scale and angle are computed using offset-based methods.

to_spherical_sky(wcs=None, include_boundary_distortions=False, n_points=None)[source]#

Convert to an equivalent spherical SphericalSkyRegion instance.

Parameters:
wcsWCS instance, optional

The world coordinate system transformation to use to convert between sky and pixel coordinates. Required if transforming with boundary distortions (if include_boundary_distortions is True). Ignored if boundary distortions not included.

include_boundary_distortionsbool, optional

If True, accounts for boundary distortions in spherical to planar conversions, by discretizing the boundary and converting the boundary polygon. Default is False, which converts to an equivalent idealized shape.

n_pointsint, optional

The number of polygon vertices for boundary discretization. This keyword will have no effect unless include_boundary_distortions=True. Default is 100.

Returns:
spherical_sky_regionSphericalSkyRegion

A spherical sky region, with an equivalent shape (if include_boundary_distortions is False), or a discretized polygon of the boundary (if include_boundary_distortions is True).