Error in multithresh while computing N levels

I'm trying to compute the metrics of an image using multithresh for for N levels 2:20 (maximum allowed). In some of the images I get an error in the loop (see error below) especially at level N(j)=3. I'm not sure why I get this error with some images and not all. Please help.
[~, metric(j)] = multithresh(ROI, N(j) );
Attempted to access omega(-2); index must be a positive integer or logical.
Error in multithresh>objCriteriaND (line 264)
sigma_b_squared_val = omega(boundaries(1)).*((mu(boundaries(1))./omega(boundaries(1)) - mu_t).^2);
Error in multithresh>@(thresh)objCriteriaND(thresh,num_bins,omega,mu,mu_t) (line 148)
[thresh, minval] = fminsearch(@(thresh) objCriteriaND(thresh, ...
Error in fminsearch (line 309)
x(:) = xr; fxr = funfcn(x,varargin{:});
Error in multithresh (line 148)
[thresh, minval] = fminsearch(@(thresh) objCriteriaND(thresh, ... ||

댓글 수: 4

SuSo
SuSo 2015년 8월 5일
편집: SuSo 2015년 8월 5일
I have been having the same problem with multithresh, using N=3 or N=4. Works for some images but not for others. Have you had any luck finding a solution or a workaround?
Thanks!
John
John 2015년 8월 5일
Hi SuSo, I never got a solution to it. I simply used try/catch statement to skip the errors.
SuSo
SuSo 2015년 8월 6일
Lol that's exactly what I did. Pity. Thanks!
SarTho
SarTho 2016년 6월 9일
I faced the same problem with multithresh und solved it by just applying some light preprocessing filter (gauss etc) on the input.

댓글을 달려면 로그인하십시오.

답변 (0개)

질문:

2015년 3월 10일

편집:

2016년 6월 9일

Community Treasure Hunt

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

Start Hunting!

Translated by