import sys import os.path from gdcmConfigDemo import * from gdcmPython.core import * def PrintUse(): print "" print "Use :" print "-----" print "%s " % sys.argv[0] print " fileName : path to the DICOM file 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_ROOT, "test.acr") if( not os.path.isfile(fileName) ): fileName=os.path.join(os.path.split(sys.argv[0])[0],"test.acr") try: printLevel = int(sys.argv[2]) except IndexError: printLevel = 1 ### Build the file element list file = gdcm.File() file.SetFileName(fileName) file.Load() if not file.IsReadable(): PrintUse() raise RuntimeError,"The '%s' file is not readable with gdcm." % fileName print "File -->",fileName print "##############################################################" print "### Display all the elements and their respective values" print "## found in the ", fileName, " file." print "##############################################################" val=file.GetFirstEntry() while(val): val.Print() print "" val=file.GetNextEntry() val=None print "##############################################################" val=file.GetFirstEntry() while(val): if(isinstance(val,gdcm.ValEntryPtr)): print "Val %04d|%04d [%s] : %s" % (val.GetGroup(),val.GetElement(), val.GetName(),val.GetValue()) else: print "Bin %04d|%04d [%s] : %s" % (val.GetGroup(),val.GetElement(), val.GetName(),val.GetValue()) val=file.GetNextEntry() val=None