filling holes of a 3D image in Matlab I want to use morphology operator for filling holes of a 3d image. The 3d image consists of 116 2-D image slices of the same size (512*512 pixels). I tried using imfill in Matlab for the 3d image but the result is not I want. One of the slices of the 3d input image(a) and the corresponding slice from the 3d output image(b) result of using imfill  is shown here . The small holes are filled and other holes are not filled.

When I tried using imfill slice by slice the result is correct. Is there any way for filling holes in 3d images? How can I do this?
imfill would work with images and not volumes. However Matlab has many basic tools to fill the holes, that is to interpolate missing data points. What you are after is interpolation and Matlab has a function called interp3.