В C++ я хочу читать отдельные значения пикселей из изображений DICOM.Какую библиотеку C++ можно использовать для чтения пикселей из изображений DICOM?
ответ
Есть на самом деле quite a few бесплатные библиотеки. Если вы предпочитаете конверт COM более высокого уровня и готовы его приобрести, есть еще несколько - я знаком с RZDCX и DicomObjects, а поиск по Google будет доставлен вам другими.
Довольно легко получить доступ к значениям пикселей под бесплатным DCMTK. Если вы хотите, чтобы необработанные данные Hounsfield выглядели here, и если вам нужны значения после LUT (например, окна), вы можете использовать DicomImage::getOutputData.
Если вы используете x86 или x86_64, тогда библиотека imebra работает хорошо. Когда на x86_64 вам нужно использовать аргумент -m32 с g ++, чтобы он компилировался как 32-разрядный. Однако вы не сможете скомпилировать это на IA-64, поскольку аргумент -m32 не поддерживается.
Библиотека имеет dicom2jpeg программу, которая будет полезна в качестве примера (но не показывает, как читать значения пикселей).
Если вы хотите, чтобы прочитать отдельные пиксели, то прочитайте эту страницу из руководства: http://imebra.com/documentation/html/quick_tour.html
Последние версии Imebra компилируются также на 64-битных системах –
Там этой библиотеки: http://dicom.offis.de/dcmtk
Вы должны использовать GDCM.
Grassroots DiCoM - это библиотека C++ для медицинских файлов DICOM. Он автоматически переносится на python/C#/Java (с помощью swig). Он поддерживает RAW, JPEG (с потерями/без потерь), J2K, JPEG-LS, RLE и сдувается.
Он переносится и, как известно, работает на большинстве систем (Win32, Linux, MacOSX).
Хороший вопрос. Я работаю в компании, которая делает цифровые сканеры для сканирования ткани, и недавно мы разработали интерфейс DICOM. –