在VTK中获取轮廓内部的轮廓

时间:2016-03-01 15:25:06

标签: python vtk contour

我通过https://my.site.com在2D中生成轮廓。 (参见下面的图片)现在我想得到轮廓内的区域并将其保存为vtkContourFilter或类似的东西,这将导致图像与轮廓内的数据一致。其他一切都是黑色的,只是与切片具有相同的尺寸。

enter image description here enter image description here

我不知道如何获得轮廓内的区域,无论如何要做到这一点?

这是我到目前为止所做的:

vtkImageData

提前致谢。

2 个答案:

答案 0 :(得分:4)

vtkContourFilter是 - 在您的情况下 - 行表示,不允许任何“内/外”过滤。你想要的是vtk.Threshold

threshold = vtk.Threshold()
threshold.SetInputConnection(extractSlice.GetOutputPort())
threshold.ThresholdRange = [37.35310363769531, 276.8288269042969]

上面的代码不在我的脑海中,两个标量是你应用阈值的最小值和最大值。查看Paraview,您可以使用它来组装可视化文件并使用 Python跟踪器记录所有内容。这将为您提供python代码,然后您可以使用普通的VTK和python,这非常棒,正是您所需要的。但是这样,原型制作过程比使用python更快。

enter image description here

答案 1 :(得分:2)

您应该可以使用vtkPolyDataToImageStencil后跟vtkImageStencil来执行此操作,就像在此示例中一样 http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/PolyDataContourToImageData

HTH,

米罗