Geom#
- class gammapy.maps.Geom[source]#
Bases:
abc.ABC
Map geometry base class.
Attributes Summary
If the geom contains an energy axis rename it to energy true
Shape of the Numpy data array matching this geometry.
Whether geom has an energy axis
Whether the geom non spatial axes have length 1, equivalent to an image.
Whether the geom is an image without extra dimensions.
Methods Summary
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.
crop
(crop_width)Crop the geometry at the edges.
data_nbytes
([dtype])Estimate memory usage in megabytes of the Numpy data array matching this geometry depending on the given type.
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[, hdu, hdu_bands])Load a geometry object from a FITS HDUList.
get_coord
([idx, flat])Get the coordinate array for this geometry.
get_idx
([idx, local, flat])Get tuple of pixel indices for this geometry.
pad
(pad_width, axis_name)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.
rename_axes
(names, new_names)Rename axes contained in the geometry
replace_axis
(axis)Replace axis with a new one.
resample_axis
(axis)Resample geom to a new axis binning.
slice_by_idx
(slices)Create a new geometry by slicing the non-spatial axes.
Solid angle (
Quantity
insr
).squash
(axis_name)Squash geom axis.
to_bands_hdu
([hdu_bands, format])to_cube
(axes)Append non-spatial axes to create a higher-dimensional geometry.
to_image
()Create 2D image geometry (drop non-spatial dimensions).
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
- center_coord#
- center_pix#
- center_skydir#
- data_shape#
Shape of the Numpy data array matching this geometry.
- has_energy_axis#
Whether geom has an energy axis
- is_allsky#
- is_flat#
Whether the geom non spatial axes have length 1, equivalent to an image.
- is_image#
Whether the geom is an image without extra dimensions.
Methods Documentation
- contains_pix(pix)[source]#
Check if a given pixel coordinate is contained in the geometry.
- Parameters
- pixtuple
Tuple of pixel coordinates.
- Returns
- containment
ndarray
Bool array.
- containment
- coord_to_idx(coords, clip=False)[source]#
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.
- coordstuple or
- Returns
- pixtuple
Tuple of pixel indices in image and band dimensions. Elements set to -1 correspond to coordinates outside the map.
- abstract 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)[source]#
Copy and overwrite given attributes.
- Parameters
- **kwargsdict
Keyword arguments to overwrite in the map geometry constructor.
- Returns
- copy
Geom
Copied map geometry.
- copy
- abstract crop(crop_width)[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
- geom
Geom
Cropped geometry.
- geom
- data_nbytes(dtype='float32')[source]#
Estimate memory usage in megabytes of the Numpy data array matching this geometry depending on the given type.
- Parameters
- dtypedata-type
The desired data-type for the array. Default is “float32”
- Returns
- memory
Quantity
Estimated memory usage in megabytes (MB)
- memory
- abstract 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
- geom
Geom
Downsampled geometry.
- geom
- drop(axis_name)[source]#
Drop an axis from the geom.
- Parameters
- axis_namestr
Name of the axis to remove.
- Returns
- geom
Geom
New geom with the axis removed.
- geom
- energy_mask(energy_min=None, energy_max=None, round_to_edge=False)[source]#
Create a mask for a given energy range.
The energy bin must be fully contained to be included in the mask.
- classmethod from_hdulist(hdulist, hdu=None, hdu_bands=None)[source]#
Load a geometry object from a FITS HDUList.
- abstract get_coord(idx=None, flat=False)[source]#
Get the coordinate array for this geometry.
Returns a coordinate array with the same shape as the data array. Pixels outside the geometry are set to NaN. Coordinates 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 coordinates for the image plane with this index will be returned. If none then coordinates for all pixels will be returned.
- flatbool, optional
Return a flattened array containing only coordinates for pixels contained in the geometry.
- Returns
- coordstuple
Tuple of coordinate vectors with one vector for each dimension.
- abstract get_idx(idx=None, local=False, flat=False)[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(pad_width, axis_name)[source]#
Pad the geometry at the edges.
- Parameters
- pad_width{sequence, array_like, int}
Number of values padded to the edges of each axis.
- axis_namestr
Name of the axis to pad.
- Returns
- geom
Geom
Padded geometry.
- geom
- abstract pix_to_coord(pix)[source]#
Convert pixel coordinates to map coordinates.
- Parameters
- pixtuple
Tuple of pixel coordinates.
- Returns
- coordstuple
Tuple of map coordinates.
- abstract 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.
- rename_axes(names, new_names)[source]#
Rename axes contained in the geometry
- Parameters
- nameslist or str
Names of the axes.
- new_nameslist or str
New names of the axes (list must be of same length than
names
).
- Returns
- geom
Geom
Renamed geometry.
- geom
- resample_axis(axis)[source]#
Resample geom to a new axis binning.
This method groups the existing bins into a new binning.
- squash(axis_name)[source]#
Squash geom axis.
- Parameters
- axis_namestr
Axis to squash.
- Returns
- geom
Geom
Geom with squashed axis.
- geom
- abstract 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
- geom
Geom
Map geometry.
- geom