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 comentarios

SuSo
SuSo el 5 de Ag. de 2015
Editada: SuSo el 5 de Ag. de 2015
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 el 5 de Ag. de 2015
Hi SuSo, I never got a solution to it. I simply used try/catch statement to skip the errors.
SuSo
SuSo el 6 de Ag. de 2015
Lol that's exactly what I did. Pity. Thanks!
SarTho
SarTho el 9 de Jun. de 2016
I faced the same problem with multithresh und solved it by just applying some light preprocessing filter (gauss etc) on the input.

Iniciar sesión para comentar.

Respuestas (0)

Preguntada:

el 10 de Mzo. de 2015

Editada:

el 9 de Jun. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by