This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.

# InverseWaveletTransform

 InverseWaveletTransform[dwd] gives the inverse wavelet transform of a DiscreteWaveletData object dwd. InverseWaveletTransformgives the inverse transform using the wavelet wave. InverseWaveletTransformgives the inverse transform from the wavelet coefficients specified by wind.
• The possible wavelets wave are the same as for the forward wavelet transforms.
• The default wave is Automatic, which is taken to be dwd["Wavelet"].
• The default wind is Automatic, which is taken to be dwd["BasisIndex"].
• InverseWaveletTransform computes the inverse transform using only the wavelet coefficients specified by wind; other coefficients are set to be zero.
• The inverse transform works recursively by computing coefficients with wavelet index from coefficients with wavelet index .
• An explicit wind specification needs to be consistent. A wind specification is consistent if for each that is included no for is included.
• The default level r is given by the number of refinement levels n in dwd. With a new DiscreteWaveletData object is returned with refinement levels.
Perform a discrete wavelet transform:
Inverse transform recovers the original data:
DiscreteWaveletData representing modified wavelet image coefficients:
Inverse transform gives filtered image:
Perform a discrete wavelet transform:
 Out[1]=
Inverse transform recovers the original data:
 Out[2]=

DiscreteWaveletData representing modified wavelet image coefficients:
 Out[2]=
Inverse transform gives filtered image:
 Out[3]=
 Scope   (14)
Inverse wavelet transform DiscreteWaveletData from any discrete forward transform:
The inverse transform is exact for data directly from the forward transform:
Inverse wavelet transform modified DiscreteWaveletData:
The inverse is computed from the modified wavelet coefficients:
Inverse wavelet transform using specified wavelet coefficients only:
Inverse transform only the detail coefficient :
Inverse transform all wavelet coefficients matching , setting other coefficients to zero:
Inverse transform an explicitly constructed DiscreteWaveletData object:
The type of wavelet transform is inferred from the form of the specified coefficients:
Unspecified coefficients are taken to be zero:
Specify a different wavelet to use in the inverse transform:
By default, the wavelet used in the forward transform is chosen:
For array data, the inverse transform is an array with the same dimensions:
For image data, the inverse transform is given as an Image object:
The image has the same dimensions and number of color channels as the original data:
For sound data, the inverse transform is given as a Sound object:
The sound has the same duration, sampling rate, and number of channels as the original data:
A subset of the available coefficients is used in the inverse transform:
dwd["BasisIndex"] gives the coefficients used by default in the inverse transform:
Use dwd["TreeView"] to get a tree plot of all coefficients with the default basis highlighted:
Compute the inverse transform using the default basis of coefficients:
Compute the inverse transform using a specific basis:
Use a specific subset of a basis, with the other coefficients taken to be zero:
Compute the inverse transform of a single coefficient:
A standard basis is chosen as the default for all non-packet DiscreteWaveletData:
The basis includes the detail coefficients and the last coarse coefficient :
The default basis for packet transform data uses coefficients at the highest refinement level:
For packet transform data, the wavelet basis can be changed using WaveletBestBasis:
Choose the basis that minimizes the information entropy of the coefficients:
Choose a specific basis:
Highlight each basis in a tree plot of all coefficients:
For data directly from packet transforms, the inverse transform is independent of the basis:
Compare the inverse transform for several different full wavelet basis specifications:
For modified wavelet data, the inverse transform can depend on the basis chosen:
Partial inverse wavelet transform:
Obtain a DiscreteWaveletData with 1 less level of refinement:
Visualize wavelet coefficients remaining after inverting the lowest levels of refinement:
InverseWaveletTransform[dwd] is equivalent to inverting all levels of refinement:
Inverse transform of complex wavelet coefficients:
InverseWaveletTransform gives the exact inverse transform:
 Applications   (8)
Discrete wavelet data consisting of noise in detail coefficient at refinement level :
Use inverse wavelet transform to synthesize noise on a single specific scale:
Stationary wavelet matrix data consisting of noise in vertical detail coefficient only:
Use inverse wavelet transform to synthesize noisy data:
Noise in different wavelet coefficients leads to different kinds of synthesized noisy data:
Discrete wavelet transform data with the first coarse coefficient equal to :
Visualize the inverse transform for different coarse coefficients:
Discrete wavelet transform data with the first detail coefficient equal to :
Visualize the inverse transform for different detail coefficients:
Discrete wavelet packet transform data with wavelet coefficients :
Visualize the inverse transform of each coefficient separately:
The set of inverse transforms forms a basis for the signal space :
Stationary wavelet transform data with the first coarse coefficient equal to :
Visualize the inverse transform for different coarse coefficients:
Stationary wavelet transform data with the first detail coefficient equal to :
Visualize the inverse transform for different detail coefficients:
Stationary wavelet packet transform data with wavelet coefficients :
Visualize the inverse transform of each component of each coefficient separately:
The set of 16 inverse transforms spans the signal space :
InverseWaveletTransform is the exact inverse of transforms using an orthogonal wavelet:
Use the orthogonal HaarWavelet:
The inverse is inexact for nonorthogonal wavelet families such as ShannonWavelet:
By default, coefficients in dwd["BasisIndex"] are used in the inverse:
Set all other coefficients to zero:
The inverse using the default basis is unaffected:
InverseWaveletTransform effectively sets other wavelet coefficients to zero:
Explicitly set other wavelet coefficients to zero:
InverseWaveletTransform computes the inverse from the coefficients wind:
computes the inverse of each coefficient separately:
The total gives the same result as InverseWaveletTransform:
Use ListLinePlot to plot inverse transforms of individual vector coefficients:
gives a simple list plot of each inverse transform:
WaveletListPlot[dwd, wind, Method->"Inverse"->True] plots inverses together:
Use MatrixPlot to plot inverse transforms of individual matrix coefficients:
gives a simple matrix plot of each inverse:
Inverse transforms of individual coefficients from image data are given as Image objects:
A wind specification is inconsistent if it includes both and for :
The specification is inconsistent because the inverse transform computes from :
Use a consistent wind specification:
New in 8