Pycsou-sphere is an extension module of the Python 3 package Pycsou for solving linear inverse problems on the sphere. The extension offers implementations of spherical zonal convolution operators as well as the spherical harmonic and Fourier-Legendre transforms (all compatible with Pycsou's interface for linear operators). It also provides numerical routines for computing the Green kernels of common spherical pseudo-differential operators and generating spherical meshes/point sets.
This module heavily relies and follows similar conventions as the healpy package for spherical signal processing with Python.
The package, named pycsphere, is organised as follows:
- The subpackage
pycsphere.linop
implements the following common spherical linear operators:- Convolution/pooling operators,
- Spherical transforms and their inverses,
- Finite-difference spherical differential operators.
- The subpackage
pycsphere.mesh
provides routines for generating spherical meshes. - The subpackage
pycsphere.green
provides numerical routines for computing the Green kernels of common spherical pseudo-differential operators.
Pycsou-sphere requires Python 3.6 or greater. It is developed and tested on x86_64 systems running MacOS and Linux.
Before installing Pycsou-sphere, make sure that the base package Pycsou is correctly installed on your machine. Installation instructions for Pycsou are available at that link.
The package extra dependencies are listed in the files requirements.txt
and requirements-conda.txt
.
It is recommended to install those extra dependencies using Miniconda or
Anaconda. This
is not just a pure stylistic choice but comes with some hidden advantages, such as the linking to
Intel MKL
library (a highly optimized BLAS library created by Intel).
>> conda install --channel=conda-forge --file=requirements-conda.txt
Pycsou-sphere is also available on Pypi. You can hence install it very simply via the command:
>> pip install pycsou-sphere
If you have previously activated your conda environment pip
will install Pycsou in said environment.
Otherwise it will install it in your base
environment together with the various dependencies obtained from the file requirements.txt
.
It is also possible to install Pycsou-sphere from the source for developers:
>> git clone https://github.com/matthieumeo/pycsou-sphere
>> cd <repository_dir>/
>> pip install -e .
The package documentation can be generated with:
>> conda install sphinx=='2.1.*' \
sphinx_rtd_theme=='0.4.*'
>> python3 setup.py build_sphinx
You can verify that the installation was successful by running the package doctests:
>> python3 test.py
For citing this package, please see: http://doi.org/10.5281/zenodo.4486431