]> Creatis software - gdcm.git/blobdiff - ChangeLog
* setup.py is again effective on un*x (takes into account the
[gdcm.git] / ChangeLog
index 285eaff59f4e664bbfca574ff9134d3a0237226a..5c0a2a281aa433cfa18bad742aebe82170c456c5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,351 @@
+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