]> Creatis software - gdcm.git/blobdiff - gdcmPython/demo/PrintDicomDir.py.in
Looping 10000000 times should be enought
[gdcm.git] / gdcmPython / demo / PrintDicomDir.py.in
index a6aa6d74d096447fb1715702186dbd29afbebdfe..dcd47fef32a27530b8e3407318497e67d5c46637 100644 (file)
@@ -12,6 +12,14 @@ def PrintUse():
    print ""
    print ""
 
+### Progress methods
+def startMethod():
+   print "Start"
+def progressMethod():
+   print "Progress",dicomdir.GetProgress()
+def endMethod():
+   print "End"
+
 ### Get filename from command line or default it
 try:
    fileName = sys.argv[1]
@@ -26,7 +34,14 @@ except IndexError:
    printLevel = 1
 
 ### Build the DicomDir element list
-dicomdir = gdcm.DicomDir(fileName)
+dicomdir = gdcm.DicomDir.New()
+
+dicomdir.SetStartMethod(startMethod)
+dicomdir.SetProgressMethod(progressMethod)
+dicomdir.SetEndMethod(endMethod)
+
+dicomdir.SetFileName(fileName)
+dicomdir.Load()
 if not dicomdir.IsReadable():
    PrintUse()
    raise RuntimeError,"The '%s' DicomDir is not readable with gdcm." % fileName
@@ -52,9 +67,23 @@ while(patient):
          image=serie.GetFirstImage()
          while(image):
             print "         Image"
-            print "         ---",image.GetValEntry(0x0004,0x1500).GetValue()
+            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
+
+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()
+