Как получить координаты мира с помощью воксельного индекса VTK?

#vtk

Вопрос:

Я новичок в ITK и VTK.Теперь я хочу использовать алгоритмы выращивания 3D-областей для сегментации определенных тканей.Я закончил рендеринг vulume и смог получить индекс вокселя с помощью vtkImagePlaneWidget.Но как получить мировую координату индекса?

vtkImagePlaneWidget

Ответ №1:

vtkImageData предоставляет метод, называемый TransformIndexToPhysicalPoint, который преобразует индексы вокселей в мировую координату.

Вызванный из python, он выглядит примерно так

 import vtk

img = vtk.vtkImageData()
img.SetDimensions([256,256,256])
img.SetSpacing([0.5,0.5,0.5])
img.SetOrigin([100,100,100])

physical_coord = [0,0,0] # Placeholder
index_coord = [128,128, 128]
img.TransformContinuousIndexToPhysicalPoint(index_coord, physical_coord)

assert tuple(phyiscal_coord) == (164,164,164)