PyWavelets

PyWavelets: A Python package for wavelet analysis - Published in JOSS (2019)

https://github.com/pywavelets/pywt

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 7 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    3 of 62 committers (4.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

continuous-wavelet image-processing signal-processing wavelet-transform wavelets

Keywords from Contributors

cryptocurrencies meshes gravitational-lenses blackhole astronomy fuzzing medical-imaging neuroscience parallel data-mining
Last synced: 4 months ago · JSON representation

Repository

PyWavelets - Wavelet Transforms in Python

Basic Info
Statistics
  • Stars: 2,264
  • Watchers: 62
  • Forks: 515
  • Open Issues: 78
  • Releases: 21
Topics
continuous-wavelet image-processing signal-processing wavelet-transform wavelets
Created over 12 years ago · Last pushed 4 months ago
Metadata Files
Readme Contributing Funding License

README.rst

+---------------+-----------------+
| Service       | Master branch   |
+===============+=================+
| GitHub        | |ghactions_ci|  |
+---------------+-----------------+
| Appveyor      | |appveyor_ci|   |
+---------------+-----------------+
| Read the Docs | |read_the_docs| |
+---------------+-----------------+


.. |ghactions_ci| image:: https://github.com/PyWavelets/pywt/actions/workflows/tests.yml/badge.svg?branch=main
   :alt: Build Status
   :target: https://github.com/PyWavelets/pywt/actions/workflows/tests.yml?query=branch%3Amain

.. |appveyor_ci| image:: https://ci.appveyor.com/api/projects/status/github/PyWavelets/pywt
   :align: middle
   :target: https://ci.appveyor.com/project/PyWavelets/pywt
   :alt: Appveyor Status

.. |read_the_docs| image:: https://readthedocs.org/projects/pywavelets/badge/?version=latest
   :align: middle
   :target: https://pywavelets.readthedocs.io/en/latest/?badge=latest
   :alt: Documentation Status


PyWavelets
==========

.. contents::

What is PyWavelets
------------------

PyWavelets is a free Open Source library for wavelet transforms in Python.
Wavelets are mathematical basis functions that are localized in both time and
frequency.  Wavelet transforms are time-frequency transforms employing
wavelets.  They are similar to Fourier transforms, the difference being that
Fourier transforms are localized only in frequency instead of in time and
frequency.

The main features of PyWavelets are:

  * 1D, 2D and nD Forward and Inverse Discrete Wavelet Transform (DWT and IDWT)
  * 1D, 2D and nD Multilevel DWT and IDWT
  * 1D and 2D Stationary Wavelet Transform (Undecimated Wavelet Transform)
  * 1D and 2D Wavelet Packet decomposition and reconstruction
  * 1D Continuous Wavelet Transform
  * Computing Approximations of wavelet and scaling functions
  * Over 100 `built-in wavelet filters`_ and support for custom wavelets
  * Single and double precision calculations
  * Real and complex calculations
  * Results compatible with Matlab Wavelet Toolbox (TM)


Documentation
-------------

Documentation with detailed examples and links to more resources is available
online at http://pywavelets.readthedocs.org.

For more usage examples see the `demo`_ directory in the source package.


Installation
------------

PyWavelets supports `Python`_ >=3.10, and is only dependent on `NumPy`_
(supported versions are currently ``>= 1.23.0``). To pass all of the tests,
`Matplotlib`_ is also required.

There are binary wheels for Intel Linux, Windows and macOS / OSX on PyPi.  If
you are on one of these platforms, you should get a binary (precompiled)
installation with::

    pip install PyWavelets

Users of the Anaconda_ Python distribution may wish to obtain pre-built
Windows, Intel Linux or macOS / OSX binaries from the conda-forge channel.
This can be done via::

    conda install -c conda-forge pywavelets

Several Linux distributions have their own packages for PyWavelets, but these
tend to be moderately out of date.  Query your Linux package manager tool for
``python-pywavelets``, ``python-wavelets``, ``python-pywt`` or a similar
package name.

If you want or need to install from source, you will need a working C compiler
(any common one will work) and a recent version of `Cython`_.  Navigate to the
PyWavelets source code directory (containing ``pyproject.toml``) and type::

    pip install .

The most recent *development* version can be found on GitHub at
https://github.com/PyWavelets/pywt.

The latest release, including source and binary packages for Intel Linux,
macOS and Windows, is available for download from the `Python Package Index`_.
You can find source releases at the `Releases Page`_.

State of development & Contributing
-----------------------------------

PyWavelets started in 2006 as an academic project for a master thesis
on `Analysis and Classification of Medical Signals using Wavelet Transforms`
and was maintained until 2012 by its `original developer`_.  In 2013
maintenance was taken over in a `new repo `_)
by a larger development team - a move supported by the original developer.
The repo move doesn't mean that this is a fork - the package continues to be
developed under the name "PyWavelets", and released on PyPi and Github (see
`this issue `_ for the discussion
where that was decided).

All contributions including bug reports, bug fixes, new feature implementations
and documentation improvements are welcome.  Moreover, developers with an
interest in PyWavelets are very welcome to join the development team!

As of 2019, PyWavelets development is supported in part by Tidelift.
`Help support PyWavelets with the Tidelift Subscription `_


Contact
-------

Use `GitHub Issues`_ or the `mailing list`_ to post your comments or questions.

**Report a security vulnerability:** https://tidelift.com/security

License
-------

PyWavelets is a free Open Source software released under the MIT license.

If you wish to cite PyWavelets in a publication, please use the following
JOSS publication.

.. image:: http://joss.theoj.org/papers/10.21105/joss.01237/status.svg
   :target: https://doi.org/10.21105/joss.01237

Specific releases can also be cited via Zenodo. The DOI below will correspond
to the most recent release. DOIs for past versions can be found by following
the link in the badge below to Zenodo:

.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1407171.svg
   :target: https://doi.org/10.5281/zenodo.1407171

.. _built-in wavelet filters: http://wavelets.pybytes.com/
.. _Cython: http://cython.org/
.. _demo: https://github.com/PyWavelets/pywt/tree/main/demo
.. _Anaconda: https://www.continuum.io
.. _GitHub: https://github.com/PyWavelets/pywt
.. _GitHub Issues: https://github.com/PyWavelets/pywt/issues
.. _NumPy: https://www.numpy.org
.. _SciPy: https://www.scipy.org
.. _original developer: http://en.ig.ma
.. _Python: http://python.org/
.. _Python Package Index: http://pypi.python.org/pypi/PyWavelets/
.. _mailing list: http://groups.google.com/group/pywavelets
.. _Releases Page: https://github.com/PyWavelets/pywt/releases
.. _Matplotlib: http://matplotlib.org

Owner

  • Name: PyWavelets
  • Login: PyWavelets
  • Kind: organization
  • Email: pywavelets@googlegroups.com

PyWavelets is a library for wavelet transforms in Python.

JOSS Publication

PyWavelets: A Python package for wavelet analysis
Published
April 12, 2019
Volume 4, Issue 36, Page 1237
Authors
Gregory R. Lee ORCID
Department of Radiology, Cincinnati Children's Hospital Medical Center, Cincinnati, OH, USA, Department of Radiology, University of Cincinnati School of Medicine, Cincinnati, OH, USA
Ralf Gommers ORCID
Scion, 49 Sala Street, Private Bag 3020, Rotorua 3046, New Zealand, FPInnovations, 2665 East Mall, Vancouver, BC V6T 1Z4, Canada
Filip Waselewski ORCID
None
Kai Wohlfahrt ORCID
Department of Biochemistry, University of Cambridge, Old Addenbrookes Site, 80 Tennis Court Road, Cambridge, CB2 1GA, United Kingdom
Aaron O’Leary ORCID
None
Editor
Jed Brown ORCID
Tags
wavelets wavelet packets discrete wavelet transform continuous wavelet transform computational harmonic analysis

GitHub Events

Total
  • Create event: 11
  • Release event: 1
  • Issues event: 27
  • Watch event: 209
  • Delete event: 7
  • Issue comment event: 103
  • Push event: 22
  • Pull request review comment event: 8
  • Pull request review event: 32
  • Pull request event: 50
  • Fork event: 42
Last Year
  • Create event: 11
  • Release event: 1
  • Issues event: 27
  • Watch event: 209
  • Delete event: 7
  • Issue comment event: 103
  • Push event: 22
  • Pull request review comment event: 8
  • Pull request review event: 32
  • Pull request event: 50
  • Fork event: 42

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 1,693
  • Total Committers: 62
  • Avg Commits per committer: 27.306
  • Development Distribution Score (DDS): 0.636
Past Year
  • Commits: 46
  • Committers: 9
  • Avg Commits per committer: 5.111
  • Development Distribution Score (DDS): 0.435
Top Committers
Name Email Commits
Gregory R. Lee g****7@g****m 616
Ralf Gommers r****s@g****m 271
Kai Wohlfahrt k****t@g****m 216
Filip Wasilewski en@i****a 215
Aaron O'Leary a****y@g****m 88
Holger Nahrstaedt h****t@g****e 82
Agriya Khetarpal 7****l 47
François Boulogne f****g 29
Jarrod Millman j****n@g****m 18
dependabot[bot] 4****] 15
David Menéndez Hurtado d****o@s****e 9
Christian Clauss c****s@m****m 6
Alexandre Sauve a****e@g****m 6
Thomas Arildsen t****a@e****k 4
Ankit Agrawal a****l@i****n 4
Daniel M. Pelt d****t@c****l 4
Helder Oliveira h****o@g****m 4
Evgeni Burovski e****y@g****m 3
Frank Yu f****u@g****m 3
Matthew Brett m****t@g****m 3
Michel Pelletier p****l@g****m 3
Sylvain Lannuzel s****l@s****r 3
Daniele Tricoli e****l@m****g 2
Saket Choudhary s****b@g****m 2
John Muradeli j****i@g****m 2
Edgar Andrés Margffoy Tuay a****y@g****m 2
Alexandre Saint s****x@g****m 1
Ahmet Can Solak a****4@k****r 1
David McInnis d****m@e****u 1
Jonathan Dan j****n@b****m 1
and 32 more...

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 124
  • Total pull requests: 186
  • Average time to close issues: 11 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 105
  • Total pull request authors: 25
  • Average comments per issue: 2.67
  • Average comments per pull request: 1.82
  • Merged pull requests: 150
  • Bot issues: 0
  • Bot pull requests: 31
Past Year
  • Issues: 19
  • Pull requests: 54
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 3 days
  • Issue authors: 17
  • Pull request authors: 10
  • Average comments per issue: 0.84
  • Average comments per pull request: 0.59
  • Merged pull requests: 36
  • Bot issues: 0
  • Bot pull requests: 17
Top Authors
Issue Authors
  • rgommers (7)
  • agriyakhetarpal (6)
  • grlee77 (4)
  • Yecaergi (2)
  • M3rano (2)
  • igtrnt (2)
  • cyschneck (2)
  • yanwencheng (2)
  • lxpaul (1)
  • DominiqueMakowski (1)
  • shoukewei (1)
  • pinshuai (1)
  • grigorishat (1)
  • nieder (1)
  • ranabanik (1)
Pull Request Authors
  • rgommers (47)
  • agriyakhetarpal (34)
  • dependabot[bot] (31)
  • grlee77 (17)
  • cclauss (10)
  • jarrodmillman (10)
  • ev-br (5)
  • OverLordGoldDragon (4)
  • meiyasan (4)
  • phandangthoai (3)
  • andfoy (3)
  • Greenie0701 (2)
  • omersayli (2)
  • gabalafou (2)
  • amanita-citrina (2)
Top Labels
Issue Labels
question (43) enhancement (9) bug (8) build (6) task (5) needs-decision (2) invalid (2) CI (2) documentation (2) Official binaries (2) wontfix (1) duplicate (1) maintenance (1)
Pull Request Labels
maintenance (66) CI (32) dependencies (31) documentation (28) build (13) enhancement (11) github_actions (10) testing (5) Official binaries (2) needs-decision (1)

Packages

  • Total packages: 6
  • Total downloads:
    • pypi 8,947,069 last-month
  • Total docker downloads: 23,551,427
  • Total dependent packages: 126
    (may contain duplicates)
  • Total dependent repositories: 3,224
    (may contain duplicates)
  • Total versions: 94
  • Total maintainers: 7
pypi.org: pywavelets

PyWavelets, wavelet transform module

  • Versions: 27
  • Dependent Packages: 99
  • Dependent Repositories: 2,426
  • Downloads: 8,947,069 Last month
  • Docker Downloads: 23,551,427
Rankings
Downloads: 0.1%
Dependent packages count: 0.2%
Dependent repos count: 0.2%
Docker downloads count: 0.7%
Average: 1.1%
Stargazers count: 2.2%
Forks count: 3.1%
Last synced: 4 months ago
conda-forge.org: pywavelets
  • Versions: 12
  • Dependent Packages: 19
  • Dependent Repositories: 399
Rankings
Dependent repos count: 1.4%
Dependent packages count: 3.3%
Average: 5.7%
Forks count: 8.2%
Stargazers count: 9.9%
Last synced: 4 months ago
spack.io: py-pywavelets

PyWavelets is a free Open Source library for wavelet transforms in Python

  • Versions: 3
  • Dependent Packages: 4
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 5.8%
Dependent packages count: 11.6%
Maintainers (1)
Last synced: 4 months ago
proxy.golang.org: github.com/pywavelets/pywt
  • Versions: 20
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Average: 8.2%
Dependent repos count: 9.3%
Last synced: 4 months ago
proxy.golang.org: github.com/PyWavelets/pywt
  • Versions: 20
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Average: 8.2%
Dependent repos count: 9.3%
Last synced: 4 months ago
anaconda.org: pywavelets

PyWavelets is a free Open Source library for wavelet transforms in Python. Wavelets are mathematical basis functions that are localized in both time and frequency. Wavelet transforms are time-frequency transforms employing wavelets. They are similar to Fourier transforms, the difference being that Fourier transforms are localized only in frequency instead of in time and frequency.

  • Versions: 12
  • Dependent Packages: 4
  • Dependent Repositories: 399
Rankings
Dependent repos count: 8.4%
Dependent packages count: 11.1%
Average: 13.8%
Forks count: 16.5%
Stargazers count: 19.1%
Last synced: 4 months ago

Dependencies

.github/workflows/tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/wheel_tests_and_release.yml actions
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • docker/setup-qemu-action v1 composite
  • softprops/action-gh-release v1 composite
util/readthedocs/requirements.txt pypi
  • cython *
  • docutils <0.18
  • matplotlib *
  • numpy *
  • numpydoc *
  • pytest *
  • wheel *
pyproject.toml pypi
  • numpy >=1.22.4,<2.0