Slepian Scale-Discretised Wavelets in Python
Project description
SLEPLET
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
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
.
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()
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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.