如何判断我的 dicom 文件是否已压缩?

How can I tell if my dicom files are compressed?

我一直在处理每个大约 4 MB 的 dicom 文件,但我最近收到了一些每个 280 KB 的文件。我不确定这是因为它们来自不同的 CT 扫描仪,还是新的 dicom 在给我之前被压缩了。 有没有办法找出它们是否被压缩,有没有办法将它们解压缩到原始大小?

是的,是的。

我推荐 OFFIS DICOM 工具包中的二进制工具,但您可以使用不同的工具包获得相同的结果。您可以找到 dcmtk here.

如何查看您的文件是否被压缩:

dcmdump <filename>

查看元标头,尤其是属性传输语法 UID (0002,0010)。 Dcmdump "translates" 人类可读传输语法的唯一标识符,例如

(0002,0010) UI =LittleEndianExplicit                    #  20, 1 TransferSyntaxUID

传输语法告诉您此 DICOM 文件中的像素数据是否被压缩。

如何解压缩压缩图片:

dcmdjpeg <compressed DICOM file in> <uncompressed DICOM file out>

这是@kritzel_sw回答的延续。

如果您在 (0002,0010) Transfer Syntax UID 元素中看到以下任何 UID:

1.2.840.10008.1.2   Implicit VR Endian: Default Transfer Syntax for DICOM    
1.2.840.10008.1.2.1 Explicit VR Little Endian    
1.2.840.10008.1.2.2 Explicit VR Big Endian

然后像素数据 (7FE0,0010) Pixel Data 被解压缩。您通常会在此处观察到更大的文件大小。

不是你问题的一部分,但是图像以外的对象(在结构化报告的情况下可能是 PDF)可以用 following 传输语法封装:

1.2.840.10008.1.2.1.99  Deflated Explicit VR Little Endian   

传输语法的其他众所周知的values意味着像素数据被压缩。

请注意,数据集也有可能的私有传输语法值。这些值的实现通常是各自制造商私有的。