Error in multithresh while computing N levels

2 views (last 30 days)
John
John on 10 Mar 2015
Edited: Walter Roberson on 9 Jun 2016
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 Comments
SuSo
SuSo on 6 Aug 2015
Lol that's exactly what I did. Pity. Thanks!
SarTho
SarTho on 9 Jun 2016
I faced the same problem with multithresh und solved it by just applying some light preprocessing filter (gauss etc) on the input.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!