Metadata-Version: 2.1
Name: s2wav
Version: 1.0.1
Summary: Differentiable and accelerated wavelet transforms with JAX
Home-page: https://github.com/astro-informatics/s2wav
Author: Authors & Contributors
License: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Requires-Python: >=3.8
Description-Content-Type: text/x-rst
License-File: LICENCE.txt
Requires-Dist: numpy
Requires-Dist: colorlog
Requires-Dist: pyyaml==6.0
Requires-Dist: scipy
Requires-Dist: s2fft>=1.1.0

.. image:: https://github.com/astro-informatics/s2wav/actions/workflows/tests.yml/badge.svg?branch=main
    :target: https://github.com/astro-informatics/s2wav/actions/workflows/tests.yml
.. image:: https://codecov.io/gh/astro-informatics/s2wav/branch/main/graph/badge.svg?token=ZES6J4K3KZ
    :target: https://codecov.io/gh/astro-informatics/s2wav
.. image:: https://img.shields.io/badge/License-MIT-yellow.svg
    :target: https://opensource.org/licenses/MIT
.. image:: http://img.shields.io/badge/arXiv-2402.01282-orange.svg?style=flat
    :target: https://arxiv.org/abs/2402.01282
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/psf/black
.. image:: https://colab.research.google.com/assets/colab-badge.svg
    :target: https://colab.research.google.com/drive/15E64EAQ7TIp2a3cCoXtnNgf7Ud9MYjVq?usp=sharing

Differentiable and accelerated wavelet transform on the sphere
=================================================================================================================

`S2WAV` is a python package for computing wavelet transforms on the sphere
and rotation group, both in JAX and PyTorch. It leverages autodiff to provide differentiable
transforms, which are also deployable on modern hardware accelerators
(e.g. GPUs and TPUs), and can be mapped across multiple accelerators.

More specifically, `S2WAV` provides support for scale-discretised
wavelet transforms on the sphere and rotation group (for both real and
complex signals), with support for adjoints where needed, and comes with
a variety of different optimisations (e.g. precompute or not,
multi-resolution algorithms) that one may select depending on available
resources and desired angular resolution L. `S2WAV` is a sister package of 
`S2FFT <https://github.com/astro-informatics/s2fft>`_, both of which are part of the `SAX` 
project, which aims to provide comprehensive support for differentiable transforms on the 
sphere and rotation group.

As of version 1.0.0 `S2WAV` also provides partial frontend support for PyTorch. In future 
this will be expanded to full support. Also note that this release also provides JAX support 
for existing C spherical harmonic libraries, specifically `SSHT`. This works be wrapping 
python bindings with custom JAX frontends. Note that currently this C to JAX interoperability 
is limited to CPU.

Documentation
=============

Read the full documentation `here <astro-informatics.github.io/s2wav/>`_.

Attribution
===========
A BibTeX entry for s2wav is:

.. code-block:: 

    @article{price:s2wav, 
        author      = "Matthew A. Price and Alicja Polanska and Jessica Whitney and Jason D. McEwen",
        title       = "Differentiable and accelerated directional wavelet transform on the sphere and ball",
        year        = "2024",
        eprint      = "arXiv:2402.01282"        
    }

we also request that you cite the following paper 

.. code-block:: 

    @article{price:s2fft, 
        author      = "Matthew A. Price and Jason D. McEwen",
        title       = "Differentiable and accelerated spherical harmonic and Wigner transforms",
        journal     = "Journal of Computational Physics, submitted",
        year        = "2023",
        eprint      = "arXiv:2311.14670"        
    }

in which the core underlying algorithms for the spherical harmonic and Wigner transforms 
are developed.

License
=======

We provide this code under an MIT open-source licence with the hope that
it will be of use to a wider community.

Copyright 2024 Matthew Price, Jessica Whtiney, Alicja Polanska, Jason
McEwen and contributors.

`S2WAV` is free software made available under the MIT License. For
details see the LICENSE file.
