HEALPix
HEALPix (sometimes written as Healpix), an acronym for Hierarchical Equal Area isoLatitude Pixelisation of a 2-sphere, refers to either an algorithm for pixelisation of the 2-sphere or to the associated class of map projections.[1] The pixelisation algorithm was devised in 1997 by Krzysztof M. Górski at the Theoretical Astrophysics Center in Copenhagen, Denmark,[2] and first published as a preprint in 1998.[3][4]
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.[1] 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,[3][4] 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,[5][6][1] though it can be derived without using the projection.[3][4][7] The associated software package HEALPix implements the algorithm.[3][7] 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 IAU FITS Working Group on April 26, 2006.[8]
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.[1][9]
As the name indicates, 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.
An alternative hierarchical grid is the Hierarchical Triangular Mesh (HTM).[10][11] 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.[12]
See also
References
- Calabretta, Mark R.; Roukema, Boudewijn F. (2007). "Mapping on the HEALPix grid". MNRAS. Oxford University Press. 381 (2): 865–872. Bibcode:2007MNRAS.381..865C. doi:10.1111/j.1365-2966.2007.12297.x.
- "HEALPix Background - History". healpix.jpl.nasa.gov. Retrieved 2019-06-08.
- Górski, Krzysztof M.; Hivon, Éric; Wandelt, Benjamin D. (1999). "Analysis Issues for Large CMB Data Sets". Proceedings of the MAP/ESO Cosmology Conference 'Evolution of Large-Scale Structure'. Evolution of Large Scale Structure : From Recombination to Garching. Netherlands: PrintPartners Ipskamp. p. 37. arXiv:astro-ph/9812350. Bibcode:1999elss.conf...37G.
- Górski, Krzysztof M.; Wandelt, Benjamin D.; Hansen, Frode K.; Hivon, Éric; Banday, Anthony J. (1999-05-21). "The HEALPix Primer". arXiv:astro-ph/9905275.
- Roukema, Boudewijn F.; Lew, Bartosz (2004-09-08). "A Solution to the Isolatitude, Equi-area, Hierarchical Pixel-Coordinate System". Public Draft. arXiv:astro-ph/0409533. Bibcode:2004astro.ph..9533R. Archived from the original on 2019-08-04. Retrieved 2004-09-08.
- Roukema, Boudewijn F.; Lew, Bartosz (2004-09-22). "A Solution to the Isolatitude, Equi-area, Hierarchical Pixel-Coordinate System". arXiv:astro-ph/0409533.
- Górski, Krzysztof M.; Hivon, Éric; Banday, Anthony J.; Hansen, Frode K.; Wandelt, Benjamin D.; Reinecke, M.; Bartelmann, M. (2005). "HEALPix: A Framework for High-Resolution Discretization and Fast Analysis of Data Distributed on the Sphere". Astrophysical Journal. 622 (2): 759–771. arXiv:astro-ph/0409513. Bibcode:2005ApJ...622..759G. doi:10.1086/427976.
- Pence, William D. "FITS World Coordinate System (WCS)". High Energy Astrophysics Science Archive Research Center (HEASARC). Archived from the original on 2019-08-04. Retrieved 2007-01-09.
- discussion and HEALPix maps of the Earth
- "SkyServer.org - HTM: Hierarchical Triangular Mesh". SkyServer. June 6, 2006. Retrieved 2007-02-05.
- Szalay, Alex; Jim Gray; Gyorgy Fekete; Peter Kunszt; Peter Kukol; Ani Thakar (September 2005). "Indexing the Sphere with the Hierarchical Triangular Mesh". Microsoft Research. Microsoft. arXiv:cs/0701164. Bibcode:2007cs........1164S. Retrieved 2007-02-05.
- What is the best way to pixelize a sphere?
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