Hello everyone, since some days I'm try to solve a problem about image processing that is blocking my project.
I'm working with 3D binary images of a micro CTscan (these images are very fragmented and full of noise). I need do interpolate the external boundaries of my 3D binary image in order to avoid all the holes and cavities (made by trabeculas) that are inside my volume. I didn't use any smooth,smooth3 function because I don't want my images to get worst. What I've done is: I used alphaShape() function to create a bounding volume that envelops the set of my 3-D points and it worked well. The problem is that the image obtained is an 'AlphaShape' type and I don't know how to convert it back to a binary image, in order to make more operations on it. I tried using plot but again, the the image obtained is a 'Patch' type and I don't know how to go back to binary image. Here attached you can find the code: BWbm is the initial binary image. I also attached the image of the AlphaShape interpolation.
%With these 3 vectors I can applay alpha-shape that creates a bounding
%volume that envelops a set of 2-D or 3-D points.
%PROBLEM: how can I go back from tha alphaShape image to the binary image?
[x,y,z] = ind2sub(size(BWbm),find(BWbm == 1)); % trasform the 3D matrix in 3 vectors