Removing components touching phase in 3d volume

13 views (last 30 days)
Hi all
I have a 3d volume composed of tif files with three phases, namely particle phase, pore phase and a border phase. I would like to delete all particles touching the border phase. One slice looks something like this
and I would like to remove all the particles (2) that touch the outer border (1) within the whole 3d volume.
Any help would be greatly appreciated.
thanks

Answers (2)

Sean de Wolski
Sean de Wolski on 14 Jul 2016
Use bwdist to get the distance from every pixel to the border (euclidean distance). Zero out any less than or equal to sqrt(2).
D = bwdist(I==phase1);
D(D<=(sqrt(2)+eps)) = 0;

Sohrab Daemi
Sohrab Daemi on 14 Jul 2016
Hi
thanks but this seems to deletes everything within the circle. I just need to delete the particles (marked as 2 in the image) that are touching the outer border (marked as 1).
thanks again

Community Treasure Hunt

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

Start Hunting!