function WMULTMAD, wc,L ;+ ;NAME: ; WMULTMAD ; ;PURPOSE: ; To perform Shrinkage to Wavelet Coefficients via ; level-dependent Noise level estimation. ; ;CATEGORY: ; Wavelets. ; ;CALLING SEQUENCE: ; ws = WMULTMAD(wc,L) ; ;INPUTS: ; wc = Wavelet Transform of noisy sequence ; L = low-resolution cutoff for Wavelet Transform ; ;OUTPUTS: ; ws = result of applying VisuThresh to each wavelet level, ; after scaling so MAD of coefficienst at each level = .6745 ; ;EXAMPLE: ; ;SEE ALSO: ; wvisuthr, wdoshrnk ; ; ;MODIFICATION HISTORY: ; Written by: Amara Graps December, 1994 ;Translated from MatLab Wavelab routine: multimad.m ;- n = WDYADLNG(wc,J) TThresh = 1 ;hard threshold FOR jj=J-1, L, -1 DO BEGIN scale = MEDIAN(abs(wc(WDYAD(jj)-1)))/.6745 wc(WDYAD(jj)-1) = scale * WVISUTHR(wc(WDYAD(jj)-1)/scale, TThresh) END ws = wc ; ; Algorithm Source: WaveLab Version 0.600 ; WaveLab WWW site: http://playfair.stanford.edu/ ; WaveLab Questions? e-mail wavelab@playfair.stanford.edu ; RETURN, ws END ;***************************************************