DiscreteWaveletTransform

DiscreteWaveletTransform[data]
gives the discrete wavelet transform (DWT) of an array of data.

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

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

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

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

Details and OptionsDetails and Options

  • DiscreteWaveletTransform gives a DiscreteWaveletData object representing a tree of wavelet coefficient arrays.
  • 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 as the input data.
  • The possible wavelets wave include:
  • BattleLemarieWavelet[]BattleLemarié 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 is HaarWavelet[].
  • With higher settings for the refinement level r, larger-scale features are resolved.
  • The default refinement level r is given by TemplateBox[{{{InterpretationBox[{log, _, DocumentationBuild`Utils`Private`Parenth[2]}, Log2, AutoDelete -> True], (, n, )}, +, {1, /, 2}}}, Floor], where is the minimum dimension of data.  »
  • 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 those available in ArrayPad.
  • InverseWaveletTransform gives the inverse transform.
Introduced in 2010
(8.0)