使用ITK

时间:2018-04-30 16:44:45

标签: c++ vtk itk

我正在尝试编写一个简单的程序来使用ITK库来读取或可视化nifti图像。

  using PixelType = unsigned char;
  using ImageType = itk::Image< PixelType, Dimension >;
  using ReaderType = itk::ImageFileReader< ImageType >;
  ReaderType::Pointer reader = ReaderType::New();
  reader->SetFileName(argv[1]);
  reader->Update();
  ImageType::Pointer image = reader->GetOutput();

从这些代码行中,我可以访问维度数和像素类型。但是,我仍然失去了如何访问图像的像素值?我想我应该有3D数组包含不同的像素值(代表nifti图像)。我应该解决哪些方法?

另外,我尝试使用VTK可视化图像,并为图像创建新格式(PNG或PPM),但我无法做到。任何代码示例都非常感谢。谢谢!

修改

我现在可以在将DS PixelType转换为int后获取像素值。谢谢。

但是,当我使用课程ImageToVTKImageFilter.cxx时,我附上了截图,我无法看到任何图像。如果我将鼠标移到它上面会变得更亮。你对此有任何解释吗?

image visualization

1 个答案:

答案 0 :(得分:1)

您应阅读ITK软件指南,4.1.3访问像素数据 [link]Example阅读和可视化2D图像。另一个example(可能支持3D图像)。