]> Creatis software - gdcm.git/blobdiff - ChangeLog
* python/distutilsSwigCPlusPlus.py now properly collects the
[gdcm.git] / ChangeLog
index 8a7df0447babb9ec278c212085f5e90079b5e8df..8f854425118b2dc7ecdf2c34ec14fa8b7773d771 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-2002-12-6 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
-      * wrapping python correct with standalone wrapped dll (don't use separate
+2003-01-17 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+      * python/distutilsSwigCPlusPlus.py now properly collects the
+        shadow classes generated by "swig -c++" (gdcm.py in our case)
+        when using "python setup.py install".
+      * python/gdcmPython/__init__.py imports gdcm.py and only manually
+        reexports the working classes.
+      * src/gdcmHeader.cxx all the try/catch/throw calls were replaced
+        by the classical C errno scheme. This is to prevent an obscure
+        behavior of the python wrappers when importing wxPython.wx prior
+        to gdcmPython (which ended up in an abort call). An illustration
+        of this oddity can be found in the Test/ExceptionAndPython
+        subdir (see the README file). This problem probably due to
+        an combination of g++ and dynamic loading.
+      * added Test/ExceptionAndPython (see above)
+
+2003-01-17 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+      * Changed the layout of the python part to avoid bloating main
+        directory with setup.py, distutilsSwigCPlusPlus.py, MANIFEST.in
+        i.e. the distutils arsenal. All the python related stuff is
+        again in a python subdir, but the package itself is now in
+        python/gdcmPython.
+      * setup.py was cleaned up:
+        - pythonIncludePath removed
+        - python setup.py bdist target is now functional.
+      * gdcmPython/__init__.py doesn't export FileName any more (to avoid
+        collision with other packages). gdcmPython/demo/*.py changed
+        accordingly.
+2003-01-15 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+      * python subdir moved to gdcmPython (preparation of distutils packaging).
+      * gdcmPython/setup.py and distutilsSwigCPlusPlus.py added. The
+        distutils installer is operational.
+      * - gdcmPython/__init__.py now properly loads the swig generated
+          shadow classes (from gdcm.py).
+        - gdcmPython/demo/*.py changed to import the package gdcmPython
+          instead of gdcmPython/demo/load.py.
+        - gdcmPython/testSuite.py changed to import the package gdcmPython.
+        
+
+2002-12-16 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+      * src/gdcm.h, src/gdcmHeader.cxx: added GetPubTagNames() resp.
+        GetPubTagNamesByCategory() to gdcmHeader that return a list of the
+        entries within the associated public Dicom dictionary resp. the same
+        information but sorted by the fourth field (PAT, IMG, DIR) of the
+        dictionary.
+        - Dicts/dicomV3.dic Entries which had and unspecified fourth field
+          are now in the "???" group.
+        - python/gdcm.i changed accordingly,
+        - python/demo/printGroupedPublicDict.py added, that gives an example
+          of the above new functionalities in Python.
+
+2002-12-11 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+      * src/gdcm.h, gdcmHeader.cxx:
+        - historic references to glib's g_malloc and g_free (#defined)
+          were definitively removed.
+        - gdcm.h: cosmetic changes (part of comments moved to Doc/requirements)
+      * src/gdcmElValSet.cxx:
+        - GetElement(guint32, guint32) renamed to GetElementByNumber.
+        - GetElValue(guint32, guint32) renamed to GetElValueByNumber.
+        - GetElValue(string) renamed to GetElValueByName.
+        - Added GetElementByName(string).
+      * src/gdcmHeader.cxx: added
+        - GetPubElValRepByNumber(guint16, guint16)
+        - GetPubElValRepByName(string)
+        - GetShaElValRepByNumber(guint16, guint16)
+        - GetShaElValRepByName(string)
+        - GetShaElValByNumber(guint16, guint16)
+        - GetShaElValRepByName(string)
+        - GetElValRepByNumber(guint16, guint16)
+        - GetElValRepByName(string)
+        - GetElValByNumber(guint16, guint16)
+        - GetElValRepByName(string)
+      * Doc/requirements.txt added.
+
+2002-12-9 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+      * Test/Makefile building now depends on the one of libgdcm.so
+      * src/gdcmHeader.cxx and gdcm.h are now OB (undefined length encoded
+        pixel data) aware which enables finding the address (offset) of 
+        the pixel data of JPEG encoded DICOM files. This leaves only a single
+        file in the testSuite whose pixel data address (offset) is unknown.
+      * python/testSuite.py changed accordingly.
+
+2002-12-6 Christophe Odet + Hugues Benoit-Cattin + Eric.Boix
+      * VC++ has some strong limitations when working with the STL, as stated
+        in http://support.microsoft.com/support/kb/articles/Q168/9/58.ASP :
+             "Also note that some STL containers (map, set, queue, list, deque)
+              cannot be exported. [...]
+              Some STL classes contain nested classes. These classes can not
+              be exported. [...]
+              This is caused by a designed limitation that once a template
+              class is instantiated, it can not be re-instantiated and
+              exported."
+        Since our usage of map<> is ubiquitous in gdcm, this "designed
+        limitation" of VC++ is a pitfall.
+        Hence the Python wrappers of gdcm cannot be incrementally linked 
+        against the c++ dynamic library. The dirty but only workaround is
+        to forget about incremental link of dynamic libraries and to generate
+        the Python wrappers library with the inclusions of the underlying C++
+        library. 
+        The following modifications concern this matter on Win32/VC++:
+      - wrapping python correct with standalone wrapped dll (don't use separate
          dll under windows !!!!)
+      - python21_d debug mode enabled (ask Frog how to use it :-)
+      - NO problem with having an STL member of class for example string in C++
+        WITH THE RESTRICTION OF FORGETING ABOUT INCREMENTAL LINK.
+      - Python test of dcmlib in Python is ok under windows on a large set 
+        (one) of image(s).
       * removed glib references
       * typedef's inserted in gdcm.i for correct swig type management
-      * python21_d MODE DEBUG enabled (ask Frog how to use it)
-      * NO problem with having an STL member of class for example string in C++
-      * PYTHON TEST OF DCMLIB OK UNDER WINDOWS ON A LARGE SET (one) of IMAGE(s).
 
 2002-11-27 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
       * python/demo/*.py load.py extracted from test.py. Added explore.py