1

プライベート DICOM タグから VR (値表現) を抽出する方法があるかどうかを確認しようとしています。

DicomObject.vROf:

http://www.dcm4che.org/docs/dcm4che2-apidocs/org/dcm4che2/data/DicomObject.html#vrOf(int)

このプライベート TAGS に 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 ファイルを解析しようとしていますが、同じベンダー/モデルの組み合わせであっても、同じプライベート TAG で異なる VR を使用できることがわかります!

プライベート dicom タグの VR を動的に抽出できますか?

4

2 に答える 2

1

はい、プライベート タグの値を抽出できるはずです。Private Creator Data Elements VR は常に「LO」であることに注意してください。VR が不明な場合、値フィールドはリトル/ビッグ エンディアンのバイト順の影響を受けず、「バイトスワップ」されません。したがって、属性の値フィールドは、現在の転送構文に関係なく、暗黙的な VR エンコーディングを使用してリトル エンディアンのバイト順でエンコードされていると想定できます。

また、UN の値表現の長さフィールドには未知の長さの値が含まれている可能性があることにも注意してください。長さ不明。

また、セクション 7.8 では、プライベート データ要素のエンコード規則について説明します。

于 2015-06-05T15:28:55.850 に答える