1.Convert An itk::Image To vtkImageData
官方demo:
https://itk.org/ITKExamples/src/Bridge/VtkGlue/ConvertAnitkImageTovtkImageData/Documentation.html
2.Convert an RGB itk::Image To vtkImageData
官方demo:
https://itk.org/ITKExamples/src/Bridge/VtkGlue/ConvertAnRGBitkImageTovtkImageData/Documentation.html
源码整理:
const char * inputFileName = "../Data/imagedata/gg.jpg";
constexpr unsigned int Dimension = 2;
/* Convert An itk::Image To vtkImageData
using PixelType = unsigned char;*/
/*Convert an RGB itk::Image To vtkImageData*/
using PixelComponentType = unsigned char;
using PixelType = itk::RGBPixel< PixelComponentType >;
using ImageType = itk::Image< PixelType, Dimension >;
using ReaderType = itk::ImageFileReader< ImageType >;
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName( inputFileName );
typedef itk::JPEGImageIO ImageIOType;
ImageIOType::Pointer jpegImageIO = ImageIOType::New();
reader->SetImageIO(jpegImageIO);
using FilterType = itk::ImageToVTKImageFilter< ImageType >;
FilterType::Pointer filter = FilterType::New();
filter->SetInput( reader->GetOutput() );
try
{
filter->Update();
}
catch( itk::ExceptionObject & error )
{
std::cerr << "Error: " << error << std::endl;
return EXIT_FAILURE;
}
vtkImageData * myvtkImageData = filter->GetOutput();
myvtkImageData->Print(std::cout);
itkimage to ndarray
Convert ITK Data Structures to NumPy Arrays
ndarray = itk.GetArrayFromImage(itkimage)
url:https://www.kitware.com/convert-itk-data-structures-to-numpy-arrays/