DCMTK(3.6.0)ライブラリを使用して、画像番号である(0020,0013)タグの値を取得します。DICOMフィールドの値が予想よりも高い
私は、それは通常、うまくいくが、時にはこの値は常に全体セリエに「0」に設定されているバッチスクリプトで
for /f "tokens=2 delims=[]" %%a in ('@echo. ^|c:\Libs\dcmtk-3.6.0\bin\dcmdump +P "0020,0013" %%i') do (set img_no=%%a)
を以下のように使用します。
私たちが見ることができるように、このコマンドを使用して、
C:\Libs\dcmtk-3.6.0\bin>dcmdump +P "0020,0013" PathToInvalideDICOM\img.dcm
(0020,0013) IS [0] # 2, 1 InstanceNumber
(0020,0013) IS [4] # 2, 1 InstanceNumber
(0020,0013) IS [0] # 2, 1 InstanceNumber
C:\Libs\dcmtk-3.6.0\bin>dcmdump +P "0020,0013" PathToCorrectDICOM\img.dcm
(0020,0013) IS [0] # 2, 1 InstanceNumber
(0020,0013) IS [5] # 2, 1 InstanceNumber
ダンプしようとした、時々(「0」ではありません)を取得する値は最後です。この場合、すべてが良いです。しかし、特定の場合には、正しい値が2つの '0'の間に格納されます。
私はまた別のダンパー(DCM4CHE 2.0.23)で試してみましたが、同じ結果が出ました。
なぜこれが起こっているのか知りたい。それ以上に正しい値を得る方法は?
正しい番号まで0を取り除く方法はありますか?
上記の私のコマンドラインは、最後のフィールドを取る...私は思う。
それは私に似たものを与えます。私はまだ3つのインスタンス番号が0,4と0に等しい。明らかに、私は中央にある4を望む。このタグは(0020,0013)です。そして、私は ''( '@echo。^ | c:\ Libs \ dcmtk-3.6.0 \ bin \ dcmdump + p + P" 0020,0013 "%% i ')'を実行しますが、最後の値は0です。 .. どうやって進める ? – Raccoon