MapCoord

class gammapy.maps.MapCoord(data, coordsys=None, match_by_name=True)[source]

Bases: object

Represents a sequence of n-dimensional map coordinates.

Contains coordinates for 2 spatial dimensions and an arbitrary number of additional non-spatial dimensions.

For further information see MapCoord.

Parameters:
data : dict of ndarray

Dictionary of coordinate arrays.

coordsys : {‘CEL’, ‘GAL’, None}

Spatial coordinate system. If None then the coordinate system will be set to the native coordinate system of the geometry.

match_by_name : bool

Match coordinates to axes by name? If false coordinates will be matched by index.

Attributes Summary

coordsys Coordinate system (str).
lat Latitude coordinate in degrees.
lon Longitude coordinate in degrees.
match_by_name Boolean flag: axis lookup by name (True) or index (False).
ndim Number of dimensions.
phi Phi longitude angle in radians.
shape Coordinate array shape.
size
skycoord
theta Theta co-latitude angle in radians.

Methods Summary

apply_mask(self, mask) Return a masked copy of this coordinate object.
copy(self) Copy MapCoord object.
create(data[, coordsys]) Create a new MapCoord object.
match_axes_units(self, geom) Match the units of the non-spatial axes to a given map geometry.
to_coordsys(self, coordsys) Convert to a different coordinate frame.

Attributes Documentation

coordsys

Coordinate system (str).

lat

Latitude coordinate in degrees.

lon

Longitude coordinate in degrees.

match_by_name

Boolean flag: axis lookup by name (True) or index (False).

ndim

Number of dimensions.

phi

Phi longitude angle in radians.

shape

Coordinate array shape.

size
skycoord
theta

Theta co-latitude angle in radians.

Methods Documentation

apply_mask(self, mask)[source]

Return a masked copy of this coordinate object.

Parameters:
mask : ndarray

Boolean mask.

Returns:
coords : MapCoord

A coordinates object.

copy(self)[source]

Copy MapCoord object.

classmethod create(data, coordsys=None)[source]

Create a new MapCoord object.

This method can be used to create either unnamed (with tuple input) or named (via dict input) axes.

Parameters:
data : tuple, dict, MapCoord or SkyCoord

Object containing coordinate arrays.

coordsys : {‘CEL’, ‘GAL’, None}, optional

Set the coordinate system for longitude and latitude. If None longitude and latitude will be assumed to be in the coordinate system native to a given map geometry.

Examples

>>> from astropy.coordinates import SkyCoord
>>> from gammapy.maps import MapCoord
>>> lon, lat = [1, 2], [2, 3]
>>> skycoord = SkyCoord(lon, lat, unit='deg')
>>> energy = [1000]
>>> c = MapCoord.create((lon,lat))
>>> c = MapCoord.create((skycoord,))
>>> c = MapCoord.create((lon,lat,energy))
>>> c = MapCoord.create(dict(lon=lon,lat=lat))
>>> c = MapCoord.create(dict(lon=lon,lat=lat,energy=energy))
>>> c = MapCoord.create(dict(skycoord=skycoord,energy=energy))
match_axes_units(self, geom)[source]

Match the units of the non-spatial axes to a given map geometry.

Parameters:
geom : Geom

Map geometry with specified units per axis.

Returns:
coords : MapCoord

Map coord object with matched units

to_coordsys(self, coordsys)[source]

Convert to a different coordinate frame.

Parameters:
coordsys : {‘CEL’, ‘GAL’}

Coordinate system, either Galactic (‘GAL’) or Equatorial (‘CEL’).

Returns:
coords : MapCoord

A coordinates object.