+2004-04-30 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Add an example subdir, with a real example on how to read + write a
+ dicom image
+
+2004-04-30 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * Doc/gdcmUML.xmi added raw UML class view (umbrello format)
+ * Doc/CMakeLists.txt: the main page is now properly differentiated
+ between the developper and user version.
+ * Doc/doxygen.config.in: dropped search related obsolete flags
+ * src/gdcmParser.h, gdcmHeader.h: doxygenation
+
+2004-04-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * DEVELOPPER: added some helpfull comments for compile/test/install
+ when using cmake.
+
+2004-04-29 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * ENH: 1. Remove remp solution of gdcmTests.cxx+ gdcmMain directly in
+ src directory, now generated in the build dir.
+ 2. Tests as mentionned smarter
+ 3. Some clean up
+ 4. Add a new method in gdcmDict that return the PubDict by name
+ this is interesting for 3rd party lib like ITK,
+ where we could set the institution name / patient name...
+
+ * ENH: 1. Now the test suite is working for real
+ 2. All binaries are now output in the gdcm-bin directory
+ (this was not true before)
+
+2004-04-28 Jean-Pierre Roux
+ * ENH add the provisional gdcmHeader::SQDepthLevel to allow
+ SeQuence indented printing of Dicom Header.
+ * ENH merge methods gdcmParser::Parse and gdcmParser::LoadHeaderEntries
+ into the single gdcmParser::LoadHeaderEntries for efficiency purpose.
+ Computation of SQDepthLevel is now part of gdcmHeader constructor
+ * ENH add self defined param 'new' to PrintHeader to 'show' the SeQuence
+ tree-like structure of a Dicom Header.
+ * FIX Test code cleaning
+
+2004-04-25 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * ENH: Adding automatic testing
+ 1. Need a DartConfig.cmake to submit to public
+ 2. Add a test driver gdcmTest.cxx
+ 3. gdcmTestMain, an helper for the main test driver gdcmTest
+ 4. Files in Test don't have a main anymore, this becomes interesting
+ when we add more and more tests, thus dsw don't have to load
+ too many projects
+ * ENH: Adding a GDCM_DATA_ROOT for testing
+ * ENH: Remove redundancie about GDCM_DICT stuff, now we only need to modify
+ one file instead of seven + some small cleanup
+
+2004-04-22 Jean-Pierre Roux
+ * ENH Minor changes to the Print() methods.
+ * ADD gdcmParser::PrintEntryNiceSQ() to allow SQ-indented
+ Header printing. Example given with :
+ > PrintHeader fileName 2 new
+ (SQ based tree-like structure still to be done for the Header ...)
+
+2004-04-22 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * ENH: Some cosmetic clean up for compilation with -W -Wall -Werror
+ 1. I have added some unsigned where needed
+ 2. Some function parameter not used -> (void)
+ 3. In gdcmDicomDir.cxx, add GDCM_DICOMDIR_NONE case
+ 4. g++ don't like character '\' in comment
+ 5. #define jpeg_create_decompress jCreaDecompress
+ this really need to be fixed
+ 6. virtualize destructor of gdcmObject ... leakage
+ 7. sscanf(g->first.c_str(),"%x",&gr_bid);
+ this also really need to be fixed
+ 8. gdcm/src/jpeg/libijg8/CMakeLists.txt,
+ remove compression file
+ (as we only do decompression, right ?)
+ * ENH: Change malloc/calloc/free with c++ equivalent
+
+2004-04-21 Jean-Pierre Roux
+ * FIX gdcmHeaderHelper::GetXSpacing
+ when a single value is found (bug ?), xpacing is now
+ defaulted to yspacing
+
+2004-04-19 Jean-Pierre Roux
+ * ADD gdcmData/Wrist.pap (PAPYRUS 3.0 -single frame-) for checking purpose
+ * ENH add parameters :
+ bool exception_on_error = false,
+ bool enable_sequences = false,
+ bool ignore_shadow = false
+ to the gdcmFile constructors to be full gdcmParser compliant
+ * FIX vtk/vtkGdcmReader.cxx now uses enable_sequences = true in gdcmFile
+ to allow reading of PAPYRUS 3.0 files
+
+2004-04-06 Jean-Pierre Roux
+ * ADD gdcmData/E00001S03I0015.dcm for SQ checking purpose
+
+2004-04-02 Jean-Pierre Roux
+ * ADD : Test/checksequence.sh, for a general recap on SQ pb
+ * FIX : gdcmParser::WriteEntryTagVRLength emprovement of special treatement
+ for Philips spurious Tag fffe|0000 while rewritting Dicom files
+
+2004-03-30 Jean-Pierre Roux
+ * FIX gdcmParser::ReplaceOrCreateByNumber shouldn't seg fault any more
+ for ACR file, written out as DICOM files (hope so...)
+
+2004-03-30 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcmParser.[cxx|h] and gdcmHeader.[cxx.h]: gdcmHeader::Write split
+ in WriteEntryTagVRLength and WriteEntryValue. Those methods were
+ moved to base class gdcmParser and only the specialisation is kept
+ in gdcmHeader.
+ * src/gdcmParser.[cxx|h]: ReplaceOrCreateByNumber(char*, guint16, guint16)
+ trashed out (because ReplaceOrCreateByNumber(string, guint16, guint16)
+ already does the job.
+ * src/gdcmDicomDir.[cxx|h]: WriteDicomDirEntries renamed to WriteEntries
+ (to be consistent with gdcmParser::WriteEntries).
+
+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
+ * 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
+