X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=gdcmPython%2F__init__.py;h=4b2b8cc6ee5383b997132f2303161bf3437c5188;hb=e28b183ba68aa3cc84a44a779a31f9d906a1ad2f;hp=e1b32c2a36194f0879246753b734a79c86414a0e;hpb=f59a9dc3480f900cf6ff80c7fe5a0c6e59c93512;p=gdcm.git diff --git a/gdcmPython/__init__.py b/gdcmPython/__init__.py index e1b32c2a..4b2b8cc6 100644 --- a/gdcmPython/__init__.py +++ b/gdcmPython/__init__.py @@ -1,6 +1,11 @@ import os, sys -def BuildInstallOrPreinstallPath(DirName, FileName): +try: + from gdcmVersion import * +except: + print "gdcmVersion not imported" + +def BuildInstallOrPreinstallPath(DirName, FileName = None): # Builds a path to the DirName directory. This should work both when: # - the package is properly installed in which case DirName is a subdir # of the package, @@ -10,18 +15,27 @@ def BuildInstallOrPreinstallPath(DirName, FileName): # In both cases we need to express the full path to DirName relatively # to the path to this __init__.py. For this we rely on __path__ variable. # In order to make sure we got the correct Path, we check for the - # existence of FileName. + # existence of FileName if it is setted otherwise for the existence of the + # DirName. InstallModePath = os.path.join(__path__[0], DirName + "/") - if os.path.isfile(os.path.join(InstallModePath, FileName)): - return InstallModePath + if(FileName): + if os.path.isfile(os.path.join(InstallModePath, FileName)): + return InstallModePath + else: + if os.path.isdir(InstallModePath): + return InstallModePath + PreInstallModePath = os.path.join(__path__[0], "..", DirName + "/") - if os.path.isfile(os.path.join(PreInstallModePath, FileName)): - return PreInstallModePath - print "Unfound directory ", DirName + if(FileName): + if os.path.isfile(os.path.join(PreInstallModePath, FileName)): + return PreInstallModePath + else: + if os.path.isdir(PreInstallModePath): + return PreInstallModePath return None ### Setup the path to the dictionaries. WARNING: this needs to be done -# BEFORE importation of the shadow classse generated by swig as found +# BEFORE importation of the shadow classes generated by swig as found # in gdcm, since the dynamic library loads the standard dictionary # when dynamically loaded. # We consider we succefully found the dictionaries path when we encounter @@ -39,12 +53,19 @@ except KeyError: print "Path to dictionaries is mandatory. Exiting" sys.exit(1) os.environ["GDCM_DICT_PATH"] = Path +GDCM_DICT_PATH = os.environ["GDCM_DICT_PATH"] ### Set up the path to the data images for the demos. -GDCM_DATA_PATH = BuildInstallOrPreinstallPath("Test", "test.acr") +if os.environ["GDCM_DATA_PATH"]: + GDCM_DATA_PATH = BuildInstallOrPreinstallPath(os.environ["GDCM_DATA_PATH"], + "test.acr") +else: + GDCM_DATA_PATH = BuildInstallOrPreinstallPath("Test", "test.acr") +if not GDCM_DATA_PATH: + print "GDCM_DATA_PATH is not setup properly: unfound Test directory" ### Set up the path to the data images of the test suite. -GDCM_TEST_DATA_PATH = BuildInstallOrPreinstallPath("gdcmData", "test.acr") +GDCM_TEST_DATA_PATH = BuildInstallOrPreinstallPath("gdcmData") ### Import the swig generated shadow classes. try: @@ -54,6 +75,21 @@ except ImportError,e: raise ImportError, "gdcm extension not imported." ### Expose only the necessary stuff -gdcmHeader = gdcm.gdcmHeader -gdcmDictSet = gdcm.gdcmDictSet -gdcmFile = gdcm.gdcmFile +gdcmGlobal = gdcm.gdcmGlobal +gdcmDictSet = gdcm.gdcmDictSet +gdcmDicomDir = gdcm.gdcmDicomDir +gdcmHeader = gdcm.gdcmHeader +gdcmHeaderHelper = gdcm.gdcmHeaderHelper +gdcmFile = gdcm.gdcmFile + +gdcmDicomDirMeta = gdcm.gdcmDicomDirMeta +gdcmDicomDirPatient = gdcm.gdcmDicomDirPatient +gdcmDicomDirStudy = gdcm.gdcmDicomDirStudy +gdcmDicomDirSerie = gdcm.gdcmDicomDirSerie +gdcmDicomDirImage = gdcm.gdcmDicomDirImage + +def GetPubDictEntryNames(): + return gdcmGlobal.GetDicts().GetPubDictEntryNames() + +def GetPubDictEntryNamesByCategory(): + return gdcmGlobal.GetDicts().GetPubDictEntryNamesByCategory()