Closed pierrepaleo closed 7 years ago
Thanks for the bug report @pierrepaleo. Something looks to have gone pretty badly wrong here:
>>> from pywt._extensions._pywt import Modes
>>> Modes.from_object('per')
/home/rgommers/.local/bin/ipython:1: DeprecationWarning: per has been renamed to smooth and will be unavailable in a future version of pywt.
#!/usr/bin/python
3
I believe I caused this when the new reflect
edge mode was added. I didn't realize that the mode conversion implementation relies on the order of items in Modes.modes
and _old_modes
being the same.
I think there are two relatively easy solutions:
1.) move reflect
to be the last element in Modes.modes
list
or
2.) make _old_modes a dict that translates old names to new
To further clarify, due to the order of reflect
in the list, the following old modes are still converted correctly: 'zpd', 'cpd', 'sym'. The bug affects 'ppd', 'sp1', 'per'.
That happens. I thought we had added a test covering this name mapping, but apparently not.
@grlee77 this will affect quite a lot of users. Shall we do a 0.5.1 bugfix release soon?
@rgommers. a bug fix release sounds good. So far it would include #246 and #244. first, we should look into #247 as well, though.
Great. I have a 0.5.x
branch here: https://github.com/rgommers/pywt/tree/0.5.x
I propose to push that to the main repo and work off that.
@rgommers Sounds good. Is this the procedure you are suggesting?: 1.) check out your branch 2.) push it to a 0.5.x branch on PyWavelets/pywt 3.) make a PR to that branch to update setup.py/release notes 4.) create a v0.5.1 tag from that branch and then do the release as usual i.e. I can do tagging and release process from the branch in the same fashion as from master? (I am still relatively new to the release process)
Indeed. Ive just done 1-2. For the rest it's the same as a normal release, just against this branch instead of master.
Thanks @rgommers. I did not get to it this week and will be traveling for a few days, but will try to get the release out by early next week.
No worries, we're not in that much of a hurry I'd think.
When computing dwt/wavedec/packet, the keyword "per" should refer to the "periodization" mode. It would make a backward compatibility with the nigma/pywt version.
Example:
It looks like the computation is performed with the symmetric extension mode in the second case.