Sto utilizzando la libreria DCMTK (3.6.0) per ottenere il valore del tag (0020.0013) che corrisponde al numero di immagine o al numero di slice della serie.Il campo DICOM ha più valore del previsto
Io uso il seguente in uno script batch
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)
E di solito va bene, ma a volte questo valore è impostato a '0' per l'intera serie.
ho cercato di eseguire il dump che con questo comando
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
Come possiamo vedere, a volte il valore per ottenere (che non è il '0') è l'ultimo. In questo caso, tutto è buono. Ma in alcuni casi particolari, il valore corretto viene memorizzato tra due "0".
Ho anche provato con un altro dumper (DCM4CHE 2.0.23) e mi da lo stesso risultato.
Voglio sapere perché questo sta accadendo. E oltre a questo, come ottenere il valore corretto?
C'è un modo, in un file batch, di eliminare lo 0 fino al numero corretto?
Per impostazione predefinita, la mia riga di comando citata sopra prende l'ultimo campo ... Penso.
Mi dà qualcosa di simile. Ho ancora 3 numeri di istanza uguale a 0,4 e 0. Ovviamente, voglio il 4, che è al centro. Questo tag è il (0020,0013). E faccio '('@echo.^| C: \ Libs \ dcmtk-3.6.0 \ bin \ dcmdump + p + P" 0020.0013 "%% i')' ma ha ancora l'ultimo valore, lo 0. .. Come procedere ? – Raccoon