Skip to content

Commit

Permalink
Merge pull request #138 from grlee77/rel040_docs
Browse files Browse the repository at this point in the history
WIP: Documentation updates for v0.4.0
  • Loading branch information
grlee77 committed Dec 18, 2015
2 parents 83b9938 + 7d01aa5 commit 61b7834
Show file tree
Hide file tree
Showing 6 changed files with 108 additions and 16 deletions.
2 changes: 1 addition & 1 deletion CHANGES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Changelog

0.4.0
changes:
- idwt no longer takes a 'correct_length' parameter.
- idwt no longer takes a 'correct_size' parameter.
- Sizes of the arrays passed to all idwt functions must match exactly.
- use 'multilevel.wavecrec' for multilevel transforms

Expand Down
75 changes: 71 additions & 4 deletions doc/release/0.4.0-notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,62 @@
PyWavelets 0.4.0 Release Notes
==============================

.. note:: PyWavelets 0.4.0 is not released yet!

.. 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 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 stationary wavelet transforms
---------------------------------------
1D (``iswt``) and 2D (``iswt2``) 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
===================
Expand Down Expand Up @@ -42,19 +86,42 @@ The ``MODES`` object and its attributes are deprecated. The new name is
Backwards incompatible changes
==============================

``idwt`` no longer takes a ``correct_length`` parameter. As a consequence,
``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
------------------------
Expand Down
2 changes: 1 addition & 1 deletion doc/source/dev/installing_build_dependencies.rst
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ via::


.. _virtualenv: http://pypi.python.org/pypi/virtualenv
.. _numpy: http://numpy.scipy.org/
.. _numpy: http://numpy.org/
.. _Cython: http://cython.org/
.. _Sphinx: http://sphinx.pocoo.org
.. _numpydoc: https://github.com/numpy/numpydoc
2 changes: 1 addition & 1 deletion doc/source/dev/preparing_windows_build_environment.rst
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ After completing these steps continue with


.. _Python: http://python.org/
.. _numpy: http://numpy.scipy.org/
.. _numpy: http://numpy.org/
.. _Cython: http://cython.org/
.. _Sphinx: http://sphinx.pocoo.org/
.. _MinGW C compiler: http://sourceforge.net/projects/mingwbuilds/
20 changes: 11 additions & 9 deletions doc/source/index.rst
Original file line number Diff line number Diff line change
@@ -1,32 +1,34 @@
PyWavelets - Discrete Wavelet Transform in Python
=================================================

PyWavelets is a free Open Source wavelet transform software for Python_
programming language. It is written in Python, Cython and C for a mix of easy
and powerful high-level interface and the best performance.
PyWavelets is free and Open Source wavelet transform software for the Python_
programming language. It combines a simple high level interface with low level
C and Cython performance.

PyWavelets is very easy to start with and use. Just install the package, open
the Python interactive shell and type:
PyWavelets is very easy to use and get started with. Just install the package,
open the Python interactive shell and type:

.. sourcecode:: python

>>> import pywt
>>> cA, cD = pywt.dwt([1, 2, 3, 4], 'db1')

Voilà! Computing wavelet transforms never before has been so simple :)
Voilà! Computing wavelet transforms has never been so simple :)

Main features
-------------

The main features of PyWavelets are:

* 1D, 2D and nD Forward and Inverse Discrete Wavelet Transform (DWT and IDWT)
* 1D, 2D and nD Multilevel DWT and IDWT
* 1D and 2D Stationary Wavelet Transform (Undecimated Wavelet Transform)
* 1D and 2D Wavelet Packet decomposition and reconstruction
* Approximating wavelet and scaling functions
* Over seventy `built-in wavelet filters`_
and custom wavelets supported
* Single and double precision calculations
* Real and complex calculations
* Results compatible with Matlab Wavelet Toolbox (TM)

Requirements
Expand Down Expand Up @@ -61,8 +63,8 @@ Prebuilt Windows binaries and source code packages are also
available from `Python Package Index`_.

Binary packages for several Linux distributors are maintained by Open Source
community contributors. Query your Linux package manager tool
for `python-pywavelets`, `python-wavelets`, `python-pywt` or similar package name.
community contributors. Query your Linux package manager tool for
`python-pywavelets`, `python-wavelets`, `python-pywt` or similar package name.

.. seealso:: :ref:`Development notes <dev-index>` section contains more
information on building and installing from source code.
Expand All @@ -78,7 +80,7 @@ For more usage examples see the `demo`_ directory in the source package.
State of development & Contributing
-----------------------------------

PyWavelets started in 2006 as an academic project for a master thesis
PyWavelets started in 2006 as an academic project for a masters thesis
on `Analysis and Classification of Medical Signals using Wavelet Transforms`
and was maintained until 2012 by its `original developer`_. In 2013
maintenance was taken over in a `new repo <https://github.com/PyWavelets/pywt>`_)
Expand Down
23 changes: 23 additions & 0 deletions doc/source/ref/other-functions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,26 @@ Orthogonal Filter Banks
-----------------------

.. autofunction:: orthogonal_filter_bank


Example Datasets
----------------

The following example datasets are available in the module `pywt.data`:

======== =============================
**name** **description**
======== =============================
ecg ECG waveform (1024 samples)
aero grayscale image (512x512)
ascent grayscale image (512x512)
camera grayscale image (512x512)
======== =============================

Each can be loaded via a function of the same name.

**Example:**
.. sourcecode:: python

>>> import pywt
>>> camera = pywt.data.camera()

0 comments on commit 61b7834

Please sign in to comment.