WaveletThreshold

WaveletThreshold[dwd]
thresholds the detail wavelet coefficients in the DiscreteWaveletData object dwd.

WaveletThreshold[dwd,tspec]
thresholds the coefficients using the thresholding specification tspec.

WaveletThreshold[dwd,tspec,wind]
thresholds the wavelet coefficients given by the wavelet indices wind.

DetailsDetails

  • WaveletThreshold[dwd] is effectively WaveletThreshold[dwd,"Universal"].
  • WaveletThreshold[dwd,tspec,wind] indicates which wavelet coefficients to threshold, using the same index convention as described for DiscreteWaveletData.
  • By default, thresholding is performed on detail coefficients at each refinement level.
  • The threshold specification tspec can be of the form: tfun, {tfun,pars}.
  • Possible tfun names and options include:
  • {"Hard",δ}0 TemplateBox[{x}, Abs]<=delta; x TemplateBox[{x}, Abs]>delta
    {"Soft",δ} 0 TemplateBox[{x}, Abs]<=delta; sgn(x) (TemplateBox[{x}, Abs]-delta) TemplateBox[{x}, Abs]>delta;
    {"Firm",δ,r,p} 0 TemplateBox[{x}, Abs]<=delta-delta p r; (sgn(x) (delta+delta r-delta p r) (TemplateBox[{x}, Abs]-delta+delta p r))/(delta r) delta-delta p r<TemplateBox[{x}, Abs]<=delta+delta (-p) r+delta r; x TemplateBox[{x}, Abs]>delta+delta (-p) r+delta r;
    {"PiecewiseGarrote",δ}0 TemplateBox[{x}, Abs]<=delta; x-(delta^2)/x TemplateBox[{x}, Abs]>delta
    {"SmoothGarrote",δ,n}
    {"Hyperbola",delta} 0 TemplateBox[{x}, Abs]<=delta; sgn(x) sqrt(x^2-delta^2) TemplateBox[{x}, Abs]>delta;
    {"LargestCoefficients",k}keep the largest k coefficients
  • In all cases is assumed to be a positive number or a thresholding function tfunc to compute . Each tfunc[coefi,windi] should return a positive number.
  • The parameter conditions for "Firm" are that is a positive real and a positive real number between 0 and 1.
  • The parameter conditions for "SmoothGarrotte" are to have be a positive real number.
  • The threshold can be automatically computed using the following methods:
  • Automatic"Universal" thresholding value
    {"FDR",α}false discovery rate at significance level α
    "GCV"minimizes generalized cross-validation function
    "GCVLevel""GCV" performed at each level
    "SURE"Stein's unbiased risk estimate
    "SUREHybrid"combination of "SURE" and "Universal" thresholding
    "SURELevel""SURE" performed at each level
    "Universal"Donoho and Johnstone's universal threshold
    "UniversalLevel""Universal" performed at each level
  • The parameter conditions for {"FDR",α} are that α should be a number between 0 and 1. By default "FDR" is equivalent to {"FDR",0.05}.
  • The following short tspec forms can be used:
  • "FDR"{"Soft",{"FDR",0.05}}
    "GCV"{"Soft","GCV"}
    "GCVLevel"{"Soft","GCVLevel"}
    "SURE"{"Hard","SURE"}
    "SURELevel"{"Hard","SURELevel"}
    "SUREShrink"{"Soft","SURE"}
    "Universal"{"Hard","Universal"}
    "UniversalLevel"{"Hard","UniversalLevel"}
    "VisuShrink"{"Soft","Universal"}
    "VisuShrinkLevel"{"Soft","UniversalLevel"}

ExamplesExamplesopen allclose all

Basic Examples  (2)Basic Examples  (2)

DiscreteWaveletTransform of noisy data:

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

Smooth data by thresholding wavelet coefficients:

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

Compare original and smoothed data:

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

Remove noise from a color image:

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

Threshold wavelet coefficients:

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

Synthesize smoothed image using InverseWaveletTransform and compare with original:

In[4]:=
Click for copyable input
Out[4]=
Introduced in 2010
(8.0)
Translate this page: