-2003-09-16 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
- * "gdcm::Unfound" string changed to a constant variable (GDCM_UNFOUND)
- located in the gdcmCommon.h file. All use of reference of tha has been
- changed to now use the variable GDCM_UNFOUND.
-
-2003-09-16 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR
- * Cosmetic changes:
- - gdcmPython/testSuite.py adapted to the JPR updated Dicts/dicomV3.dic
- Dicom dictionary. The test suite can now be run again. Note:
- I'm note very happy with the " (RET)" changes. I believe this
- RETAINED comment should be dropped when parsing the dictionary.
- - PACKAGER corrected
- - DEVELOPPER added.
- - AUTHORS updated and now in alphabetical order
- * Makefile.am now exports gdcm.dsw for Windoze users.
-
-2003-09-11 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
- * cygwin complains about missing std:: in subdir Test/
-2003-09-10 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
- * remove some methods that are now in gdcmHeaderHelper
-2003-09-10 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
- * vtkGdcmReader set spacing and origin correctly
-2003-09-09 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
- * Fix a few delete/delete[] mismatch
-2003-09-08 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
- * src/gdcmHeaderHelper.[h cxx]: added new class that provide an
- interpretation to data given by gdcmHeader. For instance there are
- heuristics to get informations (look at different places).
- * it also include a specific class: gdcmSerieHeaderHelper devoted to
- sorting DICOM images based on different strategies.
- * modified Makefiles accordingly.
-2003-09-05 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
- * src/*.cxx : added pragma disable 4786/4251 to get rid of ~4300 warning
- when building in debug mode
- * vtk/win32/vtkgdcm.dsp : change /MT -> /MD and /MTd -> /MDd to match
- src/win32/gdcmdll.dsp
- * vtk/win32/vtkgdcm.dsp : added /nodefaultlib "mscvrt" for debug mode
-2003-08-29 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
- * Corrected a leak in vtkGdcmREader.cxx, the pSource was find thanks to valgrind.
-2003-07-29 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
- * src/win32/libgdcmjpeg12.dsp was not dos format
- * src/win32/libgdcmjpeg12.dsp : libgdcmijpeg12_EXPORTS -> LIBGDCMIJPEG12_EXPORTS
- * src/win32/gdcmdll.dsp: + /I "..\jpeg\libijg12"
-2003-07-29 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
- * src/gdcmHeader.h : add std:: prefix for stl elements... like others in
- the file
- * src/gdcmFile.cxx : bug fix in affectation type
- * src/jpeg/libijpeg12/jmorecfg12.h : export for windows modified... like
- in src/jpeg/libijpeg8/jmorecfg8.h (JPR : copy/paste exists !!!)
- * Modifs of MVSC projects to compile them. Not concerning 2 identic
- symbols... futur problem ?
-2003-07-29 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
- * src/win32/libgdcmijpeg12.dsp was missing
- * modified gdcm.dsw accordingly
-2003-07-28 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
- * src/gdcmHeader.cxx : misplaced return 0.; for ACR/NEMA
-2003-07-24 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
- * src/jpeg/libijg12/.cvsignore, jconfig.* : ommited files while last
- commit of JPR (before his hollidays to facilitate our work).
- * setup.py : bug fix in code. Modifications made while the last commit
- of JPR. The code hasn't been tested before the commit... it's so
- useless to make that (for best programmer that is JPR) !!!
-2003-07-08 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
- * tagged the current version as Version0_3 (i.e. version 0.3)
-2003-07-08 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
- * vtk/testvtkGdcmReader.cxx : remove a symbol that is unused
- * src/jpeg/libijg8/jmorecfg.h : adding export symbol for windows
- * *.dsp : modifications to use new libgdcmijpeg8 library
- * setup.py : bug fix on VTKPATH variable
- * PACKAGER : adding all concerning windows
-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).
- RecupLgr now only finds the element value length, and it avoids
- returning the unecessary skL (skipped length).
- Also, offsetCourant was simply removed (with taille_fich) since
- it was redundant with the File position internals (by using
- ftell and fseek). This also made skL (see above in RecupLgr) usage
- jajun.
- * src/gdcmHeaderIdo.cxx src/gdcmIdo.h added. Those files concentrate
- on the libido specificities which are handled through class
- inheritance.
- * Test/implicit_vr.dcm dicom v3 in implicit value representation
- added.
-2002-10-17 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
- * Truckload of changes. Parsing of header is barely functional
- (see Test/test) with the standard dictionary (see Dicts/dicomV3.dic).
-2002-10-10 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
- * src/gdcmHeader.cxx many addons of low level methods
-2002-10-07 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
- * src/gdcmHeader now contains_IdDcmCheckSwap, _IdDcmRecupLgr,
- and _IdDcmSWAP_LONG.
-2002-09-12 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
- * This corresponds to all the changes decided at the meeting of
- May 23 2002. Needless to say we are running late...
-
+2003-09-19 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>\r
+2003-09-16 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>\r
+ * "gdcm::Unfound" string changed to a constant variable (GDCM_UNFOUND)\r
+ located in the gdcmCommon.h file. All use of reference of tha has been\r
+ changed to now use the variable GDCM_UNFOUND.\r
+\r
+2003-09-16 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR\r
+ * Cosmetic changes:\r
+ - gdcmPython/testSuite.py adapted to the JPR updated Dicts/dicomV3.dic\r
+ Dicom dictionary. The test suite can now be run again. Note:\r
+ I'm note very happy with the " (RET)" changes. I believe this\r
+ RETAINED comment should be dropped when parsing the dictionary.\r
+ - PACKAGER corrected\r
+ - DEVELOPPER added.\r
+ - AUTHORS updated and now in alphabetical order\r
+ * Makefile.am now exports gdcm.dsw for Windoze users.\r
+\r
+2003-09-11 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>\r
+ * cygwin complains about missing std:: in subdir Test/\r
+2003-09-10 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>\r
+ * remove some methods that are now in gdcmHeaderHelper\r
+2003-09-10 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>\r
+ * vtkGdcmReader set spacing and origin correctly\r
+2003-09-09 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>\r
+ * Fix a few delete/delete[] mismatch\r
+2003-09-08 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>\r
+ * src/gdcmHeaderHelper.[h cxx]: added new class that provide an\r
+ interpretation to data given by gdcmHeader. For instance there are\r
+ heuristics to get informations (look at different places).\r
+ * it also include a specific class: gdcmSerieHeaderHelper devoted to\r
+ sorting DICOM images based on different strategies.\r
+ * modified Makefiles accordingly.\r
+2003-09-05 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>\r
+ * src/*.cxx : added pragma disable 4786/4251 to get rid of ~4300 warning\r
+ when building in debug mode\r
+ * vtk/win32/vtkgdcm.dsp : change /MT -> /MD and /MTd -> /MDd to match \r
+ src/win32/gdcmdll.dsp\r
+ * vtk/win32/vtkgdcm.dsp : added /nodefaultlib "mscvrt" for debug mode\r
+2003-08-29 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>\r
+ * Corrected a leak in vtkGdcmREader.cxx, the pSource was find thanks to valgrind.\r
+2003-07-29 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>\r
+ * src/win32/libgdcmjpeg12.dsp was not dos format\r
+ * src/win32/libgdcmjpeg12.dsp : libgdcmijpeg12_EXPORTS -> LIBGDCMIJPEG12_EXPORTS\r
+ * src/win32/gdcmdll.dsp: + /I "..\jpeg\libijg12"\r
+2003-07-29 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>\r
+ * src/gdcmHeader.h : add std:: prefix for stl elements... like others in\r
+ the file\r
+ * src/gdcmFile.cxx : bug fix in affectation type\r
+ * src/jpeg/libijpeg12/jmorecfg12.h : export for windows modified... like\r
+ in src/jpeg/libijpeg8/jmorecfg8.h (JPR : copy/paste exists !!!)\r
+ * Modifs of MVSC projects to compile them. Not concerning 2 identic\r
+ symbols... futur problem ?\r
+2003-07-29 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>\r
+ * src/win32/libgdcmijpeg12.dsp was missing\r
+ * modified gdcm.dsw accordingly\r
+2003-07-28 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>\r
+ * src/gdcmHeader.cxx : misplaced return 0.; for ACR/NEMA\r
+2003-07-24 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>\r
+ * src/jpeg/libijg12/.cvsignore, jconfig.* : ommited files while last\r
+ commit of JPR (before his hollidays to facilitate our work).\r
+ * setup.py : bug fix in code. Modifications made while the last commit\r
+ of JPR. The code hasn't been tested before the commit... it's so\r
+ useless to make that (for best programmer that is JPR) !!!\r
+2003-07-08 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * tagged the current version as Version0_3 (i.e. version 0.3)\r
+2003-07-08 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>\r
+ * vtk/testvtkGdcmReader.cxx : remove a symbol that is unused\r
+ * src/jpeg/libijg8/jmorecfg.h : adding export symbol for windows\r
+ * *.dsp : modifications to use new libgdcmijpeg8 library\r
+ * setup.py : bug fix on VTKPATH variable\r
+ * PACKAGER : adding all concerning windows\r
+2003-07-07 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcmElValSet.cxx, gdcmFile.cxx: JPR bug fix, removal of\r
+ garbage debug code.\r
+ * TODO, vtk/vtkGdcmReader.cxx: upcoming fixes comments.\r
+ * gdcmPython/testSuite.py: JPR bug fix, brutal erasement of\r
+ test suite reported error.\r
+ * PACKAGER file added (describes what a packager must do when\r
+ packaging a new release).\r
+ * MANIFEST.in, now declares jconfig.linux and jconfig.vc\r
+ * configure.in: upgraded version number to 0.3.0\r
+ * fixing build of rpm (through rpm -ta):\r
+ - Doc/Makefile.am exports proper doxygen files\r
+ - src/jpeg/libijg8/Makefile.am exports the include files.\r
+2003-07-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>\r
+ * vtk/vtkGdcmReader.cxx : bug fix when loading only 1 file.\r
+ * src/gdcmHeader.h : formatting code\r
+2003-07-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>\r
+ * vtk/vtkGdcmReader.[cxx|h] : bug fix when loading only one file.\r
+ We were obtaining error message from vtk. Now, creation of file list\r
+ is made in an internal list to prevent this problem.\r
+ Bug fix when output is empty.\r
+ Bug fix in update of progress value. Previous commit for this was a bad\r
+ correction.\r
+ * vtk/vtkGdcmReader.h : adding comments for InternalFileNaleList variable\r
+2003-07-04 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>\r
+ * src/gdcmHeader.h : added method to get the file name\r
+ * vtk/vtkGdcmReader.[cxx|h] : bug fix concerning loading of bad dicom\r
+ files. Added method to remove all files on the input\r
+ Added FIXME comment concerning the bad parsing of header made by\r
+ ExecuteInformation method (in ExecuteData method)\r
+2003-07-03 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * vtk/Makefile.am: vtkGdcmReader.h should now be cleany installed\r
+ when using make instal.\r
+ * src/gdcmFile.cxx : bug fix under Window after JPR commit\r
+ RQ : the JPR doesn't appear in the ChangeLog... normal for him\r
+2003-07-03 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>\r
+ * setup.py : adding include dir of jpeg lib to compile all sources\r
+ * */Win32/*.dsp : JPR fix for windows compilation\r
+2003-07-02 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>\r
+ * src/jpeg/libijg8/jconfig.* : JPR bug fix : now compile on both\r
+ linux and WINDOWS !\r
+ * src/gdcmJpeg.cxx : JPR bug fix : erroneous include\r
+ * src/win32/gdcmdll.dsp : JPR fix for windows compilation\r
+2003-07-02 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * setup.py is again effective on un*x (takes into account the\r
+ addon of the jpeg library)\r
+ * Doc/DoxyDevelInstal.txt added (developper's raw documentation)\r
+ * Doc/Doxy* updated (includes above enhancements)\r
+ * INSTALL now points to web documentation\r
+2003-07-01 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcmHeader.h doesn't make unnecessary reference to\r
+ gdcmUtil.h anymore.\r
+ * gdcmPython/Makefile.am now avoids calling the wrappers for the\r
+ clean target.\r
+ * src/gdcm*.[cxx|h] :\r
+ - to allow compilation with gcc 3.x\r
+ -- clean up of STL usage (added explicit usage of std::)\r
+ -- small fixes on exceptions.\r
+ Note: linking not tested !\r
+ - clean of doxygen comments to avoid warnings at documentation\r
+ building stage.\r
+ * vtk/vtkGdcmReader.cxx: g++ warning message clean up (platform\r
+ dependent convertion).\r
+2003-06-20 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * Clean up of previous JPR garbage commit (not even commented in the\r
+ Changelog):\r
+ - Test/Makefile.am removed the reference to unexisting testTS.cxx\r
+ - moved all jpeg related files from src to src/jpeg/libijg8, with\r
+ addition/modification of Makefile.am and configure.in.\r
+ - the testSuite is still brain damage (not guilty).\r
+2003-06-02 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>\r
+ * WrapVTK.py : modifications to get correctly vtk source files to \r
+ compile\r
+ * vtk/vtkGdcmReader.cxx : modification for an already existing name\r
+ (FileName -> Filename)\r
+2003-06-11 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * vtk/vtkGdcmReader.[cxx/h]:\r
+ - UpdateProgress method should now be effective\r
+ - removed the limitation on having only images loaded (as opposed\r
+ to volumes),\r
+ - when building a stack of images/volume, a lesser number of\r
+ gdcmHeader and gdcmFile instances should be used (hopefully\r
+ accelerating things).\r
+ - when building a stack of images/volumes, files which are not\r
+ loadable (wrong path-filename, wrong permissions on existing file,\r
+ or file not parsable by gdcm) are replaced with a black image\r
+ in the stack (for the caller to notice the problem).\r
+2003-06-03 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * vtk/vtkGdcmReader.cxx: hopefully corrected Z extent.\r
+2003-06-02 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>\r
+ * vtk/vtkGdcmReader[cxx|h] : makes correct code to remove conflicts \r
+ between standard library (std) and vtk library (problems are found\r
+ under Windows... thanks Windows !)\r
+2003-05-30 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * vtk/vtkGdcmReader[cxx|h] should now be volume aware (read ready for\r
+ debug stage).\r
+ * gdcmPython/demo/vtkGdcmReader.py: commented lines for volume test\r
+2003-05-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * vtk/vtkGdcmReader[cxx|h] preparation addons for loading volumes.\r
+2003-05-28 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * When compiling with distutils (see setup.py) the C++ compiler is\r
+ called with different flags than the default ones (with automake).\r
+ In order to fix all those warning, I compiled gdcm with the command\r
+ make 'CXXFLAGS=-Wall -Wstrict-prototypes -D__STDC_LIMIT_MACROS'\r
+ and went for warning fixes:\r
+ - src/gdcmHeader.cxx, Test/dcm2acr.cxx, pourFindTaggs.cxx cleaned\r
+ up from unused variables.\r
+ - vtk/vtkGdcmReader.cxx: potential bug fix.\r
+ * src/gdcmHeader.h: Doxygen warning cleanup\r
+2003-05-27 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * gdcmPython/gdcm.i:\r
+ - typemaps correction to take into account the systematic replacement\r
+ of "using namespace std" with std:: prefix e.g. std::list,\r
+ std::string... (cf changes of 2003-05-21).\r
+ - gdcmGlob global variable of type gdcmGlobal (defined in\r
+ src/gdcmUtil.cxx and declared in gdcmPython/gdcm.i) is now\r
+ exported to Python a as cvar.\r
+ * gdcmPython/__init__.py now defines two functions GetPubDictTagNames()\r
+ and GetPubDictTagNamesByCategory() as a replacement for deprecated\r
+ gdcmDictSet.GetPubDictTagNames() and\r
+ gdcmDictSet.GetPubDictTagNamesByCategory() class functions (i.e.\r
+ C++ static methods).\r
+ * gdcmPython/demo/printGroupedPublicDict.py is operational again,\r
+ with the above changes.\r
+2003-05-22 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>\r
+ * setup.py, manifest.in : bug fix under linux\r
+2003-05-22 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>\r
+ * Modification of setup.py to compile vtk part too. Then, we have 2\r
+ wrappers which must work with same distutils. For that, we have a\r
+ generic distutils in distusiltsWrapping.py ; with :\r
+ - build_extWrap class to wrap generically all extensions,\r
+ - ExtensionWrap base class for all wrapping extension that contains\r
+ a wrapper\r
+ - Wrapper interface which wrap sources\r
+ + In WrapSwig.py we have extension and wrapper for Swig\r
+ + In WrapVTK.py we have extension and wrapper for VTK\r
+ * MANIFEST.in : modifications to consider vtk directory and new python\r
+ files for compilation\r
+2003-05-21 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with Benoit Regrain\r
+ * Added python wrappers of vtkGdcmReader vtk class (see the\r
+ source in vtk/vtkGdcmReader.cxx) :\r
+ - vtk/Makefile.am now builds a library\r
+ - gdcmPython/Makefile.am now builds vtkgdcmPython a second import\r
+ python library (as opposed to _gdcm.so wich are the python\r
+ wrappers of gdcm). vtkgdcmPython.so uses the vtk python wrappers\r
+ (vtkWrapPython and vtkWrapPythonInit utility) to build vtkgdcmPython\r
+ import library.\r
+ - configure.in has an additional flag --enable-vtk that needs\r
+ to be set to enable compilation of vtk related code, that is:\r
+ + vtk/vtkGdcmReader.so and\r
+ + vtk/testvtkGdcmReader C++ demo of vtk wrappers of gdcm)\r
+ + gdcmPython/vtkgdcmPython.so (see above)\r
+ - gdcmPython/demo/vtkGdcmDemo.py corrected (some images cannot\r
+ be read when compressed or when HighBit + 1 != BitsStored),\r
+ - gdcmPython/demo/vtkGdcmReader.py added. This demo illustrates\r
+ the usage of the python wrapper of vtkGdcmReader vtk class.\r
+ * vtk/vtkGdcmReader.cxx: bug fixed (thanks to Benoit Regrain).\r
+ * src/*.[h] all occurences of stl classes are now prefixed with\r
+ std::, and all occurences of "using namespace std;" where removed.\r
+ This is to avoid pollution of global namespace in included files.\r
+ Apparently vtk does not avoid this pitfall: when using both\r
+ gdcm and vtk (as in vtk/vtkGdcmReader.cxx) this ended up in a\r
+ collision of various stl members (principally cout...).\r
+ * gdcmPython/testSuite.py now cleanly removes temprory generated\r
+ file.\r
+ * gdcmPython/gdcm.i now declares a typemap for std::string (to\r
+ comply with above changes)\r
+2003-05-12 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR\r
+ * src/gdcmHeader>[h/cxx] added gdcmHeader::GetPixelSize()\r
+ * vtk/vtkGdcmReader.cxx now properly inports the image in the\r
+ vtk data structure (an image Flip was required).\r
+ * vtk/testvtkGdcmReader.cxx refers to gdcmData subdir instead of Data.\r
+ * cosmetic changes in documentation.\r
+2003-05-7 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR\r
+ * src/gdcmHeader.cxx: the constructor no longer exits when an\r
+ unexisting file is given as argument.\r
+ * The subdirectory Data (containing all the images used for the\r
+ test suite) is not part of this repository anymore. A new module\r
+ containing those images is now available at \r
+ :pserver:xxx@cvs.creatis.insa-lyon.fr:2402/cvs/public\r
+ with the name gdcmData.\r
+ All the python scripts (including the package initialisation file\r
+ gdcmPython/__init__.py) were adapated to take this change into\r
+ account (basically GDCM_DATA_PATH is now GDCM_TEST_DATA_PATH).\r
+2003-05-5 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR\r
+ * vtk subdir added. Contains vtkGdcmReader.[cxx|h] a vtk class\r
+ inherinting from vtkImageReader and testvtkGdcmReader.cxx a small\r
+ demo of the usage of this class.\r
+ Compilation of this vtk part is only done when using the --enable-vtk\r
+ at configure (or autogen.sh) stage.\r
+2003-04-16 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR\r
+ * More memmory link related corrections and documentation fixes.\r
+ Notes on valgrind:\r
+ - maximum info is obtained with a command of the form:\r
+ valgrind --leak-check=yes --leak-resolution=high --num-callers=40\r
+ --show-reachable=yes PrintHeader\r
+ - the remaining reachable blocks seem to come from the STL\r
+ allocation scheme through the usage of map and list. It looks \r
+ like this memory cannot be freed but it is not a memory leak\r
+ (in fact further invocation to the STL would recollect the\r
+ unused memory allthough it cannot explicitely be freed).\r
+ * gdcmPython/demo/vtkGdcmDemo.py added: this is a small demo\r
+ of displaying an image parsed with gdcm and displayed with VTK.\r
+ Note: some images don't seem to work e.g.\r
+ python vtkGdcmDemo.py ../../Data/US-RGB-8-esopecho.dcm\r
+ * src/gdcmHeader.x: dicom_vr and Dicts are not class members anymore.\r
+ Allthough this weakens the semantics, it is a ditch attempt to\r
+ make gdcm more thread friendly.\r
+2003-04-15 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR\r
+ * Memory link hunt (by using valgrind through the command\r
+ valgrind --show-reachable=yes --leak-check=yes PrintHeader).\r
+ - added src/gdcmVR.cxx gdcmVR.h that objectify the previous\r
+ gdcmHeader::_dicom_vr.\r
+ - gdcmHeader::InitVRDict transfered as gdcmVR::gdcmVR().\r
+ - gdcmHeader::dicom_vr is now of type gdcmVR* as opposed to\r
+ VRHT*.\r
+ - gdcmGlobal global object contained class added (see src/gdcmUtil.x)\r
+2003-04-9 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR\r
+ * src/Makefile.am now exports all the necessary include files at\r
+ make install stage.\r
+2003-04-9 JPR\r
+ * UpdateGroupLength replaced by new one\r
+2003-04-7 JPR\r
+ * UpdateGroupLength re-written using H-Table\r
+ (named UpdateGroupLengthNew untill checks are over)\r
+ \r
+2003-04-7 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR\r
+ * Data/im_00001 renamed to gdcm-MR-PHILIPS-16-Multi-Seq.dcm\r
+ * gdcmPython/testSuite.py now include a test of gdcmFile::Write.\r
+ * src:\r
+ - gdcmHeader::GetPubElValSet removed.\r
+ - gdcmElValSet::WriteDcm, WriteAcr, WriteExplVR, revamped to\r
+ UpdateGroupLength, WriteElements, Write.\r
+ - gdcmHeader::FileType moved to gdcmCommon.h. The enum FileType\r
+ doesn't contain TrueDicom anymore since ExplicitVR and ImplicitVR\r
+ carried the same semantics.\r
+ - src/gdcmHeaderIdo.cxx changed accordingly.\r
+ - gdcmFile::WriteBase now regroups all the codes from previous\r
+ versions of WriteDcm, WriteDcmImplVR, and WriteACR.\r
+ - enum FileType moved to gdcmCommon.h\r
+ * src/gdcmHeader.cxx AddDefault trashed\r
+ * gdcmGetXSize added\r
+ * getimageDataSize now calls gdcmGetXSize\r
+ * Test/*.cxx changed to agree with above changes\r
+2003-03-31 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcmHeader.h: LoadElements() is not a public method anymore\r
+ (to avoid double call by end user).\r
+ * Test/*.cxx LoadElements() doesn't need to be called explicitely\r
+ by end user, since gdcmHeader::gdcmHeader now handles it.\r
+2003-03-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * gdcm/Doc many doxygen changes:\r
+ - Doxyfile now has two different versions, DoxyfileUsers that generates\r
+ the html.users end users oriented documentation and\r
+ DoxyfileDeveloppers that generates the html.developper developper\r
+ oriented documentation.\r
+ - README changed accordingly\r
+ - requirement.txt removed (old design info moved to TODO).\r
+ - Additional files DoxyInstallation.txt, DoxyIntroduction.txt,\r
+ DoxyMainPage.txt, DoxyPython.txt provide more information.\r
+ - Note: the website http://www.creatis.insa-lyon.fr/Public/Gdcm/ can now\r
+ be updated by simply regenerating the docs with doxygen and copying \r
+ html.developper and html.users to tux:/home/httpd/html/Public/Gdcm\r
+ * src/gdcmElValSet.cxx: stl <map>.count() can only return 0 or 1. Hence\r
+ all the tests in the form "if (<map>.count() >1)" were removed.\r
+ * src/gdcmFile.cxx: cosmetic changes to avoid messages of doxygen about\r
+ ill-formed documentation sections.\r
+ * src/gdcmHeader.cxx: ditto\r
+2003-03-27 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * setup.py fixed for un*x (needed macro for stdint.h)\r
+ * Test/test.cxx renamed to PrintHeader.cxx to avoid collision on\r
+ un*ces with sh-utils test utility.\r
+ * gdcmPython/demo/test.py renamed to PrintHeader.py\r
+ * gdcmPython/demo/ReorganiseFiles.py new demo script added.\r
+ * gdcmPython/win32/gdcmpycomplet.dsp renamed to gdcmpyembedded.dsp.\r
+ * gdcmPython/win32/gdcmpy.dsp trashed away (brain damaged).\r
+ * src/gdcm*.cxx JPR's bad inclusion fixed.\r
+2003-03-26 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcmHeader[h, cxx] gdcmHeader now has an IsReadable predicate.\r
+ * gdcmPython/demo/test.py changed accordingly.\r
+2003-03-25 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * gdcmPython/Makefile.am fixed linking against libstdc++\r
+ * gdcmPython/_gdcm.so symbolic link to gdcmPython/.libs/pygdcm.so added.\r
+ * Swig subdir (historical tests of swig version 1.3.17++) removed\r
+ * Test/testChangeEntete.cxx some lines commented out in order to make\r
+ compilation work.\r
+ * src/gdcmHeader.cxx cleaned up wild JPR's dirty kludge.\r
+ * src/gdcmElValSet.cxx cleaned up frog's forgotten debug message\r
+2003-03-24 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcmHeader.cxx gdcmHeader::gdcmHeader now calls LoadElements(),\r
+ hence the user doesn't need this explicit call.\r
+ - gdcmPython/testSuite.py, gdcmPython/demo/*.py changed accordingly\r
+ i.e. LoadElements() call removed.\r
+ * src/gdcmCommon.h now defines UINT32_MAX (see stdint.h).\r
+ - src/Makefile.am declares the proper flag for g++.\r
+ * src/gdcmElValSet.h added gdcmElValSet::GenerateFreeTagKeyInGroup\r
+ for adding user defined new tags.\r
+ - src/gdcmHeader.cxx gdcmHeader::NewManualElValToPubDict added.\r
+ - src/gdcmHeader.cxx gdcmHeader::AddAndDefaultElements now\r
+ cleanly adds some gdcm added tags (like gdcmXSize, gdcmYSize...)\r
+2003-03-17 Fabrice Bellet <Fabrice.Bellet@creatis.insa-lyon.fr>\r
+ * Makefile.am, acinclude.m4, configure.in, python.m4, Dicts/Makefile.am,\r
+ Doc/Makefile.am, Test/Makefile.am, gdcmPython/Makefile.am, \r
+ src/Makefile.am : the project should properly compile and install\r
+ with the autotools, included the python wrappers part. \r
+ * gdcm.spec.in : added a spec file for RPM packaging.\r
+2003-03-14 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>\r
+ * src/gdcmUtils.cxx : redifinition of defaults parameters in code\r
+2003-03-12 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * gdcmPython/__init__.py fix of GDCM_DICT_PATH which was not\r
+ to exported to the environement (see gdcmPython/testSuite.py\r
+ for usage).\r
+ * src/gdcmElValSet.[cxx/h], gdcmElValue.[cxx/h], gdcmFile.[cxx/h],\r
+ gdcmHeader.[cxx/h]: ElValSet class renamed to gdcmElValSet, and\r
+ ElValue class renamed to gdcmElValue for obvious consistency reasons.\r
+ * src/gdcmElValSet.cxx, src/gdcmUtil.[cxx-h] Tokenize utility function\r
+ moved away from gdcmElValSet.cxx to gdcmUtil.cxx.\r
+2003-03-10 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * gdcmPython/__init__.py doesn't crash anymore when running in\r
+ in InstallMode or PreInstallMode but with an environement given\r
+ value of GDCM_DICT_PATH.\r
+ * src/gdcmDictSet.[cxx/h] coding style.\r
+2003-03-06 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcmHeader.h and gdcmHeader.cxx Coding style + doxigenation.\r
+ * src/gdcm.h general comments moved to TODO, and README\r
+ * src/gdcm.h should now be seen as a user commodity (including it\r
+ should suffice to fully use gdcm). It is nowhere including within\r
+ any of the kernel files src/*.cxx and src/*.h.\r
+2003-03-05 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcm.h splitted in gdcmCommon.h, gdcmDict.h, gdcmDictEntry.h,\r
+ gdcmDictSet.h, gdcmElValSet.h, gdcmElValue.h, gdcmFile.h,\r
+ gdcmHeader.h\r
+ * src/gdcm*.cxx only include their corresponding include file\r
+ (as opposed to gdcm.h)\r
+ * gdcmPython/gdcm.i changed accordingly\r
+ * Test/Makefile.am corrected and added NEWS, AUTHORS in order for\r
+ the autogen.sh generated "make snapshot" command to work.\r
+ * autogen.sh removed history related references to crea package.\r
+2003-03-04 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * distutilsSwigCPlusPlus.py work around some swig portability\r
+ bug.\r
+2003-03-03 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * Eventually, python/gdcmPython was renamed to gdcmPython. This\r
+ was done in a last ditch attempt to get setup.py _really_\r
+ operationnal. The python/gdcmPython layaout add the advantage\r
+ of hidding away the python related distutils specific files\r
+ (MANIFEST.in, setup.py, distutils*.py...) from the main directory.\r
+ Alas, the src directory was out of scope (i.e. it's relative\r
+ position to setup.py was ../src) which made things impossible to\r
+ handle (see previous version of python/setup.py). Crossing fingers...\r
+2003-02-20 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * python/setup.py now works on Un*x. (harder than I thougth)\r
+ * python/distutilsSwigCPlusPlus.py can now have include files\r
+ among the list of sources.\r
+ \r
+2003-02-20 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>\r
+ * src/gdcmHeader.cxx : bug fix - opening dicom file in binary !!!\r
+ * modifications in MSVC projects\r
+2003-02-19 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * As stated by the first lines of Test/ExceptionAndPython/README, it\r
+ looks like we can move back to original usage of exception within\r
+ src/gdcm* and hence remove the errno stuff that was introduced\r
+ as a quick and dirty fixture of this problem (added to the TODO).\r
+ * Doc/Doxyfile configuration file for Doxygen and corresponding\r
+ README file for usage added.\r
+ * Test/testWrite.cxx added. This new test comes from a split of\r
+ test.cxx that is now reverted to its original purpous i.e. \r
+ testing the proper parsing of a Dicom related file.\r
+ testWrite.cxx concentrates on testing the IO part of gdcm.\r
+ * Test/bug1.cxx (containing a bug on WIn32) added.\r
+ * src/gdcm.h, gdcmHeader.cxx, gdcmDictSet.cxx: \r
+ - gdcmHeader::GetPubTagNames and gdcmHeader::GetPubTagNamesByCategory\r
+ whose purpose is to publish the content of the TagNames of the\r
+ Dicom public dictionnary were not accessible without an\r
+ instance of class gdcmHeader.\r
+ - those methods are now static methods of gdcmDictSet and hence\r
+ require no instances at all to be invocated.\r
+ - within gdcmDictSet this change required to change some method\r
+ to class methods (i.e. are now static) among which SetDictPath\r
+ (renamed to BuildDictPath) and LoadDefaultPubDict.\r
+ * python/gdcmPython/demo/printGroupedPublicDict.py changed to illustrate\r
+ the above changes by calling the new method classes of gdcmDictSet.\r
+ * python/gdcmPython/__init__.py now exposes gdcm.gdcmDictSet for\r
+ the above to be effective.\r
+ * python/gdcmPython: in order to wrap properly the above changes\r
+ for Python, swig version now needs to be > 1.3.17.\r
+ * python/gdcmPython/Makefile fixed to adapt itself to new \r
+ configure/make shema introduced by Johan Montagnat (thanks for the\r
+ contribution). Alas this Makefile cannot be turned into a proper\r
+ Makefile.am without some heavy changes in the configure.in\r
+ (for python dectection).\r
+ * python/gdcmPython/gdcm.i: the out typemap map<string, list<string>>*\r
+ now avoids publishing the empty entries.\r
+2003-02-13 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>\r
+ * python/setup.py : bug fix concerning install under windows\r
+ ExtraPath reused :-P\r
+ * gdcm.dsw : bug fix concerning path for libraries for python !!!\r
+2003-02-13 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>\r
+ * Dicts/dicomV3.dic : remove double spaces !!!\r
+ * src/gdcmElValSet.cxx : bug fix concerning windows compiler\r
+ * python/gdcmPython/win32/gdcmpycomplet.dsp : bug fix concerning paths\r
+ and links\r
+2003-01-28 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcmHeader.cxx added a post header parsing AddAndDefaultElements\r
+ method. Doxygenation.\r
+ * src/gdcm.h clean up of JPR spurious comments.\r
+2003-01-17 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * python/distutilsSwigCPlusPlus.py now properly collects the\r
+ shadow classes generated by "swig -c++" (gdcm.py in our case)\r
+ when using "python setup.py install".\r
+ * python/gdcmPython/__init__.py imports gdcm.py and only manually\r
+ reexports the working classes.\r
+ * src/gdcmHeader.cxx all the try/catch/throw calls were replaced\r
+ by the classical C errno scheme. This is to prevent an obscure\r
+ behavior of the python wrappers when importing wxPython.wx prior\r
+ to gdcmPython (which ended up in an abort call). An illustration\r
+ of this oddity can be found in the Test/ExceptionAndPython\r
+ subdir (see the README file). This problem probably due to\r
+ an combination of g++ and dynamic loading.\r
+ * added Test/ExceptionAndPython (see above)\r
+2003-01-17 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * Changed the layout of the python part to avoid bloating main\r
+ directory with setup.py, distutilsSwigCPlusPlus.py, MANIFEST.in\r
+ i.e. the distutils arsenal. All the python related stuff is\r
+ again in a python subdir, but the package itself is now in\r
+ python/gdcmPython.\r
+ * setup.py was cleaned up:\r
+ - pythonIncludePath removed\r
+ - python setup.py bdist target is now functional.\r
+ * gdcmPython/__init__.py doesn't export FileName any more (to avoid\r
+ collision with other packages). gdcmPython/demo/*.py changed\r
+ accordingly.\r
+2003-01-15 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * python subdir moved to gdcmPython (preparation of distutils packaging).\r
+ * gdcmPython/setup.py and distutilsSwigCPlusPlus.py added. The\r
+ distutils installer is operational.\r
+ * - gdcmPython/__init__.py now properly loads the swig generated\r
+ shadow classes (from gdcm.py).\r
+ - gdcmPython/demo/*.py changed to import the package gdcmPython\r
+ instead of gdcmPython/demo/load.py.\r
+ - gdcmPython/testSuite.py changed to import the package gdcmPython.\r
+ \r
+2002-12-16 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcm.h, src/gdcmHeader.cxx: added GetPubTagNames() resp.\r
+ GetPubTagNamesByCategory() to gdcmHeader that return a list of the\r
+ entries within the associated public Dicom dictionary resp. the same\r
+ information but sorted by the fourth field (PAT, IMG, DIR) of the\r
+ dictionary.\r
+ - Dicts/dicomV3.dic Entries which had and unspecified fourth field\r
+ are now in the "???" group.\r
+ - python/gdcm.i changed accordingly,\r
+ - python/demo/printGroupedPublicDict.py added, that gives an example\r
+ of the above new functionalities in Python.\r
+2002-12-11 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcm.h, gdcmHeader.cxx:\r
+ - historic references to glib's g_malloc and g_free (#defined)\r
+ were definitively removed.\r
+ - gdcm.h: cosmetic changes (part of comments moved to Doc/requirements)\r
+ * src/gdcmElValSet.cxx:\r
+ - GetElement(guint32, guint32) renamed to GetElementByNumber.\r
+ - GetElValue(guint32, guint32) renamed to GetElValueByNumber.\r
+ - GetElValue(string) renamed to GetElValueByName.\r
+ - Added GetElementByName(string).\r
+ * src/gdcmHeader.cxx: added\r
+ - GetPubElValRepByNumber(guint16, guint16)\r
+ - GetPubElValRepByName(string)\r
+ - GetShaElValRepByNumber(guint16, guint16)\r
+ - GetShaElValRepByName(string)\r
+ - GetShaElValByNumber(guint16, guint16)\r
+ - GetShaElValRepByName(string)\r
+ - GetElValRepByNumber(guint16, guint16)\r
+ - GetElValRepByName(string)\r
+ - GetElValByNumber(guint16, guint16)\r
+ - GetElValRepByName(string)\r
+ * Doc/requirements.txt added.\r
+2002-12-9 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * Test/Makefile building now depends on the one of libgdcm.so\r
+ * src/gdcmHeader.cxx and gdcm.h are now OB (undefined length encoded\r
+ pixel data) aware which enables finding the address (offset) of \r
+ the pixel data of JPEG encoded DICOM files. This leaves only a single\r
+ file in the testSuite whose pixel data address (offset) is unknown.\r
+ * python/testSuite.py changed accordingly.\r
+2002-12-6 Christophe Odet + Hugues Benoit-Cattin + Eric.Boix\r
+ * VC++ has some strong limitations when working with the STL, as stated\r
+ in http://support.microsoft.com/support/kb/articles/Q168/9/58.ASP :\r
+ "Also note that some STL containers (map, set, queue, list, deque)\r
+ cannot be exported. [...]\r
+ Some STL classes contain nested classes. These classes can not\r
+ be exported. [...]\r
+ This is caused by a designed limitation that once a template\r
+ class is instantiated, it can not be re-instantiated and\r
+ exported."\r
+ Since our usage of map<> is ubiquitous in gdcm, this "designed\r
+ limitation" of VC++ is a pitfall.\r
+ Hence the Python wrappers of gdcm cannot be incrementally linked \r
+ against the c++ dynamic library. The dirty but only workaround is\r
+ to forget about incremental link of dynamic libraries and to generate\r
+ the Python wrappers library with the inclusions of the underlying C++\r
+ library. \r
+ The following modifications concern this matter on Win32/VC++:\r
+ - wrapping python correct with standalone wrapped dll (don't use separate\r
+ dll under windows !!!!)\r
+ - python21_d debug mode enabled (ask Frog how to use it :-)\r
+ - NO problem with having an STL member of class for example string in C++\r
+ WITH THE RESTRICTION OF FORGETING ABOUT INCREMENTAL LINK.\r
+ - Python test of dcmlib in Python is ok under windows on a large set \r
+ (one) of image(s).\r
+ * removed glib references\r
+ * typedef's inserted in gdcm.i for correct swig type management\r
+2002-11-27 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * python/demo/*.py load.py extracted from test.py. Added explore.py\r
+ that only displays required tags and testAll.py that parses all\r
+ the files of the testsuite without using unittest.\r
+ * python/testSuite.py other additional test on new files added.\r
+ * Data/* new test files added accordingly to the testSuite.\r
+ * src/gdcmHeader.cxx avoid overwriting of the dictionary when\r
+ the vr in the file differs from the one of the dictionary.\r
+2002-11-20 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcm.h and gdcmHeader.cxx gdcm no longer loads all the elements\r
+ values, but limits itself to values which are below a user specified\r
+ size (by default 1024 bytes).\r
+ * python/gdcm.i : elements not loaded (because their size is above the\r
+ user specified treshold) are exported with their TagKey as key of the\r
+ python dictionary. This enables the testsuite to make some checks\r
+ on the unloaded elements (since we have their offset and size).\r
+ * python/testSuite.py\r
+ - now tests for the existence and proper value of the pixel data\r
+ - two new examples added.\r
+ * Data/gdcm-MR-SIEMENS-16.acr[12] added.\r
+2002-11-18 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcm.h and gdcmHeader.cxx are now "Big Endian transfer syntax"\r
+ aware. See the strategy comments in gdcmHeader::FindeLength().\r
+ * Test/test.cxx now accepts a filename as first argument.\r
+ * Data/US-PAL-8-10x-echo.dcm and US-RGB-8-epicard.dcm added.\r
+ * python/testSuite.py changed to integrate test on above files.\r
+2002-11-15 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * Dicts/dicomV3.dic removed all the trailing (RET) when the\r
+ the vr was also RET.\r
+ * python/testSuite.py more tests added.\r
+2002-11-14 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * python/testSuite.py unittest test suite added (uses Data)\r
+ * Data/* dcm and acr files for the test suite.\r
+ * glib dependance removed from un*x version. We now use ISO C99\r
+ 7.18 Integer types (see stdint.h)\r
+ - python/Makefile, src/Makefile src/gdcm.h\r
+ * src/ when an explicit vr (like dicom files) suddenly poped an\r
+ implicit element we use to mark the underlying DictEntry of the\r
+ concerned ElValue with "Implicit". This strategy was damageable\r
+ too the public or provite dictionaries, since some of their vr\r
+ would be changed. Since Header::FindLength heavily relies on the\r
+ detection by Header::FindVR of falsely explicit elements, I\r
+ added an extra ImplicitVr member to ElValue (boolean).\r
+ The rest of the changes we the necessary adaptations.\r
+2002-11-12 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcmHeader::FindLength bug fix when trapping falsely explicit\r
+ VR files.\r
+ * src/gdcmHeader::FindVR: hard way fix of falsely explicit vr files.\r
+2002-11-8 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * Adaptation for porting to VC++:\r
+ - src/gdcm.h\r
+ o forced to use std namespace (for string to be known)\r
+ o all class use __declspec export style on WIN32\r
+ - src/gdcmUtil.cxx new Exit method that wraps the exit call\r
+ (in stdlib.h on Win32 but in std:: for gcc)\r
+ * src/gdcmDictSet::SetDictPath adds a trailing / to environement\r
+ variable GDCM_DICT_PATH.\r
+ * src/gdcmHeader.cxx verbose comments made discrete.\r
+2002-11-7 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * python/gdcm.i: added a typemap that converts a C++ hashing table\r
+ to native Python dictionary.\r
+ * python/demo/test.py:\r
+ - now uses the native dictionary for exploration of gdcmHeader.\r
+ - takes an optional filename argument (the file to parse).\r
+ * src/gdcm.h and gdcmHeader.cxx: gdcmHeader now has an accessor on\r
+ PubElVals hashing table. \r
+ * Dicts/dicomV3.dic removed error prone trailing spaces.\r
+2002-11-6 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * Python wrapping process moved away from src/Makefile to\r
+ newly created python/Makefile (as well as gdcm.i)\r
+ * python/demo/test.py (that mirrors Test/test.cxx) is effective.\r
+ * src/gdcmHeader::FindLength only looks for current vr when necessary.\r
+ * src/gdcmDictSet.cxx: the dictionnaries directory path is now imported\r
+ from the environement variable GDCM_DICT_PATH (when existing).\r
+ * src/gdcmDict::GetTag bug fix.\r
+2002-10-31 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * Straightforward temporary fixes for swig to build the python wrappers.\r
+ src/Makefile now has a python working entry [by working we mean\r
+ that we can import de shadow classes without errors].\r
+2002-10-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * hashtest.cxx removed (since allready in Test)\r
+ * src/gdcmlib.h renamed to src/gdcm.h\r
+ * src/dcm.i renamed to src/gdcm.i\r
+ * src/Makefile prepared for python wrapping\r
+2002-10-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcmHeader.cxx :\r
+ - Parsing of header is now separated from loading of element values\r
+ (see gdcmHeader::LoadElements).\r
+ - general clean up of hopefully all file access (creation of\r
+ ReadInt16 and ReadInt32)\r
+2002-10-22 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcmHeader.cxx :\r
+ - RecupLgr renamed to FindLength and cut off with new IsAnInteger\r
+ method.\r
+ - SetLgrElem renamed to SetLength\r
+ - GetLgrElem renamed to GetLength\r
+ - ~gdcmHeader() made virtual to pesky warning messages at compile.\r
+ * src/gdcmElValSet.cxx fixed both GetElValue methods\r
+ * Dicts/dicomV3.dic falacious entry [7fe0 0010 OT PXL Pixel Data]\r
+ due to IdoDude was cleaned out.\r
+2002-10-21 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcmHeader.cxx RecupLgr split in FindVR and RecupLgr. FindVR\r
+ concentrates on finding the value representation (when it exists).\r
+ RecupLgr now only finds the element value length, and it avoids\r
+ returning the unecessary skL (skipped length).\r
+ Also, offsetCourant was simply removed (with taille_fich) since\r
+ it was redundant with the File position internals (by using\r
+ ftell and fseek). This also made skL (see above in RecupLgr) usage\r
+ jajun.\r
+ * src/gdcmHeaderIdo.cxx src/gdcmIdo.h added. Those files concentrate\r
+ on the libido specificities which are handled through class \r
+ inheritance.\r
+ * Test/implicit_vr.dcm dicom v3 in implicit value representation\r
+ added. \r
+2002-10-17 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * Truckload of changes. Parsing of header is barely functional\r
+ (see Test/test) with the standard dictionary (see Dicts/dicomV3.dic).\r
+2002-10-10 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcmHeader.cxx many addons of low level methods\r
+2002-10-07 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * src/gdcmHeader now contains_IdDcmCheckSwap, _IdDcmRecupLgr,\r
+ and _IdDcmSWAP_LONG.\r
+2002-09-12 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>\r
+ * This corresponds to all the changes decided at the meeting of\r
+ May 23 2002. Needless to say we are running late...\r
+\r