Internal porosity of 3D Volume object - part (A)

Hi everyone,
I want to find out the internal pores of a volume object. This 3D object object is resulted from binary images of X-ray tomography and then its voxel information is processed to obtain this 3D volume object. Any suggestion or guidance would be highly appreciated. Thanks

2 Comments

how did you get the 3D volume object please ? did you have multiple slices ??
yu sh
yu sh on 4 Aug 2016
Edited: yu sh on 4 Aug 2016
Yes I have multiple 2D microtomographic images. I write a MATLAB code using patch and isosurface functions to obtain the 3D volume object. But first I obtained the array containing the grey values of voxel intensities of the the complete stack of 2D slices.

Sign in to comment.

 Accepted Answer

Threshold to find material and sum the image. That's the material volume. Then invert that threshold so that now you have non-material/air. Now call imclearborder() to get rid of the surrounding air region. Then sum the volume, which will give you the volume of the internal void spaces. Then divide those two to get the volume fraction = (volume of material) / (volume of void spaces).

5 Comments

Thanks a lot Image Analsyt.
@ Image Analyst: I have understand your suggestion and it looks appropriate according to my requirement but I am not getting the way to apply this idea in MATLAB. If it is possible for you please elaborate this in slightly more detail. I am actually not getting how can I threshold and sum the images to find the complete volume. Thanks
someThreshold = 3000; % Whatever...
% Threshold.
material = image3D > someThreshold;
% Get volume
materialVolume = sum(material(:))
% Get air space
air = ~material;
% Remove surrounding air
air = imclearborder(air);
% Sum air space left, i.e. void spaces inside the material.
voidSpaceVolume = sum(air(:))
% Compute total volume
totalVolume = materialVolume + voidSpaceVolume
% Calculate ratios.
materialRatio = materialVolume / totalVolume
voidSpaceRatio = voidSpaceVolume / totalVolume
@Image Analyst: At first I thought it is simple to apply but now I am facing difficulties.
Firstly please tell me what is the purpose of thresholding? in my case material is fixed (Maltodextrin) if necessary then please guide how should I perform thresholding.
Secondly my input is a complete 3D volume object. Please check it in this 'fig' format of MATLAB but it is resulting from a set of binary images obtained from X-ray tomography. So should I use my binary images as an input over here?
Please guide me I am stuck over here from last week not getting any idea to move forward.
Thresholding tells your program what is material, and what is air. In my code, "material" is a binary image. Not sure what else to say.

Sign in to comment.

More Answers (0)

Asked:

on 10 Jun 2016

Edited:

on 4 Aug 2016

Community Treasure Hunt

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

Start Hunting!