为何dcmdump将(0002,0010)显示为JPEGLSLossless而非对应UID?是否有切换参数?
我正在使用OFFIS DICOM的dcmdump工具提取DICOM图像信息,执行命令dcmdump.exe -M -L +Qn导出DICOM信息,得到的输出中,(0002,0010)传输语法UID被显示为=JPEGLSLossless,而非对应的原始UID值1.2.840.10008.1.2.4.80。请问为什么会出现这种情况?有没有对应的参数可以让dcmdump显示原始的UID值?
以下是部分输出内容:
Dicom-File-Format
Dicom-Meta-Information-HeaderUsed TransferSyntax: Little Endian Explicit(0002,0000) UL 164 # 4, 1 FileMetaInformationGroupLength
(0002,0001) OB 00\01 # 2, 1 FileMetaInformationVersion
(0002,0002) UI =DigitalXRayImageStorageForPresentation # 28, 1 MediaStorageSOPClassUID
(0002,0003) UI [1.2.826.0.1.3680043.2.876.8598.1.4.0.20160428091911.2.2] # 56, 1 MediaStorageSOPInstanceUID
(0002,0010) UI =JPEGLSLossless # 22, 1 TransferSyntaxUID
(0002,0012) UI [1.2.276.0.64] # 12, 1 ImplementationClassUID
这其实是dcmdump的默认行为——它会把一些常用的标准DICOM UID(像传输语法、SOP类这类)自动替换成更易懂的别名,不用你去记那些一串数字的冗长UID,方便快速识别内容。
要让它显示原始的UID值很简单,你只需要在原有命令里加上-U参数(或者用长选项--disable-uid-names),这个参数的作用就是禁用UID到友好名称的映射,强制输出原始的UID字符串。
修改后的命令应该是这样:
dcmdump.exe -M -L +Qn -U
执行这个命令后,你再看(0002,0010)这个字段,就会显示对应的原始UID 1.2.840.10008.1.2.4.80,而不是JPEGLSLossless这个别名了。
要是之后你又想换回显示别名的模式,只要去掉-U参数就行,dcmdump默认是开启UID名称映射的。
内容的提问来源于stack exchange,提问作者user4420255

