HEALPix-based Maps¶
This page provides examples and documentation specific to the HEALPix map
classes (HpxNDMap and HpxSparseMap).  All
HEALPix classes inherit from Map which provides generic
interface methods that can be be used to access or update the contents of a map
without reference to its pixelization scheme.
HEALPix Geometry¶
The HpxGeom class encapsulates the geometry of a HEALPix map:
the pixel size (NSIDE), coordinate system, and definition of non-spatial axes
(e.g. energy).  By default a HEALPix geometry will encompass the full sky.  The
following example shows how to create an all-sky 2D HEALPix image:
from gammapy.maps import HpxGeom, HpxNDMap, HpxMap
# Create a HEALPix geometry of NSIDE=16
geom = HpxGeom(16, coordsys='GAL')
m = HpxNDMap(geom)
# Equivalent factory method call
m = HpxMap.create(nside=16, coordsys='GAL')
Partial-sky maps can be created by passing a region argument to the map
geometry constructor or by setting the width argument to the
create factory method:
from gammapy.maps import HpxGeom, HpxMap, HpxNDMap
from astropy.coordinates import SkyCoord
# Create a partial-sky HEALPix geometry of NSIDE=16
geom = HpxGeom(16, region='DISK(0.0,5.0,10.0)', coordsys='GAL')
m = HpxNDMap(geom)
# Equivalent factory method call
position = SkyCoord(0.0, 5.0, frame='galactic', unit='deg')
m = HpxMap.create(nside=16, skydir=position, width=20.0)
Sparse Maps¶
The HpxSparseMap class is a memory-efficient implementation of a
HEALPix map that uses a sparse data structure to store map values.  Sparse maps
can be useful when working with maps that have many empty pixels (e.g. a
low-statistics counts map).