HealSparse: A sparse implementation of HEALPix

HealSparse is a sparse implementation of HEALPix in Python, written for the Rubin Observatory Legacy Survey of Space and Time Dark Energy Science Collaboration (DESC). HealSparse is a pure Python library that sits on top of numpy and hpgeom and is designed to avoid storing full sky maps in case of partial coverage, including easy reading of sub-maps. This reduces the overall memory footprint allowing maps to be rendered at arcsecond resolution while keeping the familiarity and power of HEALPix.

HealSparse expands on functionality available in healpy and straight HEALPix maps by allowing maps of different data types, including 32- and 64-bit floats; 8-, 16-, 32-, and 64-bit integers; “wide bit masks” of arbitrary width (allowing hundreds of bits to be efficiently and conveniently stored); and numpy record arrays. Arithmetic operations between maps are supported, including sum, product, min/max, and and/or/xor bitwise operations for integer maps. In addition, there is general support for any numpy universal function.

HealSparse also includes a simple geometric primitive library, to render circles and convex polygons.

The code is hosted in GitHub. Please use the issue tracker to let us know about any problems or questions with the code. The list of released versions of this package can be found here, with the main branch including the most recent (non-released) development.

The HealSparse code was written by Eli Rykoff and Javier Sanchez based on an idea from Anže Slosar. This software was developed under the Rubin Observatory Legacy Survey of Space and Time (LSST) Dark Energy Science Collaboration (DESC) using LSST DESC resources. The DESC acknowledges ongoing support from the Institut National de Physique Nucléaire et de Physique des Particules in France; the Science & Technology Facilities Council in the United Kingdom; and the Department of Energy, the National Science Foundation, and the LSST Corporation in the United States. DESC uses resources of the IN2P3 Computing Center (CC-IN2P3–Lyon/Villeurbanne - France) funded by the Centre National de la Recherche Scientifique; the National Energy Research Scientific Computing Center, a DOE Office of Science User Facility supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC02-05CH11231; STFC DiRAC HPC Facilities, funded by UK BEIS National E-infrastructure capital grants; and the UK particle physics grid, supported by the GridPP Collaboration. This work was performed in part under DOE Contract DE-AC02-76SF00515.

Modules API Reference