StationaryWaveletPacketTransform
✖
StationaryWaveletPacketTransform
gives the stationary wavelet packet transform (SWPT) of an array of data.
gives the stationary wavelet packet transform using the wavelet wave.
gives the stationary wavelet packet transform using r levels of refinement.
Details and Options



- StationaryWaveletPacketTransform is a generalization of StationaryWaveletTransform where the full tree of wavelet coefficients is computed.
- StationaryWaveletPacketTransform 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"].
- The resulting wavelet coefficients are arrays of the same depth and dimensions as the input data.
- The data can be any of the following:
-
list arbitrary-rank numerical array image arbitrary Image object audio an Audio or sampled Sound object - 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 - 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
, 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 lowpass filter coefficients and
are highpass filter coefficients that are defined for each wavelet family.
- The following options can be given:
-
Method Automatic method to use WorkingPrecision MachinePrecision precision to use in internal computations - StationaryWaveletPacketTransform uses periodic padding of data.
- 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.

Examples
open allclose allBasic Examples (3)Summary of the most common use cases
Compute a stationary wavelet packet transform:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-5h58m

The resulting DiscreteWaveletData represents a full tree of wavelet coefficients:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-u3lci

The inverse transform reconstructs the input:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-f3afir


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-c4c4hc


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-i79gyn

Use dwd[…,"Audio"] to extract coefficient signals:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-bxhoqo


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-bdb5ev

Compute the inverse transform:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-ds1g1n

Transform an Image object:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-jza1au

Use dwd[…,"Image"] to extract coefficient images:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-lg7vnk

Compute the inverse transform:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-xasr81

Scope (33)Survey of the scope of standard use cases
Basic Uses (4)
Useful properties can be extracted from the DiscreteWaveletData object:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-imvzqi

Get a full list of properties:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-1bqqmu

Get data and coefficient dimensions:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-svmo5


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-m50o40

Use Normal to get all wavelet coefficients explicitly:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-4pudeo

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-pngz6t

Also use All as an argument to get all coefficients:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-fy98zc

Use Automatic to get only the coefficients used in the inverse transform:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-o4zzzw

Use the "TreeView" or "WaveletIndex" to find out what wavelet coefficients are available:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-8z5pdm

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-7vy1zr


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-dbjopc

Extract specific coefficient arrays:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-limxd1


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-ukcyo5

Extract several wavelet coefficients corresponding to a list of wavelet index specifications:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-bw6a2j

Extract all coefficients whose wavelet indexes match a pattern:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-57sk78


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-u5etdi

Use a higher refinement level to increase the frequency resolution:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-e0tfo1

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-d8rad6

With a smaller refinement level, more of the signal energy is left in {0,0}:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-qhxfy

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-b7oh62

With further refinement, {0,0} is resolved into further components:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-pcyr03

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-ox23n

Wavelet Families (10)
Compute the wavelet packet transform using different wavelet families:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-gavf2f

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-b3h8vd

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-lu64r

Use different families of wavelets to capture different features:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-iax26u

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-6jwo5u

HaarWavelet (default):

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-nm4160

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-7up01x


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-022m3l

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-5guii

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-588xab


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-64i349

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-8g8wur

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-myg47y


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-874w84

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-3itphu

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-7q8w5p


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-klv9q6

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-7eaj36

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-kmt3r3


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-q6etlg

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-9nicex

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-6c9di7

ReverseBiorthogonalSplineWavelet:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-fs79sv

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-gmiqe8

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-hthxz8


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-ntfv84

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-2ydklr

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-fe4q6k


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-l4xlsf

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-ovf86t

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-qly5se

1-Dimensional Data (6)
Plot the coefficients over a common horizontal axis using WaveletListPlot:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-gypdz4

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-xm5ld4

Plot against a common vertical axis:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-ez6l51

Visualize coefficients as a function of time and refinement level using WaveletScalogram:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-c1j4n5
The coefficient indexes appear as tooltips when the mouse pointer is moved over a coefficient:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-di3ww


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-i9a5e9

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-kwq8bn

All coefficients are small except coarse coefficients {0,0,…}:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-bfxyna

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-lji86v

Data oscillating at the highest resolvable frequency (Nyquist frequency):

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-c7n0wl

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-ne0a67

Only the first detail coefficient {1} and its coarse child coefficients {1,0,0,…} are not small:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-cxc4yt

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-nyp7xn

Data with large discontinuities:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-gl9hci

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-fp30

Coarse coefficients {0,…} have the same large-scale structure as the data:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-fqn4ul

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-g46hdy

Detail coefficients are sensitive to discontinuities:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-bi93r6

Data with both spatial and frequency structure:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-qcsku6

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-c0drk1

Coarse coefficients {0,…} track the local mean of the data:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-dot1jc

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-imnl1l

First detail coefficient {1} and its coarse child coefficients {1,0,…} represent the oscillations:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-72xvt

All coefficients on a common vertical axis:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-gxq0kb

2-Dimensional Data (5)
Compute a two-dimensional stationary wavelet packet transform:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-gflx0m

View the tree of wavelet coefficients:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-q2twv6

Inverse transform to get back the original signal:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-xz2n41

Use dwd[…,"MatrixPlot"] to visualize each coefficient as a MatrixPlot:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-tj6pke


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-svtxpu

Visualize diagonal detail coefficient {3} and its child coefficients {3,__}:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-c7lg5h

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-ldtwbr

In two dimensions, the vector of filtering operations in each direction can be computed:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-lhs0ib

Interpreting these vectors as binary digit expansions, you get wavelet index numbers:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-e2sxk5

Get the lowpass and highpass filters for a Haar wavelet:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-lhi79n

The resulting 2D filters are outer products of filters in the two directions:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-dc3ief


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-ljd94e

Wavelet transform of step data:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-hfdje4
Data with a vertical discontinuity:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-n155zh

All horizontal and diagonal detail coefficients, wavelet index {___,2 3,___}, are zero:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-zxwe7i

Data with horizontal discontinuity:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-yv487p

All vertical and diagonal detail coefficients, wavelet index {___,1 3,___}, are zero:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-lx6rc

Higher-Dimensional Data (2)
Compute a three-dimensional wavelet packet transform:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-wgoboy

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-f8249l

List all computed wavelet coefficients:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-c7b4j4

Inverse transform to get back the original signal:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-gsidhc

Wavelet transform of a three-dimensional cross array:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-q65ymx

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-6gkgva


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-sxjayp

Visualize lowpass wavelet coefficients {___,0}:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-dlfuxh

Energy of the original data is conserved within the transformed coefficients:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-57obwt

Audio Data (2)
Transform an Audio object:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-mineo

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-jtcd5x

The inverse transform yields a reconstructed audio:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-jx08w

By default, coefficients are given as lists of data for each sound channel:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-bj4f7m

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-kp8pm

Get the {1,1} coefficient as an Audio object:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-hqd4o6

Inverse transform of {1,1} coefficient as an Audio object:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-d4evuw

Sound Data (2)
Transform a Sound object:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-slfk3h


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-yw8jwa

The inverse transform yields a reconstructed audio object:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-rcs2ag

Browse all coefficients using a MenuView:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-jhcy39

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-c9wmlc

Image Data (2)
Transform an Image object:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-gmw99b


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-yzn8qe

The inverse transform yields a reconstructed Image object:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-xlen9k

Wavelet coefficients are normally given as lists of data for each image channel:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-79t4z

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-lmi7qq

Get all coefficients as Image objects instead:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-9oty5

Get raw Image objects with no rescaling of color levels:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-ctsnnz

Get the inverse transform of the {0,1} coefficient as an Image object:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-hbdon

Generalizations & Extensions (3)Generalized and extended use cases
StationaryWaveletPacketTransform works on arrays of symbolic quantities:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-iue08m

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-cqhoa

Inverse transform recovers the input exactly:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-zu4y

Specify any internal working precision:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-daoo2p

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-hlsinj


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-noliik

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-bmqscn

The wavelets coefficients are complex:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-pma2rw

Options (3)Common values & functionality for each option
WorkingPrecision (3)
By default, WorkingPrecision->MachinePrecision is used:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-btupk0

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-fvcmsi


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-iwm7rm


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-bomt1d

Use higher-precision computation:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-e7oo7e

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-6lkrhl


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-cqyqyd

Use WorkingPrecision->∞ for exact computation:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-m5fvtb

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-5ais8y

Properties & Relations (10)Properties of the function, and connections to other functions
StationaryWaveletPacketTransform computes the full tree of wavelet coefficients:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-cgjhd3

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-e4t1li

StationaryWaveletTransform computes a subset of the full tree of coefficients:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-p3dq

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-wochi

DiscreteWaveletPacketTransform coefficients halve in length with each level of refinement:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-geoy4j

Rotated data gives different coefficients:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-fspmhk

StationaryWaveletPacketTransform coefficients have the same length as the data:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-ce5j56

Rotated data gives rotated coefficients:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-f9p8kx

The default refinement is given by Min[Round[Log2[Min[Dimensions[data]]]],4]:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-nvnob0

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-dfpfdn


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-ccu2mo


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-dzom29

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-nqp5e2


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-lsny6n

The energy norm is conserved for orthogonal wavelet families:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-40jjuu

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-fgbdya

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-ks8c24

The energy norm is approximately conserved for biorthogonal wavelet families:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-ihj98y

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-hz2t90

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-etc633


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-bm042g

The mean of the data is captured at the maximum refinement level of the transform:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-zu45nt

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-7tclnf
Extract the coefficient for the maximum refinement level:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-hqx9zn


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-t3qkc


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-5slunz

The sum of inverse transforms from individual coefficient arrays gives the original data:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-8csip2


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-uwqql4

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-sacrp

Individually inverse transform each wavelet coefficient array:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-f3ljg7


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-bh52zs


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-u8p9i


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-bevtad

The sum gives the original data:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-fuhvs4

Compute a Haar stationary wavelet packet transform in one dimension:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-kywxlf

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-f0nc2a
Compute {0} and {1} wavelet coefficients:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-bzen0a

Compare with StationaryWaveletPacketTransform:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-zcrryy

In two dimensions, a separate filter is applied in each dimension:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-cq5vc4
Lowpass and highpass filters for Haar wavelet:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-bzl44r
Haar wavelet transform of matrix data:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-5n59bt

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-6zl4c

Compare with StationaryWaveletPacketTransform using HaarWavelet:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-maqks4

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-s166s

Image channels are transformed individually:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-gfhws8

Combine {0} coefficients of separately transformed image channels:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-kh8lp

Compare with {0} coefficient of StationaryWaveletPacketTransform of original image:

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-t91ou

https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-byduzg


https://wolfram.com/xid/0ejoqibx4bzks4kh6tbpu-kbuh9g

Wolfram Research (2010), StationaryWaveletPacketTransform, Wolfram Language function, https://reference.wolfram.com/language/ref/StationaryWaveletPacketTransform.html (updated 2017).
Text
Wolfram Research (2010), StationaryWaveletPacketTransform, Wolfram Language function, https://reference.wolfram.com/language/ref/StationaryWaveletPacketTransform.html (updated 2017).
Wolfram Research (2010), StationaryWaveletPacketTransform, Wolfram Language function, https://reference.wolfram.com/language/ref/StationaryWaveletPacketTransform.html (updated 2017).
CMS
Wolfram Language. 2010. "StationaryWaveletPacketTransform." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2017. https://reference.wolfram.com/language/ref/StationaryWaveletPacketTransform.html.
Wolfram Language. 2010. "StationaryWaveletPacketTransform." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2017. https://reference.wolfram.com/language/ref/StationaryWaveletPacketTransform.html.
APA
Wolfram Language. (2010). StationaryWaveletPacketTransform. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/StationaryWaveletPacketTransform.html
Wolfram Language. (2010). StationaryWaveletPacketTransform. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/StationaryWaveletPacketTransform.html
BibTeX
@misc{reference.wolfram_2025_stationarywaveletpackettransform, author="Wolfram Research", title="{StationaryWaveletPacketTransform}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/StationaryWaveletPacketTransform.html}", note=[Accessed: 06-June-2025
]}
BibLaTeX
@online{reference.wolfram_2025_stationarywaveletpackettransform, organization={Wolfram Research}, title={StationaryWaveletPacketTransform}, year={2017}, url={https://reference.wolfram.com/language/ref/StationaryWaveletPacketTransform.html}, note=[Accessed: 06-June-2025
]}