MapCoord

class gammapy.maps.MapCoord(data, frame=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
datadict of ndarray

Dictionary of coordinate arrays.

frame{“icrs”, “galactic”, None}

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

match_by_namebool

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

Attributes Summary

flat

Return flattened, valid coordinates

frame

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(mask)

Return a masked copy of this coordinate object.

copy()

Copy MapCoord object.

create(data[, frame, axis_names])

Create a new MapCoord object.

to_frame(frame)

Convert to a different coordinate frame.

Attributes Documentation

flat

Return flattened, valid coordinates

frame

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(mask)[source]

Return a masked copy of this coordinate object.

Parameters
maskndarray

Boolean mask.

Returns
coordsMapCoord

A coordinates object.

copy()[source]

Copy MapCoord object.

classmethod create(data, frame=None, axis_names=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
datatuple, dict, MapCoord or SkyCoord

Object containing coordinate arrays.

frame{“icrs”, “galactic”, 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.

axis_nameslist of str

Axis names use if a tuple is provided

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))
to_frame(frame)[source]

Convert to a different coordinate frame.

Parameters
frame{“icrs”, “galactic”}

Coordinate system, either Galactic (“galactic”) or Equatorial (“icrs”).

Returns
coordsMapCoord

A coordinates object.