Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dicom dcm4che获取私有标记的VR(不使用字典)_Dicom_Dcm4che - Fatal编程技术网

Dicom dcm4che获取私有标记的VR(不使用字典)

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

我试图检查是否有方法从私有DICOM标记中提取VR(值表示)

我知道DicomObject.vROf:

如果没有为此专用标签配置VRMap,则返回UN!我想做一些类似的事情:

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节还介绍了专用数据元素编码规则