Аналог OpenCV imdecode() в ITK

#image #opencv #decode #dicom #itk

#изображение #opencv #декодировать #dicom #itk

Вопрос:

Я использую как OpenCV, так и ITK. Мне интересно, может ли ITK декодировать медицинское изображение из буфера, как это может OpenCV, с помощью cv::imdecode() . Например, если у меня есть файл DICOM, который я buf использую fread() для чтения в буфер, есть ли в ITK API, который я могу использовать для получения itk::Image из buf ?

Спасибо.

Ответ №1:

В ITK есть механизм ввода-вывода для определения типа файла на основе его расширения и использования соответствующего ImageIO класса для фактического чтения. ImageIO Интерфейс унифицирован. Простой пример — для NRRD, а более сложный — для GDCM.

Простой обходной путь — записать этот буфер в файл во временной папке, а затем прочитать его, используя обычный механизм ввода-вывода.

Комментарии:

1. Спасибо! Причина, по которой мне это нужно, заключается в том, что я использую ITK в распределенной среде, где один узел может отправлять сжатое изображение другому по сети. К сожалению, мне нужно избегать файлового ввода-вывода. Похоже, единственное решение, которое у меня есть, — отправить декодированное изображение и его метаданные по сети.