Find the pore network pathways and measure its perimeters along the Z axis

Hello everyone. Hope you are doing well.

My problem is quite complex and my knowledge of programming and creating macros is not at the required level so any suggestion is welcome.

I’m working with binarized 3D rock images (stacked images),where I’m mostly interested in the pore space analysis.

Here is a sample file showing what I’m working with. It is a 8-bit raw image, 300x300x300 in dimensions. The resolution is 8.638 um/pixel. The porosity (amount of voids) is 14.1%.

S1-Huang.rar (726.9 KB)

What I would like to do is to find the paths of connected pores in Z-axis, starting with the pores in the first slice, and along the paths measure e.g. area of the pore, perimeter, or similar geometrical properties. In other words, find the paths where e.g. the water could flow from one side of the sample to the other.

I’m wondering if there is a way with e.g. combination of different plugins/analyses to do that in ImageJ?
The pore network is quite complex with pores connecting and disappearing through the stack. What I’m mostly concern is to find the constrictions along the paths which could be interpreted as a decrease in a pore perimeter. So starting building the patwhays from the slice no.1, I would need to find connected pores in the next slice and then do some kind of labeling in order to track the changes in perimeter.

Local Thickness analysis seems quite promising in order to prioritize the pathway network by the size of perimeter or pore area. But maybe there’s an easier way to start.

Thank you,

Hi Marko,

You can use the 3D analysis suite (3D ImageJ Suite) to look at your network and analyse it. With the file you have given, you have one main network and 384 small cavities.

Since the network is already binarised, you can use the 3D suite to erode it to find where it is constricted.

Beware: you need a fairly powerful computer with your file.

Hi Matthieu,

Thank you for your quick replay.

I’ve installed and played with the 3D suite but didn’t manage to accomplish anything. Can you please be a little more specific about the workflows with the 3D suite?

My approach was to try to determine which path is the most likely for fluid to flow. Meaning, try to connect the biggest pores starting from pores in slice#1 all the way to the end of a stack. But I have already encountered the problems with the labeling part where I don’t get any labels or pores visible, only some white spots.

Best regards,