This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

StationaryWaveletPacketTransform

StationaryWaveletPacketTransform[data]
gives the stationary wavelet packet transform (SWPT) of an array of data.
StationaryWaveletPacketTransform
gives the stationary wavelet packet transform using the wavelet wave.
StationaryWaveletPacketTransform
gives the stationary wavelet packet transform using r levels of refinement.
StationaryWaveletPacketTransform
gives the stationary wavelet packet transform of an image.
StationaryWaveletPacketTransform
gives the stationary wavelet packet transform of sampled sound.
  • Properties of the DiscreteWaveletData dwd can be found using dwd["prop"], and a list of available properties can be found using dwd["Properties"].
  • 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 and dimensions as the input data.
  • The possible wavelets 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
  • With higher settings for the refinement level r, larger scale features are resolved.
  • The default refinement level r is given by , where is the minimum dimension of data.
  • With refinement level Full, r is given by .
  • 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 , where is the filter length for the corresponding wspec and is the length of input data.
  • The inverse transform is given by .
  • The are low-pass filter coefficients and are high-pass filter coefficients that are defined for each wavelet family.
  • The following options can be given:
MethodAutomaticmethod to use
WorkingPrecisionMachinePrecisionprecision to use in internal computations
Compute a stationary wavelet packet transform:
The resulting DiscreteWaveletData represents a full tree of wavelet coefficients:
The inverse transform reconstructs the input:
Transform an Image object:
Use to extract coefficient images:
Compute the inverse transform:
Transform a sampled Sound object:
Compute a stationary 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]=
Useful properties can be extracted from the DiscreteWaveletData object:
Get a full list of properties:
Get data and coefficient dimensions:
Use Normal to get all wavelet coefficients explicitly:
Also use All as an argument to get all coefficients:
Use Automatic to get only the coefficients used in the inverse transform:
Use the or to find out what wavelet coefficients are available:
Extract specific coefficient arrays:
Extract several wavelet coefficients corresponding to a list of wavelet index specifications:
Extract all coefficients whose wavelet indexes match a pattern:
Use a higher refinement level to increase the frequency resolution:
With a smaller refinement level, more of the signal energy is left in :
With further refinement, is resolved into further components:
Compute the wavelet packet transform using different wavelet families:
Compare the coefficients:
Use different families of wavelets to capture different features:
HaarWavelet (default):
Plot the coefficients over a common horizontal axis using WaveletListPlot:
Plot against a common vertical axis:
Visualize coefficients as a function of time and refinement level using WaveletScalogram:
The coefficient indexes appear as tooltips when the mouse pointer is moved over a coefficient:
Constant data:
All coefficients are small except coarse coefficients :
Data oscillating at the highest resolvable frequency (Nyquist frequency):
Only the first detail coefficient and its coarse child coefficients are not small:
Data with large discontinuities:
Coarse coefficients have the same large-scale structure as the data:
Detail coefficients are sensitive to discontinuities:
Data with both spatial and frequency structure:
Coarse coefficients track the local mean of the data:
First detail coefficient and its coarse child coefficients represent the oscillations:
All coefficients on a common vertical axis:
Compute a two-dimensional stationary wavelet packet transform:
View the tree of wavelet coefficients:
Inverse transform to get back the original signal:
Use to visualize each coefficient as a MatrixPlot:
Visualize diagonal detail coefficient and its child coefficients :
In two dimensions, the vector of filtering operations in each direction can be computed:
Interpreting these vectors as binary digit expansions, you get wavelet index numbers:
Get the low-pass and high-pass filters for a Haar wavelet:
The resulting 2D filters are outer products of filters in the two directions:
Wavelet transform of step data:
Data with a vertical discontinuity:
All horizontal and diagonal detail coefficients, wavelet index , are zero:
Data with horizontal discontinuity:
All vertical and diagonal detail coefficients, wavelet index , are zero:
Compute a three-dimensional wavelet packet transform:
List all computed wavelet coefficients:
Inverse transform to get back the original signal:
Wavelet transform of a three-dimensional cross array:
Visualize low-pass wavelet coefficients :
Energy of the original data is conserved within the transformed coefficients:
Transform an Image object:
The inverse transform yields a reconstructed Image object:
Wavelet coefficients are normally given as lists of data for each image channel:
Get all coefficients as Image objects instead:
Get raw Image objects with no rescaling of color levels:
Get the inverse transform of the coefficient as an Image object:
Transform a Sound object:
The inverse transform yields a reconstructed Sound object:
By default, coefficients are given as lists of data for each sound channel:
Get the coefficient as a Sound object:
Inverse transform of coefficient as a Sound object:
Browse all coefficients using a MenuView:
StationaryWaveletPacketTransform works on arrays of symbolic quantities:
Inverse transform recovers the input exactly:
Specify any internal working precision:
Use complex-valued data:
The wavelets coefficients are complex:
By default, WorkingPrecision->MachinePrecision is used:
Use higher-precision computation:
Use WorkingPrecision for exact computation:
StationaryWaveletPacketTransform computes the full tree of wavelet coefficients:
StationaryWaveletTransform computes a subset of the full tree of coefficients:
DiscreteWaveletPacketTransform coefficients halve in length with each level of refinement:
Rotated data gives different coefficients:
StationaryWaveletPacketTransform coefficients have the same length as the data:
Rotated data gives rotated coefficients:
The default refinement is given by Min[Round[Log2[Min[Dimensions[data]]]], 4]:
In higher dimensions:
The energy norm is conserved for orthogonal wavelet families:
The energy norm is approximately conserved for biorthogonal wavelet families:
The mean of the data is captured at the maximum refinement level of the transform:
Extract the coefficient for the maximum refinement level:
The sum of inverse transforms from individual coefficient arrays gives the original data:
Individually inverse transform each wavelet coefficient array:
The sum gives the original data:
Compute a Haar stationary wavelet packet transform in one dimension:
Compute and wavelet coefficients:
In two dimensions, a separate filter is applied in each dimension:
Low-pass and high-pass filters for Haar wavelet:
Haar wavelet transform of matrix data:
Image channels are transformed individually:
Combine coefficients of separately transformed image channels:
Compare with coefficient of StationaryWaveletPacketTransform of original image:
The images are identical:
New in 8