Quantifying pore size distribution for a 3-d image

 Accepted Answer

Threshold, then call regionprops().

2 Comments

Can you explain what you mean?
I am learning how to carrying out analysis on 3D images and 2D stack images in MATLAB
For example
mask = image3d < 50; % or some threshold value that works.
props = regionprops3(mask);
It's a generic, general purpose demo of how to threshold an image to find blobs, and then measure things about the blobs, and extract certain blobs based on their areas or diameters.

Sign in to comment.

More Answers (1)

Hello!
Quick question, I've created an aggregate of 1000 spheres with this code:
t = readmatrix('Sim 1.txt');
[xn,yn,zn]=sphere;
i=1;
while i<=1000
for i=i
x=t(i,1);
y=t(i,2);
z=t(i,3);
r=t(i,4);
xi=xn*r+x;
yi=yn*r+y;
zi=zn*r+z;
p(i)=surf(xi,yi,zi);
hold on
i=i+1;
end
end
hold off;
How can I now measure the pore size distribution of my aggregate (1x1000 surface)?
Thank you in advance!

1 Comment

@Adriana If by "pore" you mean the spheres (like the spheres are voids/holes in a solid volume) then the pore side distribution is just 1000 counts of 1. Since you did not specify an input for sphere, it makes a sphere of radius 1 (diameter of 2).
Conversely, if the volume is void space and the spheres are solid, then you're going to have to define what you mean by a pore. You can get the distance of every pixel to the closest sphere with bwdist and then take the histogram of the distance transform image, if that will help you.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!