DiscreteWaveletData

DiscreteWaveletData[{wind1->coef1, ...}, wave, wtrans]
yields a discrete wavelet data object with wavelet coefficients corresponding to wavelet index , wavelet wave, and wavelet transform wtrans.

DiscreteWaveletData[{wind1->coef1, ...}, wave, wtrans, {d1, ...}]
yields a discrete wavelet data object assuming data dimensions .

Details and OptionsDetails and Options

  • DiscreteWaveletData[{wind1->coef1, ...}, ...] is always converted to an optimized standard form with structure DiscreteWaveletData[coefs, winds, ...].
  • The coefficients can be arrays of any depth, Image[...], Sound[...], or SampledSoundList[...] objects.
  • The options used by the wavelet transform wtrans can also be used as options to DiscreteWaveletData.
  • In standard output format, only an abbreviated wtrans, the number of refinements and dimension of the original data, is printed.
  • Normal[DiscreteWaveletData[...]] gives a list of rules that gives the correspondence between wavelet index and the corresponding coefficient array .
  • DiscreteWaveletData represents a wavelet decomposition tree, where each node holds wavelet coefficients. Each node in the tree has a unique wavelet index vector that can be used to access wavelet coefficients.
  • A wavelet index wind is a vector of integers. The length of the vector represents the refinement level in the wavelet decomposition tree. For an index vector of length , the first integers indicate the parent node and the last integer indicates how the current node is related to the parent node.
  • For one-dimensional data, the index wind consists of 0s and 1s. A 0 represents lowpass filtering, and a 1 represents highpass filtering.
  • For -dimensional data, the index wind consists of integers from to . Each integer represents a vector of operations performed along each dimension of the data, where the exact correspondence is given by MapThread[Rule, {Range[0, 2^n-1], Tuples[{lowpass, highpass}, n]}].
  • The wavelet index wind can be used to extract wavelet coefficients from a DiscreteWaveletData object dwd. The following specifications can be given:
  • dwd[wind]extract coefficients corresponding to wind
    dwd[{wind1,wind2,...}]extract several wavelet coefficient arrays
    dwd[wpatt]extract all coefficients whose wind matches the pattern wpatt
    dwd[All]extract all coefficients
    dwd[Automatic]extract coefficients used in the inverse transform
  • By default, coefficients are returned as a list of rules .
  • can be used to control the output form. Possible include:
  • "Rules"rules
    "Values"coefficients only
    "Inverse"inverse transform individual coefficients
    "ListPlot"simple list plots for 1D coefficients
    "MatrixPlot"simple matrix plots for 2D coefficients
    "Image"images for image coefficients
    "Sound"sound objects for sound coefficients
    "SampledSoundList"sampled sound objects for sound coefficients
  • Overall properties can be obtained from DiscreteWaveletData[...]["prop"].
  • DiscreteWaveletData[...]["Properties"] gives a list of properties available for the DiscreteWaveletData object.
  • Properties related to transform coefficients include:
  • "BasisIndex"wavelet indices used for inverse transform
    "Dimensions"give the dimensions of wavelet coefficient groups
    "EnergyFraction"fraction of energy in groups of coefficients
    "Padding"the padding used to transform data
    "Refinement"the number of refinement levels performed
    "Transform"type of wavelet transform
    {"TreeView",pos}tree view of decomposition, with pos as in TreePlot
    "Wavelet"wavelet family used
    "WaveletIndex"list of all wavelet indices
  • Properties related to input data include:
  • "DataDimensions"dimensions of original data
    "DataChannels"the number of channels of data
    "DataWrapper"wrapper function applied to data after reconstruction
  • Properties unique to packet transforms include:
  • "BestBasisBlockView"block grid view of best basis
    "BestBasisCostValues"cost value for each wavelet coefficient
    "BestBasisCostTable"formatted cost value table
  • Properties available for dwd from WaveletThreshold include:
  • "ThresholdValues"threshold values for each wavelet coefficient
    "ThresholdTable"formatted threshold values
  • The following options can be given:
  • MethodAutomaticmethod to use
    Padding"Periodic"how to extend data beyond boundaries
    SampleRateAutomaticsample rate to use for sound data
    WorkingPrecisionMachinePrecisionprecision to use in internal computations
  • The settings for Padding are the same as those available in ArrayPad.

ExamplesExamplesopen allclose all

Basic Examples (3)Basic Examples (3)

Get DiscreteWaveletData from a wavelet transform:

In[1]:=
Click for copyable input
Out[1]=

The DiscreteWaveletData represents a tree of transform coefficients:

In[2]:=
Click for copyable input
Out[2]=

Extract properties, including fraction of total energy in each coefficient:

In[3]:=
Click for copyable input
Out[3]=

Use DiscreteWaveletData objects in other wavelet functions:

In[1]:=
Click for copyable input
Out[1]=

WaveletMatrixPlot[dwd] plots matrix wavelet coefficients in a hierarchical grid layout:

In[2]:=
Click for copyable input
Out[2]=

Compute the inverse wavelet transform of stationary wavelet transform coefficients:

In[1]:=
Click for copyable input
Out[1]=
New in 8
New to Mathematica? Find your learning path »
Have a question? Ask support »