Управляйте изображением Nifti, используя ITK

Я пытаюсь написать простую программу для чтения или визуализации изображений nifti с использованием библиотек ITK.

  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Мне прикрепили скриншот, где я не вижу изображения. И станет ярче, если я наведу на него мышь. У вас есть какое-нибудь объяснение этому?

визуализация изображения

1 ответ

Вам следует прочитать руководство по программному обеспечению ITK, раздел 4.1.3 Доступ к пиксельным данным [ссылка]. Пример чтения и визуализации 2D-изображения. Другой пример (вероятно, поддерживает 3D-изображения).

Другие вопросы по тегам