В VTK и ITK можно передавать изображения между ними. Но можно только отправить изображение из ITK в VTK, используя itk::ImageToVTKImageFilter
.Отправить img VTK для ITK
Можно ли отправить изображение с vtk на itk?
В VTK и ITK можно передавать изображения между ними. Но можно только отправить изображение из ITK в VTK, используя itk::ImageToVTKImageFilter
.Отправить img VTK для ITK
Можно ли отправить изображение с vtk на itk?
Там находится фильтр, ITK :: ImportImageFilter, который принимает буфер изображения (этот массив, возвращаемый vtkImageData.GetScalarPointer ()) и свойства изображения, такие как размер, происхождение и интервал, и создает itk :: Image.
https://itk.org/Wiki/ITK/Examples/IO/ImportImageFilter показывает, как импортировать массив C в ITK в качестве изображения. Импортирование vtkImageData очень похоже.
В основном вы получите расстояние, начало и размеры vtkImageData и используйте его как вход в фильтр itk, упомянутый выше. Обратите внимание на тип данных: если скаляры vtkImageData являются шортами, itk :: image должен быть itk :: Image (3, если это трехмерное изображение, 2, если это 2d-изображение).
Конечно, синхронизация между частью vtk вашего конвейера и частью itk вашего конвейера должна выполняться вручную, если вы не можете гарантировать, что образ, с которого вы получаете указатель, всегда один и тот же.
Вот пример: http://itk.org/ITKExamples/src/Bridge/VtkGlue/ConvertvtkImageDataToAnitkImage/Documentation.html
НТН,
Саймон
Для этого необходимо, чтобы Module_ITKVtkGlue включался в конфигурации CMake ITK. –
Вы видели [это] (http://itk.org/Wiki/ITK/Examples/Broken/Images/VTKImageToImageFilter)? – siavashk
Отлично! Я иду туда! –