Compute a stationary wavelet transform:

The resulting

DiscreteWaveletData represents a tree of transform coefficients:

The inverse transform reconstructs the input:

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 the list of wavelet index specifications:

Extract all coefficients whose wavelet indexes match a pattern:

The

Automatic coefficients are used by default in functions like

WaveletListPlot:

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 stationary wavelet transform using different wavelet families:

Compare the coefficients:

Use different families of wavelets to capture different features:

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

is nonzero:

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:

The first detail coefficient identifies the oscillatory region:

All coefficients on a common vertical axis:

Compute a two-dimensional stationary wavelet transform:

View the tree of wavelet coefficients:

Inverse transform to get back the original signal:

Use

to visualize each coefficient as a

MatrixPlot:

Visualize wavelet coefficients at higher refinement levels:

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:

Only the vertical detail coefficients, wavelet index

, are nonzero:

Data with horizontal discontinuity:

Only the horizontal detail coefficients, wavelet index

, are nonzero:

Compute a three-dimensional stationary wavelet transform:

Tree view of all coefficients:

Inverse transform to get back the original signal:

Wavelet transform of a three-dimensional cross array:

Visualize 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 arrays of data for each image channel:

Number of channels and dimensions of the original image are the same:

Get all coefficients as

Image objects instead of arrays of data:

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:

Number of channels and data length in the original sound are the same:

Get the

coefficient as a

Sound object:

Inverse transform of

coefficient as a

Sound object:

Browse all coefficients using a

MenuView: