Problems in analyzing pore size distribution of sand column sample using Thickness

pore distribution0016.tif (66.9 KB)

Hi all,
I am trying to analyze the pore size distribution of a sand column sample, and above is a cropped sample slice from my data. Most of the pore space is connected in my data, so I first want to double-check if I understand the function of this plugin correctly. Imaging the pore space is like a lollipop, with a sphere head and a rod-like tail, to my understanding, the result of the plugin will fit a sphere that is identical to the sphere head, with a serial of small spheres that have the same diameter as that of the rod tail. And the output image will consist of spheres with 2 colors, and the pixel value of the large sphere represents the diameter of the sphere head, the pixel value of small spheres represents the diameter of the rod. By analyzing the histogram of the output image, I can estimate the volume fraction of pores in a specific range to the total pore size volume. Is my understanding correct? If so, this is the plugin I have been searching for a long time.
The sample slice is a binary image in tiff format, with pixel value 0 for background and 1 for pore space. To my understanding, the operation I need to do is import the stack (or part of stack), then using “Thickness” in BoneJ, and select “trabecular spacing” and run the plugin. The following image shows the results I have from “Thickness”, which did not make any sense to me. I would like to know what should I do to make the plugin works properly on my data.

Any suggestions and comments would be very appreciated!


Hi all, I found that by setting the pixel value to 0 and 255, the plugin will work properly.
However, I still want to double-check if my understanding of the pore size distribution analysis using the “thicnkess” is correct.


1 Like

Hi Saiqi,

Yes, I think your understanding of how “Thickness” works is correct. Note that ticking the “trabecular spacing” checkbox will give you the background (pixels with value 0) measurements (Avg/StDev/Max) in the BoneJ results table, while ticking “trabecular thickness” will give you the foreground (pixels with value 255) measurements.

And you are right also in that by analyzing the histogram of the output image, called the “thickness map”, appropriately, you can get the proportion of the total foreground pixels in a size range. ImageJ’s histogram functionality will ignore the background pixels completely in the thickness map, because they have value “NaN”.

Hope this helps,

1 Like

Hi Alessandro,
Thanks for your reply, it helps a lot!.
So based on your reply, if I just want to know the pore size distribution, which is the white area with pixel value 255, I should ticking “trabecular thickness” instead of “trabecular spacing”.


1 Like

Yes, that is correct.