Python healpix maps tools
Python C++ Other
Latest commit 3629744 Jan 12, 2017 @zonca zonca committed on GitHub Merge pull request #369 from cjcopi/map2alm_string_fix
Fix for strings in Python 2/3
Permalink
Failed to load latest commit information.
cfitsio @ 6a1ea4e Update cfitsio submodule Jan 27, 2014
doc
healpixsubmodule @ 3978d10 updated healpix submodule to v330r807 May 19, 2016
healpy Merge pull request #369 from cjcopi/map2alm_string_fix Jan 12, 2017
.gitignore Adapt to some changes in behavior of pkg_resources.run_script Jan 12, 2015
.gitmodules FIX: Switch submodule protocols from git to https Oct 14, 2015
.travis.yml Enable Travis tests for Python 3.5 Jun 8, 2016
CHANGELOG.rst update version number and CHANGELOG for release Nov 8, 2016
CITATION Added a CITATION file, Sep 3, 2013
COPYING Add COPYING file at top. Also add missing Py_INCREF(Py_None). Jun 9, 2009
INSTALL.rst Add that Windows is not supported Sep 19, 2016
MANIFEST.in Exclude git-specific files from source distribution Oct 22, 2015
README.rst
clean.sh
ez_setup.py updated ez_setup to last version Mar 24, 2015
requirements.txt
run_pykg_config.py Adapt to some changes in behavior of pkg_resources.run_script Jan 12, 2015
setup.py

README.rst

Healpy, a python wrapper for healpix

https://travis-ci.org/healpy/healpy.png?branch=master Documentation Status

Description

Healpy provides a python package to manipulate healpix maps. It is based on the standard numeric and visualisation tools for Python, Numpy and matplotlib.

To find more information about HEALPix, please visit its home page at http://healpix.sourceforge.net/.

The documentation can be found at https://healpy.readthedocs.io, tutorial at https://healpy.readthedocs.io/en/latest/tutorial.html.

Characteristics

  • pixelisation manipulation (ang2pix, pix2ang, etc.)
  • spherical harmonic transforms (map2alm, alm2map, synfast, anafast, etc. both for temperature and polarisation)
  • plotting capabilities (mollweide and gnomonic projection)
  • reading and writing of HEALPix FITS maps and alm

Requirements

  • Python 2.7, 3.2, 3.3, 3.4 or 3.5
  • Numpy (tested with version >=1.5.0)
  • 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:

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

For more general discussion, you can write to the healpy mailing list: https://groups.google.com/d/forum/healpy

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

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

Acknowledgements

Note that, as stated here publications based on work using the HEALPix software package should include both of the following:

  1. an acknowledgment statement: "Some of the results in this paper have been derived using the HEALPix (Górski et al., 2005) package". The complete reference is:

    Górski, K.M., E. Hivon, A.J. Banday, B.D. Wandelt, F.K. Hansen, M. Reinecke, and M. Bartelmann, HEALPix: A Framework for High-resolution Discretization and Fast Analysis of Data Distributed on the Sphere, Ap.J., 622, 759-771, 2005.

  2. 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

As healpy is based on HEALPix Software (the C++ library), the same condition applies to it.