vararout not assigned error when calling wthrmngr
5 views (last 30 days)
Show older comments
Hello,
I am trying to use the stationary wavelet transform to denoise a signal, with the threshold defined using wthrmngr, and the denoising parameters are changed using a factorial design as
% Soft or hard thresholding
if sorhThresh == 1
SORH = 's';
else
SORH = 'h';
end
% Multiplicative factor for threshold
if multThresh == 1
SCAL = 'sln';
else
SCAL = 'mln';
end
% Threshold selection rule:
switch threshRule
case 1
TPTR = 'rigrsure';
case 2
TPTR = 'sqtwolog';
case 3
TPTR = 'heursure';
case 4
TPTR = 'minimaxi';
end
SWTDEC = swt(cu,J,wname);
THR = wthrmngr('sw1ddenoLVL',threshRule,SWTDEC,SCAL);
etc...
But for some reason I get the following error, even though the output is assigned to wthrmngr:
Output argument "varargout" (and maybe others)
not assigned during call to
"/Applications/MATLAB_R2011a.app/toolbox/wavelet/wavelet/wthrmngr.m>wthrmngr".
Are some combinations of thresholding rule and multiplicative factor not permitted? Any help would be much appreciated, thank you!
Phil
0 Comments
Accepted Answer
Wayne King
on 25 Jan 2012
Hi Phil, I don't have any trouble running the following on R2011a
x = randn(1024,1);
J = 1;
wname = 'db2';
SWTDEC = swt(x,J,wname);
threshRule = 'rigrsure';
SCAL = 'sln';
THR = wthrmngr('sw1ddenoLVL',threshRule,SWTDEC,SCAL);
More Answers (1)
Wayne King
on 25 Jan 2012
Hi Phil, There isn't such a priori combination that is not permitted that I can think of.
Can you please cite one particular call to wthrmngr that causes this? Including the value of J in the call to swt() on the line before?
Thanks
See Also
Categories
Find more on Image Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!