pywavelet 0.2.4__tar.gz → 0.2.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pywavelet-0.2.4 → pywavelet-0.2.6}/.github/workflows/ci.yml +1 -1
- {pywavelet-0.2.4 → pywavelet-0.2.6}/.github/workflows/docs.yml +1 -1
- {pywavelet-0.2.4 → pywavelet-0.2.6}/.github/workflows/pypi.yml +1 -1
- {pywavelet-0.2.4 → pywavelet-0.2.6}/.pre-commit-config.yaml +5 -8
- {pywavelet-0.2.4 → pywavelet-0.2.6}/CHANGELOG.rst +195 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/PKG-INFO +18 -7
- {pywavelet-0.2.4 → pywavelet-0.2.6}/README.rst +10 -4
- {pywavelet-0.2.4 → pywavelet-0.2.6}/docs/_toc.yml +1 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/docs/api.rst +0 -1
- {pywavelet-0.2.4 → pywavelet-0.2.6}/docs/example.ipynb +14 -6
- pywavelet-0.2.6/docs/runtime.ipynb +201 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/pyproject.toml +5 -1
- pywavelet-0.2.6/src/pywavelet/__init__.py +27 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/_version.py +9 -4
- pywavelet-0.2.6/src/pywavelet/backend.py +53 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/transforms/__init__.py +10 -4
- pywavelet-0.2.6/src/pywavelet/transforms/cupy/__init__.py +12 -0
- pywavelet-0.2.6/src/pywavelet/transforms/cupy/forward/from_freq.py +92 -0
- pywavelet-0.2.6/src/pywavelet/transforms/cupy/forward/from_time.py +50 -0
- pywavelet-0.2.6/src/pywavelet/transforms/cupy/forward/main.py +106 -0
- {pywavelet-0.2.4/src/pywavelet/transforms/jax → pywavelet-0.2.6/src/pywavelet/transforms/cupy}/inverse/main.py +3 -4
- pywavelet-0.2.6/src/pywavelet/transforms/cupy/inverse/to_freq.py +62 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/transforms/jax/forward/from_freq.py +6 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/transforms/jax/forward/from_time.py +18 -10
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/transforms/jax/forward/main.py +6 -10
- pywavelet-0.2.6/src/pywavelet/transforms/jax/inverse/main.py +66 -0
- pywavelet-0.2.6/src/pywavelet/transforms/jax/inverse/to_freq.py +88 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/transforms/numpy/__init__.py +1 -2
- pywavelet-0.2.6/src/pywavelet/transforms/numpy/forward/__init__.py +3 -0
- pywavelet-0.2.6/src/pywavelet/transforms/numpy/forward/from_freq.py +146 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/transforms/numpy/forward/main.py +1 -2
- pywavelet-0.2.6/src/pywavelet/transforms/numpy/inverse/__init__.py +3 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/transforms/numpy/inverse/main.py +4 -6
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/transforms/numpy/inverse/to_freq.py +64 -1
- pywavelet-0.2.6/src/pywavelet/transforms/phi_computer.py +130 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/types/common.py +4 -3
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/types/frequencyseries.py +1 -1
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/types/plotting.py +14 -5
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/types/timeseries.py +4 -10
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/types/wavelet.py +6 -6
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/types/wavelet_bins.py +0 -1
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/utils.py +2 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet.egg-info/PKG-INFO +18 -7
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet.egg-info/SOURCES.txt +14 -1
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet.egg-info/requires.txt +6 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/tests/conftest.py +26 -12
- pywavelet-0.2.6/tests/ollie_example.py +32 -0
- pywavelet-0.2.6/tests/test_backends.py +136 -0
- pywavelet-0.2.6/tests/test_data/roundtrip_chirp_freq.npz +0 -0
- pywavelet-0.2.6/tests/test_data/roundtrip_sine_freq.npz +0 -0
- pywavelet-0.2.6/tests/test_data/roundtrip_sine_time.npz +0 -0
- pywavelet-0.2.6/tests/test_docs.py +46 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/tests/test_phi.py +23 -19
- pywavelet-0.2.6/tests/test_roundtrip_conversion.py +167 -0
- pywavelet-0.2.6/tests/utils/__init__.py +4 -0
- pywavelet-0.2.6/tests/utils/conversions.py +23 -0
- pywavelet-0.2.6/tests/utils/cupy_check.py +14 -0
- pywavelet-0.2.6/tests/utils/generate_data.py +32 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/tests/utils/plotting.py +87 -28
- pywavelet-0.2.4/src/pywavelet/__init__.py +0 -5
- pywavelet-0.2.4/src/pywavelet/backend.py +0 -31
- pywavelet-0.2.4/src/pywavelet/transforms/jax/inverse/to_freq.py +0 -70
- pywavelet-0.2.4/src/pywavelet/transforms/numpy/forward/from_freq.py +0 -88
- pywavelet-0.2.4/src/pywavelet/transforms/phi_computer.py +0 -149
- pywavelet-0.2.4/tests/test_data/roundtrip_chirp_freq.npz +0 -0
- pywavelet-0.2.4/tests/test_data/roundtrip_sine_freq.npz +0 -0
- pywavelet-0.2.4/tests/test_data/roundtrip_sine_time.npz +0 -0
- pywavelet-0.2.4/tests/test_jax.py +0 -105
- pywavelet-0.2.4/tests/test_roundtrip_conversion.py +0 -124
- pywavelet-0.2.4/tests/utils/__init__.py +0 -2
- pywavelet-0.2.4/tests/utils/generate_data.py +0 -59
- {pywavelet-0.2.4 → pywavelet-0.2.6}/.gitignore +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/CITATION.cff +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/docs/_config.yml +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/docs/_static/demo.gif +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/docs/index.rst +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/docs/logo.png +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/docs/roundtrip_freq.png +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/docs/roundtrip_time.png +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/setup.cfg +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/logger.py +0 -0
- {pywavelet-0.2.4/src/pywavelet/transforms/jax → pywavelet-0.2.6/src/pywavelet/transforms/cupy}/forward/__init__.py +0 -0
- {pywavelet-0.2.4/src/pywavelet/transforms/jax → pywavelet-0.2.6/src/pywavelet/transforms/cupy}/inverse/__init__.py +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/transforms/jax/__init__.py +0 -0
- {pywavelet-0.2.4/src/pywavelet/transforms/numpy → pywavelet-0.2.6/src/pywavelet/transforms/jax}/forward/__init__.py +0 -0
- {pywavelet-0.2.4/src/pywavelet/transforms/numpy → pywavelet-0.2.6/src/pywavelet/transforms/jax}/inverse/__init__.py +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/transforms/numpy/forward/from_time.py +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/transforms/numpy/inverse/to_time.py +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet/types/__init__.py +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet.egg-info/dependency_links.txt +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/src/pywavelet.egg-info/top_level.txt +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/tests/test_data/roundtrip_chirp_time.npz +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/tests/test_data/roundtrip_pure_f0_freq.npz +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/tests/test_lnl.py +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/tests/test_mask.py +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/tests/test_psd.py +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/tests/test_snr.py +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/tests/test_timefreq_type.py +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/tests/test_version.py +0 -0
- {pywavelet-0.2.4 → pywavelet-0.2.6}/tests/test_wavelet_plot.py +0 -0
@@ -1,22 +1,19 @@
|
|
1
1
|
repos:
|
2
2
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
3
|
-
rev:
|
3
|
+
rev: v5.0.0
|
4
4
|
hooks:
|
5
5
|
- id: trailing-whitespace
|
6
6
|
- id: end-of-file-fixer
|
7
7
|
- id: check-merge-conflict
|
8
8
|
- id: check-yaml
|
9
9
|
args: [ --unsafe ]
|
10
|
-
- repo: https://github.com/
|
11
|
-
rev:
|
10
|
+
- repo: https://github.com/PyCQA/isort
|
11
|
+
rev: 6.0.1
|
12
12
|
hooks:
|
13
13
|
- id: isort
|
14
14
|
args: ["--profile", "black"]
|
15
|
-
- repo: https://github.com/ambv/black
|
16
|
-
rev: 23.10.0
|
17
|
-
hooks:
|
18
|
-
- id: black
|
19
15
|
- repo: https://github.com/psf/black
|
20
|
-
rev:
|
16
|
+
rev: 25.1.0
|
21
17
|
hooks:
|
18
|
+
- id: black
|
22
19
|
- id: black-jupyter
|
@@ -5,16 +5,211 @@ CHANGELOG
|
|
5
5
|
=========
|
6
6
|
|
7
7
|
|
8
|
+
.. _changelog-v0.2.6:
|
9
|
+
|
10
|
+
v0.2.6 (2025-03-24)
|
11
|
+
===================
|
12
|
+
|
13
|
+
Bug Fixes
|
14
|
+
---------
|
15
|
+
|
16
|
+
* fix: add note in readme about JAX and cupy (`d3cd8d9`_)
|
17
|
+
|
18
|
+
Unknown
|
19
|
+
-------
|
20
|
+
|
21
|
+
* add runtimes (`6cdfb28`_)
|
22
|
+
|
23
|
+
* add runtime plot (`14b250b`_)
|
24
|
+
|
25
|
+
* add runtime doc (`3d8b4cd`_)
|
26
|
+
|
27
|
+
* add runtime doc (`7230f92`_)
|
28
|
+
|
29
|
+
* add more tests and runtime doc (`b8dce3f`_)
|
30
|
+
|
31
|
+
* add roundtrip comparisons (`81d6fc7`_)
|
32
|
+
|
33
|
+
* remove dt (`d78b4b3`_)
|
34
|
+
|
35
|
+
* remove mult (`b5ab983`_)
|
36
|
+
|
37
|
+
* add corrected sinewave for roundtrip test, remove incorrect f0 test (`e2f8317`_)
|
38
|
+
|
39
|
+
* add WDM amplitude tests (`b99fc0d`_)
|
40
|
+
|
41
|
+
* add various transforms (`7d97420`_)
|
42
|
+
|
43
|
+
* fix cupy inverse (`b1f7dfa`_)
|
44
|
+
|
45
|
+
* add plotting (`b0ad4fa`_)
|
46
|
+
|
47
|
+
* add more tests (`aaeae9b`_)
|
48
|
+
|
49
|
+
* add more tests (`6627e03`_)
|
50
|
+
|
51
|
+
* add backend test (`ccb1193`_)
|
52
|
+
|
53
|
+
* add more logging (`f2d6541`_)
|
54
|
+
|
55
|
+
* add more logs (`0828947`_)
|
56
|
+
|
57
|
+
* add more tests (`8c80929`_)
|
58
|
+
|
59
|
+
* add more tests (`d1cb636`_)
|
60
|
+
|
61
|
+
* Merge branch 'main' of github.com:pywavelet/pywavelet (`ab6ba0e`_)
|
62
|
+
|
63
|
+
* Update __init__.py (`b607ae9`_)
|
64
|
+
|
65
|
+
* add more logs (`60e9525`_)
|
66
|
+
|
67
|
+
* add notes (`83e4ff6`_)
|
68
|
+
|
69
|
+
* increase the py version (`0d6568b`_)
|
70
|
+
|
71
|
+
* setup testing framework for cupy (`5009d79`_)
|
72
|
+
|
73
|
+
* add typing for phi (`16ef510`_)
|
74
|
+
|
75
|
+
* Check which backend (`f17fe1b`_)
|
76
|
+
|
77
|
+
* Check which backend (`196141c`_)
|
78
|
+
|
79
|
+
* add typing libs (beartype + Jaxtyping) (`3bffe6a`_)
|
80
|
+
|
81
|
+
* Add support for more backends (`dadf161`_)
|
82
|
+
|
83
|
+
* Adding cupy methods (`9fe44ab`_)
|
84
|
+
|
85
|
+
* Remove unnecessary beta(d,d,1) (`19b6d8e`_)
|
86
|
+
|
87
|
+
* Remove unused imports (`a2b42c8`_)
|
88
|
+
|
89
|
+
* run formatters (`380fba8`_)
|
90
|
+
|
91
|
+
* begin adding cupy (`93e0123`_)
|
92
|
+
|
93
|
+
* add more tests (`a91f509`_)
|
94
|
+
|
95
|
+
* Merge branch 'main' of github.com:avivajpeyi/pywavelet into main (`a149dc4`_)
|
96
|
+
|
97
|
+
* [pre-commit.ci] pre-commit autoupdate (#21)
|
98
|
+
|
99
|
+
* [pre-commit.ci] pre-commit autoupdate
|
100
|
+
|
101
|
+
updates:
|
102
|
+
- [github.com/pre-commit/pre-commit-hooks: v4.5.0 → v5.0.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.5.0...v5.0.0)
|
103
|
+
- https://github.com/pre-commit/mirrors-isort → https://github.com/PyCQA/isort
|
104
|
+
- [github.com/PyCQA/isort: v5.10.1 → 6.0.1](https://github.com/PyCQA/isort/compare/v5.10.1...6.0.1)
|
105
|
+
- https://github.com/ambv/black → https://github.com/psf/black
|
106
|
+
- [github.com/psf/black: 23.10.0 → 25.1.0](https://github.com/psf/black/compare/23.10.0...25.1.0)
|
107
|
+
- [github.com/psf/black: 23.10.0 → 25.1.0](https://github.com/psf/black/compare/23.10.0...25.1.0)
|
108
|
+
|
109
|
+
* [pre-commit.ci] auto fixes from pre-commit.com hooks
|
110
|
+
|
111
|
+
for more information, see https://pre-commit.ci
|
112
|
+
|
113
|
+
---------
|
114
|
+
|
115
|
+
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> (`6623f65`_)
|
116
|
+
|
117
|
+
* add check for vmin > vmax (`2d6eec3`_)
|
118
|
+
|
119
|
+
* more plotting for phi (`b124dc7`_)
|
120
|
+
|
121
|
+
* add additional JAX tests (`c0d8396`_)
|
122
|
+
|
123
|
+
.. _d3cd8d9: https://github.com/pywavelet/pywavelet/commit/d3cd8d92b5e6cf398ff3a4948b911533abe842f1
|
124
|
+
.. _6cdfb28: https://github.com/pywavelet/pywavelet/commit/6cdfb28b152a7f7ad499f0b6ba6ef69da9284c57
|
125
|
+
.. _14b250b: https://github.com/pywavelet/pywavelet/commit/14b250b55dbea88c3b7c22b5faca531113d34477
|
126
|
+
.. _3d8b4cd: https://github.com/pywavelet/pywavelet/commit/3d8b4cdc8dea6af33b08985cb97f0897984838fc
|
127
|
+
.. _7230f92: https://github.com/pywavelet/pywavelet/commit/7230f92dee98cea0e402111ad279f78c6134d565
|
128
|
+
.. _b8dce3f: https://github.com/pywavelet/pywavelet/commit/b8dce3fdf2f0b1261b6a74aa8af03465c87017ff
|
129
|
+
.. _81d6fc7: https://github.com/pywavelet/pywavelet/commit/81d6fc73ec9c37d7e5990f7008f1a468490b17ea
|
130
|
+
.. _d78b4b3: https://github.com/pywavelet/pywavelet/commit/d78b4b32b81b1b2e8bc6c4808c088df140f316dd
|
131
|
+
.. _b5ab983: https://github.com/pywavelet/pywavelet/commit/b5ab983f88a4dc5f6b7e75aa9c974f1c0c601d03
|
132
|
+
.. _e2f8317: https://github.com/pywavelet/pywavelet/commit/e2f8317f980927f34fc447e3b093ca43e2f8f3c2
|
133
|
+
.. _b99fc0d: https://github.com/pywavelet/pywavelet/commit/b99fc0d3a29b8c741c92e6a1cae9eabc409d1fbc
|
134
|
+
.. _7d97420: https://github.com/pywavelet/pywavelet/commit/7d97420b945dd8abb4dd9e201246719d39c4bc4c
|
135
|
+
.. _b1f7dfa: https://github.com/pywavelet/pywavelet/commit/b1f7dfa17df3215260150e41c0cf84e76a354d1b
|
136
|
+
.. _b0ad4fa: https://github.com/pywavelet/pywavelet/commit/b0ad4fad4537bf3375bb100f6b5be3042291e31e
|
137
|
+
.. _aaeae9b: https://github.com/pywavelet/pywavelet/commit/aaeae9b232e4328bfa2a566c7438f41f2dca0e31
|
138
|
+
.. _6627e03: https://github.com/pywavelet/pywavelet/commit/6627e0353d539b358e8bc6e786d3442a2b2b8072
|
139
|
+
.. _ccb1193: https://github.com/pywavelet/pywavelet/commit/ccb1193e968c9617ed866318326421fb2ae80645
|
140
|
+
.. _f2d6541: https://github.com/pywavelet/pywavelet/commit/f2d6541caa41f171a19abd5cfdb3e132fc831b8b
|
141
|
+
.. _0828947: https://github.com/pywavelet/pywavelet/commit/082894710eaa2f4a485a86524917068e3098b0c4
|
142
|
+
.. _8c80929: https://github.com/pywavelet/pywavelet/commit/8c80929e35211d482d15845fd9ef0cca62704b4b
|
143
|
+
.. _d1cb636: https://github.com/pywavelet/pywavelet/commit/d1cb636fb92fbec238de89129729a70f7fa33bb6
|
144
|
+
.. _ab6ba0e: https://github.com/pywavelet/pywavelet/commit/ab6ba0ed98a6597c9c8aef524a2f03b1b6fbd13e
|
145
|
+
.. _b607ae9: https://github.com/pywavelet/pywavelet/commit/b607ae971f1b04870f41bbaee95a2a30eef628d4
|
146
|
+
.. _60e9525: https://github.com/pywavelet/pywavelet/commit/60e952536a2812f474a2845f81dee52884b1685b
|
147
|
+
.. _83e4ff6: https://github.com/pywavelet/pywavelet/commit/83e4ff6e5ac5ee1fd51970a73c0401106cff453a
|
148
|
+
.. _0d6568b: https://github.com/pywavelet/pywavelet/commit/0d6568bc305d85ac7f5733365e50e51538d45329
|
149
|
+
.. _5009d79: https://github.com/pywavelet/pywavelet/commit/5009d7957d9d796a9e2258659e2815a35354a7a5
|
150
|
+
.. _16ef510: https://github.com/pywavelet/pywavelet/commit/16ef51086b1ba10db0d4f252caf3a560fee4f06b
|
151
|
+
.. _f17fe1b: https://github.com/pywavelet/pywavelet/commit/f17fe1b0cddb4376bdb18a092d6f83bc48dd9498
|
152
|
+
.. _196141c: https://github.com/pywavelet/pywavelet/commit/196141ce52946228a92aa1f4b0c14fdc66cb44a1
|
153
|
+
.. _3bffe6a: https://github.com/pywavelet/pywavelet/commit/3bffe6a7af4000b1bcece2e2fb1c56487980dd15
|
154
|
+
.. _dadf161: https://github.com/pywavelet/pywavelet/commit/dadf161bed6c049c8c24716f475f94b9d6e9fabf
|
155
|
+
.. _9fe44ab: https://github.com/pywavelet/pywavelet/commit/9fe44ab0d0862110137e02d746e1af1591373c66
|
156
|
+
.. _19b6d8e: https://github.com/pywavelet/pywavelet/commit/19b6d8e169c87f780afe809863762574a9a6334b
|
157
|
+
.. _a2b42c8: https://github.com/pywavelet/pywavelet/commit/a2b42c885dd248a2787b6ce7ae549f3d15044af3
|
158
|
+
.. _380fba8: https://github.com/pywavelet/pywavelet/commit/380fba8f074d7fbe9bc4ed51461688c45dfc7b0a
|
159
|
+
.. _93e0123: https://github.com/pywavelet/pywavelet/commit/93e0123dce8f4bf44249489a55a84865ef989592
|
160
|
+
.. _a91f509: https://github.com/pywavelet/pywavelet/commit/a91f509c1c7e18d75c6ceeff22242b1e463f4191
|
161
|
+
.. _a149dc4: https://github.com/pywavelet/pywavelet/commit/a149dc4178581f26745b0725346ad469f4aed8d6
|
162
|
+
.. _6623f65: https://github.com/pywavelet/pywavelet/commit/6623f65aa13a020120d52363c2bb7b6dd425845f
|
163
|
+
.. _2d6eec3: https://github.com/pywavelet/pywavelet/commit/2d6eec342676c1dadb5ce7318edf781572dde5c4
|
164
|
+
.. _b124dc7: https://github.com/pywavelet/pywavelet/commit/b124dc75c13540a946b665e0bbb70de43ffe16fd
|
165
|
+
.. _c0d8396: https://github.com/pywavelet/pywavelet/commit/c0d8396587737ac9d9559e79c175a043273b8ce6
|
166
|
+
|
167
|
+
|
168
|
+
.. _changelog-v0.2.5:
|
169
|
+
|
170
|
+
v0.2.5 (2025-01-28)
|
171
|
+
===================
|
172
|
+
|
173
|
+
Bug Fixes
|
174
|
+
---------
|
175
|
+
|
176
|
+
* fix: filter first then window (#20)
|
177
|
+
|
178
|
+
* fix: filter first then window
|
179
|
+
|
180
|
+
* [pre-commit.ci] auto fixes from pre-commit.com hooks
|
181
|
+
|
182
|
+
for more information, see https://pre-commit.ci
|
183
|
+
|
184
|
+
---------
|
185
|
+
|
186
|
+
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> (`3228f7b`_)
|
187
|
+
|
188
|
+
Chores
|
189
|
+
------
|
190
|
+
|
191
|
+
* chore(release): 0.2.5 (`34b18c7`_)
|
192
|
+
|
193
|
+
.. _3228f7b: https://github.com/pywavelet/pywavelet/commit/3228f7be0d7efb48812920e822a14e795ebac57f
|
194
|
+
.. _34b18c7: https://github.com/pywavelet/pywavelet/commit/34b18c7d4074992d6c1ce75806efb3edab5ce49b
|
195
|
+
|
196
|
+
|
8
197
|
.. _changelog-v0.2.4:
|
9
198
|
|
10
199
|
v0.2.4 (2025-01-24)
|
11
200
|
===================
|
12
201
|
|
202
|
+
Chores
|
203
|
+
------
|
204
|
+
|
205
|
+
* chore(release): 0.2.4 (`8ea5b2f`_)
|
206
|
+
|
13
207
|
Unknown
|
14
208
|
-------
|
15
209
|
|
16
210
|
* Merge branch 'main' of github.com:avivajpeyi/pywavelet into main (`d2c84d9`_)
|
17
211
|
|
212
|
+
.. _8ea5b2f: https://github.com/pywavelet/pywavelet/commit/8ea5b2fc0ffa5a1cb274273ec48e164f8bd2064a
|
18
213
|
.. _d2c84d9: https://github.com/pywavelet/pywavelet/commit/d2c84d980b1701baf99e40ba6191cbd9336cfa59
|
19
214
|
|
20
215
|
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: pywavelet
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.6
|
4
4
|
Summary: WDM wavelet transform your time/freq series!
|
5
5
|
Author-email: Pywavelet Team <avi.vajpeyi@gmail.com>
|
6
6
|
Project-URL: Homepage, https://pywavelet.github.io/pywavelet/
|
@@ -11,7 +11,7 @@ Classifier: Intended Audience :: Science/Research
|
|
11
11
|
Classifier: License :: OSI Approved :: MIT License
|
12
12
|
Classifier: Operating System :: OS Independent
|
13
13
|
Classifier: Programming Language :: Python :: 3.8
|
14
|
-
Requires-Python: >=3.
|
14
|
+
Requires-Python: >=3.10
|
15
15
|
Description-Content-Type: text/x-rst
|
16
16
|
Requires-Dist: numpy
|
17
17
|
Requires-Dist: numba
|
@@ -21,8 +21,12 @@ Requires-Dist: tqdm
|
|
21
21
|
Requires-Dist: rich
|
22
22
|
Requires-Dist: rocket-fft
|
23
23
|
Requires-Dist: astropy>=5.2.1
|
24
|
+
Requires-Dist: jaxtyping
|
25
|
+
Requires-Dist: beartype
|
24
26
|
Provides-Extra: jax
|
25
27
|
Requires-Dist: jax; extra == "jax"
|
28
|
+
Provides-Extra: cupy
|
29
|
+
Requires-Dist: cupy; extra == "cupy"
|
26
30
|
Provides-Extra: dev
|
27
31
|
Requires-Dist: pytest>=6.0; extra == "dev"
|
28
32
|
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
|
@@ -34,6 +38,7 @@ Requires-Dist: isort; extra == "dev"
|
|
34
38
|
Requires-Dist: mypy; extra == "dev"
|
35
39
|
Requires-Dist: jupyter-book; extra == "dev"
|
36
40
|
Requires-Dist: GitPython; extra == "dev"
|
41
|
+
Requires-Dist: nbconvert; extra == "dev"
|
37
42
|
|
38
43
|
pywavelet
|
39
44
|
#########
|
@@ -59,27 +64,33 @@ pywavelet is available on PyPI and can be installed with `pip <https://pip.pypa.
|
|
59
64
|
|
60
65
|
$ pip install pywavelet
|
61
66
|
|
67
|
+
|
68
|
+
Note: We have transforms availible in numpy, JAX and Cupy.
|
69
|
+
|
70
|
+
|
62
71
|
For developers
|
63
72
|
--------------
|
64
73
|
|
65
|
-
First set up a conda environment with
|
74
|
+
First set up a conda environment with python 3.10
|
66
75
|
|
67
76
|
.. code-block::
|
68
77
|
|
69
|
-
$
|
78
|
+
$ mamba create -n pywavelet python=3.10
|
70
79
|
|
71
80
|
.. code-block::
|
72
81
|
|
82
|
+
$ CONDA_OVERRIDE_CUDA=12.4 mamba install "jaxlib=*=*cuda*" jax -c conda-forge
|
83
|
+
$ CONDA_OVERRIDE_CUDA=12.4 conda install -c conda-forge cupy-core
|
73
84
|
$ pip install -e ".[dev]"
|
74
85
|
$ pre-commit install
|
75
86
|
|
76
87
|
Test code
|
77
88
|
---------
|
78
89
|
|
79
|
-
Locate directory /tests from root directory. run
|
90
|
+
Locate directory /tests from root directory. run
|
80
91
|
|
81
92
|
.. code-block::
|
82
93
|
|
83
94
|
$ pytest .
|
84
95
|
|
85
|
-
Hopefully everything should run fine.
|
96
|
+
Hopefully everything should run fine.
|
@@ -22,27 +22,33 @@ pywavelet is available on PyPI and can be installed with `pip <https://pip.pypa.
|
|
22
22
|
|
23
23
|
$ pip install pywavelet
|
24
24
|
|
25
|
+
|
26
|
+
Note: We have transforms availible in numpy, JAX and Cupy.
|
27
|
+
|
28
|
+
|
25
29
|
For developers
|
26
30
|
--------------
|
27
31
|
|
28
|
-
First set up a conda environment with
|
32
|
+
First set up a conda environment with python 3.10
|
29
33
|
|
30
34
|
.. code-block::
|
31
35
|
|
32
|
-
$
|
36
|
+
$ mamba create -n pywavelet python=3.10
|
33
37
|
|
34
38
|
.. code-block::
|
35
39
|
|
40
|
+
$ CONDA_OVERRIDE_CUDA=12.4 mamba install "jaxlib=*=*cuda*" jax -c conda-forge
|
41
|
+
$ CONDA_OVERRIDE_CUDA=12.4 conda install -c conda-forge cupy-core
|
36
42
|
$ pip install -e ".[dev]"
|
37
43
|
$ pre-commit install
|
38
44
|
|
39
45
|
Test code
|
40
46
|
---------
|
41
47
|
|
42
|
-
Locate directory /tests from root directory. run
|
48
|
+
Locate directory /tests from root directory. run
|
43
49
|
|
44
50
|
.. code-block::
|
45
51
|
|
46
52
|
$ pytest .
|
47
53
|
|
48
|
-
Hopefully everything should run fine.
|
54
|
+
Hopefully everything should run fine.
|
@@ -4,7 +4,14 @@
|
|
4
4
|
"cell_type": "markdown",
|
5
5
|
"metadata": {},
|
6
6
|
"source": [
|
7
|
-
"
|
7
|
+
"<a target=\"_blank\" href=\"https://colab.research.google.com/github/pywavelet/pywavelet/blob/main/docs/example.ipynb\">\n",
|
8
|
+
" <img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/>\n",
|
9
|
+
"</a>\n",
|
10
|
+
"\n",
|
11
|
+
"# Example\n",
|
12
|
+
"\n",
|
13
|
+
"\n",
|
14
|
+
"\n",
|
8
15
|
"## Time to Wavelet\n",
|
9
16
|
"\n",
|
10
17
|
"\n",
|
@@ -70,6 +77,7 @@
|
|
70
77
|
" ax.ticklabel_format(axis=\"x\", style=\"sci\", scilimits=(0, 0))\n",
|
71
78
|
" return ax\n",
|
72
79
|
"\n",
|
80
|
+
"\n",
|
73
81
|
"# Sizes\n",
|
74
82
|
"dt = 1 / 512\n",
|
75
83
|
"Nt, Nf = 2**6, 2**6\n",
|
@@ -88,7 +96,7 @@
|
|
88
96
|
"# transform back to time domain\n",
|
89
97
|
"h_reconstructed = from_wavelet_to_time(h_wavelet, dt=h_time.dt, mult=mult)\n",
|
90
98
|
"\n",
|
91
|
-
"# Plots
|
99
|
+
"# Plots\n",
|
92
100
|
"fig, axes = plt.subplots(1, 4, figsize=(18, 4))\n",
|
93
101
|
"_ = h_time.plot_spectrogram(ax=axes[0])\n",
|
94
102
|
"_ = h_wavelet.plot(ax=axes[1], absolute=True, cmap=\"Reds\")\n",
|
@@ -146,7 +154,7 @@
|
|
146
154
|
"freq = np.fft.rfftfreq(N, dt)\n",
|
147
155
|
"hf = np.zeros_like(freq, dtype=np.complex128)\n",
|
148
156
|
"hf[np.argmin(np.abs(freq - f0))] = 1.0\n",
|
149
|
-
"
|
157
|
+
"\n",
|
150
158
|
"\n",
|
151
159
|
"h_freq = FrequencySeries(data=hf, freq=freq)\n",
|
152
160
|
"h_wavelet = from_freq_to_wavelet(h_freq, Nf=Nf, Nt=Nt)\n",
|
@@ -154,10 +162,10 @@
|
|
154
162
|
"\n",
|
155
163
|
"\n",
|
156
164
|
"fig, axes = plt.subplots(1, 2, figsize=(9, 4))\n",
|
157
|
-
"_ = h_freq.plot(ax=axes[0], label
|
165
|
+
"_ = h_freq.plot(ax=axes[0], label=\"Original\")\n",
|
158
166
|
"_ = h_wavelet.plot(ax=axes[1], absolute=True, cmap=\"Reds\")\n",
|
159
|
-
"_ = h_reconstructed.plot(ax=axes[0], ls=\":\", label
|
160
|
-
"axes[1].set_ylim(f0-5, f0+5)\n",
|
167
|
+
"_ = h_reconstructed.plot(ax=axes[0], ls=\":\", label=\"Reconstructed\")\n",
|
168
|
+
"axes[1].set_ylim(f0 - 5, f0 + 5)\n",
|
161
169
|
"axes[0].legend()\n",
|
162
170
|
"fig.savefig(\"roundtrip_freq.png\")\n",
|
163
171
|
"plt.close()"
|