X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=gdcmPython%2Fdemo%2FPrintDicomDir.py.in;h=266adb19dfdbe1047734df02a01b6ebaccb42a01;hb=17daf7e7caceddf44e73864ee8d366613a1f0c82;hp=1f74e5435d6b2172c3b7aabab6b17ac82e9dfe70;hpb=9de7a35ab47a6acf7ef33ad333df73f0a608166f;p=gdcm.git diff --git a/gdcmPython/demo/PrintDicomDir.py.in b/gdcmPython/demo/PrintDicomDir.py.in index 1f74e543..266adb19 100644 --- a/gdcmPython/demo/PrintDicomDir.py.in +++ b/gdcmPython/demo/PrintDicomDir.py.in @@ -1,33 +1,73 @@ import sys -import os - -sys.path.append('${GDCM_BINARY_DIR}') -if os.name == 'posix': - sys.path.append('${GDCM_BINARY_DIR}/bin') -else: - sys.path.append('${GDCM_BINARY_DIR}/bin/Release') - sys.path.append('${GDCM_BINARY_DIR}/bin/Debug') - +import os.path +from gdcmConfigDemo import * from gdcmPython.core import * +def PrintUse(): + print "" + print "Use :" + print "-----" + print "%s " % sys.argv[0] + print " dicomDir : path to the DICOMDIR to parse" + print "" + print "" + ### Get filename from command line or default it try: fileName = sys.argv[1] except IndexError: - fileName = os.path.join(GDCM_DATA_PATH, "DICOMDIR") + 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]) except IndexError: printLevel = 1 -### Build the header element list -dicomdir = gdcm.DicomDir(fileName) +### Build the DicomDir element list +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(): - print + PrintUse() raise RuntimeError,"The '%s' DicomDir is not readable with gdcm." % fileName - #sys.exit() +print "DICOMDIR -->",fileName print "##############################################################" print "## Display all the elements and their respective values" print "## found in the ", fileName, " file."