Какую библиотеку С++ можно использовать для чтения пикселей из изображений DICOM?

В С++ я хочу читать отдельные значения пикселей из изображений DICOM.

Ответ 1

На самом деле существует довольно много бесплатных библиотек. Если вы предпочитаете конверт COM более высокого уровня и готовы его купить, есть еще несколько - я знаком с RZDCX и DicomObjects, а поиск в googling приведет вас к другим.

Довольно легко получить доступ к значениям пикселей под бесплатным DCMTK. Если вы хотите, чтобы необработанные данные Hounsfield выглядели здесь, и если вам нужны значения после LUT (например, окна), вы можете использовать DicomImage:: getOutputData.

Ответ 3

Если вы используете x86 или x86_64, тогда библиотека imebra работает хорошо. Когда на x86_64 вам нужно использовать аргумент -m32 с g++, чтобы он компилировался как 32-разрядный. Однако вы не сможете скомпилировать это на IA-64, поскольку аргумент -m32 не поддерживается.

http://imebra.com/

В библиотеке есть программа dicom2jpeg, которая полезна в качестве примера (но не показывает вам, как читать значения пикселей).

Если вы хотите прочитать отдельные пиксели, прочитайте эту страницу в руководстве: http://imebra.com/documentation/html/quick_tour.html

Ответ 4

Вы должны использовать GDCM.

Grassroots DiCoM - это библиотека С++ для медицинских файлов DICOM. Он автоматически переносится на python/С#/Java (с помощью swig). Он поддерживает RAW, JPEG (с потерями/без потерь), J2K, JPEG-LS, RLE и спящий.

Он переносится и, как известно, работает на большинстве систем (Win32, Linux, MacOSX).

http://gdcm.sourceforge.net/