Spectral wavelets#
Kernel signatures (HKS, WKS, BKS) summarize the spectrum with a single weighting per scale. Spectral wavelets instead build a bank of band-pass filters, giving an explicit multi-resolution decomposition of functions on the surface — the spectral-geometry analogue of a classical wavelet transform.
SGW — Spectral Graph Wavelets#
SGW applies a filter kernel \(g(\cdot)\) dilated by a set of scales \(\{t_j\}\) to the spectrum, then maps each filtered response back onto the surface. With \(\hat g\) a band-pass generator (mexican-hat, heat, or Meyer kernels are provided), the wavelet at scale \(t_j\) and vertex \(x\) is
For efficiency the transform is computed with a Chebyshev polynomial approximation of the kernel, avoiding a full eigendecomposition when only the wavelet coefficients are needed.
coeffs = sb.sgw_transform(decomp, scales=[...], kernel="mexican_hat")
desc = sb.sgw_descriptor(decomp, ...) # per-vertex multi-scale descriptor
Available kernels: mexican_hat, heat, and meyer.
ASMWD — Anisotropic Spectral Mesh Wavelet Descriptor#
ASMWD combines the wavelet idea with the anisotropic (curvature-aligned) Laplacian, producing a multi-resolution descriptor that is also direction-sensitive — useful where both scale and orientation of a feature matter.
from spectralbrain.spectral.anisotropic import compute_asmwd
asmwd = compute_asmwd(mesh, ...)
See also
API: sgw_transform(),
sgw_descriptor(). ASMWD lives in
spectralbrain.spectral.anisotropic alongside the anisotropic HKS/WKS.