+2003-07-07 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcmElValSet.cxx, gdcmFile.cxx: JPR bug fix, removal of
+ garbage debug code.
+ * TODO, vtk/vtkGdcmReader.cxx: upcoming fixes comments.
+ * gdcmPython/testSuite.py: JPR bug fix, brutal erasement of
+ test suite reported error.
+ * PACKAGER file added (describes what a packager must do when
+ packaging a new release).
+ * MANIFEST.in, now declares jconfig.linux and jconfig.vc
+ * configure.in: upgraded version number to 0.3.0
+ * fixing build of rpm (through rpm -ta):
+ - Doc/Makefile.am exports proper doxygen files
+ - src/jpeg/libijg8/Makefile.am exports the include files.
+
+2003-07-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * vtk/vtkGdcmReader.cxx : bug fix when loading only 1 file.
+ * src/gdcmHeader.h : formatting code
+
+2003-07-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * vtk/vtkGdcmReader.[cxx|h] : bug fix when loading only one file.
+ We were obtaining error message from vtk. Now, creation of file list
+ is made in an internal list to prevent this problem.
+ Bug fix when output is empty.
+ Bug fix in update of progress value. Previous commit for this was a bad
+ correction.
+ * vtk/vtkGdcmReader.h : adding comments for InternalFileNaleList variable
+
+2003-07-04 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmHeader.h : added method to get the file name
+ * vtk/vtkGdcmReader.[cxx|h] : bug fix concerning loading of bad dicom
+ files. Added method to remove all files on the input
+ Added FIXME comment concerning the bad parsing of header made by
+ ExecuteInformation method (in ExecuteData method)
+
+2003-07-03 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * vtk/Makefile.am: vtkGdcmReader.h should now be cleany installed
+ when using make instal.
+ * src/gdcmFile.cxx : bug fix under Window after JPR commit
+ RQ : the JPR doesn't appear in the ChangeLog... normal for him
+
+2003-07-03 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * setup.py : adding include dir of jpeg lib to compile all sources
+ * */Win32/*.dsp : JPR fix for windows compilation
+
+2003-07-02 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/jpeg/libijg8/jconfig.* : JPR bug fix : now compile on both
+ linux and WINDOWS !
+ * src/gdcmJpeg.cxx : JPR bug fix : erroneous include
+ * src/win32/gdcmdll.dsp : JPR fix for windows compilation
+
+2003-07-02 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * setup.py is again effective on un*x (takes into account the
+ addon of the jpeg library)
+ * Doc/DoxyDevelInstal.txt added (developper's raw documentation)
+ * Doc/Doxy* updated (includes above enhancements)
+ * INSTALL now points to web documentation
+
+2003-07-01 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcmHeader.h doesn't make unnecessary reference to
+ gdcmUtil.h anymore.
+ * gdcmPython/Makefile.am now avoids calling the wrappers for the
+ clean target.
+ * src/gdcm*.[cxx|h] :
+ - to allow compilation with gcc 3.x
+ -- clean up of STL usage (added explicit usage of std::)
+ -- small fixes on exceptions.
+ Note: linking not tested !
+ - clean of doxygen comments to avoid warnings at documentation
+ building stage.
+ * vtk/vtkGdcmReader.cxx: g++ warning message clean up (platform
+ dependent convertion).
+
+2003-06-20 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * Clean up of previous JPR garbage commit (not even commented in the
+ Changelog):
+ - Test/Makefile.am removed the reference to unexisting testTS.cxx
+ - moved all jpeg related files from src to src/jpeg/libijg8, with
+ addition/modification of Makefile.am and configure.in.
+ - the testSuite is still brain damage (not guilty).
+
+2003-06-02 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * WrapVTK.py : modifications to get correctly vtk source files to
+ compile
+ * vtk/vtkGdcmReader.cxx : modification for an already existing name
+ (FileName -> Filename)
+
+2003-06-11 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * vtk/vtkGdcmReader.[cxx/h]:
+ - UpdateProgress method should now be effective
+ - removed the limitation on having only images loaded (as opposed
+ to volumes),
+ - when building a stack of images/volume, a lesser number of
+ gdcmHeader and gdcmFile instances should be used (hopefully
+ accelerating things).
+ - when building a stack of images/volumes, files which are not
+ loadable (wrong path-filename, wrong permissions on existing file,
+ or file not parsable by gdcm) are replaced with a black image
+ in the stack (for the caller to notice the problem).
+
+2003-06-03 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * vtk/vtkGdcmReader.cxx: hopefully corrected Z extent.
+
+2003-06-02 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * vtk/vtkGdcmReader[cxx|h] : makes correct code to remove conflicts
+ between standard library (std) and vtk library (problems are found
+ under Windows... thanks Windows !)
+
+2003-05-30 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * vtk/vtkGdcmReader[cxx|h] should now be volume aware (read ready for
+ debug stage).
+ * gdcmPython/demo/vtkGdcmReader.py: commented lines for volume test
+
+2003-05-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * vtk/vtkGdcmReader[cxx|h] preparation addons for loading volumes.
+
+2003-05-28 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * When compiling with distutils (see setup.py) the C++ compiler is
+ called with different flags than the default ones (with automake).
+ In order to fix all those warning, I compiled gdcm with the command
+ make 'CXXFLAGS=-Wall -Wstrict-prototypes -D__STDC_LIMIT_MACROS'
+ and went for warning fixes:
+ - src/gdcmHeader.cxx, Test/dcm2acr.cxx, pourFindTaggs.cxx cleaned
+ up from unused variables.
+ - vtk/vtkGdcmReader.cxx: potential bug fix.
+ * src/gdcmHeader.h: Doxygen warning cleanup
+
+2003-05-27 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * gdcmPython/gdcm.i:
+ - typemaps correction to take into account the systematic replacement
+ of "using namespace std" with std:: prefix e.g. std::list,
+ std::string... (cf changes of 2003-05-21).
+ - gdcmGlob global variable of type gdcmGlobal (defined in
+ src/gdcmUtil.cxx and declared in gdcmPython/gdcm.i) is now
+ exported to Python a as cvar.
+ * gdcmPython/__init__.py now defines two functions GetPubDictTagNames()
+ and GetPubDictTagNamesByCategory() as a replacement for deprecated
+ gdcmDictSet.GetPubDictTagNames() and
+ gdcmDictSet.GetPubDictTagNamesByCategory() class functions (i.e.
+ C++ static methods).
+ * gdcmPython/demo/printGroupedPublicDict.py is operational again,
+ with the above changes.
+
+2003-05-22 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * setup.py, manifest.in : bug fix under linux
+
+2003-05-22 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Modification of setup.py to compile vtk part too. Then, we have 2
+ wrappers which must work with same distutils. For that, we have a
+ generic distutils in distusiltsWrapping.py ; with :
+ - build_extWrap class to wrap generically all extensions,
+ - ExtensionWrap base class for all wrapping extension that contains
+ a wrapper
+ - Wrapper interface which wrap sources
+ + In WrapSwig.py we have extension and wrapper for Swig
+ + In WrapVTK.py we have extension and wrapper for VTK
+ * MANIFEST.in : modifications to consider vtk directory and new python
+ files for compilation
+
+2003-05-21 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with Benoit Regrain
+ * Added python wrappers of vtkGdcmReader vtk class (see the
+ source in vtk/vtkGdcmReader.cxx) :
+ - vtk/Makefile.am now builds a library
+ - gdcmPython/Makefile.am now builds vtkgdcmPython a second import
+ python library (as opposed to _gdcm.so wich are the python
+ wrappers of gdcm). vtkgdcmPython.so uses the vtk python wrappers
+ (vtkWrapPython and vtkWrapPythonInit utility) to build vtkgdcmPython
+ import library.
+ - configure.in has an additional flag --enable-vtk that needs
+ to be set to enable compilation of vtk related code, that is:
+ + vtk/vtkGdcmReader.so and
+ + vtk/testvtkGdcmReader C++ demo of vtk wrappers of gdcm)
+ + gdcmPython/vtkgdcmPython.so (see above)
+ - gdcmPython/demo/vtkGdcmDemo.py corrected (some images cannot
+ be read when compressed or when HighBit + 1 != BitsStored),
+ - gdcmPython/demo/vtkGdcmReader.py added. This demo illustrates
+ the usage of the python wrapper of vtkGdcmReader vtk class.
+ * vtk/vtkGdcmReader.cxx: bug fixed (thanks to Benoit Regrain).
+ * src/*.[h] all occurences of stl classes are now prefixed with
+ std::, and all occurences of "using namespace std;" where removed.
+ This is to avoid pollution of global namespace in included files.
+ Apparently vtk does not avoid this pitfall: when using both
+ gdcm and vtk (as in vtk/vtkGdcmReader.cxx) this ended up in a
+ collision of various stl members (principally cout...).
+ * gdcmPython/testSuite.py now cleanly removes temprory generated
+ file.
+ * gdcmPython/gdcm.i now declares a typemap for std::string (to
+ comply with above changes)
+
+2003-05-12 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR
+ * src/gdcmHeader>[h/cxx] added gdcmHeader::GetPixelSize()
+ * vtk/vtkGdcmReader.cxx now properly inports the image in the
+ vtk data structure (an image Flip was required).
+ * vtk/testvtkGdcmReader.cxx refers to gdcmData subdir instead of Data.
+ * cosmetic changes in documentation.
+
+2003-05-7 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR
+ * src/gdcmHeader.cxx: the constructor no longer exits when an
+ unexisting file is given as argument.
+ * The subdirectory Data (containing all the images used for the
+ test suite) is not part of this repository anymore. A new module
+ containing those images is now available at
+ :pserver:xxx@cvs.creatis.insa-lyon.fr:2402/cvs/public
+ with the name gdcmData.
+ All the python scripts (including the package initialisation file
+ gdcmPython/__init__.py) were adapated to take this change into
+ account (basically GDCM_DATA_PATH is now GDCM_TEST_DATA_PATH).
+
+2003-05-5 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR
+ * vtk subdir added. Contains vtkGdcmReader.[cxx|h] a vtk class
+ inherinting from vtkImageReader and testvtkGdcmReader.cxx a small
+ demo of the usage of this class.
+ Compilation of this vtk part is only done when using the --enable-vtk
+ at configure (or autogen.sh) stage.
+
+2003-04-16 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR
+ * More memmory link related corrections and documentation fixes.
+ Notes on valgrind:
+ - maximum info is obtained with a command of the form:
+ valgrind --leak-check=yes --leak-resolution=high --num-callers=40
+ --show-reachable=yes PrintHeader
+ - the remaining reachable blocks seem to come from the STL
+ allocation scheme through the usage of map and list. It looks
+ like this memory cannot be freed but it is not a memory leak
+ (in fact further invocation to the STL would recollect the
+ unused memory allthough it cannot explicitely be freed).
+ * gdcmPython/demo/vtkGdcmDemo.py added: this is a small demo
+ of displaying an image parsed with gdcm and displayed with VTK.
+ Note: some images don't seem to work e.g.
+ python vtkGdcmDemo.py ../../Data/US-RGB-8-esopecho.dcm
+ * src/gdcmHeader.x: dicom_vr and Dicts are not class members anymore.
+ Allthough this weakens the semantics, it is a ditch attempt to
+ make gdcm more thread friendly.
+
+2003-04-15 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR
+ * Memory link hunt (by using valgrind through the command
+ valgrind --show-reachable=yes --leak-check=yes PrintHeader).
+ - added src/gdcmVR.cxx gdcmVR.h that objectify the previous
+ gdcmHeader::_dicom_vr.
+ - gdcmHeader::InitVRDict transfered as gdcmVR::gdcmVR().
+ - gdcmHeader::dicom_vr is now of type gdcmVR* as opposed to
+ VRHT*.
+ - gdcmGlobal global object contained class added (see src/gdcmUtil.x)
+
+2003-04-9 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR
+ * src/Makefile.am now exports all the necessary include files at
+ make install stage.
+
+2003-04-9 JPR
+ * UpdateGroupLength replaced by new one
+
+2003-04-7 JPR
+ * UpdateGroupLength re-written using H-Table
+ (named UpdateGroupLengthNew untill checks are over)
+
+2003-04-7 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR
+ * Data/im_00001 renamed to gdcm-MR-PHILIPS-16-Multi-Seq.dcm
+ * gdcmPython/testSuite.py now include a test of gdcmFile::Write.
+ * src:
+ - gdcmHeader::GetPubElValSet removed.
+ - gdcmElValSet::WriteDcm, WriteAcr, WriteExplVR, revamped to
+ UpdateGroupLength, WriteElements, Write.
+ - gdcmHeader::FileType moved to gdcmCommon.h. The enum FileType
+ doesn't contain TrueDicom anymore since ExplicitVR and ImplicitVR
+ carried the same semantics.
+ - src/gdcmHeaderIdo.cxx changed accordingly.
+ - gdcmFile::WriteBase now regroups all the codes from previous
+ versions of WriteDcm, WriteDcmImplVR, and WriteACR.
+ - enum FileType moved to gdcmCommon.h
+ * src/gdcmHeader.cxx AddDefault trashed
+ * gdcmGetXSize added
+ * getimageDataSize now calls gdcmGetXSize
+ * Test/*.cxx changed to agree with above changes
+
+2003-03-31 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcmHeader.h: LoadElements() is not a public method anymore
+ (to avoid double call by end user).
+ * Test/*.cxx LoadElements() doesn't need to be called explicitely
+ by end user, since gdcmHeader::gdcmHeader now handles it.
+
+2003-03-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * gdcm/Doc many doxygen changes:
+ - Doxyfile now has two different versions, DoxyfileUsers that generates
+ the html.users end users oriented documentation and
+ DoxyfileDeveloppers that generates the html.developper developper
+ oriented documentation.
+ - README changed accordingly
+ - requirement.txt removed (old design info moved to TODO).
+ - Additional files DoxyInstallation.txt, DoxyIntroduction.txt,
+ DoxyMainPage.txt, DoxyPython.txt provide more information.
+ - Note: the website http://www.creatis.insa-lyon.fr/Public/Gdcm/ can now
+ be updated by simply regenerating the docs with doxygen and copying
+ html.developper and html.users to tux:/home/httpd/html/Public/Gdcm
+ * src/gdcmElValSet.cxx: stl <map>.count() can only return 0 or 1. Hence
+ all the tests in the form "if (<map>.count() >1)" were removed.
+ * src/gdcmFile.cxx: cosmetic changes to avoid messages of doxygen about
+ ill-formed documentation sections.
+ * src/gdcmHeader.cxx: ditto
+
+2003-03-27 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * setup.py fixed for un*x (needed macro for stdint.h)
+ * Test/test.cxx renamed to PrintHeader.cxx to avoid collision on
+ un*ces with sh-utils test utility.
+ * gdcmPython/demo/test.py renamed to PrintHeader.py
+ * gdcmPython/demo/ReorganiseFiles.py new demo script added.
+ * gdcmPython/win32/gdcmpycomplet.dsp renamed to gdcmpyembedded.dsp.
+ * gdcmPython/win32/gdcmpy.dsp trashed away (brain damaged).
+ * src/gdcm*.cxx JPR's bad inclusion fixed.
+
+2003-03-26 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcmHeader[h, cxx] gdcmHeader now has an IsReadable predicate.
+ * gdcmPython/demo/test.py changed accordingly.
+
+2003-03-25 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * gdcmPython/Makefile.am fixed linking against libstdc++
+ * gdcmPython/_gdcm.so symbolic link to gdcmPython/.libs/pygdcm.so added.
+ * Swig subdir (historical tests of swig version 1.3.17++) removed
+ * Test/testChangeEntete.cxx some lines commented out in order to make
+ compilation work.
+ * src/gdcmHeader.cxx cleaned up wild JPR's dirty kludge.
+ * src/gdcmElValSet.cxx cleaned up frog's forgotten debug message
+
+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
+ 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
+
+2002-11-27 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * python/demo/*.py load.py extracted from test.py. Added explore.py
+ that only displays required tags and testAll.py that parses all
+ the files of the testsuite without using unittest.
+ * python/testSuite.py other additional test on new files added.
+ * Data/* new test files added accordingly to the testSuite.
+ * src/gdcmHeader.cxx avoid overwriting of the dictionary when
+ the vr in the file differs from the one of the dictionary.
+
+2002-11-20 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcm.h and gdcmHeader.cxx gdcm no longer loads all the elements
+ values, but limits itself to values which are below a user specified
+ size (by default 1024 bytes).
+ * python/gdcm.i : elements not loaded (because their size is above the
+ user specified treshold) are exported with their TagKey as key of the
+ python dictionary. This enables the testsuite to make some checks
+ on the unloaded elements (since we have their offset and size).
+ * python/testSuite.py
+ - now tests for the existence and proper value of the pixel data
+ - two new examples added.
+ * Data/gdcm-MR-SIEMENS-16.acr[12] added.
+
+2002-11-18 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcm.h and gdcmHeader.cxx are now "Big Endian transfer syntax"
+ aware. See the strategy comments in gdcmHeader::FindeLength().
+ * Test/test.cxx now accepts a filename as first argument.
+ * Data/US-PAL-8-10x-echo.dcm and US-RGB-8-epicard.dcm added.
+ * python/testSuite.py changed to integrate test on above files.
+
+2002-11-15 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * Dicts/dicomV3.dic removed all the trailing (RET) when the
+ the vr was also RET.
+ * python/testSuite.py more tests added.
+
+2002-11-14 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * python/testSuite.py unittest test suite added (uses Data)
+ * Data/* dcm and acr files for the test suite.
+ * glib dependance removed from un*x version. We now use ISO C99
+ 7.18 Integer types (see stdint.h)
+ - python/Makefile, src/Makefile src/gdcm.h
+ * src/ when an explicit vr (like dicom files) suddenly poped an
+ implicit element we use to mark the underlying DictEntry of the
+ concerned ElValue with "Implicit". This strategy was damageable
+ too the public or provite dictionaries, since some of their vr
+ would be changed. Since Header::FindLength heavily relies on the
+ detection by Header::FindVR of falsely explicit elements, I
+ added an extra ImplicitVr member to ElValue (boolean).
+ The rest of the changes we the necessary adaptations.
+
+2002-11-12 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcmHeader::FindLength bug fix when trapping falsely explicit
+ VR files.
+ * src/gdcmHeader::FindVR: hard way fix of falsely explicit vr files.
+
+2002-11-8 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * Adaptation for porting to VC++:
+ - src/gdcm.h
+ o forced to use std namespace (for string to be known)
+ o all class use __declspec export style on WIN32
+ - src/gdcmUtil.cxx new Exit method that wraps the exit call
+ (in stdlib.h on Win32 but in std:: for gcc)
+ * src/gdcmDictSet::SetDictPath adds a trailing / to environement
+ variable GDCM_DICT_PATH.
+ * src/gdcmHeader.cxx verbose comments made discrete.
+
+2002-11-7 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * python/gdcm.i: added a typemap that converts a C++ hashing table
+ to native Python dictionary.
+ * python/demo/test.py:
+ - now uses the native dictionary for exploration of gdcmHeader.
+ - takes an optional filename argument (the file to parse).
+ * src/gdcm.h and gdcmHeader.cxx: gdcmHeader now has an accessor on
+ PubElVals hashing table.
+ * Dicts/dicomV3.dic removed error prone trailing spaces.
+
+2002-11-6 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * Python wrapping process moved away from src/Makefile to
+ newly created python/Makefile (as well as gdcm.i)
+ * python/demo/test.py (that mirrors Test/test.cxx) is effective.
+ * src/gdcmHeader::FindLength only looks for current vr when necessary.
+ * src/gdcmDictSet.cxx: the dictionnaries directory path is now imported
+ from the environement variable GDCM_DICT_PATH (when existing).
+ * src/gdcmDict::GetTag bug fix.
+
+2002-10-31 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * Straightforward temporary fixes for swig to build the python wrappers.
+ src/Makefile now has a python working entry [by working we mean
+ that we can import de shadow classes without errors].
+
+2002-10-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * hashtest.cxx removed (since allready in Test)
+ * src/gdcmlib.h renamed to src/gdcm.h
+ * src/dcm.i renamed to src/gdcm.i
+ * src/Makefile prepared for python wrapping
+
+2002-10-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcmHeader.cxx :
+ - Parsing of header is now separated from loading of element values
+ (see gdcmHeader::LoadElements).
+ - general clean up of hopefully all file access (creation of
+ ReadInt16 and ReadInt32)
+
+2002-10-22 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcmHeader.cxx :
+ - RecupLgr renamed to FindLength and cut off with new IsAnInteger
+ method.
+ - SetLgrElem renamed to SetLength
+ - GetLgrElem renamed to GetLength
+ - ~gdcmHeader() made virtual to pesky warning messages at compile.
+ * src/gdcmElValSet.cxx fixed both GetElValue methods
+ * Dicts/dicomV3.dic falacious entry [7fe0 0010 OT PXL Pixel Data]
+ due to IdoDude was cleaned out.
+
2002-10-21 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
* src/gdcmHeader.cxx RecupLgr split in FindVR and RecupLgr. FindVR
concentrates on finding the value representation (when it exists).
on the libido specificities which are handled through class
inheritance.
* Test/implicit_vr.dcm dicom v3 in implicit value representation
- added.
+ added.
2002-10-17 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
* Truckload of changes. Parsing of header is barely functional