+The following comments are intended for core gdcm developpers.
+
+
+* Python related section.
+ Depending on the automake/autoconf/autogen.sh flags you used gdcm could
+ be wrapped in two ways:
+ - the first python wrappers of gdcm use Swig (http://www.swig.org). They
+ are the ones generated when using autogen.sh --enable-python.
+ The entry point is here the file gdcmPython/gdcm.i which uses the
+ Swig synthax. As the last lines of this file (the ones starting
+ with the %include directive) only some classes are wrapped for python.
+ In theory only the library interface (basically the classes gdcmHeader
+ and gdcmFile) should be wrapped, but the time being some additional
+ classes are added (just to make sure those classes are Swig compatible:
+ swig is here used as some lint checker!?).
+ Since gdcm is written in C++, Swig will produce two different outups:
+ -- some C based low level wrapper (see gdcmPython/gdcm_wrap.c)
+ -- some Python based object oriented so called "shadow classes" (see
+ file gdcmPython/gdcm.py)
+ We also added the file gdcmPython/__init__.py which is the one that
+ actually gets loaded when ones uses the gdcmPython Python package.
+ The file __init__.py loads the swig generated shadow classes (gdcm.py)
+ but will only re-export the interface of gdcm which correponds to
+ the lines :
+ gdcmHeader = gdcm.gdcmHeader
+ gdcmDictSet = gdcm.gdcmDictSet
+ gdcmFile = gdcm.gdcmFile
+ Hence this whole Swig wrapping process is quite odd since we shall
+ wrap more classes (%include in swig.i) than eventually exported to
+ the final user by gdcmPython/__init__.py.
+ - the second python wrappers use the vtk (http://public.kitware.com/VTK/)
+ native wrappers i.e. the binary vtkWrapPython. But it should be noticed
+ that the purpous is here a bit different than the one of the Swig
+ generated Python wrappers. When using vtkWrapPython the goal is to
+ wrap a single vtk class namely vtkGdcmReader as defined in files
+ in vtk/vtkGdcmReader.h vtk/vtkGdcmReader.cxx (and of course those
+ files are hand made vtk oriented wrappers of gdcm).
+ Those wrappers are the one generated when using
+ autogen.sh --enable-python --enable-vtk
+ - In order to understand the difference between both wrappers you should
+ compare both demo scripts gdcmPython/demo/vtkGdcmDemo.py and
+ gdcmPython/demo/vtkGdcmReader.py. The first one only uses the
+ Swig wraped classes ("from gdcmPython import gdcmHeader') as opposed
+ to vtkGdcmReader.py which also uses vtkWrapPython wraped classes
+ ("from gdcmPython.vtkgdcmPython import *").
+