Skip to main content

pixell

Project description

pixell

https://travis-ci.org/simonsobs/pixell.svg?branch=master https://readthedocs.org/projects/pixell/badge/?version=latest https://coveralls.io/repos/github/simonsobs/pixell/badge.svg?branch=master

pixell is a library for loading, manipulating and analyzing maps stored in rectangular pixelization. It is mainly targeted for use with maps of the sky (e.g. CMB intensity and polarization maps, stacks of 21 cm intensity maps, binned galaxy positions or shear) in cylindrical projection, but its core functionality is more general. It extends numpy’s ndarray to an ndmap class that associates a World Coordinate System (WCS) with a numpy array. It includes tools for Fourier transforms (through numpy or pyfft) and spherical harmonic transforms (through libsharp) of such maps and tools for visualization (through the Python Image Library).

Dependencies

  • Python>=2.7 or Python>=3.4

  • gcc/gfortran or Intel compilers (clang might not work out of the box)

  • libsharp (downloaded and installed)

  • automake (for libsharp compilation)

  • healpy, Cython, astropy, numpy, scipy, matplotlib, pyyaml, h5py, Pillow (Python Image Library)

Installing

To install, run:

$ python setup.py install --user

To test the installation, you can run:

$ python setup.py test

Existing libsharp installation (optional)

Libsharp is installed automatically by setup.py. If instead you want to use an existing libsharp installation, you can do so by symlinking the libsharp directory into a directory called _deps in the root directory, such that the file pixell/_deps/libsharp/libsharp/sharp.c exists.

Intel compilers

Intel compilers might require a two step installation as follows

$ python setup.py build_ext -i --fcompiler=intelem --compiler=intelem
$ python setup.py install --user

Contributions

If you have write access to this repository, please:

  1. create a new branch

  2. push your changes to that branch

  3. merge or rebase to get in sync with master

  4. submit a pull request on github

If you do not have write access, create a fork of this repository and proceed as described above. For more details, see Contributing.

History

0.1.0 (2018-06-15)

  • First release on PyPI.

0.5.2 (2019-01-22)

  • API for most modules is close to converged

  • Significant number of bug fixes and new features

  • Versioning system implemented through versioneer and bumpversion

  • Automated pixel level tests for discovering effects of low-level changes

0.6.0 (2019-09-18)

Changes relative to 0.5.2 include:

  • Improvements in accuracy for map extent, area and Fourier wavenumbers

  • Spherical harmonic treatment consistent with healpy

  • Additional helper functions, e.g enmap.insert

  • Helper arguments, e.g. physical normalization for enmap.fft

  • Bug fixes e.g. in rand_alm

  • Improved installation procedure and documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pixell-0.7.0.tar.gz (6.6 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page