pymtlibs


Namepymtlibs JSON
Version 0.0.13.dev6 PyPI version JSON
download
home_pageNone
SummarySlepian Scale-Discretised Wavelets in Python
upload_time2024-07-19 04:30:11
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseBSD 3-Clause Licence Copyright (c) 2017-2024, Patrick Roddy All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
keywords manifolds python slepian-functions sphere wavelets
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SLEPLET

[![PyPI](https://badge.fury.io/py/sleplet.svg)](https://pypi.org/project/sleplet)
[![Zenodo](https://zenodo.org/badge/DOI/10.5281/zenodo.7268074.svg)](https://doi.org/10.5281/zenodo.7268074)
[![Documentation](https://img.shields.io/badge/Documentation-SLEPLET-blueviolet.svg)](https://astro-informatics.github.io/sleplet)
[![Licence](https://img.shields.io/github/license/astro-informatics/sleplet)](https://github.com/astro-informatics/sleplet?tab=BSD-3-Clause-1-ov-file#readme)

[![Python](https://img.shields.io/pypi/pyversions/sleplet)](https://www.python.org)
[![repostatus](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![Test](https://github.com/astro-informatics/sleplet/actions/workflows/test.yaml/badge.svg)](https://github.com/astro-informatics/sleplet/actions/workflows/test.yaml)
[![Coverage Status](https://coveralls.io/repos/github/astro-informatics/sleplet/badge.svg?branch=main)](https://coveralls.io/github/astro-informatics/sleplet?branch=main)
[![CodeFactor](https://www.codefactor.io/repository/github/astro-informatics/sleplet/badge)](https://www.codefactor.io/repository/github/astro-informatics/sleplet)

[![JOSS](https://joss.theoj.org/papers/55d9cf16a27bf2d3141f0f66c676b7f2/status.svg)](https://joss.theoj.org/papers/55d9cf16a27bf2d3141f0f66c676b7f2)
[![PyOpenSci](https://img.shields.io/badge/PyOpenSci-Peer%20Reviewed-success.svg)](https://github.com/pyOpenSci/software-submission/issues/149)
[![Citation](https://img.shields.io/badge/cite-SLEPLET-yellow)](https://github.com/astro-informatics/sleplet#citing)

[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
[![Renovate](https://img.shields.io/badge/renovate-enabled-orange?logo=renovatebot)](https://renovatebot.com)

`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

[![Sifting Convolution on the Sphere](https://img.shields.io/badge/DOI-10.1109/LSP.2021.3050961-pink.svg)](https://dx.doi.org/10.1109/LSP.2021.3050961)
[![Slepian Scale-Discretised Wavelets on the Sphere](https://img.shields.io/badge/DOI-10.1109/TSP.2022.3233309-pink.svg)](https://dx.doi.org/10.1109/TSP.2022.3233309)
[![Slepian Scale-Discretised Wavelets on Manifolds](https://img.shields.io/badge/DOI-10.48550/arXiv.2302.06006-pink.svg)](https://doi.org/10.48550/arXiv.2302.06006)
[![Slepian Wavelets for the Analysis of Incomplete Data on Manifolds](https://img.shields.io/badge/PhD%20Thesis-Patrick%20J.%20Roddy-pink.svg)](https://paddyroddy.github.io/thesis)

## Installation

The recommended way to install `SLEPLET` is via
[pip](https://pypi.org/project/pip)

```sh
pip install sleplet
```

To install the latest development version of `SLEPLET` clone this repository and
run

```sh
pip install -e .
```

This will install two scripts `sphere` and `mesh` which can be used to generate
the figures in
[the associated papers](https://astro-informatics.github.io/sleplet#paper-figures).

### Supported Platforms

`SLEPLET` has been tested with
[![Python](https://img.shields.io/pypi/pyversions/sleplet)](https://www.python.org).
Windows is not currently supported as `SLEPLET` relies on
[pyssht](https://pypi.org/project/pyssht) and
[pys2let](https://pypi.org/project/pys2let) which do not work on Windows. These
can hopefully be replaced with
[s2fft](https://github.com/astro-informatics/s2fft) and
[s2wav](https://github.com/astro-informatics/s2wav) in the future when they are
available on [PyPI](https://pypi.org).

## 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.

```python
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()
```

![Slepian Wavelet j=2](https://github.com/astro-informatics/sleplet/blob/main/documentation/slepian_wavelets_south_america_3B_2jmin_2j_L128_res512_real.png?raw=true)

### 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.

```sh
mesh homer -e 3 2 0 -m slepian_wavelet_coefficients -u -z
```

![Slepian Mesh Wavelet Coefficients j=2](https://github.com/astro-informatics/sleplet/blob/main/documentation/slepian_wavelet_coefficients_homer_3B_2jmin_2j_zoom.png?raw=true)

## Documentation

See here for the [documentation](https://astro-informatics.github.io/sleplet).
This includes demonstrations of the figures from the associated papers along
with the API documentation. Further examples are included in the
[examples folder](https://github.com/astro-informatics/sleplet/tree/main/examples).

## Community Guidelines

We'd love any contributions you may have, please see the
[contributing guidelines](https://github.com/astro-informatics/sleplet/blob/main/CONTRIBUTING.md).

## Citing

If you use `SLEPLET` in your research, please cite the paper.

```bibtex
@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](https://doi.org/10.1051/0004-6361/201220729) upon which
`SLEPLET` is built, along with [SSHT](https://doi.org/10.1109/TSP.2011.2166394)
in the spherical setting or [libigl](https://doi.org/10.1145/3134472.3134497) in
the mesh setting.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pymtlibs",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "manifolds, python, slepian-functions, sphere, wavelets",
    "author": null,
    "author_email": "\"Patrick J. Roddy\" <patrickjamesroddy@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/2c/0f/139b98e00e4bddc905bffe0e9ce4481cdca602c4a78e463a48845e35b6db/pymtlibs-0.0.13.dev6.tar.gz",
    "platform": null,
    "description": "# SLEPLET\n\n[![PyPI](https://badge.fury.io/py/sleplet.svg)](https://pypi.org/project/sleplet)\n[![Zenodo](https://zenodo.org/badge/DOI/10.5281/zenodo.7268074.svg)](https://doi.org/10.5281/zenodo.7268074)\n[![Documentation](https://img.shields.io/badge/Documentation-SLEPLET-blueviolet.svg)](https://astro-informatics.github.io/sleplet)\n[![Licence](https://img.shields.io/github/license/astro-informatics/sleplet)](https://github.com/astro-informatics/sleplet?tab=BSD-3-Clause-1-ov-file#readme)\n\n[![Python](https://img.shields.io/pypi/pyversions/sleplet)](https://www.python.org)\n[![repostatus](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)\n[![Test](https://github.com/astro-informatics/sleplet/actions/workflows/test.yaml/badge.svg)](https://github.com/astro-informatics/sleplet/actions/workflows/test.yaml)\n[![Coverage Status](https://coveralls.io/repos/github/astro-informatics/sleplet/badge.svg?branch=main)](https://coveralls.io/github/astro-informatics/sleplet?branch=main)\n[![CodeFactor](https://www.codefactor.io/repository/github/astro-informatics/sleplet/badge)](https://www.codefactor.io/repository/github/astro-informatics/sleplet)\n\n[![JOSS](https://joss.theoj.org/papers/55d9cf16a27bf2d3141f0f66c676b7f2/status.svg)](https://joss.theoj.org/papers/55d9cf16a27bf2d3141f0f66c676b7f2)\n[![PyOpenSci](https://img.shields.io/badge/PyOpenSci-Peer%20Reviewed-success.svg)](https://github.com/pyOpenSci/software-submission/issues/149)\n[![Citation](https://img.shields.io/badge/cite-SLEPLET-yellow)](https://github.com/astro-informatics/sleplet#citing)\n\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)\n[![Renovate](https://img.shields.io/badge/renovate-enabled-orange?logo=renovatebot)](https://renovatebot.com)\n\n`SLEPLET` is a Python package for the construction of Slepian wavelets in the\nspherical and manifold (via meshes) settings. The API of `SLEPLET` has been\ndesigned in an object-orientated manner and is easily extendible. Upon\ninstallation, `SLEPLET` comes with two command line interfaces - `sphere` and\n`mesh` - which allows one to easily generate plots on the sphere and a set of\nmeshes using `plotly`.\n\nTo read more about Slepian wavelets please see the following publications\n\n[![Sifting Convolution on the Sphere](https://img.shields.io/badge/DOI-10.1109/LSP.2021.3050961-pink.svg)](https://dx.doi.org/10.1109/LSP.2021.3050961)\n[![Slepian Scale-Discretised Wavelets on the Sphere](https://img.shields.io/badge/DOI-10.1109/TSP.2022.3233309-pink.svg)](https://dx.doi.org/10.1109/TSP.2022.3233309)\n[![Slepian Scale-Discretised Wavelets on Manifolds](https://img.shields.io/badge/DOI-10.48550/arXiv.2302.06006-pink.svg)](https://doi.org/10.48550/arXiv.2302.06006)\n[![Slepian Wavelets for the Analysis of Incomplete Data on Manifolds](https://img.shields.io/badge/PhD%20Thesis-Patrick%20J.%20Roddy-pink.svg)](https://paddyroddy.github.io/thesis)\n\n## Installation\n\nThe recommended way to install `SLEPLET` is via\n[pip](https://pypi.org/project/pip)\n\n```sh\npip install sleplet\n```\n\nTo install the latest development version of `SLEPLET` clone this repository and\nrun\n\n```sh\npip install -e .\n```\n\nThis will install two scripts `sphere` and `mesh` which can be used to generate\nthe figures in\n[the associated papers](https://astro-informatics.github.io/sleplet#paper-figures).\n\n### Supported Platforms\n\n`SLEPLET` has been tested with\n[![Python](https://img.shields.io/pypi/pyversions/sleplet)](https://www.python.org).\nWindows is not currently supported as `SLEPLET` relies on\n[pyssht](https://pypi.org/project/pyssht) and\n[pys2let](https://pypi.org/project/pys2let) which do not work on Windows. These\ncan hopefully be replaced with\n[s2fft](https://github.com/astro-informatics/s2fft) and\n[s2wav](https://github.com/astro-informatics/s2wav) in the future when they are\navailable on [PyPI](https://pypi.org).\n\n## Example Usage\n\n`SLEPLET` may be interacted with via the API or the CLIs.\n\n### API Usage\n\nThe following demonstrates the first wavelet (ignoring the scaling function) of\nthe South America region on the sphere.\n\n```python\nimport sleplet\n\nB, J, J_MIN, L = 3, 0, 2, 128\n\nregion = sleplet.slepian.Region(mask_name=\"south_america\")\nf = sleplet.functions.SlepianWavelets(L, region=region, B=B, j_min=J_MIN, j=J)\nf_sphere = sleplet.slepian_methods.slepian_inverse(f.coefficients, f.L, f.slepian)\nsleplet.plotting.PlotSphere(\n    f_sphere,\n    f.L,\n    f\"slepian_wavelets_south_america_{B}B_{J_MIN}jmin_{J_MIN+J}j_L{L}\",\n    normalise=False,\n    region=f.region,\n).execute()\n```\n\n![Slepian Wavelet j=2](https://github.com/astro-informatics/sleplet/blob/main/documentation/slepian_wavelets_south_america_3B_2jmin_2j_L128_res512_real.png?raw=true)\n\n### CLI Usage\n\nThe demonstrates the first wavelet (ignoring the scaling function) of the head\nregion of a Homer Simpson mesh for a per-vertex normals field.\n\n```sh\nmesh homer -e 3 2 0 -m slepian_wavelet_coefficients -u -z\n```\n\n![Slepian Mesh Wavelet Coefficients j=2](https://github.com/astro-informatics/sleplet/blob/main/documentation/slepian_wavelet_coefficients_homer_3B_2jmin_2j_zoom.png?raw=true)\n\n## Documentation\n\nSee here for the [documentation](https://astro-informatics.github.io/sleplet).\nThis includes demonstrations of the figures from the associated papers along\nwith the API documentation. Further examples are included in the\n[examples folder](https://github.com/astro-informatics/sleplet/tree/main/examples).\n\n## Community Guidelines\n\nWe'd love any contributions you may have, please see the\n[contributing guidelines](https://github.com/astro-informatics/sleplet/blob/main/CONTRIBUTING.md).\n\n## Citing\n\nIf you use `SLEPLET` in your research, please cite the paper.\n\n```bibtex\n@article{Roddy2023,\n  title   = {{SLEPLET: Slepian Scale-Discretised Wavelets in Python}},\n  author  = {Roddy, Patrick J.},\n  year    = 2023,\n  journal = {Journal of Open Source Software},\n  volume  = 8,\n  number  = 84,\n  pages   = 5221,\n  doi     = {10.21105/joss.05221},\n}\n```\n\nPlease also cite [S2LET](https://doi.org/10.1051/0004-6361/201220729) upon which\n`SLEPLET` is built, along with [SSHT](https://doi.org/10.1109/TSP.2011.2166394)\nin the spherical setting or [libigl](https://doi.org/10.1145/3134472.3134497) in\nthe mesh setting.\n",
    "bugtrack_url": null,
    "license": "BSD 3-Clause Licence  Copyright (c) 2017-2024, Patrick Roddy All rights reserved.  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ",
    "summary": "Slepian Scale-Discretised Wavelets in Python",
    "version": "0.0.13.dev6",
    "project_urls": {
        "Code": "https://github.com/astro-informatics/pymtlibs",
        "Documentation": "https://astro-informatics.github.io/pymtlibs",
        "Download": "https://pypi.org/project/pymtlibs",
        "Homepage": "https://github.com/astro-informatics/pymtlibs",
        "Issues": "https://github.com/astro-informatics/pymtlibs/issues"
    },
    "split_keywords": [
        "manifolds",
        " python",
        " slepian-functions",
        " sphere",
        " wavelets"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "eff02f2cc7907986482108db43d7f0d536b45bc16110a7e32070c86155b6436b",
                "md5": "8a50458ec464a7c5a512a4f91f894240",
                "sha256": "a53778d972e8870da3c1719173c6dcb7c86eef4b3cf10b25eb50dceb30822413"
            },
            "downloads": -1,
            "filename": "pymtlibs-0.0.13.dev6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8a50458ec464a7c5a512a4f91f894240",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 45642995,
            "upload_time": "2024-07-19T04:30:07",
            "upload_time_iso_8601": "2024-07-19T04:30:07.223124Z",
            "url": "https://files.pythonhosted.org/packages/ef/f0/2f2cc7907986482108db43d7f0d536b45bc16110a7e32070c86155b6436b/pymtlibs-0.0.13.dev6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2c0f139b98e00e4bddc905bffe0e9ce4481cdca602c4a78e463a48845e35b6db",
                "md5": "948f6ef74bc05dde4eab9bac2767dc09",
                "sha256": "6a4c0916c486f4f738114fa570e5f79e07af6b762c8cf9c5ea6615e00f007f44"
            },
            "downloads": -1,
            "filename": "pymtlibs-0.0.13.dev6.tar.gz",
            "has_sig": false,
            "md5_digest": "948f6ef74bc05dde4eab9bac2767dc09",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 46330224,
            "upload_time": "2024-07-19T04:30:11",
            "upload_time_iso_8601": "2024-07-19T04:30:11.577797Z",
            "url": "https://files.pythonhosted.org/packages/2c/0f/139b98e00e4bddc905bffe0e9ce4481cdca602c4a78e463a48845e35b6db/pymtlibs-0.0.13.dev6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-19 04:30:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "astro-informatics",
    "github_project": "pymtlibs",
    "github_not_found": true,
    "lcname": "pymtlibs"
}
        
Elapsed time: 0.26586s