MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Wavelet Denoising using Wavelet Explorer package

  • To: mathgroup at smc.vnet.net
  • Subject: [mg97870] Re: Wavelet Denoising using Wavelet Explorer package
  • From: Bill Rowe <readnews at sbcglobal.net>
  • Date: Tue, 24 Mar 2009 05:31:59 -0500 (EST)

On 3/23/09 at 4:04 AM, hayes.tyler at gmail.com wrote:

>Just wondering if anyone has experience out there with Wavelet
>Denoising using Mathematica. I have the Wavelet Explorer package,
>but the thresholding/shrinkage rules are the two simplest cases:
>hard and soft thresholding.

>I am hoping to do something more sophisticated, i.e., use Stein's
>Unbiased Risk Estimator, or the SURE method to denoise some signals.
>Any thoughts where I should start?

I've implemented several more sophisticated methods for
smoothing data using wavelets based on that package. The
following is how I have coded the SURE method:

Options[RemoveNoise] = {WaveletFilter -> DaubechiesFilter@5};

RemoveNoise[data_, opts___Rule] :=
  Module[{wt =
     WaveletTransform[data,
      WaveletFilter /. {opts} /. Options[RemoveNoise],
      Sequence @@
       FilterRules[Flatten[{opts}], Options[WaveletTransform]]],
    sigma}, sigma = (
    MedianDeviation[Last[wt]] Sqrt[2 Log[Length[data]]])/0.6745`;
   InverseWaveletTransform[
    WaveletCompress[wt, sigma,
     Sequence @@
      FilterRules[Flatten[{Flatten[{opts, Threshold -> True}]}],
       Options[WaveletCompress]]],
    WaveletFilter /. {opts} /. Options[RemoveNoise],
    Sequence @@
     FilterRules[Flatten[{opts}], Options[InverseWaveletTransform]]]]




  • Prev by Date: Re: Problem using a dialog and dynamic
  • Next by Date: Online Graphic Output
  • Previous by thread: Wavelet Denoising using Wavelet Explorer package
  • Next by thread: Recursive algorithm