Separating pores from cracks with fiji

Hello,

I have stacks that contain pores and cracks, and I need a way to separate the pores from the cracks without using the circularity function slice000.tif (712.0 KB), because exactly what value to give the pores to separate them…

Thanks in advance

Best regards

Hi @Userfiji,

Why is circularity not an option in your case? Can you elaborate a little in more detail to understand the rationale behind and to be able to find an alternative to circularity if really necessary.

You can test the Shape descriptor maps to test for some shape descriptors which might be suitable and you could use those in the Extended particle analyzer, respectively to apply it to your image after thresholding it first. I think the factor “Extend” might be an option.

Hi Jan,

Thank you for your response.

I prefer not to use the circularity option because I don’t know the exact value to assign to the pores to separate them from the cracks. There may be a pore and a crack that have circularity too close.

I’ll have to try Shape descriptor maps & Extended particle analyzer and I’ll let you know.

@+

Hi Jan,

After installing BioVoxxel, I tried to apply Shape descriptor maps to my stack but it is not found in the plugin (I think it requires a macro according to a discussion on the forum). Do you have please an example of this macro that I can modify and apply it to my stack?

A second question, i am trying to apply Extended particle analyzer to my stack (see code below) but it displays this error (Error : Undefined variable in line 1:
var ; initializeSciJavaParameters ( ) ; for ( n = 1 ; n != + 1 ; n ++ ).
Do you know how can i modify the macro to use it for my stack?
Thanks in advance

for(n = 1; n != slices + 1; n++)
{
setAutoThreshold(“Default”);
//run(“Threshold…”);
setOption(“BlackBackground”, false);
run(“Convert to Mask”);
run(“Close”);
run(“Invert”);
makeOval(54, 27, 1131, 1146);
setBackgroundColor(0, 0, 0);
run(“Clear Outside”);
run(“Extended Particle Analyzer”, " show=Outlines redirect=None keep=None display summarize exclude");
}

Actually not, it needs your image to be binary (meaning thresholded). Bit talking about stacks, if your image is actually a 3D sample, the standard shape descriptors anyway do not apply, since they are applied in 2D.

The error in your macro is the != operator. This is not allowed in for loops.
The for-loop would need to be stated as for (n=1; n<=nSlizes ; n++) {.......}

But first it would be important to specify, if 2D methods do make sense to apply on a 3D sample. It will surely lead to errors/problems at some time during the analysis.