healpy

healpy: equal area pixelization and spherical harmonics transforms for data on the sphere in Python - Published in JOSS (2019)

https://github.com/healpy/healpy

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 7 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: arxiv.org, joss.theoj.org, zenodo.org
  • Committers with academic emails
    22 of 84 committers (26.2%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords from Contributors

astronomy cosmology astrophysics mpi astropy cosmic-microwave-background healpix healpy gravitational-lensing mcmc

Scientific Fields

Mathematics Computer Science - 63% confidence
Engineering Computer Science - 40% confidence
Last synced: 4 months ago · JSON representation ·

Repository

Python healpix maps tools

Basic Info
  • Host: GitHub
  • Owner: healpy
  • License: gpl-2.0
  • Language: Python
  • Default Branch: main
  • Homepage: healpy.readthedocs.org
  • Size: 19.9 MB
Statistics
  • Stars: 287
  • Watchers: 16
  • Forks: 196
  • Open Issues: 68
  • Releases: 42
Created over 14 years ago · Last pushed 5 months ago
Metadata Files
Readme Changelog Funding License Citation

README.rst

====================================
Healpy, a python wrapper for healpix
====================================

.. image:: https://badge.fury.io/py/healpy.svg
    :target: https://badge.fury.io/py/healpy

.. image:: https://anaconda.org/conda-forge/healpy/badges/version.svg
    :target: https://anaconda.org/conda-forge/healpy

.. image:: https://github.com/healpy/healpy/actions/workflows/cibuildwheel.yml/badge.svg
   :target: https://github.com/healpy/healpy/actions/workflows/cibuildwheel.yml

.. image:: https://readthedocs.org/projects/healpy/badge/?version=latest
   :target: https://readthedocs.org/projects/healpy/?badge=latest
   :alt: Documentation Status

.. image:: https://mybinder.org/badge_logo.svg
   :target: https://mybinder.org/v2/gist/zonca/9c114608e0903a3b8ea0bfe41c96f255/master

.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.2605425.svg
   :target: https://doi.org/10.5281/zenodo.2605425

.. image:: http://joss.theoj.org/papers/10.21105/joss.01298/status.svg
   :target: https://doi.org/10.21105/joss.01298

Description
-----------

`healpy` is a Python package to handle pixelated data on the sphere. It is based on the
`Hierarchical Equal Area isoLatitude Pixelization (HEALPix) `_
scheme and bundles the `HEALPix` C++ library.

`HEALPix` was developed to efficiently process Cosmic Microwave Background data from Cosmology
experiments like BOOMERANG and WMAP but it is now used in other branches of Astrophysics to
store data from all-sky surveys. The target audience used to be primarily the Cosmology
scientific community but currently anyone interested in handling pixelated data on the sphere
is very welcome to propose new features.

For an introduction to HEALPix and `healpy`, see `Methods for CMB map analysis `_.

Capabilities
------------

`healpy` provides utilities to:

* convert between sky coordinates and pixel indices in `HEALPix` nested and ring schemes
* find pixels within a disk, a polygon or a strip in the sky
* apply coordinate transformations between Galactic, Ecliptic and Equatorial reference frames
* apply custom rotations either to vectors or full maps
* read and write `HEALPix` maps to disk in FITS format
* upgrade and downgrade the resolution of existing `HEALPix` maps
* visualize maps in Mollweide, Gnomonic and Cartographic projections
* transform maps to Spherical Harmonics space and back using multi-threaded C++ routines
* compute Auto and Cross Power Spectra from maps and create map realizations from spectra

The documentation can be found at https://healpy.readthedocs.io, tutorial at
https://healpy.readthedocs.io/en/latest/tutorial.html, or execute it on `mybinder `_

Requirements
------------

* `Python `_ 3.10, 3.11, 3.12, or 3.13

* `Numpy `_ (tested with version >=1.19)

* `Matplotlib `_

* Python development package is required for some distribution (e.g.,
  python-dev package for Ubuntu)

* `Astropy `_

Quick installation with Pip
---------------------------

The quickest way to install Healpy is with `pip `_
(>= 1.4.2), which automatically fetches the latest version of Healpy and any
missing dependencies::

    pip install --user healpy

If you have installed with ``pip``, you can keep your installation up to date
by upgrading from time to time::

    pip install --user --upgrade healpy

See `INSTALL.rst `_
for further details and other installation options.

Optional
--------

Healpy depends on the `HEALPix` C++ and cfitsio C libraries. Source code is
include with Healpy and you do not have to install them separately.

However, if you have them installed already, Healpy should detect and reuse
them instead of building them from source. To use your own installations of
`HEALPix` and cfitsio, you will also need:

* `pkg-config `_

* `HEALPix
  `_
  autotools-style C++ package

* `cfitsio `_

See `INSTALL.rst `_
for further instructions.

Known issues
------------

* Building with OpenMP support: the underlying `HEALPix` C++ library can be built
  to use `OpenMP `_ to speed up some operations on
  systems with multiple cores. Most, but not all, modern C/C++ compilers support
  OpenMP, `the notable exception being clang `_.

  If your Healpy build fails with an error message about being unable to link
  against `-lgomp`, then this typically means that Healpy detected an
  already-installed `HEALPix` C++ library that was built with OpenMP support, but
  you are trying to build Healpy with a compiler that does not support OpenMP.
  Try cleaning the build with `python setup.py clean --all`, and set the
  environment variables `CC` and `CXX` to point to an OpenMP-capable compiler,
  such as gcc/g++.

* Healpy does not currently support Windows.
  See https://github.com/healpy/healpy/issues/25.

* Incompatibility with ``cfitisio`` from ``HEASOFT``: due to a conflict of
  header file names it is currently not possible to use the cfitsio library
  provided with the HEASOFT package for compilation of `HEALPix` C++. HEASOFT's
  include directory contains a file called "rotmatrix.h" which clashes with
  `HEALPix`'s own rotmatrix.h.

* Compilation problems in the C++ package: some gcc versions (we have reports
  for 4.4.5 and 4.4.6) crash with an internal compiler error during compilation
  of libsharp. Unfortunately we have not found a workaround for this compiler
  problem. To our knowledge, it has been fixed in gcc 4.4.7 and in the 4.5.x
  and newer versions.

* Healpy pixel functions, e.g. ``ang2pix``, do not support 32-bit platforms.
  See https://github.com/healpy/healpy/issues/194.

Support
-------

For specific *HOWTO* questions please create a question on StackOverflow_ and
tag it with the `healpy` tag, so that answers will be easily searchable on
google.

If you think you found a bug or you have install issues, open an issue on GitHub:
https://github.com/healpy/healpy/issues

.. _StackOverflow: http://stackoverflow.com/questions/ask

Contribute
----------

Project development takes place on github, http://github.com/healpy/healpy,
please open an issue over there for reporting bugs or suggest improvements.
Collaboration is very welcome, just fork the project on github and send pull
requests back to the main repository.

Developers
----------
Core developers:

* Cyrille Rosset
* Andrea Zonca
* Martin Reinecke
* Leo Singer
* Daniel Lenz

List of contributors: https://github.com/healpy/healpy/graphs/contributors

Acknowledgements
----------------

1. Cite the HEALPix and `healpy` papers, see the `CITATION file `_ in the repository.

2. Add an acknowledgment statement: "Some of the results in this paper have been
   derived using the `healpy` and `HEALPix` packages".

3. at the first use of the `HEALPix` acronym, a footnote placed in the main body
   of the paper referring to the `HEALPix` web site, currently
   http://healpix.sf.net

Owner

  • Name: healpy
  • Login: healpy
  • Kind: organization

JOSS Publication

healpy: equal area pixelization and spherical harmonics transforms for data on the sphere in Python
Published
March 27, 2019
Volume 4, Issue 35, Page 1298
Authors
Andrea Zonca ORCID
San Diego Supercomputer Center, University of California, San Diego, USA
Leo P. Singer
Goddard Space Flight Center, NASA, Greenbelt, Maryland, USA
Daniel Lenz ORCID
Jet Propulsion Laboratory, California Institute of Technology, Pasadena, California, USA
Martin Reinecke
Max-Planck-Institute for Astrophysics, Garching, Germany
Cyrille Rosset ORCID
Laboratoire Astroparticules et Cosmologie, CNRS/Université Paris Diderot, Paris, France
Eric Hivon ORCID
Institut d'Astrophysique de Paris, CNRS/Sorbonne Universite, Paris, France
Krzysztof M. Gorski
Jet Propulsion Laboratory, California Institute of Technology, Pasadena, California, USA
Editor
Juanjo Bazán ORCID
Tags
cosmology astronomy python

Citation (CITATION)

Use of the HEALPix/healpy software package should be explicitly acknowledged in all publications in the following form:

* an acknowledgment statement – "Some of the results in this paper have been derived using the healpy and HEALPix package"
* at the first use of the HEALPix acronym, a footnote placed in the main body of the paper referring to the HEALPix website – currently http://healpix.sourceforge.net

BibTeX record:

@article{Zonca2019,
  doi = {10.21105/joss.01298},
  url = {https://doi.org/10.21105/joss.01298},
  year = {2019},
  month = mar,
  publisher = {The Open Journal},
  volume = {4},
  number = {35},
  pages = {1298},
  author = {Andrea Zonca and Leo Singer and Daniel Lenz and Martin Reinecke and Cyrille Rosset and Eric Hivon and Krzysztof Gorski},
  title = {healpy: equal area pixelization and spherical harmonics transforms for data on the sphere in Python},
  journal = {Journal of Open Source Software}
}

@ARTICLE{2005ApJ...622..759G,
   author = {{G{\'o}rski}, K.~M. and {Hivon}, E. and {Banday}, A.~J. and 
	{Wandelt}, B.~D. and {Hansen}, F.~K. and {Reinecke}, M. and 
	{Bartelmann}, M.},
    title = "{HEALPix: A Framework for High-Resolution Discretization and Fast Analysis of Data Distributed on the Sphere}",
  journal = {\apj},
   eprint = {arXiv:astro-ph/0409513},
 keywords = {Cosmology: Cosmic Microwave Background, Cosmology: Observations, Methods: Statistical},
     year = 2005,
    month = apr,
   volume = 622,
    pages = {759-771},
      doi = {10.1086/427976},
   adsurl = {http://adsabs.harvard.edu/abs/2005ApJ...622..759G},
  adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

GitHub Events

Total
  • Create event: 8
  • Issues event: 26
  • Release event: 2
  • Watch event: 24
  • Delete event: 5
  • Issue comment event: 86
  • Push event: 25
  • Pull request review comment event: 6
  • Pull request review event: 15
  • Pull request event: 49
  • Fork event: 8
Last Year
  • Create event: 8
  • Issues event: 26
  • Release event: 2
  • Watch event: 24
  • Delete event: 5
  • Issue comment event: 86
  • Push event: 25
  • Pull request review comment event: 6
  • Pull request review event: 15
  • Pull request event: 49
  • Fork event: 8

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 1,572
  • Total Committers: 84
  • Avg Commits per committer: 18.714
  • Development Distribution Score (DDS): 0.575
Past Year
  • Commits: 54
  • Committers: 8
  • Avg Commits per committer: 6.75
  • Development Distribution Score (DDS): 0.63
Top Committers
Name Email Commits
Andrea Zonca c****e@a****m 668
Leo Singer l****r@l****g 274
Cyrille Rosset c****t@g****m 226
Martin Reinecke m****n@m****e 64
trygvels t****m@g****m 32
dependabot[bot] 4****] 30
Reijo Keskitalo r****o@g****m 20
Daniel Lenz m****l@d****g 18
Alex Drlica-Wagner k****a@f****v 17
R.W. Ogburn r****n@g****m 16
Xavier Garrido x****o@g****m 11
Sasha Rahlin a****n@p****u 10
Matthew Petroff m****w@m****t 9
Paul Price p****e@a****u 9
Pierre Chanial p****l@g****m 9
Sergey Koposov m****h@f****e 9
Nicolas Tessore n****e@u****k 8
Craig J Copi c****5@c****u 6
tim t****m@e****z 6
Joe Zuntz j****z@g****m 6
swyatt7 s****t@e****u 6
mlejeune l****e@a****r 6
Duncan Watts d****s@g****m 6
Thomas Robitaille t****e@g****m 5
j-erler 3****r 5
Eirik Gjerløw e****w@g****m 5
Andrew Pontzen a****n@u****k 5
dreamthreebs 1****s 4
Yu Feng r****n@g****m 4
Duncan Macleod d****d@l****g 4
and 54 more...

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 111
  • Total pull requests: 171
  • Average time to close issues: 3 months
  • Average time to close pull requests: 15 days
  • Total issue authors: 77
  • Total pull request authors: 21
  • Average comments per issue: 4.75
  • Average comments per pull request: 1.03
  • Merged pull requests: 123
  • Bot issues: 0
  • Bot pull requests: 43
Past Year
  • Issues: 18
  • Pull requests: 54
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 10 days
  • Issue authors: 15
  • Pull request authors: 7
  • Average comments per issue: 3.22
  • Average comments per pull request: 0.78
  • Merged pull requests: 30
  • Bot issues: 0
  • Bot pull requests: 8
Top Authors
Issue Authors
  • zonca (11)
  • mreineck (7)
  • lpsinger (5)
  • JegerBroxterman (4)
  • hivon (4)
  • dreamthreebs (3)
  • BFabB (2)
  • lizcphysics (2)
  • spenczar (2)
  • erykoff (2)
  • Nestak2 (2)
  • VasundharaShaw (2)
  • jyothischandran1597 (2)
  • d70-t (1)
  • talensgj (1)
Pull Request Authors
  • lpsinger (100)
  • dependabot[bot] (48)
  • zonca (35)
  • dreamthreebs (6)
  • mreineck (6)
  • VasudevMittal (3)
  • QuLogic (2)
  • JamesAmato (2)
  • xgarrido (2)
  • swyatt7 (2)
  • AlexKurek (2)
  • joezuntz (2)
  • skoldobskiy (1)
  • mfouesneau (1)
  • albertLuth (1)
Top Labels
Issue Labels
HelpUs (4) Good first issue (2) FeatureRequest (1)
Pull Request Labels
dependencies (48) github_actions (4)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 87,028 last-month
  • Total docker downloads: 9,399
  • Total dependent packages: 165
    (may contain duplicates)
  • Total dependent repositories: 391
    (may contain duplicates)
  • Total versions: 72
  • Total maintainers: 3
pypi.org: healpy

Healpix tools package for Python

  • Versions: 52
  • Dependent Packages: 135
  • Dependent Repositories: 371
  • Downloads: 87,028 Last month
  • Docker Downloads: 9,399
Rankings
Dependent packages count: 0.2%
Dependent repos count: 0.8%
Average: 1.0%
Downloads: 1.4%
Docker downloads count: 1.6%
Last synced: 9 months ago
conda-forge.org: healpy
  • Versions: 20
  • Dependent Packages: 30
  • Dependent Repositories: 20
Rankings
Dependent packages count: 2.2%
Dependent repos count: 8.0%
Average: 12.4%
Forks count: 13.5%
Stargazers count: 25.8%
Last synced: 4 months ago

Dependencies

.github/workflows/cibuildwheel.yml actions
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/upload-artifact v3 composite
  • docker/setup-qemu-action v2 composite
  • docker://python * composite
  • pypa/cibuildwheel v2.11.4 composite
  • pypa/gh-action-pypi-publish v1.6.4 composite
Dockerfile docker
  • python 3.7-slim build
requirements.txt pypi
  • astropy *
  • cython >=0.16
  • matplotlib *
  • numpy *
  • numpydoc *
setup.py pypi
  • matplotlib *
pyproject.toml pypi
  • astropy *
  • matplotlib *
  • numpy >=1.19
  • scipy *
doc/environment.yml pypi