HEALPix is an acronym for Hierarchical Equal Area isoLatitude Pixelation of a sphere. As suggested in the name, this pixelation produces a subdivision of a spherical surface in which each pixel covers the same surface area as every other pixel.
The original motivation for devising HEALPix was one of necessity.
Satellite missions to measure the cosmic microwave background (CMB)
anisotropy -- NASA's
Anisotropy Probe (WMAP),
operating ESA's mission
-- have been producing multi-frequency data
sets sufficient for the construction of full-sky maps of the
microwave sky at an angular resolution of a few arcminutes. The
principal requirements in the development of HEALPix were to
create a mathematical structure which supports a suitable
discretization of functions on a sphere at sufficiently high
resolution, and to facilitate fast and accurate statistical and
astrophysical analysis of massive full-sky data sets.
HEALPix satisfies these requirements because it possesses the following three essential properties:
- The sphere is hierarchically tessellated into curvilinear quadrilaterals. The lowest resolution partition is comprised of 12 base pixels. Resolution of the tessellation increases by division of each pixel into four new ones. The figure below illustrates (clockwise from upper-left to bottom-left) the resolution increase by three steps from the base level (i.e., the sphere is partitioned, respectively, into 12, 48, 192, and 768 pixels).
- Areas of all pixels at a given resolution are identical.
- Pixels are distributed on lines of constant latitude. This property is essential for all harmonic analysis applications involving spherical harmonics. Due to the iso-latitude distribution of sampling points the speed of computation of integrals over individual spherical harmonics scales as ~N1/2 with the total number of pixels, as opposed to the ~N scaling for the non-iso-latitude sampling distributions (examples of which are the Quadrilateralized Spherical Cube used for the NASA's COBE data, and any distribution based on the symmetries of the icosahedron).
Main Features of HEALPix Software
The HEALPix software is available in C, C++, Fortran90, IDL, Java and Python.
In each of these languages are available an extensive library of HEALPix specific tools
and their supporting routines as well as a suite of programs implementing the
key features of HEALPix. Each package allows all of, or most of, the following (and more):
Spherical Harmonics Transforms:
- Fast simulation and analysis of full-sky maps of CMB temperature and polarization anisotropy (sky maps preview) up to sub-arcminute angular resolution
- Filtering of sky maps with arbitrary circular window
- Constrained and non-Gaussian realization facilities
- Highly optimised Spherical Harmonics Transforms library (libsharp) used by all implementations for better performance
- Forward and backward scalar and spin-weighted Spherical Harmonics Transforms
- Programs to manage, modify and rotate spherical harmonic coefficients of arbitrary maps
- Pixelation of the sphere supported down to a pixel size of 0.4 mas (milli-arcseconds), corresponding to potentially 3.5 1018 pixels on the sphere
- Pixel queries in discs, triangles, polygons and strips
- Programs to search the maps for pixel neighbours and extrema of a random field
- Median filtering of sky maps
- Mask processing facilities
- Support for multi resolution maps (aka, Multi Order Coverage maps or MOC)
- routines to manipulate and visualize the FITS files generally used for I/O
For a detailed list of the new features added in the latest HEALPix release, see
the Getting HEALPix page.
For third party implementations in other languages (including Matlab/Octave and Yorick), see this HEALPix wiki page.
For third party extensions of HEALPix capabilities, see the Resources page.