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
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.
SLEPLET
has been tested with
.
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.
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 -z
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.
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.