pyOpenSci / software-submission

Submit your package for review by pyOpenSci here! If you have questions please post them here: https://pyopensci.discourse.group/
94 stars 35 forks source link

SLEPLET: Slepian Scale-Discretised Wavelets in Python #148

Closed paddyroddy closed 1 year ago

paddyroddy commented 1 year ago

Submitting Author: Patrick J. Roddy (@paddyroddy)
Package Name: SLEPLET One-Line Description of Package: Slepian Scale-Discretised Wavelets in Python Repository Link (if existing): https://github.com/astro-informatics/sleplet


Code of Conduct & Commitment to Maintain Package

Description

SLEPLET is a Python package for the construction of Slepian wavelets in the spherical and manifold (via meshes) settings. SLEPLET handles any spherical region as well as the general manifold setting. The API is documented and easily extendible, designed in an object-orientated manner. Upon installation, SLEPLET comes with two command line interfaces - sphere and mesh - that allow one to easily generate plots on the sphere and a set of meshes using plotly. Whilst these scripts are the primary intended use, SLEPLET may be used directly to generate the Slepian coefficients in the spherical/manifold setting and use methods to convert these into real space for visualisation or other intended purposes. The construction of the sifting convolution was required to create Slepian wavelets. As a result, there are also many examples of functions on the sphere in harmonic space (rather than Slepian) that were used to demonstrate its effectiveness. SLEPLET has been used in the development of various papers.

Community Partnerships

We partner with communities to support peer review with an additional layer of checks that satisfy community requirements. If your package fits into an existing community please check below:

Scope

Domain Specific & Community Partnerships

- [ ] Geospatial
- [ ] Education
- [ ] Pangeo
- [X] Unsure/Other (explain below)

Not sure what these community partnerships are. Only recently learny about pyOpenSci!

Many fields in science and engineering measure data that inherently live on non-Euclidean geometries, such as the sphere. Techniques developed in the Euclidean setting must be extended to other geometries. Due to recent interest in geometric deep learning, analogues of Euclidean techniques must also handle general manifolds or graphs. Often, data are only observed over partial regions of manifolds, and thus standard whole-manifold techniques may not yield accurate predictions. Slepian wavelets are designed for datasets like these. Slepian wavelets are built upon the eigenfunctions of the Slepian concentration problem of the manifold: a set of bandlimited functions that are maximally concentrated within a given region. Wavelets are constructed through a tiling of the Slepian harmonic line by leveraging the existing scale-discretised framework. Whilst these wavelets were inspired by spherical datasets, like in cosmology, the wavelet construction may be utilised for manifold or graph data.

To the author's knowledge, there is no public software that allows one to compute Slepian wavelets (or a similar approach) on the sphere or general manifolds/meshes. SHTools is a Python code used for spherical harmonic transforms, which allows one to compute the Slepian functions of the spherical polar cap. A series of MATLAB scripts exist in slepian_alpha, which permits the calculation of the Slepian functions on the sphere. However, these scripts are very specialised and hard to generalise.

Has been accepted in JOSS JOSS

P.S. Have feedback/comments about our review process? Leave a comment here

NickleDave commented 1 year ago

Hi @paddyroddy and welcome to pyOpenSci.

Thank you for your detailed presubmission inquiry.
I can confirm that SLEPTET is in scope for pyOpenSci, and we will be happy to provide you with a review.

Please go ahead and make a full submission, and reference this issue by number when you do.

paddyroddy commented 1 year ago

Okay thank you, will do!

NickleDave commented 1 year ago

Great, looking forward to your submission!