#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 в распределенной среде, где один узел может отправлять сжатое изображение другому по сети. К сожалению, мне нужно избегать файлового ввода-вывода. Похоже, единственное решение, которое у меня есть, — отправить декодированное изображение и его метаданные по сети.