X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=ChangeLog;h=1b32de0b31c189caae3a0ea8b89caf37cd9b60ab;hb=738c5370d807730d3e59ada72a1534876c51c8fd;hp=0a8408ea4d73931cf25fc3c33f81d252da430540;hpb=900c8b2d6c78b925b07a48fc4f233659cc00faf8;p=gdcm.git diff --git a/ChangeLog b/ChangeLog index 0a8408ea..1b32de0b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,705 +1,1119 @@ -2003-09-19 Mathieu Malaterre -2003-09-16 Benoit Regrain - * "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 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 - * cygwin complains about missing std:: in subdir Test/ -2003-09-10 Mathieu Malaterre - * remove some methods that are now in gdcmHeaderHelper -2003-09-10 Mathieu Malaterre - * vtkGdcmReader set spacing and origin correctly -2003-09-09 Mathieu Malaterre - * Fix a few delete/delete[] mismatch -2003-09-08 Mathieu Malaterre - * 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 - * 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 - * Corrected a leak in vtkGdcmREader.cxx, the pSource was find thanks to valgrind. -2003-07-29 Mathieu Malaterre - * 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 - * 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 - * src/win32/libgdcmijpeg12.dsp was missing - * modified gdcm.dsw accordingly -2003-07-28 Mathieu Malaterre - * src/gdcmHeader.cxx : misplaced return 0.; for ACR/NEMA -2003-07-24 Benoit Regrain - * 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 - * tagged the current version as Version0_3 (i.e. version 0.3) -2003-07-08 Benoit Regrain - * 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 - * 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 - * vtk/vtkGdcmReader.cxx : bug fix when loading only 1 file. - * src/gdcmHeader.h : formatting code -2003-07-07 Benoit Regrain - * 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 - * 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 - * 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 - * setup.py : adding include dir of jpeg lib to compile all sources - * */Win32/*.dsp : JPR fix for windows compilation -2003-07-02 Benoit Regrain - * 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 - * 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 - * 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 - * 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 - * 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 - * 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 - * vtk/vtkGdcmReader.cxx: hopefully corrected Z extent. -2003-06-02 Benoit Regrain - * 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 - * 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 - * vtk/vtkGdcmReader[cxx|h] preparation addons for loading volumes. -2003-05-28 Eric Boix - * 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 - * 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 - * setup.py, manifest.in : bug fix under linux -2003-05-22 Benoit Regrain - * 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 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 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 - 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 - * 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 - * 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 - * 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 - * 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 - * 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 - * 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 - * 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 - * 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 - * 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 - * 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 - * 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 - * 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 - * 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 - * 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 - * 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 - * 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 - * 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 - * 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 - * src/gdcmHeader.cxx many addons of low level methods -2002-10-07 Eric Boix - * src/gdcmHeader now contains_IdDcmCheckSwap, _IdDcmRecupLgr, - and _IdDcmSWAP_LONG. -2002-09-12 Eric Boix - * This corresponds to all the changes decided at the meeting of - May 23 2002. Needless to say we are running late... - +2003-12-10 Benoit Regrain + * gdcmHeader is now aggregating gdcmFile, and not derived into. Thus, we + can use a gdcmHeaderHelper to load datas + * gdcmPython/testSuite.py : make the testSuite compliant with modifications + made in the source code + +2003-12-10 Benoit Regrain + * Update Windows projects and .cvsignore files + +2003-11-12 Jean-Pierre Roux + *ENH gdcmHeader constructor has one more parameter (default value : false) + that allows the user to 'go inside' the SeQuences only + if he wants to. + gdcmElValSet:Print takes it into account + +2003-11-12 Mathieu Malaterre + *ENH: Update gdcmPython/CMakeLists + *FIX: (gdcmHeaderHelper) GetRescale and GetSlope + *FIX: (gdcmElValSet) char 'tag' was overiding private members (VC++) + +2003-11-10 Jean-Pierre Roux + *FIX : gdcmHeader::LoadElements is now based + on the ListTag listElem member, + not longer on the TagElValueHT tagHt member + *ENH : PrintPubElVal shows (temporarily) both results, + with the tagHt member and the listElem member. + (it's easier to 'see' the problems when using Printheader) + + *FIX : old private member LgrElem is now splitted into + ReadLength : Length actually found on disk (updated only + if bug fixing is necessary), for internal + use only + UsableLength : Updated by FixFoundLength, to fix a bug + or to allow Parser going on. + Will allow to re-write a kosher header when a SeQuence + with a length (not 0000) is found + Warning : gdcmFile::Write still uses the TagHt (not ListElem) + because gdcmElValSet::Add does not update ListElem + (to be written) + +2003-11-07 Jean-Pierre Roux + *FIX misstyping in Transfert Syntax name table + *ENH gdcmHeader::FixFoundLength now allow to 'go inside' tge SeQuences + when they have an actual length (not 0000 nor FFFFF) + (Nobody should care of it, but DICOMDIR explorers) + +2003-11-06 Mathieu Malaterre + *ENH: vtkgdcmViewer now works with LUT dicom (OT-PAL-face ...) + +2003-11-05 Mathieu Malaterre + *ENH: vtkGdcmReader now supports LUT ! + (vtkgdcmViewer for now is not able to use them though) + +2003-11-05 Jean-Pierre Roux + * in testSuite.py : new files names for checking the package + * Fix : Forgot to commit gdcmFile::GetImageDataSizeRaw(); + that returns the pixel area size to the *aware* (vtk) user + that DOESN'T want to turn the PALETTE COLOR image into an RGB image + +2003-11-05 Benoit Regrain + * in testSuite.py : Modify the rules for checking the paths + : Explicit error messages + * in __init__.py : Related modif + +2003-11-03 Jean-Pierre Roux + * add gdcmHeaderHelper::GetNumberOfScalarComponentsRaw() + to be used by aware (vtk) users that want to manage + LUT (and no to turn the PALETTE image into an RGB pixels one) + * GetPixelType now returns 8U for 24 Bits images + (vtkGdcmReader compliant) + +2003-10-31 Jean-Pierre Roux + * Removal of *all* gdcmData images and add them again + in order to loose the 'history' of un-anonymised images + +2003-10-31 Jean-Pierre Roux + *RMV : removal of useless jBitsInJsample.h + for both 8 and 12 Bits JPEG Lossy Libraries + +2003-10-31 Jean-Pierre Roux + * ENH : Add the functions gdcmFile::GetImageDataRaw + gdcmFile::GetImageDataIntoVectorRaw + that act as GetImageData and GetImageDataIntoVector + except the making of an RGB Plane from Gray Plane + LUT + Intended to aware (vtk) users who know how to manage + such an image : + After gdcmHeader : + GetLUTRGBA return a R,G,B,A LUT if any + lgrTotaleRaw gives the 'Raw' length + GetImageDataRaw returns the gray Plane + * FIX : no more dirty trick for 'Segmented xxx Palette Color Lookup' images + (They stay Grey, just like with other Dicom viewers :-( + +2003-10-30 Jean-Pierre Roux + * FIX : a VC++ intended syntax modif broke the 12/12 Bytes expanding + +2003-10-29 Mathieu Malaterre + *ENH: Can be used like this '$vtkgdcmViewer *.dcm' with *.dcm + being coherents dicom files. + +2003-10-29 Mathieu Malaterre + *FIX: DOH ! Forgot about windo$e users, they couldn't read lossless jpeg, + from medcon lib ! + *ENH: Turn it into DOS file type to match libgdcmijpeg8.dsp file type + *ENH: Two steps is necessary to please VC++ compiler... + *FIX: DOH ! libgdcmijpg8 -> libgdcmljpeg + *ENH: Add include dir to medcon lib + *FIX: only one function is being exported for now ! + You should use GLOBAL(return type) see ljpg/jpeg.h for more info + +2003-10-29 Jean-Pierre Roux + * adding gdcmHeader::GetLUTRGBA + returns a 4 * 256 Bytes Reg/Green/Blue/Alpha vtk compliant LUT + --> Mathieu, the modif u're waiting for is not yet committed + * removal of now useless GetLUTRed,GetLUTGreen,GetLUTBlue,GetLUTRGB + +2003-10-27 Jean-Pierre Roux + * adding some xmedcon breaker files (courtesy of Loïc Boussel) + . 00191113.dcm DermaColorLossLess.dcm + MxTwinLossLess.dcm RadBWLossLess.dcm + * ENH: For version prior to vtkImageViewer2 -r 1.19 + * FIX: avoid pb with xmedcon-breaker CT McTwin Elscint images + +2003-10-27 Mathieu Malaterre + * Removal of ido stuff in CMakeLists.txt + +2003-10-24 Mathieu Malaterre + * ENH: vtkGdcmReader.cxx can now read multiframe dicom + * FIX: remove a call to ->Modified ... see comments + * FIX: vtkgdcmViewer.cxx was writting ASCII file...this is so slooooooow ! + +2003-10-23 Mathieu Malaterre + * FIX: Problem with path for libvtkgdcmPython + * ENH: Try adding a search script for python site-package + * RMV: Remove some file from medcon lib that are not necessary + * FIX: gdcm/Makefile.am fix for generating ljpg medcon + * ENH: CMakeLists.txt now generate 'pygdcm.so' instead of 'libpygdcm.so' + * FIX: More pragma disable fro VC++, + I don't think I break something as it is also disable in VTK/ITK. + But it fasten debug compilation time. + +2003-10-23 Jean-Pierre Roux + * gdcm now deals with 16 Bits Run Length Encoded images + (they are compressed as 2 planes images, + one for the high Bytes, the other for low Bytes) + +2003-10-22 Jean-Pierre Roux + * Now CheckRead takes into account : + the bugged 'Leonardo' Siemens images + the XA images, sent thru the burning VPRO station + * add I9000001.dcm, a GE dlx XA image, thru the VEPRO burning station + (breaks DicomWorks) + +2003-10-22 Mathieu Malaterre + * FIX: When copying a Makefile.am to CMakeLists.txt + one should remove the '\' + +2003-10-22 Jean-Pierre Roux + * in gdcmData adding a bugged 'Leonardo' Siemens image + (wrong lengths in header) + OK with gdcm, KO with the other viewers :-) + * add a GE dlx XA image, thru the VEPRO burning station + (breaks DicomWorks) + +2003-10-21 Jean-Pierre Roux + * in gdcmData add the checkvtkgdcmViewer.sh shell script + for a brutal checking of vtkgdcmViewer compliance + +2003-10-21 Jean-Pierre Roux + * add the files for 'xmedcon' Jpeg Lossless library + * call of 'xmedcom' Jpeg Lossles libray (instead of the old LibIDO one) + +2003-10-21 Jean-Pierre Roux + * 'Compacted Files' (12 Bits Allocate, 12 Bits Stored) are now dealt with + +2003-10-21 Jean-Pierre Roux + * garbage Siemens 'Leonardo' images dealt with + (the patch is easy to remove) + * cosmetic changes to avoid warnings + +2003-10-20 Mathieu Malaterre + * ENH: vtkgdcmViewer now autoscale color/window level on start-up, + no need to press 'r' now. + +2003-10-20 Jean-Pierre Roux + * upgrade of checkRead.sh checkWrite.sh according + to new Jpeg Lossless decompressor + * add US.3405.1.dcm, a genuine RGB medical file ... + * add gdcm-ACR-LibIDO.acr, unnormalized Rectangular LibIDO format image + * add CLIP0001-Sequoia-U11.dcm, US 'Clip', from SEQUOIA machine, + UNIT 11, Hop Cardio +2003-10-15 Jean-Pierre Roux + * general anonymisation in gdcmData + * adding the 'color files' from + http://www.leadtools.com/SDK/Medical/DICOM/ltdc19.htm + * adding some well knowed bugged-header images + * adding checkRead.sk, checkReadColor.sh, checkWrite.sh, + waiting for their inclusion in Python testsuite + +2003-10-15 Jean-Pierre Roux + * gdcmHeader::gdcmHeader(const char *InFilename, bool exception_on_error) + no longer seg faults when file is not found + +2003-10-14 Jean-Pierre Roux + * Emprovement of reading for Dicom encapsulated Jpeg LossLess MultiFrame images + +2003-10-14 Mathieu Malaterre + * TODO: *.in file to genereate a UseGDCM later + +2003-10-14 Jean-Pierre Roux + * Some supposed-to-be Dicom Images have no preamble. + OpenFile takes it into account + * Jpeg LossLess 24 Bits images doesn't break any longer gdcm + * Missing elements added in dicomV3.dic + (just to be affraid : have a look at + ftp://medical.nema.org/medical/dicom/2003/01v03dif/01v03_06.pdf + and do it again next year ;-> + +2003-10-13 Jean-Pierre Roux + * According to PS 3.3-2003 C.11.1.1.2 p 619, when each pixel of + a PALETTE COLOR is stored on 2 Bytes, theese 2 Bytes must be equal. + But there are NOT. It's fixed ! + +2003-10-13 Mathieu Malaterre + * FIX: "jpeglib.h" was not found on VC++ + * FIX: vtkgdcm was not being installed + +2003-10-10 Jean-Pierre Roux + * ENH : OpenFile closes the file if it *really* doesn't look like + an ACR-NEMA / DICOM one. + * FIX : testWrite no longer writes an empty file if the source file + is not gdcm Readable + * ENH : One more JPEG LossLess type "JPEG Baseline (Process 14)" + is now decoded. + +2003-10-10 Mathieu Malaterre + * FIX: CMake generate now documentation + * ENH: out of source doc build ! + * ENH: Generate both user and dev documentation + * ENH: Should work on windows too + * ENH: Only one doxygen config.in file is needed + * FIX: make install should be ok now on ùnix plateform + * FIX: PATH to dictionary was wrong (missing /) + * ENH: OpenFile, return true if the file looks like an ACR or DICOM file + +2003-10-09 Mathieu Malaterre + * vtkGdcmReader is now able to read rgb dicom file. + * src/gdcmHeaderHelper : GetNumberOfScalarComponents() + * added a gdcmViewer to vtk test, use mouse to control + window level & window width + +2003-10-09 Mathieu Malaterre + * CMake-ification of gdcm, we have now two build system + * FIX: on cygwin Wsock32 doesn't exist + * FIX: force jpeg dir to the local one (gdcm/src/jpeg) + +2003-10-06 Emanuel Ollart + * FIX : compilation process wad broken. + Changed gdcmViewer_sources to vtkgdcmViewer_sources + +2003-10-06 Mathieu Malaterre + * change gdcmViewer -> vtkgdcmViewer + * change GetXSpacing and GetYSpacing "%f\\%" is parsed backward + +2003-10-06 Jean-Pierre Roux + * FIX :A few nasty patches to allow the reading of a lot of nasty images + ( e.g : well known GE images with a wrong elem length, + : Philips MRI Images with a wrong Huffman table) + * still to be done : allow the reading of bugged LEONARDO Siemens images + +2003-10-03 Jean-Pierre Roux + * Odd length strings are padded with '\0' (not with spaces, + to remain compliant with already defined strings, + like Transfert Syntax UID and others) + +2003-10-03 Jean-Pierre Roux + * ENH :gdcmHeaderHelper::GetNumberOfScalarComponents() added, + to allow displaying RGB images (not only by affim ;-) + +2003-10-03 Mathieu Malaterre + * vtkGdcmReader is now able to read rgb dicom file. + * src/gdcmHeaderHelper : GetNumberOfScalarComponents() + +2003-10-03 Jean-Pierre Roux + * A few nasty patches to allow the reading of a lot of nasty images + ( e.g : well known GE images with a wrong elem length, + : Philips MRI Images with a wrong Huffman table) + * still to be done : allow the reading of bugged LEONARDO Siemens images + +2003-10-03 Jean-Pierre Roux + * One more JPEG LossLess type "JPEG Baseline (Process 14)" is now decoded. + +2003-10-03 Jean-Pierre Roux + * gdcmHeaderHelper::GetNumberOfScalarComponents() added, + to allow displaying RGB images (not only by affim ;-) + +2003-10-03 Jean-Pierre Roux + * gdcmFile::GetImageDataIntoVector now + - deals with MultiFrames MultiFragments Run Length Encoded files + - deals with YcBcR (YBR_FULL) files + - deals with YBR_YBR_FULL_422 files (they work as RBG files ?!?) + WARNING : nothing was checked for YBR_PARTIAL_422, YBR_ICT, YBR_RCT files. + (no sample found :-( + +2003-10-02 Mathieu Malaterre + * src/*.cxx removed pragma thingies to src/gdcmCommon.h + Two reasons: - clear things + - third parties acces gdcm through header files, so won't + suffer anymore VC++ complains +2003-09-30 Mathieu Malaterre + * add argv[1] in testvtkGdcmReader.cxx + * removed leaks + +2003-09-24 Jean-Pierre Roux + * The lines are now eigthy characters long.for + gdcmHeader.cxx gdcmHeaderHelper.cxx gdcmParse.cxx + +2003-09-22 Benoit Regrain + * src/gdcmUtil.[cxx|h] : change the _CreateCleanString return value from + char* to std::string. Thus, the use of strdup becomes useless. (see + previous commis of Malaterre) + * src/gdcmElValSet.cxx : reuse commented call to _CreateCleanString like + before the last Malaterre's commit. + +2003-09-19 Mathieu Malaterre + * This commit should fix the Debug building under VC++, the problem + was mainly a mixture of debug and release lib being loaded at startup. + * I also remove a depency to a specific C function: strdup. Because I had + to force the link to msvcrtd (whereas strdup is in libc). + +2003-09-16 Benoit Regrain + * "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 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 + * cygwin complains about missing std:: in subdir Test/ + +2003-09-10 Mathieu Malaterre + * remove some methods that are now in gdcmHeaderHelper + +2003-09-10 Mathieu Malaterre + * vtkGdcmReader set spacing and origin correctly + +2003-09-09 Mathieu Malaterre + * Fix a few delete/delete[] mismatch + +2003-09-08 Mathieu Malaterre + * 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 + * 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 + * Corrected a leak in vtkGdcmREader.cxx, the pSource was find thanks to valgrind. + +2003-07-29 Mathieu Malaterre + * 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 + * 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... future problem ? + +2003-07-29 Mathieu Malaterre + * src/win32/libgdcmijpeg12.dsp was missing + * modified gdcm.dsw accordingly + +2003-07-28 Mathieu Malaterre + * src/gdcmHeader.cxx : misplaced return 0.; for ACR/NEMA + +2003-07-24 Benoit Regrain + * 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 + * tagged the current version as Version0_3 (i.e. version 0.3) + +2003-07-08 Benoit Regrain + * 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 + * 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 + * vtk/vtkGdcmReader.cxx : bug fix when loading only 1 file. + * src/gdcmHeader.h : formatting code + +2003-07-07 Benoit Regrain + * 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 + * 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 + * 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 + * setup.py : adding include dir of jpeg lib to compile all sources + * */Win32/*.dsp : JPR fix for windows compilation + +2003-07-02 Benoit Regrain + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * vtk/vtkGdcmReader.cxx: hopefully corrected Z extent. + +2003-06-02 Benoit Regrain + * 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 + * 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 + * vtk/vtkGdcmReader[cxx|h] preparation addons for loading volumes. + +2003-05-28 Eric Boix + * 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 + * 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 + * setup.py, manifest.in : bug fix under linux + +2003-05-22 Benoit Regrain + * 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 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 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 memory 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 + 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * src/gdcmHeader.cxx many addons of low level methods + +2002-10-07 Eric Boix + * src/gdcmHeader now contains_IdDcmCheckSwap, _IdDcmRecupLgr, + and _IdDcmSWAP_LONG. + +2002-09-12 Eric Boix + * This corresponds to all the changes decided at the meeting of + May 23 2002. Needless to say we are running late... +