将itk::Image转换为vtkImageData

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/

你可能感兴趣的:(ITK,vtkImageData,itk::image)