Particle analyser

Hi guys,
thank you for creating bonej2 as a very great tool.
I am quite new to that tool and I want to get acquainted with the tool, since I want to use it properly for my master’s thesis.

An issue appeared however, when I wanted to use the particle analyser which would perfectly suit to my research for a binary stack. I ticked all the boxes for the settings and left the rest in default mode. The program started to work, the resulting log file however showed just several messages of: “… resulted in 0 surface points”. And then at the end of the procerss I did not even receive an output. I use the newest Fiji version with bonej2. I tried however already various other combinations e.g. Bonej + Fiji/imageJ versions to solve the problem with the particle analyser, since I read that these combinations may be a source of issues. Does anyone have an idea what I could have made wrong?
Thanks in advance!

(maybe a hint for you: when I run analyse skeleton, I will get an output, but I will also get an error: module threw exception)


Could you share a test image where you get this error so we can reproduce your issue, please?

This usually means that your particles are very small and the surface mesher has averaged them into nothing. Try using a smaller value for the Surface resampling option. See for more information.

Hi Alessandro, hi Michael,

thank you for your fast response and the hint! I reduced surface resampling to 1.9 and I did not receive the message “… resulted in 0 surface points” anymore. I just received the message: “Particle labelling finished in […] ms”. The whole process continued until a log file opened showing: “3D [dev] 1.6.0-scijava-2-pre11-daily-experimental daily”. Then the process stops (after EDT transformations and so on) “showing local thickness: processing slice 4/176”. I found out, that, interestingly if I analyze just a small crop (from the middle) of my stack (approx. 10% of the whole image size), the analysis works and I get for the first time an output.

It seems to me you might want to give your machine more time to finish the Local Thickness (which can take quite a while). Local Thickness forms part of the analysis after the particles have been labelled if you tick “Thickness” in the opening dialog.

It is trying to calculate the thickness of the large black region outside your porous sample, which is computationally very expensive (exponentially more expensive as the radius of the structure increases).

There are some solutions. One is not to calculate thickness at all, unless is is particularly important for you - uncheck the 3D thickness option in the setup dialog. Another is as you described, cropping an ROI out of the middle of your sample and analysing that, or cropping the image much more tightly around the outside of your specimen. The best is to change the phase of the ‘outside’ to background (pixel value = 0), if what you are interested in is the pores enclosed by the sample matrix. This is a bit awkward because the outside is connected to the surface-touching pores in your sample. It is always difficult to decide where the boundary is between a porous sample and the outside! The easiest thing to do is flood-fill the outside with background, with the caveat that some of the inside pores will be filled as well. More time-consuming is to trace the sample boundary with an irregular or polygon ROI and fill outside.

Thanks a lot for your fast responses. That was very helpful. I will wade through the opportunities you showed me and might come back with questions. Thanks again!