+2003-03-24 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcmHeader.cxx gdcmHeader::gdcmHeader now calls LoadElements(),
+ hence the user doesn't need this explicit call.
+ - gdcmPython/testSuite.py, gdcmPython/demo/*.py changed accordingly
+ i.e. LoadElements() call removed.
+ * src/gdcmCommon.h now defines UINT32_MAX (see stdint.h).
+ - src/Makefile.am declares the proper flag for g++.
+ * src/gdcmElValSet.h added gdcmElValSet::GenerateFreeTagKeyInGroup
+ for adding user defined new tags.
+ - src/gdcmHeader.cxx gdcmHeader::NewManualElValToPubDict added.
+ - src/gdcmHeader.cxx gdcmHeader::AddAndDefaultElements now
+ cleanly adds some gdcm added tags (like gdcmXSize, gdcmYSize...)
+
+2003-03-17 Fabrice Bellet <Fabrice.Bellet@creatis.insa-lyon.fr>
+ * Makefile.am, acinclude.m4, configure.in, python.m4, Dicts/Makefile.am,
+ Doc/Makefile.am, Test/Makefile.am, gdcmPython/Makefile.am,
+ src/Makefile.am : the project should properly compile and install
+ with the autotools, included the python wrappers part.
+ * gdcm.spec.in : added a spec file for RPM packaging.
+
+2003-03-14 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmUtils.cxx : redifinition of defaults parameters in code
+
+2003-03-12 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * gdcmPython/__init__.py fix of GDCM_DICT_PATH which was not
+ to exported to the environement (see gdcmPython/testSuite.py
+ for usage).
+ * src/gdcmElValSet.[cxx/h], gdcmElValue.[cxx/h], gdcmFile.[cxx/h],
+ gdcmHeader.[cxx/h]: ElValSet class renamed to gdcmElValSet, and
+ ElValue class renamed to gdcmElValue for obvious consistency reasons.
+ * src/gdcmElValSet.cxx, src/gdcmUtil.[cxx-h] Tokenize utility function
+ moved away from gdcmElValSet.cxx to gdcmUtil.cxx.
+
+2003-03-10 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * gdcmPython/__init__.py doesn't crash anymore when running in
+ in InstallMode or PreInstallMode but with an environement given
+ value of GDCM_DICT_PATH.
+ * src/gdcmDictSet.[cxx/h] coding style.
+
+2003-03-06 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcmHeader.h and gdcmHeader.cxx Coding style + doxigenation.
+ * src/gdcm.h general comments moved to TODO, and README
+ * src/gdcm.h should now be seen as a user commodity (including it
+ should suffice to fully use gdcm). It is nowhere including within
+ any of the kernel files src/*.cxx and src/*.h.
+
+2003-03-05 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcm.h splitted in gdcmCommon.h, gdcmDict.h, gdcmDictEntry.h,
+ gdcmDictSet.h, gdcmElValSet.h, gdcmElValue.h, gdcmFile.h,
+ gdcmHeader.h
+ * src/gdcm*.cxx only include their corresponding include file
+ (as opposed to gdcm.h)
+ * gdcmPython/gdcm.i changed accordingly
+ * Test/Makefile.am corrected and added NEWS, AUTHORS in order for
+ the autogen.sh generated "make snapshot" command to work.
+ * autogen.sh removed history related references to crea package.
+
+2003-03-04 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * distutilsSwigCPlusPlus.py work around some swig portability
+ bug.
+
+2003-03-03 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * Eventually, python/gdcmPython was renamed to gdcmPython. This
+ was done in a last ditch attempt to get setup.py _really_
+ operationnal. The python/gdcmPython layaout add the advantage
+ of hidding away the python related distutils specific files
+ (MANIFEST.in, setup.py, distutils*.py...) from the main directory.
+ Alas, the src directory was out of scope (i.e. it's relative
+ position to setup.py was ../src) which made things impossible to
+ handle (see previous version of python/setup.py). Crossing fingers...
+
+2003-02-20 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * python/setup.py now works on Un*x. (harder than I thougth)
+ * python/distutilsSwigCPlusPlus.py can now have include files
+ among the list of sources.
+
+2003-02-20 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmHeader.cxx : bug fix - opening dicom file in binary !!!
+ * modifications in MSVC projects
+
+2003-02-19 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * As stated by the first lines of Test/ExceptionAndPython/README, it
+ looks like we can move back to original usage of exception within
+ src/gdcm* and hence remove the errno stuff that was introduced
+ as a quick and dirty fixture of this problem (added to the TODO).
+ * Doc/Doxyfile configuration file for Doxygen and corresponding
+ README file for usage added.
+ * Test/testWrite.cxx added. This new test comes from a split of
+ test.cxx that is now reverted to its original purpous i.e.
+ testing the proper parsing of a Dicom related file.
+ testWrite.cxx concentrates on testing the IO part of gdcm.
+ * Test/bug1.cxx (containing a bug on WIn32) added.
+ * src/gdcm.h, gdcmHeader.cxx, gdcmDictSet.cxx:
+ - gdcmHeader::GetPubTagNames and gdcmHeader::GetPubTagNamesByCategory
+ whose purpose is to publish the content of the TagNames of the
+ Dicom public dictionnary were not accessible without an
+ instance of class gdcmHeader.
+ - those methods are now static methods of gdcmDictSet and hence
+ require no instances at all to be invocated.
+ - within gdcmDictSet this change required to change some method
+ to class methods (i.e. are now static) among which SetDictPath
+ (renamed to BuildDictPath) and LoadDefaultPubDict.
+ * python/gdcmPython/demo/printGroupedPublicDict.py changed to illustrate
+ the above changes by calling the new method classes of gdcmDictSet.
+ * python/gdcmPython/__init__.py now exposes gdcm.gdcmDictSet for
+ the above to be effective.
+ * python/gdcmPython: in order to wrap properly the above changes
+ for Python, swig version now needs to be > 1.3.17.
+ * python/gdcmPython/Makefile fixed to adapt itself to new
+ configure/make shema introduced by Johan Montagnat (thanks for the
+ contribution). Alas this Makefile cannot be turned into a proper
+ Makefile.am without some heavy changes in the configure.in
+ (for python dectection).
+ * python/gdcmPython/gdcm.i: the out typemap map<string, list<string>>*
+ now avoids publishing the empty entries.
+
+2003-02-13 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * python/setup.py : bug fix concerning install under windows
+ ExtraPath reused :-P
+ * gdcm.dsw : bug fix concerning path for libraries for python !!!
+
+2003-02-13 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Dicts/dicomV3.dic : remove double spaces !!!
+ * src/gdcmElValSet.cxx : bug fix concerning windows compiler
+ * python/gdcmPython/win32/gdcmpycomplet.dsp : bug fix concerning paths
+ and links
+
+2003-01-28 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcmHeader.cxx added a post header parsing AddAndDefaultElements
+ method. Doxygenation.
+ * src/gdcm.h clean up of JPR spurious comments.
+
+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
* python/testSuite.py changed accordingly.
2002-12-6 Christophe Odet + Hugues Benoit-Cattin + Eric.Boix
- * wrapping python correct with standalone wrapped dll (don't use separate
+ * 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