Releases: v0lta/PyTorch-Wavelet-Toolbox
ptwt v0.1.9
This release features improved requirements, data structures and support for the 1D stationary transform.
What's Changed
- Reorganize requirements by @cthoyt in #88
- SWT: Make circular padding wrap more than once if needed by @NiclasPi in #84
- Improve typing and docstrings by @felixblanke in #87
New Contributors
Full Changelog: v0.1.8...v0.1.9
ptwt v0.1.8
This release adopts the
- adopt the sphinx_book_theme,
- adds an introduction explaining how wavelets works,
- improves our speed tests,
- and improves the function docstrings, and overall code quality thanks @cthoyt .
What's Changed
- Update README.rst by @v0lta in #68
- Speed test updates by @v0lta in #70
- Update readme.md by @v0lta in #71
- Update README.rst by @v0lta in #72
- Fix imports in tests by @cthoyt in #75
- Apply formatting everywhere by @cthoyt in #76
- Reformatted with Black 2024 style by @cthoyt in #78
- Use typing.Literal for boundary mode, padding mode, and orthogonalization mode by @cthoyt in #77
- Type annotate the tests by @cthoyt in #81
- Improved docs by @v0lta in #73
Full Changelog: v0.1.7...v0.1.8
This release is available at: https://pypi.org/project/ptwt/0.1.8/ install via:
pip install ptwt==0.1.8
ptwt v0.1.7
What's New
pywt
compatibleaxis
andaxes
argument support along with tests.
Breaking changes:
- The new
axis
oraxes
argument appears before arguments related to boundary wavelet support. Pywt does not support boundary wavelets, so to respectpywt
argument order we have added the new arguments before anything related to boundary wavelets. This makes it easy to migrate frompywt
toptwt
and back. Unfortunately, this choice breaks calls to boundary wavelet arguments which follow the old order.
To migrate, call arguments related to boundary wavelets by name. This affects only matrix-fwt and wavelet-packet code that uses boundary wavelet support.
What's Changed
New Contributors
- @loki-veera made their first contribution in #67
Full Changelog: v0.1.6...v0.1.7
This release is available at: https://pypi.org/project/ptwt/0.1.7/ install via:
pip install ptwt==0.1.7
ptwt v.0.1.6
What's new:
- support for
symmetric
padding for all convolution-based transformations (the default inpywt
). - channel dimensions are now automatically processed along with batch dimensions for 1d and 2d code for easier integration into machine learning models.
What's Changed
- Speed tests by @v0lta in #55
- Update readme.md by @v0lta in #56
- channel folding by @v0lta in #62
- V0.1.6 by @v0lta in #63
Full Changelog: v0.1.5...v0.1.6
ptwt v.0.1.5
What's Changed
- added additional test cases for our
wavedec3
and 1D-matrix transformation code. - 3d matrix transformation support. The new matrix-wavedecs3 returns a list of dictionaries like https://pywavelets.readthedocs.io/en/latest/ref/nd-dwt-and-idwt.html#multilevel-decomposition-wavedecn .
- The
separable_conv_transform
module now provides support for separable padded transforms. - improved handling of the internal "channel"-dimension for the padded 2d-fwt case. Output tensors from
wavedec2
now have the shape [batch, height, width] instead of [batch, 1, height, width]. - Added shape checks for the transformed coefficients, for more informative error messages.
- Added tests for just in time compilation. See
test/test_jit.py
for more details.
Breaking changes
- since https://arxiv.org/pdf/2210.14874.pdf found them to work well, the faster separable transforms are now the default for all boundary wavelet computations. If you require
wavedec2
andMatrixWavedec2
to produce identical coefficients in theHaar
case, setseparable
toFalse
. - to simplify the documentation
_get_pad
is now private. - To ensure our API is compatible with
pywt
the padded analysis transforms argument order has changed. The order is now alwaysdata, wavelet, mode, level
.
Full Changelog: v0.1.4...v0.1.5
ptwt v.0.1.4
What's new:
- Version 1.4 adds dimension checks, better error messages in wavedec2, and support for gradients into continuous wavelets, as discussed in issues #39 and #40 .
This release is available at: https://pypi.org/project/ptwt/0.1.4/ install via:
pip install ptwt==0.1.4
ptwt v.0.1.3
What's new:
- support for inverse packet computations.
- extended the documentation for the wavelet packet code.
- renamed the packets max_level argument to maxlevel for pywt compatibility (breaking change).
This release is available at: https://pypi.org/project/ptwt/0.1.3/ install via:
pip install ptwt==0.1.3
ptwt v0.1.2
What's new:
- three-dimensional padded analysis and synthesis transform operations are now supported.
- the code has been refactored for improved readability.
This release is available at: https://pypi.org/project/ptwt/0.1.2/ install via:
pip install ptwt==0.1.2
ptwt v0.1.1
What's new:
-
Features:
wavedec
andwavedec2
now additionally supportconstant
andperiodic
padding.- Further expanded the test coverage.
- Added Python 3.10.2 support.
- Moved the CI-Pipeline from
tox
tonox
( https://nox.thea.codes/en/stable/index.html ).
-
Bugfixes:
- Fixed a bug in the 2d-boundary-wavelet code. Using non-separated two-dimensional boundary wavelets on non-square images now works as expected. We thank @RaoulHeese for reporting this one!
-
Breaking changes:
- Removed the redundant level argument from the
fwt_pad2
function.
- Removed the redundant level argument from the
This release is available at: https://pypi.org/project/ptwt/0.1.1/ install via:
pip install ptwt==0.1.1
ptwt v0.1.0
For major new release we have:
- changed the names of the matrix wavelet objects from 2d to 2 for naming consistency within ptwt and with pywt (breaking change).
- added support for 1d continuous wavelet transforms in PyTorch.
- Extended test coverage.
This release is available at: https://pypi.org/project/ptwt/0.1.0/ install via:
pip install ptwt==0.1.0