X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=ChangeLog;h=1c75af2fbb2303221a791b7c0c478cb8cec9538b;hb=05abd393cf82392c894dd1d852e2273b0648671d;hp=ae252d3b2978f4940602572497a4bed98bdc7862;hpb=b7f909f6f6c37085bb05debd27c375c826c1ce74;p=gdcm.git diff --git a/ChangeLog b/ChangeLog index ae252d3b..1c75af2f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,321 @@ +2003-05-21 Eric Boix with JPR + * 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...). + +2003-05-12 Eric Boix 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 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 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 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 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 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 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 + * 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 + * 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 .count() can only return 0 or 1. Hence + all the tests in the form "if (.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 + * 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 + * src/gdcmHeader[h, cxx] gdcmHeader now has an IsReadable predicate. + * gdcmPython/demo/test.py changed accordingly. + +2003-03-25 Eric Boix + * 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 + * 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 + * 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 + * src/gdcmUtils.cxx : redifinition of defaults parameters in code + +2003-03-12 Eric Boix + * 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 + * 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 + * 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 + * 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 + * distutilsSwigCPlusPlus.py work around some swig portability + bug. + +2003-03-03 Eric Boix + * 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 + * 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 + * src/gdcmHeader.cxx : bug fix - opening dicom file in binary !!! + * modifications in MSVC projects + +2003-02-19 Eric Boix + * 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>* + now avoids publishing the empty entries. + +2003-02-13 Benoit Regrain + * 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 + * 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 + * 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 + * 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 + * 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 * python subdir moved to gdcmPython (preparation of distutils packaging). * gdcmPython/setup.py and distutilsSwigCPlusPlus.py added. The