Marching cubes poly result is scaled

The result of my poly model coming from is not the same scale as my slices. So I am unable to see them overlap and scroll in the 3Dview. Am I missing an extra step?

surface = vtk.vtkMarchingCubes()
surface.SetInputData( imageData )
surface.ReleaseDataFlagOn()
surface.ComputeNormalsOn()
surface.ComputeGradientsOn()
surface.SetValue(0,scalar_iso)
surface.Update()

modelPolyData = surface.GetOutput()

The data needed to be transformed to volume space.
I also happen to find the ModelMaker interface which also suits my needs.

But I am unable to get the points and normals out of a model that was generated by this module. I am using this

https://discourse.slicer.org/t/access-point-and-cell-data-of-surface-mesh/2426/2

Once you use Slicer you might want to use its features instead of sticking to VTK programming. If you import your labelmap in a segmentaiton node then convert it to surface then you get good result.

You can do the import from the UI in the Segmentations module or in the Data module (right-click the labelmap). If you want to do it via script or customize it then Iā€™m sure you can find the answer here in the forum, this is a topic that keeps coming up.

1 Like

I am now using segmentations in slicer for selecting the voxels of interest and that works perfectly. So that was solved, but I needed the point/normal list to export them to file, I do not need them for anything else. All works fine now. Thanks for your help and link.

2 Likes