如何判断我的 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意味着像素数据被压缩。
请注意,数据集也有可能的私有传输语法值。这些值的实现通常是各自制造商私有的。
我一直在处理每个大约 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意味着像素数据被压缩。
请注意,数据集也有可能的私有传输语法值。这些值的实现通常是各自制造商私有的。