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