Search code examples
matlabtriangulation

Converting 3D contour points to 3D binary volume


I have a set of 3D contour points that represent a closed surface, such as the following:

3D contour points

The contour slices are closed curves, and are always located at integer z values. Although, there are some z values in the middle that don't have contours.

In MATLAB, I want to convert this point representation to a binary volume representation, where pixels that lie inside of the contour shape are considered as 1, and pixels outside as 0.

I tried 3D triangulation and then converting the triangulated polygon to a binary volume. Although, the triangulation doesn't respect the boundary limits that are imposed by the closed curves on each slice. That is, the intra-slice points are connected indiscriminately and some round features are lost.

How can I solve this problem?


Solution

  • I would check Marching Cubes and Ball Pivoting for 3D triangulation.