vararout not assigned error when calling wthrmngr

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

 Accepted Answer

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);

1 Comment

Thanks for your help Wayne. It turns out it was just a silly syntax issue - I had the variable 'threshRule' instead of 'TPTR' as an input argument to wthrmngr. Though I do find it a bit strange that there is not error checking when when an interger is input instead of the expected string.

Sign in to comment.

More Answers (1)

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

1 Comment

Hi Wayne,
The first run condition, where all coded run parameters are set to 1 (i.e. SORH = 's', SCAL = 'sln', TPTR = 'rigsure', J = 1, wname = 'db2') immediately triggers this error. I've randomly tried a number of other run conditions, but with the same error.
Thanks,
Phil

Sign in to comment.

Categories

Find more on Wavelet Toolbox in Help Center and File Exchange

Asked:

on 24 Jan 2012

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!