HEALPix. HEALPix (sometimes written as Healpix), an acronym for Hierarchical Equal Area isoLatitude Pixelisation of a 2-sphere, is an algorithm for pixelisation of the 2-sphere based on subdivision of a distorted rhombic dodecahedron, and the associated class of map projections. The pixelisation algorithm was devised in 1997 by Krzysztof M. Górski at the Theoretical Astrophysics Center in Copenhagen, Denmark, and first published as a preprint in 1998.

Projection and pixelisation
The HEALPix projection is a general class of spherical projections, sharing several key properties, which map the 2-sphere to the Euclidean plane. Any of these can be followed by partitioning (pixelising) the resulting region of the 2-plane. In particular, when one of these projections (the H=4, K=3 HEALPix projection) is followed by a pixelisation of the 2-plane, the result is generally known as the HEALPix pixelisation, which is widely used in physical cosmology for maps of the cosmic microwave background. This pixelisation can be thought of as mapping the sphere to twelve square facets (diamonds) on the plane followed by the binary division of these facets into pixels, though it can be derived without using the projection. The associated software package HEALPix implements the algorithm. The HEALPix projection (as a general class of spherical projections) is represented by the keyword HPX in the FITS standard for writing astronomical data files. It was approved as part of the official FITS World Coordinate System (WCS) by the International Astronomical Union FITS Working Group on April 26, 2006.

The spherical projection combines a cylindrical equal area projection, the Lambert cylindrical equal-area projection, for the equatorial regions of the sphere and a pseudocylindrical equal area projection, an interrupted Collignon projection, for the polar regions.

At a given level in the hierarchy the pixels are of equal area (which is done by bisecting the square in the case of the H=4, K=3 projection) and their centers lie on a discrete number of circles of latitude, with equal spacing on each circle.  The scheme has a number of mathematical properties which make it efficient for certain computations, e.g. spherical harmonic transforms. In the case of the H=4, K=3 projection, the pixels are squares in the plane (which can be inversely projected back to quadrilaterals with non-geodesic sides on the 2-sphere) and every vertex joins four pixels, with the exception of eight vertices which each join only three pixels.

The latitude of transition between equatorial-orthogonal and polar-convergent longitude lines has been selected to allow the folding of the projection into a perfect cube — "cubing the sphere"; indeed in this way the Arctic Circle becomes a square.

Usage and alternatives
The pixelisation related to the H=4, K=3 projection has become widely used in cosmology for storing and manipulating maps of the cosmic microwave background.

Gaia mission uses HEALPix as the basis for source identification.

An alternative hierarchical grid is the Hierarchical Triangular Mesh (HTM). The pixels at a given level in the hierarchy are of similar but not identical size. The scheme is good at representing complex shapes because the boundaries are all segments of circles of the sphere. Another alternative hierarchical grid is the Quadrilateralized Spherical Cube.

The 12 "base resolution pixels" of H=4, K=3 HEALPix projection may be thought of as the facets of a rhombic dodecahedron.

The H=6 HEALPix has similarities to another alternative grid based on the icosahedron.

See also
 List of map projections
 Spatial grid
 Geodesic grid

References

External links
Official implementation with many languages support (C, C++, Fortran90, IDL, Java and Python) for resolutions up to 0.4 mas (milliarcsecond)
Java port of original Fortran code by Nikolay Kuropatkin, supporting resolutions up to 0.3 arcsec
Java port optimized to use RangeSet, very good for high resolutions
healpy: Python wrapper
astropy-healpix: BSD-licensed HEALPix for Astropy
healpix.cxx: c++ code to transform healpix coordinates
JavaScript port: convert between lonlat and HEALPix coordinates in JavaScript
Typescript healpix: An implementation of HEALPix in JavaScript / TypeScript
Healpix.jl: Healpix library written in Julia

Map projections