Skip to main content

Pycsou extension module for spherical inverse problems.

Project description

https://matthieumeo.github.io/pycsou/html/_images/pycsou.png https://zenodo.org/badge/277582581.svg

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.

Content

The package, named pycsphere, is organised as follows:

  1. The subpackage pycsphere.linop implements the following common spherical linear operators:

    • Convolution/pooling operators,

    • Spherical transforms and their inverses,

    • Finite-difference spherical differential operators.

  2. The subpackage pycsphere.mesh provides routines for generating spherical meshes.

  3. The subpackage pycsphere.green provides numerical routines for computing the Green kernels of common spherical pseudo-differential operators.

Installation

Pycsou-sphere requires Python 3.6 or greater. It is developed and tested on x86_64 systems running MacOS and Linux.

Dependencies

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

Quick Install

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.

Developer Install

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

Cite

For citing this package, please see: http://doi.org/10.5281/zenodo.4486431

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

pycsphere-1.0.2.tar.gz (753.3 kB view details)

Uploaded Source

File details

Details for the file pycsphere-1.0.2.tar.gz.

File metadata

  • Download URL: pycsphere-1.0.2.tar.gz
  • Upload date:
  • Size: 753.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.8

File hashes

Hashes for pycsphere-1.0.2.tar.gz
Algorithm Hash digest
SHA256 3a86d80e4aafcd6fa7a0b575a356fcc1b8191a46dd1a9362fdd02a7b502fada1
MD5 cfdf793c542d2b057d30d675c77032f9
BLAKE2b-256 ce48d14dacfba2dd0e31a50bebecbfde73aee4180a7cc720e780f9f9cbb96639

See more details on using hashes here.

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