2016-10-21 2 views
0

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

спасибо.

ответ

1

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

Простым решением является запись этого буфера в file in temp folder, а затем его чтение с использованием обычного механизма ввода-вывода.

+0

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

+0

Эта библиотека может сделать это проще: http://openigtlink.org/ –

Смежные вопросы