import os, sys
+def BuildInstallOrPreinstallPath(DirName, FileName):
+ # 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,
+ # - when in pre-installation mode (basically inside a CVS hierarchy)
+ # in which case DirName and the package itself lie at the same
+ # filesystem level.
+ # 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.
+ InstallModePath = os.path.join(__path__[0], DirName + "/")
+ if os.path.isfile(os.path.join(InstallModePath, FileName)):
+ return InstallModePath
+ PreInstallModePath = os.path.join(__path__[0], "..", DirName + "/")
+ if os.path.isfile(os.path.join(PreInstallModePath, FileName)):
+ return PreInstallModePath
+ print "Unfound directory ", DirName
+ 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
# in gdcm, since the dynamic library loads the standard dictionary
"dicomV3.dic")):
raise KeyError
except KeyError:
- # When environnement variable is unavailable assume the package was
- # properly installed i.e. the layout is such that the directory containing
- # the dictionaries is BELOW (the root is at the top) the current file.
- # Note: when importing this __init__ file the pathes are relative to the
- # invocation directory. In order to get them relative to the package
- # (or more simply to this file) we rely on the __path__ variable.
- InstallModePath = os.path.join(__path__[0], "Dicts/")
- if os.path.isfile(os.path.join(InstallModePath, "dicomV3.dic")):
- os.environ["GDCM_DICT_PATH"] = InstallModePath
- PreInstallModePath = None
- else:
- # When both environnement variable and proper package installation
- # strategy fail we eventually consider the pre-installation mode
- # i.e. when developpers are toying in a CVS tree. In this case
- # the layout is such that the directory containing the dictionaries is
- # ABOVE (the root is at the top) the current directory.
- PreInstallModePath = os.path.join(__path__[0], "..", "Dicts/")
- if os.path.isfile(os.path.join(PreInstallModePath, "dicomV3.dic")):
- os.environ["GDCM_DICT_PATH"] = PreInstallModePath
- InstallModePath = None
- else:
- print "Unfound gdcm dictionaries path"
- sys.exit(1)
-
-### Set up the path to the data images (for the test suite and the demo
-# examples). As for GDCM_DICT_PATH we offer both proper python package
-# installation scheme and the pre-install mode (see above).
-InstallModePath = os.path.join(__path__[0], "Data")
-if os.path.isfile(os.path.join(InstallModePath, "test.acr")):
- GDCM_DATA_PATH = InstallModePath
-else:
- PreInstallModePath = os.path.join(__path__[0], "..", "Data")
- if os.path.isfile(os.path.join(PreInstallModePath, "test.acr")):
- GDCM_DATA_PATH = PreInstallModePath
- else:
- print "Unfound data path"
+ Path = BuildInstallOrPreinstallPath("Dicts", "dicomV3.dic")
+ if not Path:
+ print "Path to dictionaries is mandatory. Exiting"
sys.exit(1)
+ os.environ["GDCM_DICT_PATH"] = Path
+
+### Set up the path to the data images for the demos.
+GDCM_DATA_PATH = BuildInstallOrPreinstallPath("Test", "test.acr")
+
+### Set up the path to the data images of the test suite.
+GDCM_TEST_DATA_PATH = BuildInstallOrPreinstallPath("gdcmData", "test.acr")
### Import the swig generated shadow classes.
try:
gdcmHeader = gdcm.gdcmHeader
gdcmDictSet = gdcm.gdcmDictSet
gdcmFile = gdcm.gdcmFile
+
+def GetPubDictTagNames():
+ return gdcm.cvar.gdcmGlob.GetDicts().GetPubDictTagNames()
+
+def GetPubDictTagNamesByCategory():
+ return gdcm.cvar.gdcmGlob.GetDicts().GetPubDictTagNamesByCategory()