我正在使用DCMTK(3.6.0)库来获取(0020,0013)标记的值,该标记是图像编号(即图像序号的切片编号)。DICOM字段具有比预期的更多的值
我使用批处理脚本
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)
它通常远远以下,但有时该值始终设置为“0”整个意甲。
我企图把与此命令
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”)是最后一个。在这种情况下,一切都很好。但在某些特定情况下,正确的值存储在两个“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