Ich benutze die DCMTK (3.6.0) -Bibliothek, um den Wert des (0020,0013) -Tags zu erhalten, der die Bildnummer alias die Schichtnummer der Serie ist.DICOM-Feld haben mehr Wert als erwartet
Ich benutze das folgende in einer Batch-Skript
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)
es in der Regel gut geht, aber manchmal wird dieser Wert immer auf ‚0‘ auf die ganze Serie.
Ich habe versucht, dass mit diesem Befehl
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
dump Wie wir manchmal den Wert zu sehen zu bekommen ist (was nicht der ‚0‘ ist) die letzte. In diesem Fall ist alles gut. In einigen besonderen Fällen wird der korrekte Wert zwischen zwei "0" gespeichert.
Ich habe es auch mit einem anderen Dumper (DCM4CHE 2.0.23) versucht und es gibt mir das gleiche Ergebnis.
Ich möchte wissen, warum das passiert. Und mehr als das, wie bekomme ich den richtigen Wert?
Gibt es eine Möglichkeit, in einer Batch-Datei die 0 bis zur richtigen Zahl zu eliminieren?
Standardmäßig nimmt meine oben genannte Befehlszeile das letzte Feld ... ich denke.
Es gibt mir etwas ähnliches. Ich habe noch 3 Instanznummern gleich 0,4 und 0. Offensichtlich möchte ich die 4, die auf der Mitte ist. Dieser Tag ist der (0020,0013). Und ich mache '('@echo.^| C: \ Bibliotheken \ dcmtk-3.6.0 \ bin \ dcmdump + p + P" 0020,0013 "%% i')' aber immer noch den letzten Wert, die 0. .. Wie geht es weiter? – Raccoon