Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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 extendible. 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 can hopefully 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.

Metadata

Release files for pymtlibs 0.0.13.dev6

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

Source distribution (sdist)

Source distribution for pymtlibs 0.0.13.dev6
File Size Uploaded
pymtlibs-0.0.13.dev6.tar.gz 46.3 MB Details

Built distribution (wheel)

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

Total release size: 92.0 MB

Release files / pymtlibs-0.0.13.dev6.tar.gz

Download URL pymtlibs-0.0.13.dev6.tar.gz
Size 46.3 MB
Tags Source
SHA-256 checksum
How to use checksums
6a4c0916c486f4f738114fa570e5f79e07af6b762c8cf9c5ea6615e00f007f44
BLAKE2b-256 checksum
How to use checksums
2c0f139b98e00e4bddc905bffe0e9ce4481cdca602c4a78e463a48845e35b6db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.9

Release files / pymtlibs-0.0.13.dev6-py3-none-any.whl

Download URL pymtlibs-0.0.13.dev6-py3-none-any.whl
Size 45.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
a53778d972e8870da3c1719173c6dcb7c86eef4b3cf10b25eb50dceb30822413
BLAKE2b-256 checksum
How to use checksums
eff02f2cc7907986482108db43d7f0d536b45bc16110a7e32070c86155b6436b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.9
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