Skip to main content

Library for computing the weighted wavelet Z transform.

Project description

libwwz

Description

This library provides functions for computing the Weighted Wavelet Z-Transform using Python v3.6+.

The code is based on Foster's and Templeton's Fortran code as well as eaydin's Python 2.7 WWZ library. The code is updated to use modern numpy methods and allow for float value tau.

Specific equations can be found on Grant Foster's Wavelets for period analysis of unevenly sampled time series.

Installation

Install with pip

pip install libwwz

Install from source

Usage

The wwt function is available after importing libwwz.

import libwwz

result: np.ndarray = libwwz.wwt(...)

Examples

Full examples can be found in the examples directory.

API Documentation

API documentation is available at: https://redvoxinc.github.io/libwwz/

Contributors and Funding

This project was funded by Consortium of Enabling Technologies and Innovation (ETI) under the Department of Energy (DOE) through University of Hawaiʻi.

I would like to thank my advisor Milton A. Garcés, Ph.D. for the continuing support and advice on this code.

Development

Contributions are welcome.

If you would like to contribute:

  • Open a new issue on BitBucket
  • Fork and then clone this repository (https://github.com/RedVoxInc/libwwz/)
  • Install the development requirements in dev_requirements.txt with pip install -r dev_requirements.txt
  • Create a new branch in your forked repo following the format of issue-[issue number]
  • Make your modifications, commit, and push to your forked repository
  • Create a pull request

Before you commit:

  • Follow Python's pep8 guidelines
  • Create unit tests for changes
  • Ensure that all current tests pass by running the run_tests.sh script
  • Lint the code using pylint by running the run_pylint.sh script, do not make a pull request until there are no linting errors
  • Statically check types using mypy by running the run_mypy.sh script, do not make a pull request until all typing errors are resolved

Always remember The Zen of Python

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libwwz-1.3.4.tar.gz (18.7 kB view details)

Uploaded Source

Built Distribution

libwwz-1.3.4-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file libwwz-1.3.4.tar.gz.

File metadata

  • Download URL: libwwz-1.3.4.tar.gz
  • Upload date:
  • Size: 18.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for libwwz-1.3.4.tar.gz
Algorithm Hash digest
SHA256 1073295763be410e21cd9c019a7cf553d398c6500215cf9aca52e4cdd8daa2e4
MD5 bfaff5c5f8eedc2e712528c4f7956939
BLAKE2b-256 2342a9800e39d1adc073a071dd41fc1c23b90b6c71e2056f8f5f952534c095e0

See more details on using hashes here.

File details

Details for the file libwwz-1.3.4-py3-none-any.whl.

File metadata

  • Download URL: libwwz-1.3.4-py3-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for libwwz-1.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3ae4f5557d3b138bc3aaf1b6fcd33b7e45feb56d4069405579f628d1fb8172ba
MD5 8cff7f6a90db688e3e200b5f979f4fe6
BLAKE2b-256 80364b704c1f0e09f93a84584f1e9a62a129e022e0afe6e09678bc079572d3d6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page