RegionGeom

class gammapy.maps.RegionGeom(region, axes=None, wcs=None)[source]

Bases: gammapy.maps.Geom

Map geometry representing a region on the sky.

Parameters
regionSkyRegion

Region object.

axeslist of MapAxis

Non-spatial data axes.

wcsWCS

Optional wcs object to project the region if needed.

Attributes Summary

as_energy_true

If the geom contains an energy axis rename it to energy true

axes

binsz

center_coord

(astropy.coordinates.SkyCoord)

center_pix

center_skydir

Center skydir

data_shape

Shape of the Numpy data array matching this geometry.

frame

is_allsky

is_flat

Whether the geom non spatial axes have length 1, i.e.

is_hpx

is_image

is_regular

projection

region

wcs

width

Width of bounding box of the region

Methods Summary

bin_volume()

contains(coords)

Check if a given map coordinate is contained in the geometry.

contains_pix(pix)

Check if a given pixel coordinate is contained in the geometry.

coord_to_idx(coords[, clip])

Convert map coordinates to pixel indices.

coord_to_pix(coords)

Convert map coordinates to pixel coordinates.

copy(**kwargs)

Copy and overwrite given attributes.

create(region, **kwargs)

Create region.

crop()

Crop the geometry at the edges.

downsample(factor, axis_name)

Downsample the spatial dimension of the geometry by a given factor.

drop(axis_name)

Drop an axis from the geom.

energy_mask([energy_min, energy_max, …])

Create a mask for a given energy range.

from_hdulist(hdulist[, format])

Read region table and convert it to region list.

get_coord([frame])

Get map coordinates from the geometry.

get_idx()

Get tuple of pixel indices for this geometry.

pad()

Pad the geometry at the edges.

pix_to_coord(pix)

Convert pixel coordinates to map coordinates.

pix_to_idx(pix[, clip])

Convert pixel coordinates to pixel indices.

resample_axis(axis)

Resample geom to a new axis binning.

separation(position)

slice_by_idx(slices)

Create a new geometry by slicing the non-spatial axes.

solid_angle()

Solid angle (Quantity in sr).

squash(axis_name)

Squash geom axis.

to_bands_hdu([hdu, hdu_skymap, format])

to_cube(axes)

Append non-spatial axes to create a higher-dimensional geometry.

to_image()

Create 2D image geometry (drop non-spatial dimensions).

union(other)

Stack a RegionGeom by making the union

upsample(factor, axis_name)

Upsample the spatial dimension of the geometry by a given factor.

Attributes Documentation

as_energy_true

If the geom contains an energy axis rename it to energy true

axes
binsz = 0.01
center_coord

(astropy.coordinates.SkyCoord)

center_pix
center_skydir

Center skydir

data_shape

Shape of the Numpy data array matching this geometry.

frame
is_allsky = False
is_flat

Whether the geom non spatial axes have length 1, i.e. if the geom is equivalent to an image.

is_hpx = False
is_image = False
is_regular = True
projection = 'TAN'
region
wcs
width

Width of bounding box of the region

Methods Documentation

bin_volume()[source]
contains(coords)[source]

Check if a given map coordinate is contained in the geometry.

Parameters
coordstuple or MapCoord

Tuple of map coordinates.

Returns
containmentndarray

Bool array.

contains_pix(pix)

Check if a given pixel coordinate is contained in the geometry.

Parameters
pixtuple

Tuple of pixel coordinates.

Returns
containmentndarray

Bool array.

coord_to_idx(coords, clip=False)

Convert map coordinates to pixel indices.

Parameters
coordstuple or MapCoord

Coordinate values in each dimension of the map. This can either be a tuple of numpy arrays or a MapCoord object. If passed as a tuple then the ordering should be (longitude, latitude, c_0, …, c_N) where c_i is the coordinate vector for axis i.

clipbool

Choose whether to clip indices to the valid range of the geometry. If false then indices for coordinates outside the geometry range will be set -1.

Returns
pixtuple

Tuple of pixel indices in image and band dimensions. Elements set to -1 correspond to coordinates outside the map.

coord_to_pix(coords)[source]

Convert map coordinates to pixel coordinates.

Parameters
coordstuple

Coordinate values in each dimension of the map. This can either be a tuple of numpy arrays or a MapCoord object. If passed as a tuple then the ordering should be (longitude, latitude, c_0, …, c_N) where c_i is the coordinate vector for axis i.

Returns
pixtuple

Tuple of pixel coordinates in image and band dimensions.

copy(**kwargs)

Copy and overwrite given attributes.

Parameters
**kwargsdict

Keyword arguments to overwrite in the map geometry constructor.

Returns
copyGeom

Copied map geometry.

classmethod create(region, **kwargs)[source]

Create region.

Parameters
regionstr or SkyRegion

Region

axeslist of MapAxis

Non spatial axes.

Returns
geomRegionGeom

Region geometry

crop()[source]

Crop the geometry at the edges.

Parameters
crop_width{sequence, array_like, int}

Number of values cropped from the edges of each axis.

Returns
geomGeom

Cropped geometry.

downsample(factor, axis_name)[source]

Downsample the spatial dimension of the geometry by a given factor.

Parameters
factorint

Downsampling factor.

axis_namestr

Axis to downsample.

Returns
geomGeom

Downsampled geometry.

drop(axis_name)

Drop an axis from the geom.

Parameters
axis_namestr

Name of the axis to remove.

Returns
geomGeom

New geom with the axis removed.

energy_mask(energy_min=None, energy_max=None, round_to_edge=False)

Create a mask for a given energy range.

The energy bin must be fully contained to be included in the mask.

Parameters
energy_min, energy_maxQuantity

Energy range

Returns
maskndarray

Energy mask

classmethod from_hdulist(hdulist, format='ogip')[source]

Read region table and convert it to region list.

Parameters
hdulistHDUList

HDU list

format{“ogip”, “ogip-arf”}

HDU format

Returns
geomRegionGeom

Region map geometry

get_coord(frame=None)[source]

Get map coordinates from the geometry.

Returns
coordMapCoord

Map coordinate object.

get_idx()[source]

Get tuple of pixel indices for this geometry.

Returns all pixels in the geometry by default. Pixel indices for a single image plane can be accessed by setting idx to the index tuple of a plane.

Parameters
idxtuple, optional

A tuple of indices with one index for each non-spatial dimension. If defined only pixels for the image plane with this index will be returned. If none then all pixels will be returned.

localbool

Flag to return local or global pixel indices. Local indices run from 0 to the number of pixels in a given image plane.

flatbool, optional

Return a flattened array containing only indices for pixels contained in the geometry.

Returns
idxtuple

Tuple of pixel index vectors with one vector for each dimension.

pad()[source]

Pad the geometry at the edges.

Parameters
pad_width{sequence, array_like, int}

Number of values padded to the edges of each axis.

Returns
geomGeom

Padded geometry.

pix_to_coord(pix)[source]

Convert pixel coordinates to map coordinates.

Parameters
pixtuple

Tuple of pixel coordinates.

Returns
coordstuple

Tuple of map coordinates.

pix_to_idx(pix, clip=False)[source]

Convert pixel coordinates to pixel indices.

Returns -1 for pixel coordinates that lie outside of the map.

Parameters
pixtuple

Tuple of pixel coordinates.

clipbool

Choose whether to clip indices to the valid range of the geometry. If false then indices for coordinates outside the geometry range will be set -1.

Returns
idxtuple

Tuple of pixel indices.

resample_axis(axis)

Resample geom to a new axis binning.

This method groups the existing bins into a new binning.

Parameters
axisMapAxis

New map axis.

Returns
mapGeom

Geom with resampled axis.

separation(position)[source]
slice_by_idx(slices)

Create a new geometry by slicing the non-spatial axes.

Parameters
slicesdict

Dict of axes names and integers or slice object pairs. Contains one element for each non-spatial dimension. For integer indexing the corresponding axes is dropped from the map. Axes not specified in the dict are kept unchanged.

Returns
geomGeom

Sliced geometry.

solid_angle()[source]

Solid angle (Quantity in sr).

squash(axis_name)

Squash geom axis.

Parameters
axis_namestr

Axis to squash.

Returns
geomGeom

Geom with squashed axis.

to_bands_hdu(hdu=None, hdu_skymap=None, format=None)
to_cube(axes)[source]

Append non-spatial axes to create a higher-dimensional geometry.

This will result in a new geometry with N+M dimensions where N is the number of current dimensions and M is the number of axes in the list.

Parameters
axeslist

Axes that will be appended to this geometry.

Returns
geomGeom

Map geometry.

to_image()[source]

Create 2D image geometry (drop non-spatial dimensions).

Returns
geomGeom

Image geometry.

union(other)[source]

Stack a RegionGeom by making the union

upsample(factor, axis_name)[source]

Upsample the spatial dimension of the geometry by a given factor.

Parameters
factorint

Upsampling factor.

axis_namestr

Axis to upsample.

Returns
geomGeom

Upsampled geometry.