Dicom dcm4che获取私有标记的VR(不使用字典)
我试图检查是否有方法从私有DICOM标记中提取VR(值表示) 我知道DicomObject.vROf: 如果没有为此专用标签配置VRMap,则返回UN!我想做一些类似的事情:Dicom dcm4che获取私有标记的VR(不使用字典),dicom,dcm4che,Dicom,Dcm4che,我试图检查是否有方法从私有DICOM标记中提取VR(值表示) 我知道DicomObject.vROf: 如果没有为此专用标签配置VRMap,则返回UN!我想做一些类似的事情: vR = dcmObj4.vrOf(0X0051100b).toString(); if("LO".equals(vR)) { log.info("VR of acquisitionMatrix is: " + vR); acquisitionMatrixX = dcmObj4.g
vR = dcmObj4.vrOf(0X0051100b).toString();
if("LO".equals(vR)) {
log.info("VR of acquisitionMatrix is: " + vR);
acquisitionMatrixX = dcmObj4.getString(0X0051100b, VR.LO);
} else if ("SH".equals(vR)) {
log.info("VR of acquisitionMatrix is: " + vR);
acquisitionMatrixX = dcmObj4.getString(0X0051100b, VR.SH);
} else if ("UN".equals(vR)) {
log.info("VR of acquisitionMatrix is: " + vR);
acquisitionMatrixX = dcmObj4.getString(0X0051100b, VR.UN);
} else {
log.info("VR of acquisitionMatrix is OTHER: " + vR);
}
事实上,我正在尝试解析来自特定供应商/模型的dicom文件,我可以看到,即使对于相同的供应商/模型组合,在相同的私有标记上也可以使用不同的VRs
我可以动态提取私有dicom标签的虚拟现实吗?嗯,
dicom标准中有关于私有标签的规则来避免此类冲突
请参阅此专用创建者/标记用法说明:
是的,您应该能够提取私有标记中的值。请注意,私有创建者数据元素VR始终为“LO”。当VR未知时,值字段对小/大端字节顺序不敏感,且不应为“byteswaped”。因此,您可以假设属性的值字段采用隐式VR编码以小端字节顺序编码,而与当前的传输语法无关
还请注意,UN值表示的长度字段可能包含未知长度的值,在这种情况下,可以假设内容使用隐式VR编码,PS 3.5第7.5.1节包含与解析未知长度的数据元素相关的信息
第7.8节还介绍了专用数据元素编码规则