File: 0.4.0-notes.rst

package info (click to toggle)
pywavelets 1.4.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 13,680 kB
  • sloc: python: 8,849; ansic: 5,134; makefile: 93
file content (166 lines) | stat: -rw-r--r-- 7,191 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
==============================
PyWavelets 0.4.0 Release Notes
==============================

.. contents::

PyWavelets 0.4.0 is the culmination of 6 months of work.  In addition to
several new features, some changes and deprecations have been made to streamline
the API.

This release requires Python 2.6, 2.7 or 3.3-3.5 and NumPy 1.6.2 or greater.

Highlights of this release include:

- 1D and 2D inverse stationary wavelet transforms
- Substantially faster 2D and nD discrete wavelet transforms
- Complex number support
- nD versions of the multilevel DWT and IDWT


New features
============

1D and 2D inverse stationary wavelet transforms
-----------------------------------------------
1D (``iswt``) and 2D (``iswt2``) inverse stationary wavelet transforms were
added.  These currently only support even length inputs.


Faster 2D and nD wavelet transforms
-----------------------------------
The multidimensional DWT and IDWT code was refactored and is now an order of
magnitude faster than in previous releases.  The following functions benefit:
``dwt2``, ``idwt2``, ``dwtn``, ``idwtn``.


Complex floating point support
------------------------------
64 and 128-bit complex data types are now supported by all wavelet transforms.


nD implementation of the multilevel DWT and IDWT
------------------------------------------------
The existing 1D and 2D multilevel transforms were supplemented with an nD
implementation.


Wavelet transforms can be applied along a specific axis/axes
------------------------------------------------------------
All wavelet transform functions now support explicit specification of the axis
or axes upon which to perform the transform.


Example Datasets
----------------
Two additional 2D grayscale images were added (`camera`, `ascent`).  The
previously existing 1D ECG data (`ecg`) and the 2D aerial image (`aero`)
used in the demos can also now be imported via functions defined in
`pywt.data` (e.g. ``camera = pywt.data.camera()``)


Deprecated features
===================

A number of functions have been renamed, the old names are deprecated and will
be removed in a future release:

- ``intwave``, renamed to ``integrate_wavelet``
- ``centrfrq``, renamed to ``central_frequency``
- ``scal2frq``, renamed to ``scale2frequency``
- ``orthfilt``, renamed to ``orthogonal_filter_bank``

Integration of general signals (i.e. not wavelets) with ``integrate_wavelet``
is deprecated.

The ``MODES`` object and its attributes are deprecated.  The new name is
``Modes``, and the attribute names are expanded:

- ``zpd``, renamed to ``zero``
- ``cpd``, renamed to ``constant``
- ``sp1``, renamed to ``smooth``
- ``sym``, renamed to ``symmetric``
- ``ppd``, renamed to ``periodic``
- ``per``, renamed to ``periodization``

Backwards incompatible changes
==============================

``idwt`` no longer takes a ``correct_size`` parameter. As a consequence,
``idwt2`` inputs must match exactly in length. For multilevel transforms, where
arrays differing in size by one element may be produced, use the ``waverec``
functions from the ``multilevel`` module instead.

Bugs Fixed
==========

float32 inputs were not always respected. All transforms now return float32
outputs when called using float32 inputs.

Incorrect detail coefficients were returned by `downcoef` when `level > 1`.

Other changes
=============

Much of the API documentation is now autogenerated from the corresponding
function docstrings.  The numpydoc sphinx extension is now needed to build the
documentation.

Authors
=======

* Thomas Arildsen +
* François Boulogne
* Ralf Gommers
* Gregory R. Lee
* Michael Marino +
* Aaron O'Leary +
* Daniele Tricoli +
* Kai Wohlfahrt

A total of 8 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
This list of names is automatically generated, and may not be fully complete.


Issues closed for v0.4.0
------------------------

- `#46 <https://github.com/PyWavelets/pywt/issues/46>`__: Independent test comparison
- `#95 <https://github.com/PyWavelets/pywt/issues/95>`__: Simplify Matlab tests
- `#97 <https://github.com/PyWavelets/pywt/issues/97>`__: BUG: erroneous detail coefficients returned by downcoef with...
- `#140 <https://github.com/PyWavelets/pywt/issues/140>`__: demo/dwt_signal_decomposition.py : TypeError: object of type...
- `#141 <https://github.com/PyWavelets/pywt/issues/141>`__: Documentation needs update: ImportError: cannot import name 'multilevel'


Pull requests for v0.4.0
------------------------

- `#55 <https://github.com/PyWavelets/pywt/pull/55>`__: [RFC] Api changes
- `#59 <https://github.com/PyWavelets/pywt/pull/59>`__: Refactor convolution.c.src
- `#64 <https://github.com/PyWavelets/pywt/pull/64>`__: MAINT: make LH, HL variable names in idwt2 consistent with dwt2
- `#67 <https://github.com/PyWavelets/pywt/pull/67>`__: ENH: add wavedecn and waverecn functions
- `#68 <https://github.com/PyWavelets/pywt/pull/68>`__: ENH: Faster dwtn and idwtn
- `#88 <https://github.com/PyWavelets/pywt/pull/88>`__: DOC minor edit about possible naming
- `#93 <https://github.com/PyWavelets/pywt/pull/93>`__: Added implementation of iswt and iswt2
- `#98 <https://github.com/PyWavelets/pywt/pull/98>`__: fix downcoef detail coefficients for level > 1
- `#99 <https://github.com/PyWavelets/pywt/pull/99>`__: complex support in all dwt and idwt related functions
- `#100 <https://github.com/PyWavelets/pywt/pull/100>`__: replace mlabwrap with python-matlab-bridge in Matlab tests
- `#102 <https://github.com/PyWavelets/pywt/pull/102>`__: Replace some .src expansion with macros
- `#104 <https://github.com/PyWavelets/pywt/pull/104>`__: Faster idwtn/dwtn
- `#106 <https://github.com/PyWavelets/pywt/pull/106>`__: make sure transforms respect float32 dtype
- `#109 <https://github.com/PyWavelets/pywt/pull/109>`__: DOC: fix broken link in sidebar for html docs.
- `#112 <https://github.com/PyWavelets/pywt/pull/112>`__: Complex fix
- `#113 <https://github.com/PyWavelets/pywt/pull/113>`__: TST: don't build .exe installers on Appveyor anymore, only wheels.
- `#116 <https://github.com/PyWavelets/pywt/pull/116>`__: [RFC] ENH: Add axis argument to dwt
- `#117 <https://github.com/PyWavelets/pywt/pull/117>`__: MAINT: remove deprecated for loop syntax from Cython code
- `#121 <https://github.com/PyWavelets/pywt/pull/121>`__: Fix typo
- `#123 <https://github.com/PyWavelets/pywt/pull/123>`__: MAINT: remove some unused imports
- `#124 <https://github.com/PyWavelets/pywt/pull/124>`__: switch travis from python 3.5-dev to 3.5
- `#130 <https://github.com/PyWavelets/pywt/pull/130>`__: Add axis argument to multidim
- `#138 <https://github.com/PyWavelets/pywt/pull/138>`__: WIP: Documentation updates for v0.4.0
- `#139 <https://github.com/PyWavelets/pywt/pull/139>`__: Autogenerate function API docs
- `#142 <https://github.com/PyWavelets/pywt/pull/142>`__: fix broken docstring examples in _multilevel.py
- `#143 <https://github.com/PyWavelets/pywt/pull/143>`__: handle None properly in waverec
- `#144 <https://github.com/PyWavelets/pywt/pull/144>`__: Add importable images
- `#145 <https://github.com/PyWavelets/pywt/pull/145>`__: DOC: Document MSVC versions