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
- Clone this repository from https://github.com/RedVoxInc/libwwz/
- Run
pip3 install . --upgrade --no-cache
from the project root
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
withpip 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1073295763be410e21cd9c019a7cf553d398c6500215cf9aca52e4cdd8daa2e4 |
|
MD5 | bfaff5c5f8eedc2e712528c4f7956939 |
|
BLAKE2b-256 | 2342a9800e39d1adc073a071dd41fc1c23b90b6c71e2056f8f5f952534c095e0 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ae4f5557d3b138bc3aaf1b6fcd33b7e45feb56d4069405579f628d1fb8172ba |
|
MD5 | 8cff7f6a90db688e3e200b5f979f4fe6 |
|
BLAKE2b-256 | 80364b704c1f0e09f93a84584f1e9a62a129e022e0afe6e09678bc079572d3d6 |