Skip to main content

pyspherical

An implementation of the fast spin-weighted spherical harmonic transform methods of McEwan and Wiaux (2011) [1], using the recursion relations of Trapani and Navaza (2006) [2] to calculate Wigner-d functions. Transforms are supported for any spherical sampling pattern with equally-spaced samples of azimuth at each latitude (iso-latitude sampling). Additional functions are provided to evaluate spin-weighted spherical harmonics at arbitrary positions.

These methods are written entirely in Python, taking advantage of numba jit compilation and numpy vector operations for speed.

This README, a tutorial, and all function docstrings may be found on ReadTheDocs.

Dependencies

Required:

  • numpy
  • numba
  • scipy

Optional:

  • sympy
  • pytest

Installation

The latest release of pyspherical is available on PyPi:

pip install pyspherical

The bleeding-edge version may be installed directly from the repository:

> git clone https://github.com/aelanman/pyspherical.git
> python setup.py install
# or
> pip install .

Quick Start

Tests can be run using pytest to confirm that the installation was successful.

An example script scripts/example_1.py demonstrates how to use some of the available evaluation and transform functions. Another script scripts/example_2.py plots the spherical harmonics for el < 4. Further documentation is under development.

References

[1] McEwen, J. D., and Y. Wiaux. “A Novel Sampling Theorem on the Sphere.” IEEE Transactions on Signal Processing, vol. 59, no. 12, Dec. 2011, pp. 5876–87. arXiv.org, doi:10.1109/TSP.2011.2166394.

[2] S, Trapani, and Navaza J. “Calculation of Spherical Harmonics and Wigner d Functions by FFT. Applications to Fast Rotational Matching in Molecular Replacement and Implementation into AMoRe.” Acta Crystallographica Section A, vol. 62, no. 4, 2006, pp. 262–69. Wiley Online Library, doi:10.1107/S0108767306017478.

Metadata

Release files for pyspherical 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyspherical 0.0.2
File Size Uploaded
pyspherical-0.0.2.tar.gz 29.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyspherical 0.0.2
File Interpreter ABI Platform
pyspherical-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 56.0 kB

Release files / pyspherical-0.0.2.tar.gz

Download URL pyspherical-0.0.2.tar.gz
Size 29.0 kB
Tags Source
SHA-256 checksum
How to use checksums
6f9cb03805e33668b9b5452e1e5d8d6570b6bd24e9becff02227790be9038da2
BLAKE2b-256 checksum
How to use checksums
9e4c8b60ae0fcb245ee7d77ed050b21da28d0a2779175292432fe21fa71a9d1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.3

Release files / pyspherical-0.0.2-py3-none-any.whl

Download URL pyspherical-0.0.2-py3-none-any.whl
Size 27.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5351abc936dafad34d9d92a6b4655102cacc8d2bc772e7afe9c04be4bdf3c574
BLAKE2b-256 checksum
How to use checksums
f07da1aa2659c0d8637613890f26613795a499ba2e90969d272e595f8f9032be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.3

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page