-2003-09-19 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>\r
- * This commit should fix the Debug building under VC++, the problem\r
- was mainly a mixture of debug and release lib being loaded at startup.\r
- * I also remove a depency to a specific C function: strdup. Because I had\r
- to force the link to msvcrtd (whereas strdup is in libc).\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
+2004-03-30 Benoit Regrain
+ * vtk/vtkGdcmReader.[h|cxx] : fix the read of 3 gdcmHeader when making an
+ upate of the object's instance. It's passed to 2 in the unfavorable
+ case : one in the ExecuteInformation, one in the ExecuteData
+
+2004-03-29 Jean-Pierre Roux
+ * ENH : Check on file type to be written moved
+ from gdcmParser::WriteEntry to gdcmParser::WriteEntries
+ * FIX : gdcmObject::ResetBoundaries now stops properly
+ when end-of-list is reached
+ : gdcmVersion modified (as Benoit Regrain asked)
+
+2004-03-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcmParser.cxx: removal of all TAB character. Indentation fixed.
+ * src/gdcmUtil.cxx: added forgotten iostream include.
+ * src/gdcmCommon.h: FileType enum entry DICOMDIR removed (since
+ equivalent to ExplicitVR in existing code).
+
+2004-03-27 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcmUtil.[cxx|h] split in two. Additional file gdcmGlobal.[cxx|h]
+ now contains all the gdcmGlobal related code.
+ * minor coding style and doxygenation changes.
+
+2004-03-26 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcmUtil.[cxx|h] split in two. Additional file gdcmDebug.[cxx|h]
+ now contains all the Debug related code.
+ * minor clean-up of includes in src/*.cxx
+ * src/gdcmUtil.[cxx|h] _cleanString C style function (replaced with
+ CreateCleanString) removed.
+ * src/gdcmUtil.[cxx|h] _CreateCleanString renamed to CreateCleanString
+ * Doc/DoxyMainPageUser.txt added.
+ * Doc/Doc/DoxyfileUsers updated to version 1.3.4 of Doxygen.
+ * src/gdcmCommon.h now defines getcwd for Win32 (moved away from
+ src/gdcmDirList.cxx)
+
+2004-03-24 Jean-Pierre Roux
+ * FIX a lot of little surface modifications to be doxygen 1.3.6 compliant
+
+2004-03-23 Jean-Pierre Roux
+ * FIX Now gdcmFile::SwapZone doesn't seg faults any longer for
+ big endian made volumes
+ * ENH Now gdcmParser constructor and destructor are protected to forbid
+ end user to instanciate class gdcmParser
+ (only gdcmHeader and gdcmDicomDir are meaningfull)
+
+2004-03-22 Benoit Regrain
+ * FIX : src/gdcmDicomDir.cxx : make windows compilable
+ * FIX : gdcmPython/gdcm.i : change gdcmStudy to gdcmDicomDirStudy and
+ gdcmSerie to gdcmDicomDirSerie
+
+2004-03-19 Jean-Pierre Roux
+ * ENH Now the tree-like structure describing a DICOMDIR comming from
+ an already existing DICOMDIR file is consistent with
+ the home-made tree-like structure build ex-nihilo
+ or build from the files held (recursively) in a Directory
+ functions gdcmDicomDir::CheckBoundaries()
+ gdcmObject::SetBoundaries() added
+
+2004-03-17 Jean-Pierre Roux
+ * REM (Eric Boix bug) : removal of meaningless
+ gdcmDicomDirImage::NewImage function.
+ * FIX now file names and directory name are written properly in the
+ DICOMDIR
+ * FIX now gdcmDicomDir constructor may be call without any trick
+ about the name
+
+2004-03-16 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * FIX (JPR bug) : src/gdcmDicomDirImage.cxx added missing definition
+ of gdcmDicomDirImage::NewImage as empty function.
+
+2004-02-28 Jean-Pierre Roux
+<<<<<<< ChangeLog
+ * ENH add gdcmDicomDir:NewPatient
+ add gdcmDicomDirPatient:NewStudy
+ add gdcmDicomDirStudy:NewSerie
+ add gdcmDicomDirSerie:NewImage
+ to allow making gdcDicomDir object.
+ * ADD PrintDicomDir executable that uses gdcmDicomDir tree-like structure
+ (as opposite to the gdcmHeader chained list)
+
+2004-02-11 Benoit Regrain
+ * FIX : memory leaks and the set of ArgDelete methods in gdcmDicomDir
+ when using from python
+
+2004-02-10 Benoit Regrain
+ * FIX : bug fix in the gdcmDirList for the recursivity in directories
+ * FIX : in gdcmDicomDir when the directory is empty
+ * ENH : add callback and methods to get the progression of dicomDir
+ directory parsing
+
+2004-02-06 Jean-Pierre Roux
+ * ENH : - now gdcmDicomDir::CreateDicomDir() returns also the meta elements
+ - GDCM_META added to gdcmDicomDirType
+ - class gdcmMeta created
+ * ENH : - A brief summary is now displayed at the beginning of
+ 'testDicomDir' to help disaster magnitude estimation
+ * REM : Now useless Test/explDICOMDIR.cxx
+
+2004-02-05 Benoit Regrain
+ * ENH : add methods in gdcmObject to get the hash table or the list of
+ header entries
+ * FIX : wrapping python for ListPatient, ListStudy, ListSerie, ListImage
+ * FIX : wrapping python for TagHeaderEntryHT
+
+2004-02-04 Benoit Regrain
+ * FIX : even length for some strings when writting the dicom dir
+ * FIX : sort the images in the dicom dir
+ * FIX : Bug fix for python use of dicom dir
+ * ADD : a python demo
+
+2004-02-04 Jean-Pierre Roux
+ * FIX : Final solution (?) for icone embedded images
+ * FIX : dicomVR.dic Overlay group is not *only* 6000, but 60xxx
+ (see http://medical.nema.org/dicom/2003/03_06PU.PDF)
+ add groups 6002, 6004, 6006, to allow 'clean' parsing of
+ gdcmData/gdcm-MR-SIEMENS-16.acr1
+ * ENH add gdcmData/checkWriteExplicit.sh gdcmData/checkWriteImplicit.sh
+ to make full checking easier
+
+2004-02-04 Benoit Regrain
+ * FIX : WriteEntries : coding style & logic in parameters
+ * FIX : Set the elements to create the DicomDir in a dictionary file
+
+2004-02-03 Benoit Regrain
+ * gdcmDirList : to parse a hard drive directory in recursive (or not)
+ * gdcmDicomDir : add the load of directory
+ * Bug fix and print add-on
+
+2004-02-03 Jean-Pierre Roux
+ * ENH gdcmParser : allows "DICM" files, with NO group '0002'
+ * FIX handling 'non string elements' unsecure area (LUT, overlays, etc)
+ * FIX Dicts/dicomV3.dic : Add a few missing 'group length' Elements
+ * FIX gdcmParser.cxx : 'group length' elements are now considered
+ as integers, even for shadow groups, when file is Implicit VR
+
+2004-02-02 Jean-Pierre Roux
+ * FIX : gdcmWrite : equal_range() for multimap doesn't return a 'second'
+ iterator on last
+ of the last synonym :-(
+ * FIX : gdcmWrite::WriteBase : method stops if Pixels not yet Read (except
+ for DICOMDIR ;-)
+ * ENH gdcmData/checkWrite.sh :modif for full check of Explicit VR writting
+ * FIX taking into account the possible 7fe0,0010 multiplicity
+ * FIX add GRPixel,NumPixel,countGrPixel (gdcmParser protected members)
+ to allow removal of references to 7fe0,0010, to deal with
+ ACR-NEMA images, when 0028,0200 is meaningfull
+
+2004-01-31 Jean-Pierre Roux
+ * FIX gdcmParser::WriteEntries : when a VR is tagged as 'Unknown'
+ no longer writes 'Un' on disk
+ * FIX SQ elements with actual length are now dealt with corectly
+ * FIX gdcmFile::WriteBase make the difference, for color images, between
+ the length (for Palette expanded images)
+ and Raw Length (non expanded image + Palette)
+ * FIX Dicts/dicomV3.dic : removal of 'CTX' (context dependant) VR
+ (that broke Write). Replaced by UL.
+ Aware user will reload the field if he
+ thinks it's necesssary
+
+2004-01-30 Jean-Pierre Roux
+ * gdcmParser::CheckSwap() now defaults the filetype to ACR
+ when 'dirty Acr' is found, to be compliant with the new
+ IsReadable() methods.
+
+ * gdcmHeaderHelper :add Pixel Type 'FD', for dealing with 'double' images.
+ (no DOUBLE images in kosher DICOM,
+ but so usefull for people that miss them ;-)
+
+ * add Test/testDicomDir.cxx, Test/makeDicomDir.cxx , Test/explDICOMDIR.cxx
+ DICOMDIR related utilities (not checked as Windoze compliant)
+
+2004-01-28 Jean-Pierre Roux
+ * upgrade GdcmHeaderEntry Print Method for DICOMDIR
+
+2004-01-27 Jean-Pierre Roux
+ * gdcmParser constructor has a new boolean param,'ignore_shadow',
+ to allow skipping the shadow elements, to save memory space.
+ The TRUE value for this param has to be used
+ with a FALSE value for the 'enable_sequence' param.
+ ('public elements' may be embedded in 'shadow Sequences')
+ * gdcmHeader methods now deal with 'embedded icones images' in the header
+ (even when an 'icone image sequence' is announced by the
+ element (0x0088,0x0200), but there is NO icone at all ...
+
+ * gdcmHeader sometimes Image Location value doesn't follow
+ the supposed processor endianity (see gdcmData/cr172241.dcm).
+ Fixed
+
+ * gdcmHeader add the method
+ IterHT GetHeaderEntrySameNumber(grPixel,numPixel);
+ to get *all* the Header Entries with the same tag.
+ GetHeaderEntrySameName is probabely *useless*
+ (no meaning : Name is *not* an identifier within the Dictionnary)
+
+2004-01-26 Benoit Regrain
+ * Bug fix in the print of hexadecimal representations. Remove long fields
+ in the print and add a third level of print to print them
+
+2004-01-23 Benoit Regrain
+ * Bug fix on field having a VR = 'UI'. Assume that is a string field
+ * Bug fix on test suite after remove the strip made on not string fields
+ * Split the IsReadable method between gdcmParser which test that the file
+ is dicom and gdcmHeader which test that it's an image file
+
+2004-01-22 Benoit Regrain
+ * DicomDir : clean code, add methods, set variables in protected or private
+ * gdcmUtil : bug fix for the clean string method
+
+2004-01-19 Benoit Regrain
+ * Add the use of shadow dictionaries
+ * bug fix and coding style
+
+2004-01-19 Benoit Regrain
+ * src/gdcmFile.cxx : bug fix concerning the close of file
+ * src/gdcmParser.[h|cxx] : remove obvious Pub informations
+ * Add the update of header entries using the shadow library
+
+2004-01-19 Benoit Regrain
+ * removal of file gdcmHeader2.cxx
+ * split class gdcmHeader into gdcmParser and gdcmHeader, with gdcmHeader
+ inheriting from gdcmParser. This split is to prepare the integration
+ of dicom dir parsing
+ * bug fix under python
+
+2004-01-16 Jean-Pierre Roux
+ * REM removal of class gdcmHeaderEntrySet
+ * REM removal of files gdcmHeaderEntrySet.cxx, gdcmHeaderEntrySet.h
+ * ADD add file gdcmHeader2.cxx
+ * ADD add method gdcmHeader::SetPrintLevel (for PrintHeader)
+
+2004-01-15 Benoit Regrain
+ * src/gdcmDicSet.[h|cxx] : add virtual entries to have a reference of
+ entries created while parsing the header. Thus, they will be destroyed
+ when the gdcmDictSet will be destroyed
+ * src/gdcmHeader.cxx, gdcmHeaderEntrySet.cxx : uses virtual entries of
+ gdcmDictSet
+
+2004-01-15 Benoit Regrain
+ * vtk/vtkGdcmReader.cxx : bug fix : before, with python only, the program
+ made a fatal error because of the memory release at the end of program.
+ The problem was in vtkGdcmReader::ExecuteData where we were allocate
+ some memory and vtk seems to have some problems with that.
+ * src/gdcmHeaderEntrySet.cxx : bug fix for std lib and cout
+
+2004-01-14 Benoit Regrain
+ * src/gdcmHeaderEntry.[h|cxx] : gdcmElValue -> gdcmHeaderEntry
+ * src/gdcmHeaderEntrySet.[h|cxx] : gdcmElValSet -> gdcmHeaderEntrySet
+ * src/*.[h|cxx] : make changes due to class name changes
+ * gdcmPython/demo/*.py : bug fix due to method names
+
+2004-01-13 Benoit Regrain
+ * src/*.[h|cxx] : coding style
+ * vtk/*.[h|cxx] : coding style
+
+2004-01-13 Benoit Regrain
+ * gdcmPython/testSuite.py : test the readable flag of file for tests
+ * src/gdcmDict.cxx, gdcmElValSet.cxx : bug fix under windows for prints.
+ It's lied to the stl compilation by MSVC (windows, always windows...)
+ * src/gdcmIdo.h, gdcmHeaderIdo.cxx : remove the Ido unused files
+
+2004-01-12 Benoit Regrain
+ * src/*.h : add comments
+ * src/gdcmDictSet.h : set the method BuildDictPath in public
+ * src/gdcmTS.cxx, gdcmVR.cxx : use now a dictionnary file other than to be
+ directly setted in the source code
+ * Dicts/dicomTS.dic, dicomVR.dic : 2 new dictionnary files loaded by
+ gdcmTS and gdcmVR
+
+2004-01-09 Benoit Regrain
+ * gdcmPython/gdcmVersion.py : add a gdcmVERSION variable information
+ * setup.py : use a reference to gdcmVERSION
+
+2004-01-07 Benoit Regrain
+ * Modification to compile with the distutils.
+ * Bug fix in code
+
+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 <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * 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 <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * ENH: vtkgdcmViewer now works with LUT dicom (OT-PAL-face ...)
+
+2003-11-05 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * 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 <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * ENH: Can be used like this '$vtkgdcmViewer *.dcm' with *.dcm
+ being coherents dicom files.
+
+2003-10-29 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * 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 <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Removal of ido stuff in CMakeLists.txt
+
+2003-10-24 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * 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 <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * 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 <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * 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 <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * 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 <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * 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 <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * 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 <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * 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 <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * 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 <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * 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 <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * 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 <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * 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 <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * 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 <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * 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 <Benoit.Regrain@creatis.insa-lyon.fr>
+ * 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 <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * 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 <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... future 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 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 <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...
+