vtkSurfaceNets3D and holes on the extracted surfaces

Hello Everyone,

I am experimenting with vtkSurfaceNets3D which is a great addition to VTK. In particular I am running it on a label image which derives from the segmentation of a CT scan. I am using a super simple Python test script that looks like this:

the extracted surfaces have some holes, as shown below:

Is this expected for this filter? If yes, is there a set of parameter settings that instead would guarantee there are no holes?

Thanks for any feedback,

Best Regards,

Andrea

Is that the edge/boundary of your image? You can use vtkImageConstantPad first to pad the input with background values before using vtkSurfaceNets3D to close the surface.

There is an issue about this here: https://gitlab.kitware.com/vtk/vtk/-/issues/19170

Hi,

Thank you for your feedback. Those holes do not occur at the boundary of the image “cube” but on surfaces that are fully embedded in the image volume. I am providing with this message the data and the code to reproduce the problem - if anyone is interested in doing so. Turning smoothing off, and changing parameters still resulted in holes here and there.

Best,

Andrea

P.S. below is a rendering from simply opening the output in Paraview

abdominal_organ_segmentation_reduced.vtk (8.0 MB)

extract_surfaces_experiment.py (785 Bytes)

My suspicion is that these holes are inherent to the segmentation label data. In 3D, it’s common to see segmentations that are “inconsistent” between adjacent slices. This is hard to track down without reviewing adjacent slices etc. Have you done this?