Я создаю контур в 2D через vtkContourFilter
. (см. изображение, прикрепленное ниже). Теперь я хотел бы получить область, которая находится внутри контура, и сохранить ее как vtkImageData
или что-то подобное, что приведет к отображению только с данными внутри контура. Все остальное было бы черным, просто чтобы иметь те же размеры, что и срез.Получение области внутри контура в VTK
Я не знаю, как получить область внутри контура, есть в любом случае сделать это?
Это то, что я сделал до сих пор:
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?
Спасибо заранее.