我通过https://my.site.com
在2D中生成轮廓。 (参见下面的图片)现在我想得到轮廓内的区域并将其保存为vtkContourFilter
或类似的东西,这将导致图像与轮廓内的数据一致。其他一切都是黑色的,只是与切片具有相同的尺寸。
我不知道如何获得轮廓内的区域,无论如何要做到这一点?
这是我到目前为止所做的:
vtkImageData
提前致谢。
答案 0 :(得分:4)
vtkContourFilter
是 - 在您的情况下 - 行表示,不允许任何“内/外”过滤。你想要的是vtk.Threshold
threshold = vtk.Threshold()
threshold.SetInputConnection(extractSlice.GetOutputPort())
threshold.ThresholdRange = [37.35310363769531, 276.8288269042969]
上面的代码不在我的脑海中,两个标量是你应用阈值的最小值和最大值。查看Paraview,您可以使用它来组装可视化文件并使用 Python跟踪器记录所有内容。这将为您提供python代码,然后您可以使用普通的VTK和python,这非常棒,正是您所需要的。但是这样,原型制作过程比使用python更快。
答案 1 :(得分:2)
您应该可以使用vtkPolyDataToImageStencil
后跟vtkImageStencil
来执行此操作,就像在此示例中一样
http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/PolyDataContourToImageData
HTH,
米罗