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]]]]