【发布时间】:2016-03-01 15:25:06
【问题描述】:
我正在通过vtkContourFilter 生成二维轮廓。 (见下图)现在我想获取轮廓内的区域并将其保存为vtkImageData 或类似的东西,这将导致图像仅包含轮廓内的数据。其他一切都是黑色的,只是为了与切片具有相同的尺寸。
我不知道如何获取轮廓内的区域,有什么办法吗?
这是我到目前为止所做的:
import vtk
reader = vtk.vtkXMLImageDataReader()
reader.SetFileName("sample.vti")
reader.GetOutput().SetUpdateExtentToWholeExtent()
reader.Update()
flipYFilter = vtk.vtkImageFlip()
flipYFilter.SetFilteredAxis(1)
flipYFilter.SetInput(reader.GetOutput())
flipYFilter.Update()
image = flipYFilter.GetOutput()
extractSlice = vtk.vtkExtractVOI()
extractSlice.SetInput(image)
extractSlice.SetVOI(image.GetExtent()[0], image.GetExtent()[1], \
image.GetExtent()[2], image.GetExtent()[3], \
5, 5)
extractSlice.SetSampleRate(1, 1, 1)
extractSlice.Update()
contour = vtk.vtkContourFilter()
contour.SetInputConnection(extractSlice.GetOutputPort())
contour.SetValue(1,90)
#How to get the region inside the contour?
提前致谢。
【问题讨论】: