Skip to main content

Slepian Scale-Discretised Wavelets in Python

Project description

SLEPLET

PyPI Zenodo Documentation Licence

Python repostatus Test Coverage Status CodeFactor

JOSS PyOpenSci Citation

pre-commit Renovate

SLEPLET is a Python package for the construction of Slepian wavelets in the spherical and manifold (via meshes) settings. The API of SLEPLET has been designed in an object-orientated manner and is easily extendable. Upon installation, SLEPLET comes with two command line interfaces - sphere and mesh - which allows one to easily generate plots on the sphere and a set of meshes using plotly.

To read more about Slepian wavelets please see the following publications

Sifting Convolution on the Sphere Slepian Scale-Discretised Wavelets on the Sphere Slepian Scale-Discretised Wavelets on Manifolds Slepian Wavelets for the Analysis of Incomplete Data on Manifolds

Installation

The recommended way to install SLEPLET is via pip

pip install sleplet

To install the latest development version of SLEPLET clone this repository and run

pip install -e .

This will install two scripts sphere and mesh which can be used to generate the figures in the associated papers.

Supported Platforms

SLEPLET has been tested with Python. Windows is not currently supported as SLEPLET relies on pyssht and pys2let which do not work on Windows. These may be replaced with s2fft and s2wav in the future when they are available on PyPI.

Example Usage

SLEPLET may be interacted with via the API or the CLIs.

API Usage

The following demonstrates the first wavelet (ignoring the scaling function) of the South America region on the sphere.

import sleplet

B, J, J_MIN, L = 3, 0, 2, 128

region = sleplet.slepian.Region(mask_name="south_america")
f = sleplet.functions.SlepianWavelets(L, region=region, B=B, j_min=J_MIN, j=J)
f_sphere = sleplet.slepian_methods.slepian_inverse(f.coefficients, f.L, f.slepian)
sleplet.plotting.PlotSphere(
    f_sphere,
    f.L,
    f"slepian_wavelets_south_america_{B}B_{J_MIN}jmin_{J_MIN+J}j_L{L}",
    normalise=False,
    region=f.region,
).execute()

Slepian Wavelet j=2

CLI Usage

The demonstrates the first wavelet (ignoring the scaling function) of the head region of a Homer Simpson mesh for a per-vertex normals field.

mesh homer -e 3 2 0 -m slepian_wavelet_coefficients -u -z

Slepian Mesh Wavelet Coefficients j=2

Documentation

See here for the documentation. This includes demonstrations of the figures from the associated papers along with the API documentation. Further examples are included in the examples folder.

Community Guidelines

We'd love any contributions you may have, please see the contributing guidelines.

Citing

If you use SLEPLET in your research, please cite the paper.

@article{Roddy2023,
  title   = {{SLEPLET: Slepian Scale-Discretised Wavelets in Python}},
  author  = {Roddy, Patrick J.},
  year    = 2023,
  journal = {Journal of Open Source Software},
  volume  = 8,
  number  = 84,
  pages   = 5221,
  doi     = {10.21105/joss.05221},
}

Please also cite S2LET upon which SLEPLET is built, along with SSHT in the spherical setting or libigl in the mesh setting.

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

sleplet-1.5.2.tar.gz (349.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sleplet-1.5.2-py3-none-any.whl (385.2 kB view details)

Uploaded Python 3

File details

Details for the file sleplet-1.5.2.tar.gz.

File metadata

  • Download URL: sleplet-1.5.2.tar.gz
  • Upload date:
  • Size: 349.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sleplet-1.5.2.tar.gz
Algorithm Hash digest
SHA256 d344ac876974fd325f8c6ea195d3160cbea459f5149a8ec47f52c2450be18567
MD5 c846a2cb0bbc255113eff4f4b61c55c7
BLAKE2b-256 881538d1bf4abf68058dc6783bc167148180c119acc77fa9721a959b5f91c702

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleplet-1.5.2.tar.gz:

Publisher: deploy.yaml on astro-informatics/sleplet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sleplet-1.5.2-py3-none-any.whl.

File metadata

  • Download URL: sleplet-1.5.2-py3-none-any.whl
  • Upload date:
  • Size: 385.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sleplet-1.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 76def6b6f065f131e4bd92a6e7dc6fdd0eaabd760e9ed7a386612e8be2644ba3
MD5 e5eee10a10449b20efd279d31214543c
BLAKE2b-256 dcf03a7a1ce218adc95024ccb11a59c94a21e2d03736ed8eccf30f5cdb9c76eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleplet-1.5.2-py3-none-any.whl:

Publisher: deploy.yaml on astro-informatics/sleplet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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