DiscreteWaveletPacketTransform

DiscreteWaveletPacketTransform[data]
gives the discrete wavelet packet transform (DWPT) of an array of data.

DiscreteWaveletPacketTransform[data, wave]
gives the discrete wavelet packet transform using the wavelet wave.

DiscreteWaveletPacketTransform[data, wave, r]
gives the discrete wavelet packet transform using r levels of refinement.

DiscreteWaveletPacketTransform[image, ...]
gives the discrete wavelet packet transform of an image.

DiscreteWaveletPacketTransform[sound, ...]
gives the discrete wavelet packet transform of sampled sound.

Details and OptionsDetails and Options

  • DiscreteWaveletPacketTransform gives a DiscreteWaveletData object.
  • Properties of the DiscreteWaveletData dwd can be found using dwd["prop"], and a list of available properties can be found using dwd["Properties"].
  • DiscreteWaveletPacketTransform is a generalization of DiscreteWaveletTransform where the full tree of wavelet coefficients is computed.
  • The data can be a rectangular array of any depth.
  • By default, input image is converted to an image of type .
  • The resulting wavelet coefficients are arrays of the same depth as the input data.
  • The possible wavelet wave include:
  • BattleLemarieWavelet[...]Battle-Lemarié wavelets based on B-spline
    BiorthogonalSplineWavelet[...]B-spline-based wavelet
    CoifletWavelet[...]symmetric variant of Daubechies wavelets
    DaubechiesWavelet[...]the Daubechies wavelets
    HaarWavelet[...]classic Haar wavelet
    MeyerWavelet[...]wavelet defined in the frequency domain
    ReverseBiorthogonalSplineWavelet[...]B-spline-based wavelet (reverse dual and primal)
    ShannonWavelet[...]sinc function-based wavelet
    SymletWavelet[...]least asymmetric orthogonal wavelet
  • The default wave is HaarWavelet[].
  • With higher settings for the refinement level r, larger scale features are resolved.
  • The default refinement level r is given by min(TemplateBox[{{{InterpretationBox[{log, _, DocumentationBuild`Utils`Private`Parenth[2]}, Log2, AutoDelete -> True], (, n, )}, +, {1, /, 2}}}, Floor],4) where is the minimum dimension of data.
  • With refinement level Full, r is given by TemplateBox[{{{InterpretationBox[{log, _, DocumentationBuild`Utils`Private`Parenth[2]}, Log2, AutoDelete -> True], (, n, )}, +, {1, /, 2}}}, Floor].
  • The tree of wavelet coefficients at level consists of coarse coefficients and detail coefficients with representing the input data.
  • The forward transform is given by , , , and .
  • The inverse transform is given by .
  • The are lowpass filter coefficients and are highpass filter coefficients that are defined for each wavelet family.
  • The dimensions of and are given by wd_(j+1)=TemplateBox[{{{1, /, 2},  , {(, {{wd, _, j}, +, fl, -, 2}, )}}}, Ceiling] where is the input data dimension and fl is the filter length for the corresponding wspec.
  • The following options can be given:
  • MethodAutomaticmethod to use
    Padding"Periodic"how to extend data beyond boundaries
    WorkingPrecisionMachinePrecisionprecision to use in internal computations
  • The settings for Padding are the same as available in ArrayPad.
  • InverseWaveletTransform gives the inverse transform.
  • By default, InverseWaveletTransform uses coefficients represented by dwd["BasisIndex"] for reconstruction. Use WaveletBestBasis to compute and set an optimal basis.

ExamplesExamplesopen allclose all

Basic Examples (3)Basic Examples (3)

Compute a wavelet packet transform:

In[1]:=
Click for copyable input
Out[1]=

The resulting DiscreteWaveletData represents a full tree of wavelet coefficients:

In[2]:=
Click for copyable input
Out[2]=

The inverse transform reconstructs the input:

In[3]:=
Click for copyable input
Out[3]=

Transform an Image object:

In[1]:=
Click for copyable input
Out[1]=

Use to extract coefficient images:

In[2]:=
Click for copyable input
Out[2]=

Compute the inverse transform:

In[3]:=
Click for copyable input
Out[3]=

Transform a sampled Sound object:

In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=
In[3]:=
Click for copyable input
Out[3]=
New in 8
New to Mathematica? Find your learning path »
Have a question? Ask support »