在VTK和ITK中,可以在它们之间传递图像。
但是,它只能使用ITK将图像从ITK发送到VTK
itk::ImageToVTKImageFilter
。
是否可以将图像从vtk发送到itk?
答案 0 :(得分:0)
这是一个例子: http://itk.org/ITKExamples/src/Bridge/VtkGlue/ConvertvtkImageDataToAnitkImage/Documentation.html
HTH,
西蒙
答案 1 :(得分:0)
有一个过滤器itk :: ImportImageFilter,它接受图像缓冲区(由vtkImageData.GetScalarPointer()返回的数组)和图像属性,如大小,原点和间距,并创建一个itk :: Image。
https://itk.org/Wiki/ITK/Examples/IO/ImportImageFilter显示了如何将C数组作为图像导入ITK。导入vtkImageData非常相似。
基本上,您将获得vtkImageData的间距,原点,尺寸,并将其用作上述itk滤镜的输入。注意数据类型:如果vtkImageData的标量是短的,那么itk :: image应该是一个itk :: Image(如果它是3d图像则为3,如果是'是2d图像则为2)。
当然,管道的vtk部分和管道的itk部分之间的同步必须手动完成,除非您可以保证从中获取指针的imageData始终是相同的。