在C++中,我想从DICOM图像中读取单个像素值.
实际上有相当多的免费图书馆.如果您更喜欢更高级别的COM信封并且愿意购买它,还有其他一些 - 我熟悉RZDCX和DicomObjects,并且谷歌搜索将为您提供其他一些.
在免费的DCMTK下访问像素值相当容易.如果你想在这里查看原始的Hounsfield数据,并且如果你需要post-LUT(例如,窗口)值 - 你可以使用DicomImage :: getOutputData.
有这个图书馆:http://dicom.offis.de/dcmtk
如果您使用的是x86或x86_64,那么imebra库效果很好.在x86_64上,您需要将-m32参数与g ++一起使用,以便将其编译为32位.但是,您将无法在IA-64上编译它,因为不支持-m32参数.
http://imebra.com/
该库有一个dicom2jpeg程序,作为一个例子很有用(但没有告诉你如何读取像素值).
如果您想阅读单个像素,请阅读手册中的此页面:http://imebra.com/documentation/html/quick_tour.html
你应该使用GDCM.
Grassroots DiCoM是DICOM医疗文件的C++库.它自动包装到python/C#/ Java(使用swig).它支持RAW,JPEG(有损/无损),J2K,JPEG-LS,RLE和放气.
它是可移植的,并且已知可在大多数系统(Win32,Linux,MacOSX)上运行.
http://gdcm.sourceforge.net/