X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=gdcmPython%2Fdemo%2FPrintDicomDir.py.in;h=266adb19dfdbe1047734df02a01b6ebaccb42a01;hb=1853729b78625682ecf8bc6498d7d0beffa0890c;hp=4b016d43037842c6537d315290154d69e22bfd7d;hpb=f51f3cf0f4013935c1d93a828779e5ca285a31fc;p=gdcm.git diff --git a/gdcmPython/demo/PrintDicomDir.py.in b/gdcmPython/demo/PrintDicomDir.py.in index 4b016d43..266adb19 100644 --- a/gdcmPython/demo/PrintDicomDir.py.in +++ b/gdcmPython/demo/PrintDicomDir.py.in @@ -1,3 +1,5 @@ +import sys +import os.path from gdcmConfigDemo import * from gdcmPython.core import * @@ -15,6 +17,8 @@ try: fileName = sys.argv[1] except IndexError: fileName = os.path.join(GDCM_DATA_ROOT, "DICOMDIR") + if( not os.path.isfile(fileName) ): + fileName=os.path.join(os.path.split(sys.argv[0])[0],"DICOMDIR") try: printLevel = int(sys.argv[2]) @@ -22,7 +26,43 @@ except IndexError: printLevel = 1 ### Build the DicomDir element list -dicomdir = gdcm.DicomDir(fileName) +dicomdir = gdcm.DicomDir.New() + +dicomdir.SetFileName(fileName) +dicomdir.Load() +if not dicomdir.IsReadable(): + PrintUse() + raise RuntimeError,"The '%s' DicomDir is not readable with gdcm." % fileName + +print "DICOMDIR -->",fileName +print "##############################################################" +print "## Display all the elements and their respective values" +print "## found in the ", fileName, " file." +print "##############################################################" +dicomdir.SetPrintLevel(-1) +dicomdir.Print() + +print "" +patient=dicomdir.GetFirstPatient() +while(patient): + print "Patient" + study=patient.GetFirstStudy() + while(study): + print " Study" + serie=study.GetFirstSerie() + while(serie): + print " Serie" + image=serie.GetFirstImage() + while(image): + print " Image" + print " ---",image.GetDataEntry(0x0004,0x1500).GetString() + image=serie.GetNextImage() + serie=study.GetNextSerie() + study=patient.GetNextStudy() + patient=dicomdir.GetNextPatient() + +dicomdir.SetDirectoryName(os.path.dirname(fileName)) +dicomdir.Load() if not dicomdir.IsReadable(): PrintUse() raise RuntimeError,"The '%s' DicomDir is not readable with gdcm." % fileName