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
The recommended way to install SLEPLET is via
pip
pip install slepletTo 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.
SLEPLET has been tested with
.
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.
SLEPLET may be interacted with via the API or the CLIs.
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()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 -zSee 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.
We'd love any contributions you may have, please see the contributing guidelines.
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.

