CompoundSphericalSkyRegion

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

Bases: SphericalSkyRegion

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

Parameters:
region1SphericalSkyRegion

First spherical sky region.

region2SphericalSkyRegion

Second spherical 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

bounding_circle

Bounding circle for the spherical sky region.

bounding_lonlat

Bounding longitude and latitude of the spherical sky region, in the region's frame.

frame

Coordinate frame of the region.

operator

region1

region2

Methods Summary

contains(coord)

Check whether a sky coordinate falls inside the spherical sky region.

discretize_boundary([n_points])

Discretize the boundary into a PolygonSphericalSkyRegion, as an approximation where all sides follow great circles.

to_pixel([wcs, ...])

Convert to a planar PixelRegion instance.

to_sky([wcs, include_boundary_distortions, ...])

Convert to a planar SkyRegion instance.

transform_to(frame[, merge_attributes])

Transform the SphericalSkyRegion instance into another instance with a different coordinate reference frame.

Attributes Documentation

bounding_circle
bounding_lonlat
frame
operator
region1
region2

Methods Documentation

contains(coord)[source]

Check whether a sky coordinate falls inside the spherical sky region.

Parameters:
coordSkyCoord

The position or positions to check.

discretize_boundary(n_points=100)[source]

Discretize the boundary into a PolygonSphericalSkyRegion, as an approximation where all sides follow great circles.

Parameters:
n_pointsint, optional

Number of points along the region’s boundary.

Returns:
poly_sky_region: PolygonSphericalSkyRegion

Spherical sky polygon object.

to_pixel(wcs=None, include_boundary_distortions=False, discretize_kwargs=None)[source]

Convert to a planar PixelRegion 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 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.

discretize_kwargsdict, optional

Optional keyword arguments to pass to discretize_boundary() method if including boundary distortions.

Returns:
pixel_regionPixelRegion

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

to_sky(wcs=None, include_boundary_distortions=False, discretize_kwargs=None)[source]

Convert to a planar SkyRegion 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 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.

discretize_kwargsdict, optional

Optional keyword arguments to pass to discretize_boundary() method if including boundary distortions.

Returns:
sky_regionSkyRegion

A planar 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).

transform_to(frame, merge_attributes=True)[source]

Transform the SphericalSkyRegion instance into another instance with a different coordinate reference frame.

The precise frame transformed to depends on merge_attributes. If False, the destination frame is used exactly as passed in. But this is often not quite what one wants. E.g., suppose one wants to transform an ICRS coordinate that has an obstime attribute to FK4; in this case, one likely would want to use this information. Thus, the default for merge_attributes is True, in which the precedence is as follows: (1) explicitly set (i.e., non-default) values in the destination frame; (2) explicitly set values in the source; (3) default value in the destination frame.

Note that in either case, any explicitly set attributes on the source astropy.coordinates.SkyCoord that are not part of the destination frame’s definition are kept (stored on the resulting astropy.coordinates.SkyCoord), and thus one can round-trip (e.g., from FK4 to ICRS to FK4 without losing obstime).

Parameters:
framestr, or BaseCoordinateFrame class or instance

The frame to transform this coordinate into.

merge_attributesbool, optional

Whether the default attributes in the destination frame are allowed to be overridden by explicitly set attributes in the source (see note above; default: True).

Returns:
sph_sky_regionSphericalSkyRegion

A new spherical sky region represented in the frame frame.