我如何从DICOM文件中提取PIXEL?

Mar*_*ane -6 c c++ dicom

我想编写一个脚本来使用c或c ++提取DICOM文件的PixelDATA,我不想使用像dicomsdl这样的外部库...如果有人可以帮我编写提取和显示图像的算法.

LEA*_*ort 6

仅提取像素数据下的图像数据不足以正确解释DICOM图像.您将需要从DICOM文件中的其他属性,如Rows,Columns,Bit Allocated,Bit Stored,High Bit,Photometric Interpretation,Sample Per PixelNumber of Frames信息只是为了解释原始未压缩的图像数据.此外,存储的图像数据可以是字节顺序Little EndianBig Endian字节顺序.另外,图像数据可被包封压缩(例如,使用不同的压缩算法如压缩JPEG,JPEG 2000,JPEG LS,RLE等等))和压缩的流比未压缩的图像数据被存储不同.甚至PixelData元素也可以存在于单个DICOM文件中的多个位置(例如,一个位于图像图像序列(缩略图)下面,一个位于顶层(实际图像).

当你需要考虑到它可以变得更加复杂Palette Color(分段VS未经分段)modality LUT,VOI LUT等等.我的建议是使用现有的DICOM SDK,有很多开源和商业SDK适用于不同的平台和编程环境.