]> Creatis software - gdcm.git/blobdiff - ChangeLog
Fix bug on SplitOnly
[gdcm.git] / ChangeLog
index 3a66c1681c2a0b5f8ace74ec8d55946a86080c59..80340b5d5face003db20bca271f3b9e1aff30a6c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+Sat Nov 12 09:59:24 EST 2005 by malaterre
+   * Some more update to the DICOMV3 dic. Tons of fix most of them should not
+        impact gdcm internal since VR/VM are not used...well except for SQ item
+        wich should explain some bizarre case :)
+        -> group 0000 is still in DICOMV3 dict whereas it should clearly be in
+        ACR-NEMA only.
+
+Mon Oct 24 13:34:45 EDT 2005 by malaterre
+   * Adding the OpenJPEG library. It contains a patch from Antonin compared to
+        the official release that allow us to work around the famous 16bits issues
+        in jasper
+
+Mon Oct 18 10:27:49 2005 by regrain
+   * Correctly use the VRKey for all vr variables... instead of TagName 
+     or std::string
+   * Replace the definition of VRKey from std::string to a class 
+     containing a char[2]. All methods are inline to have no speed low
+   * Create the GDCM_VRUNKNOWN = "  " for the VR values
+   
+Mon Oct 18 10:27:49 2005 by regrain
+   * Remove useless constructor of gdcm::Document
+   * Remove useless parameter in the constructor of gdcm::ElementSet
+   * Split gdcmCommon to separate the System specifications to the gdcm
+     specifications
+
+Mon Oct 18 10:27:49 2005 by regrain
+   * Minor coding-style clean up
+   * Replace the ContentEntry and its derived classes (BinEntry and ValEntry)
+     by the DataEntry. This unique entry considers all datas like binary datas.
+     Some methods are added to interpret - at fly - the binary datas.
+     Due to this important change, some methods of the DocEntrySet, concerning
+     the BinEntry and ValEntry classes, are erased ; and new methods for the
+     DataEntry class are created.
+     Some methods to set the ValEntry or the BinEntry are renamed to
+     correspond to the new DataEntry, like for example :
+      - SetValEntry -> SetEntryString
+      - SetBinEntry -> SetEntryBinArea
+     This change will remove all useless creation of the string when working
+     directly on values.
+
+Thu Aug 25 16:59:49 2005 by jpr
+   gdcmBinEntry.cxx
+   Now Print displays the BinEntry Content (if it's printable, and loaded)
+   Usefull for a lot od Implicit VR 'Bin'Entry (if we knew there VR, they wouldn't
+   be Bin ...)
+   Appreciate the difference having a look at PrintFile result for
+   gdcmData/SIEMENS_MAGNETOM-12-MONO2-FileSeq0.dcm.
+
+Thu Aug 25 16:55:47 2005 by jpr
+   gdcmUtil.cxx
+   Add methods to check the 'printability' of a bin area
+
+Thu Aug 25 15:45:40 2005  by jpr
+  gdcmBinEntry.cxx 
+  According to Mathieu's suggestion, Print now display FL BinEntries in a human
+  readable form
+
+Thu Aug 25 15:12:43 2005 by jpr
+   gdcmDocEntry.cxx
+   According to Mathieu's suggestion, *all* the elements 0x000
+   are now named 'Group Length' (even if they belong to a Shadow Group')
+
+Wed Aug 24 14:09:13 2005 by jpr
+  gdcmDocEntry.cxx,h, gdcmDocEntrySet.cxx,h
+  Removal of QD patch for Private Sequence + Immplicit VR.
+   Add a clean solution (Backtracking if an Item Starter is found
+    out of any SQItem)
+
+Tue Aug 23 14:57:49 2005 by jpr
+   gdcmDocument.cxx
+   Brutal patch, waiting till we find a clever way to guess
+   if a doc entry is a Sequence,
+        - when it's odd number
+                 - and the file is Implicit VR Transfert Syntax
+It solves temporarily some Philips Medical Systems image problems
+
+Mon Aug 22 18:17:54 200 by jpr
+   gdcmUtil.cxx
+   Save a *few* microseconds at run time : inline method Util::GetVersion()
+   ;-)
+
+Tue Aug 23 14:58:49 2005 by jpr
+   gdcmSeqEntry.cxx, gdcmDocEntry.cxx
+   Improve 'Print' methods
+
+Sat Aug 20 11:10:24 2005by jpr
+   TestWriteSimple.cxx
+   Use new style FileHelper contructor
+
+Sat Aug 20 11:04:50 2005 by jpr
+   gdcmFileHelper.cxx
+   FileHelper::Initialize() doesn't call GrabInformationFromFile(),
+   in order not to do the job twice when using new style FileHelper Constructor.
+
+Fri Aug 19 18:31:07 2005 by malaterre
+  gdcmCommon.h
+  ENH: Provide a GetVersion function, apparently need for python
+
+Fri Aug 19 15:12:15 2005 by jpr
+   gdcmFileHelper.cxx
+   Initialize UserFunction pointer to 0, even for 'deprecated' form 
+       of constructor.
+
+Sat Jul 30 20:27:00 2005 by jpr
+   gdcmFileHelper.cxx, gdcmPixelReadConvertor.cxx
+      User is now allowed to pass a Pointer to a function of his own
+      to allow modification of pixel order (i.e. : Mirror, TopDown, )
+      to gdcm::FileHeleper, using SetUserFunction(userSuppliedFunction)
+      described as : void userSuppliedFunction(uint8_t *im, gdcm::File *f);
+      NB : the "uint8_t *" type of first param is just for prototyping.
+        User will Cast it according what he founds with f->GetPixelType()
+        See ctkgdcmSerieViewer for an example
+
+Sat Jul 30 20:13:24 2005 by jpr
+   gdcmSerieHelper.cxx
+   Add SerieHelper::IsCoherent() method to allow checking that the files with same
+   Serie UID have the same sizes and pixel type.
+       
+Fri Jul 29 17:07:16 2005 by jpr
+   gdcmSerieHelper.cxx
+   User may now use
+      SetSortOrderToDirect() or SetSortOrderToReverse()
+   to choose the ways the File* will be sorted.
+
+Thu Jul 21 06:55:50 2005 by jpr
+   AnonymizeDicomDir.cxx, AnomymizeNoLoad.cxx, PrintFile.cxx, PrintDicomDir.cxx
+   Unify user interface
+
+Thu Jul 21 06:55:30 2005 by jpr
+   exSerieHelper.cxx
+   Add an example of use for SerieHelper
+
+Thu Jul 21 07:00:15 2005 by jpr
+   gdcmSerieHelper.cxx
+   Extend 'Restriction' syntax :
+   void SerieHelper::AddRestriction(uint16_t group, uint16_t elem,
+                                    std::string const &value, int op)
+   op belongs to :
+   /// \brief comparaison operators
+   enum CompOperators {
+      GDCM_EQUAL = 0,
+      GDCM_DIFFERENT,
+      GDCM_GREATER,
+      GDCM_GREATEROREQUAL,
+      GDCM_LESS,
+      GDCM_LESSOREQUAL
+   };
+
+Wed Jul 20 15:39:00 2005  by jpr
+   AnonymizeNoLoad.cxx
+   AnonymizeNoLoad user can now ask for anonymization of 'BinEntries'
+   (e.g. Private entries when the TS is Implict VR)
+   AnonymizeNoLoad filein=... rubout=0x0009-0x0001,0x0013-0x1100
+   Thx to Luca Picello for reporting pb and supplying data to fix the bug.
+
+Wed Jul 20 16:49:41 2005 by jpr
+   gdcmFile.cxx
+   Use GDCM_LEGACY for DicomDir, as well
+
+Wed Jul 20 15:31:01 2005 by jpr
+   gdcmFile.cxx
+   We can now anonymize 'BinEntries' as well
+
+Wed Jul 20 15:29:42 2005 by jpr
+   gdcmArgMgr.cxx
+   Add ArgMgrGetXInt16Enum to decode from the command line pairs of unsigned int
+   16, written in hexadecimal.
+   (usefull to allow terminal user to pass the (private) elements he wants to
+   anonymize)
+
+Tue Jul 19 17:25:53 2005  by jpr
+   gdcmFile.cxx
+   Add some comments on the 'Patient Position'
+
+Tue Jul 19 11:04:58 2005 by jpr
+   gdcmSerieHelper.cxx
+   Add SerieHelper::AddGdcmFile(File *header) method.
+    * \brief add a gdcm::File to the first (and supposed to be unique) list
+    *        of the gdcm::SerieHelper.
+    * \warning : this method should be used by aware users only!
+    *            User is supposed to know the files he want to deal with
+    *           and consider them they belong to the same Serie
+    *           (even if their Serie UID is different)
+    *           user will probabely OrderFileList() this list (actually, ordering
+    *           user choosen gdm::File is the sole interest of this method)
+    *           Moreover, using vtkGdcmReader::SetCoherentFileList() will avoid
+    *           vtkGdcmReader parsing twice the same files.
+    *           *no* coherence check is performed, but those specified
+    *           by SerieHelper::AddRestriction()
+
+Mon Jul 18 12:20:20 2005 by jpr
+   gdcmCommon.cxx
+   In order to prepare the future extension of SerieHelper::AddRestriction (key,
+   string, operator)
+   operator = { EQUAL, DIFFERENT, LESS, LESSOREQUAL, GREATER, GREATEROOREQUAL}
+   add method
+   bool Util::CompareDicomString(const std::string &s1, const char *s2, int op)
+
+Sun Jul 17 06:27:49 2005 by jpr
+   gdcmSerieHelper.cxx
+   Use new style for Loading files
+
+Tue Jul 12 19:08:12 2005 by jpr
+   gdcmCommon.cxx, gdcmSQItem.cxx
+   To speed up DicomDir, instead of copying -and removing the source afterwards-
+   each entry of the SQItem (found after gdcm::Document parsing) towards
+   the gdcm::Object  belonging to the gdcm::DicomDir, we just copy
+   the chained list itself.
+
+Tue Jul 12 16:55:43 2005 by jpr
+   AnonymizeNoLoad.cxx
+   AnonymizeNoLoad has now one more option :
+   dirin=
+   to give the (single Patient) directory name whose content we want to anonymize.
+
+Mon Jul 11 10:20:25 2005 by jpr
+   gdcmDicomDirStudy.cxx
+   Reorder methods
+
+Fri Jul 8 21:07:12 2005 by jpr
+   gdcmDicomDir...
+   Add the VISIT object within DicomDir
+
+Fri Jul 8 12:15:08 2005 by jpr
+   gdcmDicomDir...
+   Use new style for DicomDir loading
+
+Fri Jul 8 16:36:48 2005 by jpr
+   gdcmFileHelper.cxx
+   To remain unimpared, gdcm::FileHelper class needs also its
+   void FileHelper::SetLoadMode(int loadMode)
+   void FileHelper::SetFileName(std::string const &fileName)
+   bool FileHelper::Load()
+
+Thu Jul 7 19:31:53 2005 by jpr
+   Example/*.cxx
+   Begin of kosherization of Example
+   New 'gdcm2' style.
+
+Thu Jul 7 18:37:40 2005 by jpr
+   gdcmDocument.cxx
+   On the way to gdcm2 ...
+   Now, the stand way to use a file is :
+   gdcm::File *f = new gdcm::File();
+   f->SetLoadMode ( user say here what he wants *not* to load );
+   f->SetFileName("myFile.gdcm");
+   f->Load();
+   Old styles are kept, not to break the C++ API.
+      - gdcm::File *f = new gdcm::File("myFile.gdcm");
+      - f->Load("myFile.gdcm");
+   Due to the syntaxic abilities of Python maybe some troubles will occur
+   (not sure ...)
+
+Thu Jul 7 15:55:39 2005 by jpr
+  gdcmDocument.cxx
+  Comment out the time consuming, never used/useless
+  'Extended tag' stuff for Sequence embedded Entries
+
+Thu Jul 7 15:11:38 2005 by jpr
+  gdcmDocument.cxx
+  Move code lines LTTG so save some CPU time.
+  (hope so)
+
+Tue Jun 7 13:12:10 2005 CEST by jpr
+   Example/*.cxx
+   Use Argument Manager in 'utilities'
+
+Thu Jul 7 12:12:32 2005 by jpr
+   gdcmFile.cxx
+   Due to something stupid in the gdcm::File constructor, the file was parsed 
+   twice when we used old style, e.g :
+   gdcm::File *f = new gdcm::File(fileName);
+   instead of new style, e.g. :
+   gdcm::File *f = new gdcm::File( );
+   f->SetLoadMode ( choose what you want *not* to load here );
+   f->Load( filename );
+
+Wed Jul 6 11:53:43 2005 by jpr
+   TestAllReadCompareDicom.cxx, TestReadWriteReadCompare.cxx
+   Now TestAllReadCompareDicom.cxx TestReadWriteReadCompare.cxx accept a third
+   param, in order not to have to recompile to gdcm::Debug::DebugOn().
+
+Wed Jul 6 17:18:42 2005 by jpr
+   gdcmDocument.cxx
+   According to Mathieu's requirement, Load twice the same file keeps the rseult of
+   the first Load (instead of doing it twice)
+
+Wed Jul 6 11:25:12 2005 by jpr
+   gdcmDocument.cxx
+   - Clean out the Entries if a Document is parsed more than once
+   - Uncomment (usefull) warning messages
+
+Wed Jul 6 10:42:33 2005 by jpr
+   gdcmDocument.cxx
+   - Comment out a for the moment too much verbose warning message.
+   - Delay some statement as late as possible, to save some CPU time when they're
+     useless
+  
+Wed Jul 6 13:01:08 2005 by jpr
+   gdcmFile.cxx
+   Now gdcmFile::Load() returns false if file is not gdcm parsable
+   Only gdcmDocument::Load() did it, before.
+   Thx to Benoit for reporting bug
+
+Sun Jul 3 14:42:04 2005 by jpr
+   gdcmDocument.cxx
+   Should avoid some troubles with 'no length' SQItems within 'true length'
+   Sequences.
+   Thx to Loic Boussel for providing data to fix the bug.
+
+Sun Jul 3 14:42:04 2005 by jpr
+   gdcmDocument.cxx
+   Should avoid some troubles with 'no length' SQItems within 'true length'
+   Sequences.
+   Thx to Loic Boussel for providing data to fix the bug.
+
+Sun Jul 3 14:47:23 2005 by jpr 
+   gdcmSQItem.cxx
+   Enh warning message
+
+Fri Jul 1 13:25:51 2005 by jpr
+   gdcmPixelReadConvert.cxx
+   Initialize RLEInfo and JPEGInfo to 0 a avoid further problems
+   (e.g. PrintFile on a DICOMDIR document)
+
+Thu Jun 30 16:49:02 2005 by jpr
+   gdcmFile.cxx
+   Enhance gdcm::File::IsReable() heuristics to be able to process some Loic
+   Boussel's Hall of Shame Dicom images
+
+Wed Jun 29 17:58:33 2005 by jpr
+   gdcmDocument.cxx
+   Add the NO_SHADOWSEQ load mode
+
+2005-06-26 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+    * Quite a few new dictionaries were added in gdcm. The file:
+      gdcm/Dict/README should always explain were the info was found
+      (in case of double check). Also some dict are still only
+      express as 'template' (they contain 'xx'), therefore
+      a python script should be run first to generate a full dict.
+      In the longer term this python script should be replaced by
+      a cmake script.
+
+2005-06-25 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * dicomV3.dic is deprecated in favor of gdcm.dic
+     There is now a dictionary per family:
+     - dicomV3.dic -> DICOM V3
+     - Papyrus.dic -> Papyrus
+     - NIH.dic     -> tags that were never allowed in the main standard
+
+Fri Jun 24 12:50:20 2005 CEST by jpr
+   gdcmFile.cxx
+   Pixel Spacing related problems : update comments.
+   Thx to D. Clunie for providing data to check the code
+
+Fri Jun 24 12:55:58 2005 by jpr
+   Summer nights are really too hot to sleep.
+   Coding style : kosherization of all the 'if's (300 amongst 900 were haram)
+
+Thu Jun 23 11:20:23 2005 by jpr
+   gdcmDocument.cxx
+   Extend warning message, for debugging purpose
+
+Wed Jun 22 10:11:23 2005 by jpr
+   gdcmFile.cxx
+   Coding Style
+
+Wed Jun 22 10:00:29 2005  by jpr
+   gdcmPixelReadConvert.cxx
+   Fix misstyping, while removing spurious \t characters
+
+Wed Jun 22 09:52:32 2005 by jpr
+   gdcmPixelReadConvert.cxx
+   Some constructors (at least one ...) use BitsAllocated =! BitsStored for
+   negative Pixels.
+   That break at lot of viewers ...
+   We now *propagate the sign bit* upon the unused ones, better than masking them
+   out.
+   Thx to Luca Picello for profiding data to fix the bug
+
+Wed Jun 22 09:53:52 2005 by jpr
+   gdcmFileHelper.cxx
+   gdcm images are now "GDCM 1.1" built.
+
+Mon Jun 20 19:10:17 2005 by jpr
+   gdcmFileHelper.cxx
+   Avoid re writing Palette Color Lookup Table UID when Palette Color is removed
+
+Mon Jun 20 17:58:53 2005 by jpr
+   gdcmDocument.cxx
+   Preventive bug fix for LUT Data.
+   I said : LUT Date, *not* Palette Color
+
+Sun Jun 19 17:57:29 2005 by jpr
+   gdcmDocumentcxx
+   To avoid warnings at compile time
+
+Fri Jun 17 14:27:52 2005 by jpr
+   gdcmRLEFrames.cxx
+   Try to solve RLE pb
+
+Fri Jun 17 14:36:07 2005 by jpr
+   gdcmDocument.cxx
+   Add comments
+
+Fri Jun 17 14:35:00 2005 by jpr
+   gdcmFileHelper.cxx
+   Add some accessors for debugging purpose
+
+Tue Jun 14 15:56:41 2005 by jpr
+   gdcmPixelReadConvert.cxx
+   Now gdcm deals with 16 bits per pixel images with 16 bits Palette colors
+   (3 * 65536 short int ...)
+   Nice fat header.
+   "Segmented Palettes" pb still pending, but I never saw any viewer dealing with it.
+
+Mon Jun 13 17:43:48 2005 by jpr
+   gdcmPixelReadConvert.cxx
+   Some more oddities dealt with.
+   Doesn't work yet with 65536 entries 16 Bits LUT (?!?), with 16 bits pixels.
+   Still looking for accurate info on the web about it
+
+Fri Jun 10 16:05:38 2005 by jpr
+   gdcmDocument.cxx
+   Bug fix in Load method.
+   Thx to Benoit for providing fix.
+2005-06-08 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmUtil.cxx : change call to Util::Format to sprintf because of 
+     lantency with the Util::Format function
+
+Tue Jun 7 15:48:35 2005 by jpr
+   gdcmUtil.cxx
+   The highy time consuming method GetMacAdress is now called just once
+
+Tue Jun 7 11:58:29 2005 by jpr
+   gdcmDicomDirElement.cxx
+   Use TranslateToKey better than Format
+
+Tue Jun 7 12:07:20 by jpr
+   gdcmDictEntry.cxx
+   Remove some spurious calls to Format
+   // according to 'Purify', TranslateToKey is one of the most
+   // time consuming methods.
+   // Let's try to shorten it !
+
+Mon Jun 6 14:37:58 2005
+   class ArgMgr (for Arguments Manager) is designed for
+       command line arguments management
+       (to make programmer's live easier)
+       (could be used for any kind of 'command line program')
+
+2005-06-07 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Adding users file in CVSROOT for mail blaming 
+
+2005-06-04 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Adding potential support for JPEG-LS DICOM files.
+
+Fri Jun 3 18:05:23 2005 by jpr
+   gdcmDocument.cxx
+   Fix VR processing, to be CP-288 conform.
+   Now we can parse any kind of DICOM SR.
+
+Fri Jun 3 11:05:15 2005 by jpr
+   gdcmDocument.h
+   Doxygenation
+
+Thu Jun 2 15:42:18 2005 by jpr
+  gdcmDocument.cxx
+   Add warning about Load Mode
+
+Thu Jun 2 16:20:14 2005 by jpr
+   gdcmFile.cxx
+   Harden gdcm::File::IsReadable(), in order not to be confused any longer
+   by lost of Pixel Element
+
+Fri May 27 12:51:00 2005 by jpr
+   gdcmFileHelper.cxx
+   To avoid pushing out twice the meta elements, wile trying to write 'ACR-NEMA-
+   style.
+   And avoid some memry leaks -hope so-
+
+Wed May 25 14:54:17 2005 by jpr
+   gdcmDocument.cxx
+   Should avoid some memory leaks
+
+2005-05-22 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Adding potential support for mpeg and jpeg2000 through two new lin
+    - JasPer for JPEG2000
+    - libmpeg2 from the MPEG consortium
+    Also adding intial work to use this lib.
+
+Fri May 20 10:27:55 2005 by jpr
+   gdcmFileHelper.cxx
+   To avoid warning.
+   (this time, it's wasn't dangerous at run time)
+
+Thu May 19 17:31:21 2005 by jpr
+   gdcmFileHelper.cxx
+   FIX possible troubles when checking
+     'Hight Bit Position' vs 'Bits Allocated' and 'Bits Stored'
+   Thx to Mathieu for reporting bug
+
+Wed May 18 12:12:07 2005 by jpr
+   gdcmDocument.cxx
+   Fix : now dcm deals with 'No preamble', Big Endian Explicit VR group 0002.
+   Thx to Dennis Hu for providing a sample image to fix the bug.
+
+Tue May 17 14:44:09 2005 by jpr
+   gdcmFile.cxx
+   ENH : According to David Clunie's advice, we check now 'Imager Pixel Spacing'
+      before 'Pixel Spacing', when we want to get X or Y Spacing.
+
+Tue May 17 19:10:49 2005 by jpr
+   gdcmFileHelper.cxx
+   ENH : Now, FileHelper::CheckMandatoryElements() makes some consistency checking,
+         at LTTG (Least Time To Go)
+         around Bits Allocated, Bits Stored, High Bit Position,
+         to avoid unaware user to mess up the stuff.
+
+Tue May 3 11:43:04 2005 by jpr
+   gdcmDicomDir.h, .cxx
+   Load returns now a bool (allow user not to call IsReadable() )
+
+Tue May 3 11:51:06 2005by jpr
+   gdcmFileHelper.cxx
+   Now the gdcm::File remains unimpaired after writting, in any case
+
+Fri Apr 29 17:10:55 2005by jpr
+   gdcmDocument.cxx
+   Don't abort the prog when File not open
+
+Wed Apr 27 12:00:35 2005 by jpr
+   gdcmFile.cxx
+   Removal of now useless lut-related stuff
+
+Wed Apr 27 11:52:27 2005 by jpr
+   gdcmFile.cxx
+   Pb of 'Bits Allocated = 12' is now dealt with in
+   FileHelper::CheckMandatoryElements, no longer in File::Write.
+   Thx to Mathieu for reporting bug.
+
+2005-04-26 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Testing/TestAllReadCompareDicom.cxx : update the test printed results and
+     description.
+
+Tue Apr 26 18:18:23 2005 by jpr
+   gdcmDocument.cxx
+   Should leave gdcm::Document constructor in a much quicker
+   and much cleaner way when anything wrong occurs.
+
+Tue Apr 26 18:25:49 2005 by jpr
+   gdcmPixelReadConvert.cxx
+   Prepare MPEG Dicom encapsulated processing (within a loooong future)
+
+Fri Apr 22 14:59:58 2005 by jpr
+   gdcmDocument.cxx
+   Modify Print() output
+
+Fri Apr 22 15:37:57 2005  by jpr
+   gdcmTS.cxx
+   Prepare (future) MPEG integration
+
+Thu Apr 21 09:40:00 2005 by jpr
+   gdcmTS.cxx
+   Taking into account Dicom MPEG
+
+2005-04-20 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * FIX : Numerical exception on borland (cannot divide by 0, doh !)
+         But this is a case where we should really signify the user there is
+         few chance the serie is really a serie...
+
+2005-04-20 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * FIX : on X, the python part is correctly installed. All files are
+     installed in gdcm sub-directory
+
+Tue Apr 19 11:58:19 2005 by jpr
+   gdcmDocEntry
+   Should suppress some warnings from Borland compiler
+
+2005-04-19 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Builder/ : add something to facilitate the RPM creation of gdcm
+
+2005-04-15 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Fix gdcmDirList::IsDirectory. Apparently borland did not like the ending
+     '/'
+   * Also fix compilation on gcc 3.3.5 does not have ios::failure either ...
+
+Thu Apr 14 16:26:19 2005 by jpr
+   gdcmDicomDir.h, .cxx
+   Now, user can ask gdcm::DicomDir to skip SeqEntries or shadow groups, when
+   possible :
+     // Old style (still available) :
+     dcmdir = new gdcm::DicomDir(dirName, true);
+
+    // new style (user is allowed no to load Sequences an/or Shadow Groups)
+    dcmdir = new gdcm::DicomDir( );
+    dcmdir->SetParseDir(true);
+    dcmdir->SetLoadMode(NO_SEQ | NO_SHADOW);
+    dcmdir->Load(dirName);
+
+2005-04-11 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * vtk/vtkGdcmWriter fix bug when writing spacing. The Y spacing comes first
+     then the X spacing.
+    * Fix compilation on gcc 2.96 (which does not have ios::failure)
+
+Mon Apr 4 17:15:24 2005 by jpr
+   gdcmFileHelper.cxx
+   Fix stupid bug when writting ACR-NEMA image from 'ACR-LibIDO' one.
+
+2005-04-05 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDictGroupName.[h|cxx] : add a correlation between a group (number)
+     and it's representation name (for the NIH)
+
+2005-03-31 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmPixelReadConvert.cxx : problems of around of double to uint8, when
+     conversion of YBR to RGB pixels. So, now, the conversion is made using 
+     integers only
+
+2005-03-30 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Testing/TestAllReadCompareDicom.cxx : now use test files (invented file
+     format) to replace 'at-run' dicom files generated by the 
+     TestAllReadCompareDicom test
+
+Tue Mar 22 12:29:37 2005 by jpr
+   gdcmDocument.cxx
+   * FIX : element 0x0000 of shadow groups is now force to a ValEntry, 
+     and it's VR is forced to UL
+   * ENH : user id now allowed to tell he doesn't want to deal with Sequences
+      and/or with Shadow groups
+      use SetLoadMode (NO_SEQ | NO-SHADOW);
+
+Tue Mar 22 12:40:13 2005 by jpr
+   gdcmFileHelper.cxx
+   *FIX Restore pushed out elements
+
+Fri Mar 11 12:08:31 2005 by jpr
+   gdcmDocEntry.cxx
+   Remove spurious #define MAX_SIZE_PRINT_ELEMENT_VALUE
+
+Fri Mar 11 12:12:13 2005 by jpr
+   gdcmFile.cxx
+   Final removal of gdcmFileHelper::InitializeDefaultFile();
+
+Wed Mar 9 20:29:38 2005 by jpr
+   gdcmDicomDir.h, .cxx
+   Add Anonymize method (not yet fully checked)
+
+2005-03-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmFileHelper.cxx : remove memory leaks and bugs when writing files
+
+Wed Mar 2 18:18:32 2005by jpr
+   gdcmFile.cxx
+   Fix gdcm::FileHelper::CheckMandatoryElements() to take into account David
+   Clunie's remarks.
+
+2005-02-22 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmFileHelper.cxx : JPR bad personal choices fix
+
+Mon Feb 21 18:45:41 2005 by jpr
+   gdcmFileHelper.cxx
+   * Replace method CheckMetaElements by CheckManadatoryElements
+     To deal with the pb of UID's, and with Type 1 an Type 2 Entries
+     (probabely some stuff still missing)
+   * We shall have to decide the way we proceed to allow user 'freeze' Serie UID
+      between a given call and the next one (to add images to a Serie he just
+      created)
+  * We shall have to decide the way we proceed to allow user 'freeze' Study UID
+      between a given call and the next one, or to reuse an already existing
+      Study UID (i he wants to add his own Series to an already existing Study)
+
+Thu Feb 17 17:18:33 2005 by jpr
+   gdcmFile.cxx
+   To avoid further pb, Initialize defaults now Photochromatic Interpretation to
+   MONOCHROME2 (low values = dark), better than MONOCHRONE1.
+   Thx to Benoit for reporting bug
+
+Thu Feb 17 11:56:20 2005 by jpr
+   gdcmUtil.cxx
+   Prepare FileMetaInformationVersion (group 0002) management
+
+Thu Feb 17 12:02:47 2005 by jpr
+   gdcmFile.cxx
+   Group 0002 management
+
+Thu Feb 17 12:03:32 2005 by jpr
+   gdcmDocEntryArchive.cxx
+   Fix comments
+
+Wed Feb 16 11:19:19 2005 CET by jpr
+   gdcmPixelReadConvert.cxx
+   Taking into account MONOCHROME1 + Signed Pixels (?!)
+
+Tue Feb 15 19:12:34 2005  by jpr
+   gdcmFile.cxx
+   Taking into account the difference between MONOCHROME1 (low values = bright)
+   and MONOCHROME2 (low values = dark)
+
+Mon Feb 14 11:45:04 2005by jpr
+   gdcmDocument.cxx
+   Remove some useless mask operations, to save CPU time
+
+Mon Feb 14 15:51:10 2005 by jpr
+   gdcmUtil.cxx
+   *never* forget to re-compile just *before* committing!
+
+Mon Feb 14 15:34:27 2005 by jpr
+   gdcmUtil.cxx
+   First commit on the post 1.0 (Version? / Tag? / Branch?) :
+   Fix Doxygen warnings
+
+Mon Feb 14 11:45:47 2005 by jpr
+   gdcmValEntry.cxx
+   remove useless comments
+
+2005-02-11 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Testing/TestMAkeIcon.cxx : complete the test
+
+2005-02-10 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Testing/TestWriteSimple.cxx, TestSequence.cxx : fix memory leaks
+
+Fri Feb 11 16:22:18 2005 by jpr
+   gdcmDocEntrySet.cxx
+   Typo, comments, doxygenation
+
+Thu Feb 10 11:55:26 2005 by jpr
+   gdcmFile.cxx
+   AnonymizeNoLoad improvement
+
+Thu Feb 10 10:07:19 2005 by jpr
+   gdcmFile.cxx
+   Duplicate Matthieu's hack to prevent bombing in Anonymize
+
+Thu Feb 10 12:20:34 2005by jpr
+   gdcmDocEntrySrt.cxx
+   The following gdcm::DocEntrySet methods, no re-definable is child classes are no
+   longer virtual
+    virtual ValEntry *GetValEntry(uint16_t group, uint16_t elem);
+    virtual BinEntry *GetBinEntry(uint16_t group, uint16_t elem);
+    virtual SeqEntry *GetSeqEntry(uint16_t group, uint16_t elem);
+    virtual bool SetValEntry(std::string const &content,
+    virtual bool SetBinEntry(uint8_t *content, int lgth,
+    virtual bool SetValEntry(std::string const &content, ValEntry *entry);
+    virtual bool SetBinEntry(uint8_t *content, int lgth, BinEntry *entry);
+    virtual ValEntry *InsertValEntry(std::string const &value,
+    virtual BinEntry *InsertBinEntry(uint8_t *binArea, int lgth,
+    virtual SeqEntry *InsertSeqEntry(uint16_t group, uint16_t elem);
+
+2005-02-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmFileHelper.[h|cxx] : now correctly set the VR of the datas when 
+     writting the file
+
+2005-02-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Test/VTKTestWriteSeq.cxx : add a VTK test to write sequences
+
+2005-02-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Test/ : accelerate tests (it's not very significant accelerations).
+     Remove TestCopyDicom that is redundant with TestCopyRescaleDicom
+
+Mon Feb 7 15:48:34 2005 by jpr
+   gdcmDicomDir.h, .cxx
+   Add some commented out lines to prepare future version of 'Full DICOMDIR' stuff
+
+
+2005-02-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Testing/TestSequence.cxx : add test for sequences of images... test that
+     we have the same serie or the same study UID
+
+2005-02-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * gdcmPython/gdcm.i : bug fix. Now string are correctly converted in python
+     string type
+   * src/gdcmDict.h : remove commented code
+   * src/gdcmDocument.cxx : initialize values
+   * src/gdcmFile.cxx : bug fix when reading values
+   * gdcmPython/demo/ : change file names. Remove useless files
+
+Sun Feb 6 15:31:09 2005 by jpr
+   gdcmDicomDirStudy.h
+   Update comments for DicomDir stuff
+
+Sun Feb 6 15:39:35 2005 by jpr
+   gdcmDocument.cxx
+   * Add method File::AnonymizeNoLoad, to allow anomymizing files
+           even when the pixels are not gdcm Readable
+    * Add methods File::AddAnonymizeElement and File::ClearAnonymizeList
+            to allow user to choose the elements whose value
+            he wants to white out / replace
+
+2005-02-04 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmFile.cxx : remove the default array of initialization.
+     The static array contained pointers to non-static values (comming from
+     strings). To have coherences, when creating files, these values can't be
+     static. So, the array can't be static, too ! To simplify, the array have
+     been replaced by repeted lines to insert values in the File
+
+Fri Feb 4 15:49:01 2005 by jpr
+   gdcmDocEntry.cxx
+   * Add GetFirstValEntry + GetNextValEntry, for Python users
+   * Some more Doxygenation + typo fixing
+
+2005-02-03 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmBinEntry.cxx : bug fix for BIG_ENDIAN part when writing the content
+   * gdcmPython/gdcm.i : rename gdcmHeader to gdcmHelper
+
+Thu Feb 3 18:12:46 2005 by jpr
+   gdcmPixelReadConvert.cxx
+   Fix Doxygen warning
+
+2005-02-02 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * FIX SQItem::AddEntry inserts now *in the right place* any Entry
+              (Dicom Element) into the Sequence Item
+
+2005-01-31 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/*.cxx : first parss to normalize file organisation
+
+2005-01-31 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDirList.[h|cxx] : add method to find a directory
+   * Test/TestAllReadCompareDicom.cxx : bug fix under Windows
+
+2005-01-31 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Finish cleaning up my JPEG mess. Should be ok now.
+   * Getting toward a RLE very similar to JPEG. Every RLE stuff is now self
+      contained within the RLE* class(doh!)
+
+2005-01-30 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * SerieHeader::SetDirectory() allow recursive exploration of the Directory
+   * SerieHeader::AddFileName() creates as many Coherent Files lists 
+             (same Serie UID) as it founds different Serie UID 
+              amongst the files instead of discarting any file 
+             that doesn't match with the first one he found.
+    * SerieHeader::OrderGdcmFileList has now one parameter : 
+               the Coherent Files list the user wants to sort
+   * SerieHeader::GetFirstCoherentFileList()  |
+   * SerieHeader::GetLastCoherentFileList()   | allow to parse 
+               the set of Coherent Files lists 
+   * const SerieHeader::GdcmFileList &GetGdcmFileList() is kept, for backwards
+               compatibility (it returns the *first* Coherent Files list, 
+               since there was only one before)
+   * Test/TestSerieHeader gets gdcmData as a default root directory
+  
+2005-01-28 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Remove friend between DocEntry and File classes
+   * Remove friend between PixelReadConverter and RLEFramesInfo, 
+     JPEGFragmentsInfo
+
+2005-01-28 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmFile.cxx, gdcmDocument.cxx : fix the bug on the group|element
+     0002|0000. The value was incorrect.
+
+2005-01-28 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * vtk/vtkGdcmWriter.[h|cxx] : add the gestion of UID
+
+2005-01-28 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmUtil.cxx : compilation fix on Win32
+   * src/gdcmUtil.[h|cxx] : Set the default GDCM UID in a static constant
+     variable, to be easy found. Add methods to change the default UID.
+     Amelioration of the CreateUniqueUID to use the correct default UID.
+   * src/gdcmFile.cxx : correct use of the CreateUniqueUID method to create
+     a new file
+
+2005-01-28 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Test/TestVR.cxx : fix memory leaks
+
+2005-01-27 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Rewrite the base 256 to base 10 conversion, using string operation only.
+     This allows us to get rid of the problematic 64bits integer type (does not
+     always exist on target platform).
+
+2005-01-27 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * Add construct and destructor to class gdcm::Debug to close the debug file
+          automatically
+   * Don't let uset to open twice the same file
+   * gdcm has now an official UID prefix,
+          supplied by http://www.medicalconnections.co.uk
+          1.2.826.0.1.3680043.2.1143
+          (Thx to Mathieu for providing URL)
+   * Add a forty-entries private Dicom Dictionary (Philips MR Intera)
+         to be able to perform some more tests
+   * gdcm::ContentEntry : Contructors and Destructor are now protected,
+         in order to be sure no user will try to use them.
+         (at user level, only the children classes are meaningfull)
+
+2005-01-26 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * move RLEInfo & JPEGInfo from Document to File
+
+2005-01-26 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * FIX : remove so many friend between classes
+
+2005-01-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDocEntrySet.cxx : Bug fix when getting the value
+   * src/gdcmContentEntry.[h|cxx], gdcmValEntry.cxx : amelioration of code
+
+2005-01-25 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   In order to avoid missbehaviour :
+   . gdcm::DocEntry is now specialized in
+     - gdcm::SeqEntry (Dicom Sequence) as opposed to :
+     - gdcm::ContentEntry (Dicom entry with a 'content')
+   . gdcm::ContentEntry is specialized in
+     - gdcm::ValEntry (Dicom entry with a std::string representable value, i.e.
+       characters value, or integers)
+     - gdcm::BinEntry (Dicom entry with a non strig representable value
+   (user hasn't any longer to thing about the precedence of his dynamic_casts)
+
+2005-01-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Test/VTKTest*.cxx : bug fix under linux
+
+2005-01-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/ : rename some methods on Entry (SetXxx, InsertXxx) to have a better
+     use with python. Some methods are moved from Document to ElementSet or
+     DocEntrySet. The equivalent methods to ElementSet have been added to 
+     SQItem and are virtual in DocEntrySet. Methods that may have the same code
+     in SQItem and ElementSet is directly placed in DocEntrySet
+
+2005-01-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Test/VTKTest*.cxx : remove the show variable in each test method because
+     it's useless (the viewer variable replace this variable)
+
+2005-01-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDocument.cxx : bug fix on potential memory leak
+   * src/gdcmSQItem.cxx : initialize the SQItemNumber value in the constructor
+   * src/gdcmSQItem.[h|cxx], gdcmElementSet.[h|cxx], gdcmDicomDir*.[h|cxx] : 
+     Add ClearXxx methods to remove all the content of the list or map
+   * gdcmDocEntrySet.h : add GetFirst/NextEntry in pure virtual
+
+2005-01-25 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * methods ReplaceOrCreate renamed as Insert
+     (nobody will be any longer confused by 'CreateOrReplace')
+  
+2005-01-24 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Grealty simplify the JPEg decompression, no need to differenciate based on 
+     the JPEG possible type (with/without fragment, with/without multiple frame). 
+     Everything is done throught the JPEG IO Suspension mechanism in IJG
+
+2005-01-24 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * Stage 3 of normalization :
+     in order to avoid any missunderstanding while reading method names :
+     - All the methods xxxEntry now deal with dicom Entries
+     - Methods GetEntry splitted into
+        GetEntryValue
+        GetEntryBinArea
+     - Method SetEntry renamed as SetEntryValue
+     - Method SetEntryBinArea let as it was
+
+2005-01-24 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+    - Add empty nutshell for JPEG-LS (JPG-LS in NOT jpeg 'lossless')
+    - Position correctly the entry points for JPEG2000 and JPEG-LS
+      (Now Fragments info is get from the file, even for JPEG2000 and JPEG-LS)
+
+2005-01-22 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDicomDirElement.h, gdcmDict.h : rename AddNewXxx methods to AddXxx.
+   * src/gdcmDict.h : rename GetDictEntry moethod to GetEntry, to be coherent 
+     with other method names
+   * gdcmPython/gdcm.i : bug fix. Add the typemaps for the TagName type
+   * Test/TestDicomDirElement.cxx : add new test
+
+2005-01-22 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Finish the CreateUniqueUID stuff. Seems to compiled/runs on every
+     plateforms ITK support. Had some troubles with uint64_t on Win32, go to
+     http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_langref_data_type_ranges.asp
+     for more info. Basically you can not used 'unsigned' __int8 in an ostream.
+     So can't you use __int64 in ostream at all.
+
+2005-01-22 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * bug fix for compilation on MSVC6
+   * gdcmPython/gdcm.i : rename of classes missed
+
+2005-01-21 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * Stage 2 of names normalization :
+     - A gdcm::Document is now either a gdcm::DicomDir or a gdcm::File
+       (easy to understand ...)
+     - gdcm::FileHelper replaces old class gdcm::File
+
+2005-01-20 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * gdcmDicomDirElement.[h|cxx] : change the AddEntry method. Now, it gets a
+     type and not a string. So, there remove problems on the format of the
+     string.
+
+2005-01-20 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * Add Example/TestPapyrus.cxx
+     - reads a Papyrus file (gdcm::Header compliant),
+     - gets the pixels of all the images, using low level iterators
+     - writes an multiframes Dicom image.
+   (Just to show it's *possible* to do that)
+    Uses SQItems accessors (we could use it as a 'Test' program, to improve test
+    coverage ...)
+
+2005-01-20 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDicomDirObject.h : set the FillObject method in protected.
+     Thus, DicomDirXXX are created with a flad that indicates if the created
+     object is empty or not (when not empty, the DicomDirElement is used to
+     fill the object)
+
+2005-01-20 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDicomDir.cxx : simplify the NewPatient method, like made in
+     gdcm::DicomDirPatient, gdcm::DicomDirStudy, gdcm::DicomDirSerie
+
+2005-01-20 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmSQItem[h|cxx] : rename some methods to have coherent names
+
+2005-01-20 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDicomDir*.[h|cxx] : rename methods to be logik in their name.
+     Remove all access to the hash-tables or lists in the objects.
+
+2005-01-20 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDebug.h : remove the Debug test in the gdcmErrorMacro
+   * src/gdcmDocument.[h|cxx] : rename the Initialise method to Initialize, to
+     be complient with all the gdcm source code
+
+2005-01-19 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDocEntry.h : DocEntry is now secure. User can't change the
+     DictEntry or the VR.
+
+2005-01-19 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * gdcmPython/ : change GDCM_DATA_PATH to GDCM_DATA_ROOT to be complient with
+     all in gdcm
+
+2005-01-19 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Test/ : rename VTK tests to have a best name for the tests
+   * gdcmPython/demo/*.py.in : Change the InitTraversal/GetNextEntry use to
+     GetFirstEntry/GetNextEntry use
+
+2005-01-18 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * In SerieHeader::ImagePositionPatientOrdering()
+     // a Dicom 'Serie' may contain scout views
+     // and images may have differents directions.
+     // -> More than one may have the same 'pos'
+     // Sorting has then NO meaning !
+     Thx to Eduardo Davila for reporting bug.
+
+2005-01-18 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Test/ShowDicom.cxx, ShowDicomSeq.cxx, TestWriteWithVTK.cxx : change the
+     test. Now it's on image content and not on the resulting visualisation...
+     might solve the problem on linux when using the OpenGL drivers
+
+2005-01-18 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * ENH for DicomDir, DicomDirPatient, DicomDirStudy, 
+             DicomDirSerie, DicomDirImage
+             Dict, DictSet classes :
+         -add method GetFirstEntry to replace call to InitTraversal+GetNextEntry
+         -remove InitTraversal method.
+   * UPD Test programs + Example programs
+
+2005-01-18 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * remove useless and never updated keyword \ingroup         
+   * Solve pb when structure (list, map, ...) is empty.
+     Thx to Benoit for reporting bug
+
+2005-01-18 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * Taking into account of 'Transfer Syntax' value
+       (for 'true' Dicom V3 files, the 'ACR-NEMA' heuristics sometimes gives
+         unaccurate result)
+
+2005-01-17 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmUtil.cxx : bug fix to find the Windows MAC address. Now, there
+     is no memory access violation
+   * gdcmPython/demo : add python demos using VTK
+
+2005-01-16 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+    * FIX 'Dictionnary' is now spelt 'Dictionary'
+          'wether' is now spelt 'whether'
+          'archieve' is now spelt 'archive'   ;-)
+
+2005-01-15 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+    * ADD DicomDir, DicomDirPatient, DicomDirStudy, DicomDirSerie, DicomDirImage
+          related methods, in order not to expose internal mechanisms
+        InitTraversal();
+        GetNextEntry();
+    * REM methods that exposed internal mechanisms :
+        DicomDir::GetDicomDirPatients()
+        DicomDirPatient::GetDicomDirStudies()
+        DicomDirStudy::GetDicomDirSeries()
+        DicomDirSerie::GetDicomDirImages()
+    * UPD Test programs :
+        makeDicomDir.cxx
+        BuildUpDicomDir.cxx
+        TestDicomDir.cxx
+     * UPD Example program
+        PrintDicomDir.cxx
+    * ADD DictSet methods
+        InitTraversal()
+        GetNextEntry()
+
+2005-01-15 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Removed the Print/indent/default parameter mess. There is absolutely no
+    reason to have to methods, moreover with the second taking the ostream as
+    *SECOND* parameter. This was clearly a bad hack to get things compile.
+
+2005-01-15 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Complete rewrite of the GetMacAddress code. Now the code is *much*
+    smaller (no more MacOSX specific crap). A lot more POSIX oriented.
+    Unfortunately the main code does not work on SunOS, thus provide a specific
+    code for this platform only (and Win32 of course). Since this seems to be
+    working, change CreateUniqueUID to use GetMACAddress instead of the
+    problematic GctestetIPAddress
+
+2005-01-14 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Unfortunately to be able to test gdcmDirList I had to break the API
+     a little. Now the class is not a std::list anymore but has a member
+     std::vector (more ITK compatible). Allow unit testing on Win32 and
+     shared libs.
+
+2005-01-14 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Update SerieHeader to take into account a Serie Instance UID to properly
+     sort DICOM files
+
+2005-01-13 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * ENH - Comment out Mathieu's (dangerous) Super Hack
+         for dealing with BIGENDIAN processors
+         - Move equivalent stuff to BinEntry::WriteContent
+         When necessary, 16 Bits Pixels are swapped in a small buffer
+         and then written. This avoid allocating a huge buffer, in
+         PixelWriteConvertor, and avoid modifying the Pixel Area.
+         Note :
+         Probabely, the same operation will have to be done when we want 
+         to write image with Big Endian Transfert Syntax, 
+         and we are working on Little Endian Processor
+                  
+2005-01-14 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDocument.[h|cxx] : comment all methods concerning a flat hash
+     table.
+   * src/gdcmElementSet.[h|cxx] : rename Initialize into InitTraversal
+   * src/gdcmDict.[h|cxx] : add InitTraversal/getNextEntry methods to parse
+     all the dict content.
+   * src/gdcmDictEntry.cxx : add a carriage return at the end of the DictEntry
+     print
+   * Test/TestDict.cxx : add a new test for the dict classes
+
+2005-01-13 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * src/gdcmDebug.h : Adding an option to redirect debug stream to a 
+                       file. Debug is yanked if compiled with NDEBUG
+
+2005-01-13 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDictSet.h : set the default output to the os variable
+   * src/gdcmDictEntry.[h|cxx] : add the Print method
+   * gdcmPython/demo/ : add a new test
+
+2005-01-13 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * merging of Test/PrintDicomDir and Test/TestDicomDir
+   * removal of now redundant Test/PrintDicomDir
+   * enhancement of Example/PrintDicomDir
+
+2005-01-13 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Now, python test might work on systems
+   * Add the PrintDicomDir test
+
+2005-01-13 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * FIX : First entry following group 0002 was lost for
+           Explicit Big Endian Transfer Syntax files
+          (group and elem not swaped)
+   
+2005-01-12 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * FIX : Old quick and dirty 'optimistic' heuristic to deal with
+           Big Endian Transfer Syntax supposed the group following 0002
+           begins always by element 0000 (element 0000 is *optional*)
+           To avoid further troubles, let's be pessimistic, and use
+           Document::HandleOutOfGroup0002() method 
+    * FIX : comparison between GDCM_NOTLOADED and Transfer Syntax
+              (related pb not yet solved)
+
+2005-01-12 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Bug fix for the python part use
+   * Now, PrintHeader.py pass... but outside the ctest use. shit !
+
+2005-01-12 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * gdcmPython/gdcm.i : bug fix when compiling with MSCV
+
+2005-01-11 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Untangle TransferSynatx from gdcm::Document. Now Document only manipulate
+     a string and should ask the global TS dict what are the propreties of 
+     the transfer syntax
+
+2005-01-11 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * Replace confusing name SwitchSwapToBigEndian name by SwitchByteSwapCode
+   * Add the Document::HandleOutOfGroup0002(uint16_t group) method
+       to swap the Swap Code, at parsing time, when we come out of group 0002
+       and Transfer Syntax is Big Endian
+       We should be able to read now 'true DICOM" Big Endian coded images
+    * Add optional run time SetDebugOn (last param) for PrintHeader, PrintFile
+    * Replace the french 'Transfert Syntax' by the english 'Transfer Syntax'
+
+2005-01-10 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Hopefully fix the bug on MacOSX and static global initialization.
+   This is the only -minor- patch I found that both please MacOSX and VS6.
+   Other patch would be to declare a const std::string & GDCM_UNFOUND() instead,
+   but this would require a lot of change. Another approach would be that Global
+   create those string and GDCM_UNFOUND becomes a pointer to a string (which
+   gdcm::Global would destroy at exit).
+
+2005-01-08 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Fix bug on MacOSX with static initialization in a multy threaded
+    environment. static const string in a header file used to be ill
+    initialized provoquing the freeze of any tests. patch should solve this
+    issue.
+
+2005-01-08 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * According to Benoit's suggestion, and without any objection from anybody
+      - methods SetxxxByNumber and GetxxxByNumber renamed as Setxxx and Getxxx
+      - methods Dict::Print() and Dict::PrintByKey() merged into Dict::Print()
+      - method gdcmDicomDirObject::GetEntry() renamed as 
+         gdcmDicomDirObject::GetEntryHT() to avoid confusion (and compile error)
+
+2005-01-07 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Now gdcm::Debug is clearly a copy/paste of VTK approach. You can manipulate
+     you debug/warning message just as c++ streams which make them very convinient
+     to use. Once this is stabilize I will change the ostringstrem to be
+     redirected to a file (ofstream).
+   * Properly support C99 extension: __FUNCTION__ which allow us to display
+     the name of the function call (GNUC also allow __PRETTY_FUNCTION__ for c++)
+
+2005-01-07 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * Removal of useless and dangerous methods :
+         GetEntryByName, GetEntryVRByName, GetDocEntryByName, SetEntryByName
+         GetDocEntryByName, GetEntryByName, GetDictEntryByName
+   * Removal of usless methods :
+         Dict::PrintByName, Dict::GetDictEntryByName
+   * Commenting out of probabely useless methods :
+         Dict::GetDictEntryNames()
+         Dict::GetDictEntryNamesByCategory()
+         DictSet::GetPubDictEntryNames()
+         DictSet::GetPubDictEntryNamesByCategory()         
+   * ENH : New Dicom Dictionary (with Value Multiplicity) is now used    
+   * ENH : Use dicomTS.dic as described in 2004 version   
+   * ENH : Removal out of the Dicom Dictionary of non dicom 'fourth' field
+           Add         to the Dicom Dictionary of Dicom 'Value Multiplicity' field
+           Add Accessors on VM (Value Multiplicity), and VM related methods           
+   * ADD : Add a list of 'Dicom Attribute types', as found in
+           http://medical.nema.org/dicom/2004/04_15PU.PDF
+                      Unused till now...           
+   * ADD : Add dicomGroupNameAbbreviations.dic
+           should be used to write a method to replace the former
+           Dict::GetDictEntryNamesByCategory()
+
+2005-01-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDocEntry.[h|cxx] : now the ReadLength is the length of the data
+     to read in the file... and only it ! Length is the efective length of the
+     data in the DocEntry structure
+
+2005-01-07 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Change the gdcmDebug approach. Remov the global static debug 'dbg'.
+     And now use a static function call instead, with a global variable. i
+     This is much closer to the VTK approach. Hopefully should be bulletproof
+     and easier to use...hopefully
+
+2005-01-06 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Adding GetMACAddres very alpha for now. This is tricky to be cross plateform.
+
+2005-01-06 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDocument.[h|cxx] : remove all copy of DocEntry when parsing a file
+
+2005-01-06 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDocEntrySet.[h|cxx], gdcmDocument.[h|cxx] : amelioration of
+     ValEntry, BinEntry, SeqEntry creation or replace
+
+2005-01-06 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDictEntry.h : now, the IsVRUnknown is correct
+   * src/gdcmDocument.[h|cxx] : simplify the search of VR value when parsing
+     a file
+   * src/gdcmDocEntrySet.cxx : now the created DocEntry without values is good
+     when specifying the VR
+   * src/gdcmVR.[h|cxx] : add usefull method to test the validity of a VR
+   * src/gdcmDocEntry.cxx : amelioration of print
+
+2005-01-05 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+   * ADD : Add the method Util::IsCurrentProcessorBigEndian
+          (we'll need it for 'Explicit VR Big Endian' Transfert Syntax)
+   * ADD  Method Document::ComputeGroupLength
+   * ENH : now  parsing creates a Vitual DictEntry for Pixels Element,
+           in order to allow further VR modification by user
+   * REM : removal of once-called method File::WriteBase   
+           integration of its code in formerly one-line method File::Write
+
+2005-01-05 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmCommon.h : add the GDCM_UNKNOWN constant. This constant is to
+     replace the different values "??", "Unkn", "Unknown".
+   * src/gdcmDicomDirElement.h, gdcmDictEntry.h, gdcmDictSet.h,
+     gdcmDocEntry.cxx, gdcmDocEntrySet.[h|cxx], gdcmDocument.h, gdcmSQItem.cxx,
+     gdcmVR.cxx : use the GDCM_UNKNOWN constant.
+   * Appears a bug in gdcmDictEntry : IsVRUnknown always returns false... bad
+
+2004-12-16 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmBase.[h|cxx] : new base class. Contains the PrintLevel and an
+     empty Print Method
+   * Set the gdcm::Base class to some Printable classes
+
+2004-12-16 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmFile.[h|cxx] : add the Print method
+   * src/gdcmPixelReadConvert.[h|cxx] : add the generalized Print method
+   * src/gdcmDocEntrySet.h : generalize the Print with the PrintLevel
+   * src/gdcmDocument.h : remove the PrintLevel informations
+   * Example/PrintFile.cxx : use the new gdcm::File::Print
+
+2004-12-16 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmFile.cxx : Add the code of ReplaceOrCreateByNumber to not have
+     problems when compiling with the python wrapping
+
+2004-12-16 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmFile.cxx : bug fix. Omitted a Push in the DocEntryArchive when
+     writting in ImplicitVR
+
+2004-12-12 Jean-Michel Rouet <jm.rouet@noos.fr>
+   * src/gdcmPixelReadConvert.[h|cxx], src/gdcmJpeg*.cxx : new handling of
+     JPEG decompression, especially when dicom frames are split into several
+     JPEG Fragments. This makes use of jpeg decompression from memory buffer.
+     This solves reading for example gdcm-JPEG-Lossless_Thoravision.dcm.
+
+2004-12-10 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmHeader.cxx : change the initialisation of default header.
+     Now, this header is readable by gdm, e-film, DicomWorks
+
+2004-12-10 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmFile.[h|cxx], gdcmPixelReadConvert.[h|cxx] : change the API.
+     Rename Decompressed to Raw
+   * Use the API changes in gdcm::File.
+   * vtk/vtkGdcmWriter.[h|cxx] : add the possibility to write in other modes
+     Memory leaks fixed
+
+2004-12-10 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * vtk/vtkGdcmWriter.cxx, Example/WriteDicomSimple.cxx : add comments for
+     each added entry in the header. Replace the 'Planes' field by the 'Number
+     of Frames' field
+
+2004-12-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * vtk/vtkGdcmWriter.[h|cxx] : now can write stack of images.
+   * vtk/vtkWriteDicom.cxx : can write 2D stack or 3D image
+
+2004-12-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Example/WriteDicomSimple.cxx : example to write a dicom file from nothing.
+     At this time, this image isn't readable by e-film... waiting JPR help to
+     solve it.
+
+2004-12-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmPixelReadConvert.cxx : bug fix when would forcing load of a
+     DocEntry. Now use methods of the Document !
+
+2004-12-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Test/ShowDicomSeq.cxx : bug fix
+2004-12-08 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * vtk/vtkGdcmReader.[h|cxx] : bug fix. Plane order isn't inverted
+   * vtk/vtkGdcmWriter.[h|cxx] : correctly write images (the Y axis is inverted)
+   * Test/ShowDicomSeq.cxx : new test to verify the use of AddFileName method
+   * Test/ShowDicom.cxx, TestWriteWithVTK.cxx : set the threshold of regression
+     test to 0.0
+   * Test/TestCopyRescaleDicom.cxx : remove unused variable
+   * Test/CMakeLists.txt : add the creation of the gdcmDataSeqImages.h file
+     containing found sequences
+
+2004-12-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Test/ShowDicom.cxx, TestWriteWithVTK.cxx : bug fix, now this test pass
+     not at all time
+   * Test/TestCopyRescaleDicom.cxx : rearrange the test to correctly pass...
+     Some fields in BinEntry must be copied to not seg fault when making the :
+              gdcm::File *copy     = new gdcm::File( copyH );
+     and tests are now made on good variables
+
+2004-12-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * vtk/vtkGdcmWriter.[h|cxx] : add a first version of vtkGdcmWriter
+   * src/gdcmValEntry.cxx : bug fix when setting the value. Problems of odd
+     length
+   * src/gdcmHeader.cxx : Remove a useless call to Util::DicomString
+   * Add vtkGdcmWriter example and test
+
+2004-12-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Test/TestUtil.cxx : reformat the source code
+   * vtk/vtkGdcmReader.cxx : remove and change prints
+   * src/gdcmValEntry.[cxx|h] : now set the length of the value when calling
+     SetValue
+   * src/gdcmBinEntry.[cxx|h] : SetValue method don't set the length
+   * src/*.cxx : remove all useless call to SetLength of a ValEntry object
+
+2004-12-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmPixelWriteConvert.[h|cxx] : ficnished this class
+   * src/gdcmFile.cxx : finished the correctly use of PixelWriteConvert
+
+2004-12-06 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDocument.cxx : bug fix when opening the file. All read is followed
+     by an eof to prevent all bad read of the file... and in this case, the
+     file isn't readable. 
+
+2004-12-06 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Example/Volume2Dicom.cxx : comment unused variables
+   * Test/PrintDicomDir.cxx : comment unused variables
+   * Test/BuildUpDicomDir.cxx : remove dbg.Verbose. Remove the FIXME.
+   * src/SQItem.[h|cxx] : remove the PtagHT variable. Remove the AddDocEntry
+     method that is redondant with AddEntry.
+   * src/gdcmDocEntrySet.h : add pure virtual methods common to ElementSet and
+     SQItem
+
+2004-12-04 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Bug fix due my last commit (compilation under Windows).
+   * Example/Volume2Dicom : bug fix in the file and reformatting source code
+   * src/gdcmFile.h : bug fix. Variable type and variable name had same name
+
+2004-12-03 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+   * Huge cleanup:
+     - Remove printf / sprintf
+     - include iostream AFTER gdcm so we don't get warnings
+     - GDCM_NO_ANSI_STRING_STREAM shouldn't be used explitely ouside of gdcm 
+       source
+     - Also remove tons of include from header files, hopefully this should 
+       speeup the compilation time, since it was becoming a dog slow.
+     - Remove gdcm.h as it include way too many files and slow down compilation 
+       (plus it is not up to date)
+     - remove 'using namespace std' this is BAD !
+
+2004-12-03 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Remove memory leaks on the DicomDir
+   * Remove some useless data in DicomDirObject
+   * Add usefull methods in SQItem, to be complient withe the ElementSet
+
+2004-12-03 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmFile.[h|cxx] : now use FileType instead of TWriteType.
+
+2004-12-03 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmPixelWriteConvert.[h|cxx] : new class to write data (and in the
+     future, with convertion)
+   * src/gdcmFile.[h|cxx] : the PixelWriteConverter instance replace Pixel_Data
+     and ImageDataSize values. Remove the method to get the PixelReadConverter
+     from the output of the class
+
+2004-12-03 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Rename src/gdcmPixelConvert.[h|cxx] to src/gdcmPixelReadConvert.[h|cxx]
+
+2004-12-02 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * vtk/vtkGdcmReader.cxx : correct error in vtkDebugMacro, vtkWarningMacro
+     and vtkErrorMacro use.
+   * gdcmPython/gdcm.i : corrections to avoid warnings at compilation
+
+2004-12-02 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Test/TestCopyDicom.cxx : the new dicom created is created empty, without
+     file name in input
+   * src/gdcmSeqEntry.cxx : bug fix in destruction of an element
+   * src/gdcmHeader.cxx : bug fix. Keep the string, otherwise it is destroyed.
+     The string leaves only in the fonction. So when we make a .c_str(), we
+     get the pointeur on the first element, element that will be destroyed 
+     immediately after thee instruction.
+   * src/gdcmDocument.cxx : remove memory leaks. Bug fix when testing if the
+     file has been opened : the test must be made on the content of the 
+     pointer and not directly on the pointer !
+     Code formatting
+
+2004-12-02 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * gdcmPython/gdcm.i : change gdcmHeaderHelper to gdcmSerieHeader. Now,
+     the python part recompiles
+
+2004-11-30 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Test/ShowDicom.cxx : Change the test to only open one vtkImageViewer.
+     Otherwise, under linux (Graphic card : NVidia / SE : FedoraCore 1) the
+     X session is killed (for my computer... it seems to not be identic on
+     all linux)
+
+2004-11-30 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Test/ShowDicom.cxx : now can be used with an off-screen rendering to
+     avoid problems (otherwise, the difference test between the visible image
+     and the reference is incorrect. If the reference is greater than the
+     screen resolution, it's produce errors).
+     Can be used for only one image. Can be used with a visible flag.
+   * vtk/vtkGdcmReader.cxx : remove commented codes.
+   * vtk/vtkGdcmReader.h : add the gdcmCommon.h include file to avoid warnings
+     under windows at compilation
+   * vtk/vtkgdcmViewer.cxx : reformat the file. Apply a default window/level
+     for grayscale images
+   * vtk/GdcmToBaseline.cxx : new program to easy create the reference image
+
+2004-11-30 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmFile.[h|cxx] : bug fix for ACR-LIBIDO files when writting the file
+   * Test/TestAllReadCompareDicom.cxx, TestReadWriteReadCompare.cxx : add
+     tests on the image size X, Y, Z
+
+2004-11-26 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Remove some useless methods in gdcm::Document, gdcm::Header and gdcm::File
+   * Rename gdcmHeaderHelper.[h|cxx] to gdcmSerieHeader.[h|cxx] to be coherent
+     between the class name and the file name
+
+2004-11-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/ : fix compilation warnings for the Write method (2 different
+     proto). So Rename 'Write(ifstream* fp' into 'WriteContent(ifstream* fp'
+     fix compilation warnings for the gdcm::Document::TransferSyntaxStrings
+     variable... create a static method in gdcm::Document to access to
+     this variable content.
+
+2004-11-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDocument.[h|cxx] : set the Transfert Syntax values to the header
+     file, to be accessed by other files (like gdcmFile). Remove commented
+     code. Move the change of the header to the gdcmFile, using the
+     DocEntryArchive
+   * src/gdcmHeader.[h|cxx] : the write is completely made in the Header.
+     To be sure of that (and simplify calls), the Write of the header now
+     gets a file name and not a file pointer (std::ifstream).
+   * src/gdcmFile.[h|cxx] : apply the write file type to the header, using the
+     DocEntryArchive. Remove all open of the written file
+
+2004-11-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * vtk/vtkGdcmReader.cxx : compilation bug fix for the vtk part
+
+2004-11-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDocument.cxx : fix bug... test if the fp is opened to use it
+   * src/gdcmPixelConvert.cxx : calculate the image size when while the grab of
+     the header.
+   * src/gdcmFile.[h|cxx] : remove PixelRead and ImageDataSizeRaw variables and
+     some corresponding methods. Write correctly the file and check before
+     write
+   * Test/TestCopyDicom.cxx, TestReadWriteReadCompare.cxx,
+     TestAllReadCompareDicom.cxx : pass the write of images to RGB and test
+     is now on RGB data (as before my last commit
+   * Example/PrintHeader.cxx, PrintFile.cxx : repad files.
+
+2004-11-24 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmBinEntry.cxx, gdcmSeqEntry.cxx, gdcmSQItem.cxx, gdcmValEntry.cxx :
+     Add a print information of the type of the entry
+   * src/gdcmDocument.cxx : add the write of the preambule of a Dicom file.
+     It was in the gdcmFile, and all write have been regrouped
+   * src/gdcmFile.[h|cxx] : add methods to get the Raw data elements and size.
+     Write correctly all dicom files (in decompressed mode only at this time)
+   * Test/ : test on files are now made using Raw data and not color data if
+     any.
+   * Example/PrintFile.cxx : add more printings
+
+2004-11-24 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * Amelioration of code, remove some code copy. For the loading of
+     BinEntry (in gdcmDocument), add the test to verify if the file is already
+     opened or not.
+
+2004-11-24 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDocEntryArchive.[h|cxx] : bug fix and add a method to temporary
+     remove a DocEntry in the header (push an empty DocEntry)
+   * src/gdcmFile.[h|cxx] : remove some useless variables, methods and code
+     lines. Bug fix in the initialization of the PixelConvert and the 
+     DocEntryArchive
+   * src/gdcmElementSet.[h|cxx] : add methods Initialize and GetNext to
+     use in TestCopyDicom (now this test can run under windows... but fails)
+   * Test/TestCopyDicom.cxx : amelioration of the test :
+     - test the pixels written
+     - add test points to quickly find where is the error
+     - can set a file name input and output in arguments
+   * Test/TestAllReadCompareDicom.cxx, TestReadWriteReadCompare.cxx : 
+     amelioration of the test output
+
+2004-11-23 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDocEntryArchive.cxx : complete the print function, that prints
+     all replaced DocEntry's
+   * src/gdcmFile.[h|cxx] : remove all changes of the header when getting data.
+     Now, each needed DocEntry to modify is duplicated, modified and inserted
+     to the header using DocEntryArchive. Thus, after save, we can restore the
+     header initial state.
+
+2004-11-22 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmFile.h : fix compilation errors on zorglub linuc computer
+
+2004-11-19 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDocEntry.cxx : remove the copy of the DictEntry... there isn't
+     correct to copy it. The DictEntry is specified at the DocEntry creation,
+     then, it musn't change in the time.
+   * src/gdcmDocEntryArchive.[h|cxx] : new class. It's goal is to change the
+     header correctly. At this time, the change is only made for the first
+     level of the Document. In the future, it might consider sequences.
+     The change is made by replacing a DocEntry by an other that is created
+     outside the class. The old value is kept. When we restore the header
+     status, the added DocEntry is deleted and replaced by the old value.
+   * src/gdcmElementSet.h : Set the DocEntryArchive like friend.
+   * src/gdcmFile.[h|cxx] : Use the gdcmDocEntryArchive. Add methods to
+     set the write type to explicit VR, implicit VR or ACR. Add methods to set
+     the write mode to native, decompressed or RGB (but not used at this time)
+
+2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmSeqEntry.cxx : add initialisation of variable SeqTerm
+   * src/gdcmDocument.cxx : add delete of DocEntry's to remove some memory leaks
+
+2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmDocument.cxx : now, when using the ReplaceOrCreateByNumber to
+     set a BinEntry, the binArea is copied (like to set a ValEntry, the string
+     is copied).
+   * Test/TestCopyDicom.cxx, Example/TestCopyDicom.cxx : the image data isn't 
+     set because already copied when copying the BinEntry's of the header
+   * Test/TestAllReadCompareDicom.cxx : remove warnings
+
+2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * FIX : now, the DocEntries are all deleted in the gdcmElementSet.
+     Two problems appear when doing it :
+      - with the gdcmFile : when the GetImageData method is called, the pixels
+        are stored in the gdcmPixelConvert, but a gdcmBinEntry link to these
+        data (pixels). And each structure destruct the data when it's
+        destructed. So we have two destructions for the same data. To solve it,
+        a flag is added in the gdcmBinEntry to indicate if the BinEntry owns the
+        data or not. If it doesn't own data, then they will not destroyed by
+        the gdcmBinEntry.
+      - with the gdcmDicomDir : the sequences (gdcmSQItem) contain DocEntry
+        elements. The DicomDir* (DicomDirPatient, etc.) inherit from SQItem.
+        Thus destruct the DicomDir* elements and the TagHT of the ElementSet 
+        create a double destruction of the same DocEntry's. So, to solve it, 
+        the TagHT is simply cleared and the DicomDir* elements are destroyed.
+   * TODO : add an entry concerning memory leaks in the DicomDir
+
+2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * FIX : src/gdcmDocument.cxx Remove obvious code in the destructor
+   * FIX : src/gdcmPixelConvert : Set to NULL the deleted structures in the
+     squeeze method
+
+2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * FIX: src/gdcmUtil.cxx : to compile with MSVC6
+   * src/gdcmDocument.cxx : fix memory leaks. Fix possible bugs : use an object
+     after it have been deleted
+
+2004-11-16 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+   * FIX: src/* fix the doxygen warnings.
+   * src/gdcmVR.cxx: removed some redundant tests (e.g. LO)
+   * src/gdcmDocument.cxx: FIX ::ComputeRLEInfo() rleSegmentOffsetTable[]
+     was erroneously defined with a size of 15 instead of 16. [many thanks
+     to Jean Michel Rouet for pointing out this bug].
+
+2004-11-15 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+    1. Finish merging JMR patch for writting DICOM from scratch
+    2. Fix -hopefully- bug with MONOCHROME and space vs null character
+    3. Use const ref when possible
+    4. Add a new function InitializeDefaultHeader, which create a template DICOM header (CT image for now)
+    5. A few more comments
+    6. CreateUniqueUID can now be called without parameter"
+
+2004-11-15 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+  * ENH: Slightly bigger patch:
+    1. Getting toward full integration of JMR patch for writting dicom from scratch
+    2. Update Test to test part of this patch: CreateUniqueUID
+    3. File was not close properly in gdcmDict
+    4. Use of typedef is to be prefered when possible (gdcmDict.cxx)
+    5. Use of const ref instead of copy (speed issue)
+    6. Remove temporary (duplicate) string in TranslateToKey
+    7. Mark extremely dangerous code as such (gdcmDocument.cxx and AddEntry fallback case)
+    8. Do not repeat virtual in subclasses
+    9. Implemented in gdcm::Util two new function: GetIPAddress, and CreateUniqueUID
+
+2004-11-15 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+  * Apply first patch toward better string comparison when dealing with broken 
+    DICOM files. Essentially the string could be padded with a space instead 
+    of a null character as defined by standard
+  
+2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+  * src/gdcmDocument.[cxx|h] : fix memory leaks. The return is suppressed
+    because never used... and in the same time, that's remove some memory leaks
+
+2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+  * src/gdcmFile.cxx : now delete the PixelConvert instance.
+  * In examples and tests : change the type of image data variables from void*
+    to uint8_t*. Remmove all delete on image data variables
+
+2004-11-10 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+  * src/gdcmDocument.cxx : Set the file pointer TP to 0 in the constructors.
+    Verify the file pointer value before open the file, and if it's not null,
+    a verbose message is generated.
+    Close correctly the file when the file isn't considered dicom-like. The
+    correctly close is a call to CloseFile.
+    When closing the file pointer, test if its not null to close the file.
+  * src/gdcmPixelConvert.cxx : bug fix for the SIEMENS_GBS_III-16-ACR_NEMA_1.acr
+    file. For an uncompressed image, the copied data correspond in the least 
+    case to the image size (calculated) or the image size specified in the 
+    header. A verbose is generated if these two size mismatch
+
+2004-11-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+  * Test/TestAllReadCompareDicom.cxx : test the existence of the directory
+    using an 'ifstream' other than a 'FILE *'. The previous solution ('FILE *')
+    break under windows (with msvc6 compilation).
+
+2004-11-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+  * src/gdcmDicomDir.h : bug fix for the last Boix's commit (problem when
+    compiling with MSVC6)
+
+2004-11-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+  * Bugs fix for the Windows build with VC6
+  * CMakeLists.txt : bug fix - The include of the VTK lib is made only when it's
+    needed (only for projects required VTK). If the VTK is included in all
+    projects, there is conflicts with the jpeg lib of vtk when compiling the
+    gdcmjpeg[8,12,16] projects. The first conflict is on the jmorecfg.h file.
+  * src/gdcmUtil.h : export binary_write methods. Otherwise, there's problems
+    when compiling the gdcm_wrap.cxx file (created by the compilation of the
+    gdcm.i file)
+  * vtk/vtkGdcmDemo.cxx : remove the use of std namespace for the cerr use
+    (like it's already made for the cout use). Otherwise, conflict with the
+    std::cerr of vtk.
+
+2004-11-09 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * src/gdcmDicomDit.h the Method typedef is now local to DicomDir class.
+  * gdcmPython/gdcm.i:
+    - comments on the DicomDir::Method related usage added.
+    - now that we use the namespace gdcm, a lot of internal classes do
+      NOT need to be wrapped anymore.
+  * gdcmPython/demo/DicomDirProgressMethod.py (that uses the above
+    DicomDir::Method) new example added.
+
+2004-11-05 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+  * Improve string manipulation. I now inforce the notion of 'DicomString'
+    A DicomString can contain as many \0 as they want
+    and it is *always* of even length.
+    We only support odd length for very rare case. 
+    And in the near future this should be removed.
+
+2004-11-03 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+  * /binary_write/ gdcm source. Now even on big endian we are writting
+    little endian. This should -heopfully- fix some tests
+
+2004-11-03 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+  * Now the dictionary is compiled into gdcm lib. This is a default
+    behavior, thus any dic file specified is picked before failback to 
+    the one comiled into lib
+
+2004-10-27 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+  * Change internals for gdcmDict. Don't use any 'new' any more.
+    This should definitely solve any leak problem, and we should be
+    as fast as before, as long as don't modify too much the dictionary.
+
+2004-10-25 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+  * STYLE: ivars should start with a capital letter. 
+  * Accessors should be const to avoid people starting modifying stuff (since this is a ref). 
+  * remove 'virtual' as Style specify subclasses shouldn't reuse the keyword
+  
+2004-10-22 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * Doc/Dicom2004_Part5.pdf added (thanks to JPR).
+  * Dicts/dicomTS2004.dic, dicomV3VM2004.dic, groupNameAbbreviations2004.dic
+    new 2004 dictionaries added (thanks to JPR).
+  * FIX dashboard warning RLEFrame::NumberFragments is now of type unsigned int
+  * CLEANUP_ROUND (15) for gdcmPixelConvert
+    - RLEFrame::NumberFragments is now of type unsigned int
+    - gdcmFile::GetImageData(), GetImageDataIntoVector(), GetImageDataRaw()
+      are now all based on PixelConverter. ::GetImageDataIntoVectorRaw()
+      no longer exists.
+
+2004-10-21 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+  * Initial work in gathering all transfer syntax accessors. clearly 
+   IsDecompressed/IsJPEG2000/IsJPEGLossless/IsRLELossless shouldn't be all 
+   ivars, but only one transfersyntax (class) ivar with equivalent method on 
+   the class.
+  
+2004-10-21 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+  * Removed all FILE* ref and replace by ifstream/ofstream. For now I use a temp 
+    solution with the two files jdatadst.cxx and jdatasrc.cxx, this need to be 
+    discussed (plus I didn't like having a 2000 lines patch not commited)
+
+2004-10-21 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * src/gdcmDocument.cxx: wrong type on return fixed (thanks dashboard)
+  * CLEANUP_ROUND (14) for gdcmPixelConvert
+    - PixelConvert::GetLutRGBA(FILE*) is now GetLutRGBA() (no fp needed)
+    - PixelConvert::BuildRGBImage()(FILE*) is now BuildRGBImage() (no fp needed)
+    - File::GetImageDataIntoVector() doesn't need unnecessary OpenFile() and
+      CloseFile() anymore.
+    - File::GetImageDataRaw() doesn't call GetImageDataIntoVectorRaw()
+      anymore and hence avoids storing a copy of PixelConvert::Decompressed
+      into File::Pixel_Data.
+
+2004-10-20 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * src/gdcmDocument.cxx ftell() return properly stored in a long (i.e.
+    no longer depends on's programmers PMS = Preposterous Mood Swings ;).
+  * CLEANUP_ROUND (13) for gdcmPixelConvert
+    Substituted File::ParsePixelData() with PixelConvert::Print() new
+    method:
+    - src/gdcmParsePixels.cxx removed (only contained File::ParsePixelData())
+    - src/gdcmRLEFrame.cxx, gdcmJPEGFragment.cxx added. Added a ::Print()
+      method to those classes.
+    - src/gdcmFile.[cxx|h]:
+      -- Added a ::Print() method.
+      -- PixelConverter is now a reference instead of a member.
+      -- gdcmPython/gdcm.i: added "using namespace gdcm" in order for
+         gdcm_wrap.cxx to "understand" File::GetPixelConverter()
+
+2004-10-18 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * Doc/CMakeLists.txt, doxygen.config.in: when dot is present the
+    collaboration diagram and inheritance diagram should be generated with
+    doxygen.
+  * Doc/Website/Sidebar.html: Dashboard is now also in the sidebar.
+  * gdcmPython/gdcm.i: gdcmRLEFramesInfo.h gdcmJPEGFragmentsInfo.h are
+    pointlessly wrapped (see
+    http://www.creatis.insa-lyon.fr/pipermail/dcmlib/2004-October/000692.html )
+  * CLEANUP_ROUND (12) for gdcmPixelConvert (sugar is my friend stage)
+    - Header::GetLUTRGBA() moved to PixelConvert::GetLutRGBA()
+    - vtk/vtkGdcmReader.cxx: adapted to displacment of Header::GetLUTRGBA()
+    - Document::RLEInfo and JPEGInfo are now pointer members (Swig thing)
+    - src/gdcmFile.[cxx|h] and gdcmPixelConvert.[cxx|h]:
+      -- File::Initialise: PixelConverter setup moved away to
+           PixelConverter::GrabInformationsFromHeader()
+      -- File::GetImageDataIntoVector(): Lut R + Lut G + Lut B color table
+         interpretation moved away to PixelConverter::BuildRGBImage()
+
+2004-10-16 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+  * Remove GDCM_EXPORT keyword from gdcm::DirList due to :
+    http://support.microsoft.com/support/kb/articles/Q168/9/58.ASP
+
+2004-10-15 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * src/gdcmDebug.cxx last ditch attempt to get warning/error messages
+    displayed on Win32 when a brutal abort() occurs (because of uncatched
+    exception). See TODO new entry of this commit for more on this.
+  * TODO added new entry.
+  * CLEANUP_ROUND (12) for gdcmPixelConvert (nicotine is my friend stage)
+    src/gdcmFile.[cxx|h] and gdcmPixelConvert.[cxx|h]:
+    - HandleColor is no longer called from gdcmFile.cxx
+    - gdcmPixelConvert.cxx clean up on method arguments and internal
+      variable names for semantical coherence.
+
+2004-10-14 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+  * Finished lossless transition, not only do we now read all lossless jpeg
+  images, without the need of the Cornwell lib, but we do read them properly now
+  * To reduce code (well to avoid code duplication), I defined a common place
+  for jpeg read/write: gdcmJpeg.cxx. Now gdcmJpeg[8,12 16] include this file and
+  redefine symbols. This is not perfect but this the best solution I found for a
+  compilation time jpeg option.
+
+2004-10-13 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+  * Update jpeg ijg lib to support lossless jpeg implementation
+    For more info look in jpeg/libijg/README.GDCM.txt for necessary steps to
+    reproduce at home.
+  * Also added a special copyright for dcmtk since we use their bugfixes.
+  Thanks dcmtk crew !
+
+2004-10-13 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * Doc/Website/MailingList.html added (Sidebar.html changed accordingly).
+  * gdcmPython/gdcm.i: fix for compilation of wrappers (Note: %include order
+    matters, as stated in warning note at beginning of %include section).
+  * src/gdcmDicomDir*.[cxx|h]: coding style
+  * src/gdcmDocument.h: doxygen \ref seems uncompatible with \todo.
+  * src/gdcmJpeg8.cxx: doxygen fix.
+  * CLEANUP_ROUND (12) for gdcmPixelConvert (seing the ligth stage)
+    src/gdcmFile.[cxx|h] and gdcmPixelConvert.[cxx|h]: color handling moved
+    from File:: to PixelConvert::.
+
+2004-10-12 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * CLEANUP_ROUND (11) for gdcmPixelConvert (cafeine is my friend stage)
+    src/gdcmFile.[cxx|h] and gdcmPixelConvert.[cxx|h]:
+     - more code moved away from File:: to PixelConvert::
+     - fat setup of PixelConverter set in place in File::Initialise.
+
+2004-10-12 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+  * Apply patch for namespace in gdcm. Didn't rename files for keeping a sort of
+  namespace at the file system level. So now you should convert your examples
+  like this:
+    gdcmHeader  ->   gdcm::Header
+  It would be nice if people keep in mind to no open the namespace, since it
+  allows compilation on broken plateform which were defining common symbol in
+  the standard namespace (like LP, Unknown ...)
+
+2004-10-10 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * CLEANUP_ROUND (10) for gdcmPixelConvert (Xanax is my friend stage)
+    The JPEG fragments are now parsed at the same stage than the RLE
+    information. All code related to JPEG is now in gdcmPixelConvert:
+    - src/gdcmJPEGFragment.h and gdcmJPEGFragmentsInfo.[h|cxx] added 
+    - src/gdcmJpeg12.cxx, gdcmJpeg2000.cxx and gdcmJpeg8.cxx no longer
+      export a gdcmFile:: method. Those are simply global functions
+      (for the time being this is better than having them attach to
+       either gdcmFile:: or gdcmPixelConvert::).
+    - src/gdcmDocument.[cxx|h], gdcmDocument:: now parser the JPEG fragments
+      and stores the result in a gdcmJPEGFragmentsInfo.
+    - src/gdcmFile.[cxx|h] and gdcmPixelConvert.[cxx|h]: all JPEG related
+      code (among other stuff) moved away from gdcmFile:; to 
+      gdcmPixelConvert::
+
+2004-10-08 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * src/gdcmCommon.h now declares int8_t for non stdint.h plateforms.
+  * CLEANUP_ROUND (7) for gdcmPixelConvert (lost at sea)
+    - src/gdcmFile.h gdcmPixelConvert.cxx gdcmPixelConvert.h gdcmRLE.cxx:
+      clean up of RLE related code. 
+  * CLEANUP_ROUND (8) for gdcmPixelConvert (end of RLE nigthmare)
+    - src/gdcmRLE.cxx removed
+    - src/gdcmPixelConvert.cxx all RLE code is now in PixelConvert::
+    - src/CMakeLists.txt gdcmFile.[cxx|h] changed accordingly
+    - src/gdcmRLEFrame*.h gdcmPixelConvert is now a friend class.
+  * CLEANUP_ROUND (9) for gdcmPixelConvert
+    - src/gdcmFile.[cxx|h} gdcmPixelConvert.[cxx|h], SwapZone(),
+      ConvertReorderEndianity(), ConvertDecmpres12BitsTo16Bits() moved
+      away from gdcmFile:: to gdcmPixelConvert::.
+
+2004-10-07 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * CLEANUP_ROUND (5) for gdcmPixelConvert (Upshit creek without a paddle)
+    - src/gdcmDocument.[cxx|h] Parse7Fe0 renamed to ComputeRLEInfo.
+      This is because Parse7Fe0 used to parse the pixels to compute the
+      length. This task was passed over to FindDocEntryLengthOB() a long
+      time ago, EXCEPT I forgot the OW case...
+      Hence Parse7Fe0 was no longer necessary. When renaming to ComputeRLEInfo
+      we just recylce the code for parsing RLE fragments and computing
+      offsets.
+  * CLEANUP_ROUND (6) for gdcmPixelConvert (man, I need a paddle bad)
+    - src/gdcmRLE.cxx: is now much simpler and avoids code replication
+        with the retired Parse7Fe0().
+    - src/gdcmRLEFrame.h: type fix for properly computing OffSet[]
+    - src/gdcmDocument.cxx: segments offset are now correct + clean up.
+
+2004-10-06 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * CLEANUP_ROUND (3) for gdcmPixelConvert (nightmare stage)
+    - src/gdcmRLEFramesInfo.[cxx|h], gdcmRLEFrame.h added
+    - src/gdcmDocument.[cxx|h] ::Parse7FE0 now sets up the RLEInfo.
+    - src/CMakeLists.txt: alphabetic order reodering + new entries.
+  * CLEANUP_ROUND (4) for gdcmPixelConvert
+    - src/gdcmDocument.[cxx|h] ::ParseDES and ::ParseSQ no longer bother
+      to return an unused length.
+
+2004-10-09 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+  * Remove all sprintf from the code to centralize in one spot in gdcmUtil
+    this should be cleanner from the plane view. The iostream are erally a pain
+    to use to do simple stuff.
+
+2004-10-04 Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
+  * Redo the compilation of the ijg jpeg library. Now only one source is
+    necesseray. No need to rename file by hand what so ever. CMake handle the
+    copying of the file within different directory, configure header file to
+    modify some symbol. The only addition made to ijg wasd a mangle table so
+    that symbol are different whether we are within 8bits or 12bits.
+
+2004-10-01 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * Added documentation of vtkgdcmReader on Website:
+     - testvtkGdcmReader.cxx renamed to vtkGdcmDemo.cxx (to be compatible
+       with it's binary name).
+     - vtk/vtkGdcmDemo.cxx and vtkgdcmViewer.cxx: added comments for
+       the Website to be more complete.
+     - Doc/doxygen.config.in: vtk/vtkGdcmReader.cxx now appears on 
+       doxygenated documentation.
+     - Doc/DoxyVtkGdcmReaderExamples.txt added
+       (see http://www.creatis.insa-lyon.fr/Public/Gdcm/html.developper/
+                  DoxyVtkGdmReaderExamples.html )
+  * src/win32, vtk/win32 manually maintained .dsp and .dsw removed.
+  * CLEANUP_ROUND (3) for gdcmPixelConvert
+   - src/gdcmFile.cxx, gdcmFile.h splitting GetImageDataIntoVectorRaw
+
+2004-09-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * CLEANUP_ROUND (2) for gdcmPixelConvert
+   - src/gdcmFile.cxx, gdcmFile.h splitting GetImageDataIntoVectorRaw
+
+2004-09-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * CLEANUP_ROUND for gdcmPixelConvert:
+    - src/gdcmFile.cxx, gdcmFile.h, gdcmHeader.cxx, gdcmHeader.h clean up
+    - src/gdcmPixelStuff[h|cxx] removed
+    - src/gdcmPixelConvert[h|cxx] added. Preparatory work included.
+    - src/CMakeLists.txt changed accordingly
+  * GDCMHOME clean up:
+    - MANIFEST.in, WrapSwig.py, WrapVTK.py, distutilsWrapping.py and
+      gdcmVersion.py moved to newly created ATTIC related
+      gdcmPython/SetupOldies/ directory.
+  * Autotools clean up:
+    - */*/Makefile.am removed AT EXCEPTION of gdcmPython/Makefile.am
+    - autogen.sh configure.in acinclude.m4 python.m4 removed 
+
+2004-09-27 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * src/*.cxx *.h Reference to License.htm fixed to License.html.
+  * Doc/CMakeLists.txt, doxygen.config.in: fix.
+  * Doc/Website/ConformanceSummary.html, minimal conformance statement added.
+
+2004-09-24 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * TODO updated with Mathieu suggestions. I proposed a template for
+    describing TODO entries and used it for new entries.
+  * Added Doc/Website/CodingStyle.html, Developpers.html,
+    DeveloppersPython.html, GdcmDataCvs.html and
+    DownloadVersion0_1.html, DownloadVersion0_3.html.
+  * Some Doc/*.txt Doxygen files (which do not really concern the
+    documentation itself, but the website) moved to html and
+    placed in directory Doc/Website:
+    - Doc/DoxyDevelInstal.txt moved to Doc/Website/Developpers.html
+    - Doc/DoxyInstallation.txt moved to Doc/Website/Installation.html
+    - Doc/DoxyIntroduction.txt included in Doc/Website/Main.html
+  * Doc/DoxyfileDeveloppers, DoxyfileUsers, Makefile.am oldies removed.
+  * CMakeLists.txt changed accordingly.
+  * DEVELOPPER spread out in Doc/Website/Developpers.html, CodingStyle.html,
+    DeveloppersPython.html
+  * INSTALL nows refers to Doc/Website/Installation.html
+
+2004-09-23 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * Added Doc/Website directory, that contains a first raw version
+    of gdcm Web site.
+
+2004-09-23 Jean-Pierre Roux
+  * FIX In order not to be poluted any longer by casting problems,
+    the member VoidArea of gdcmBinEntry is now uint8_t* (instead of void *)
+    we can now delete[] it safely 
+  * VoidArea is now called BinArea (less confusing name),
+    and all the methods called ...VoidArea... are now ... BinArea...
+  * class gdcmObject is now called gdcmDicomDirObject (less confusing name)
+
+2004-09-22 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * src/gdcmDocument.cxx: gdcmDocument::~gdcmDocument() doesn't clear (nor
+    clear) TagHT, which is an inherited member of gdcmElementSet. It is
+    up to the destructor of gdcmElementSet to clean up TagHt and it's
+    pointed content.
+
+2004-09-21 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * Test/CMakeLists.txt: update to follow gdcmData renamings.
+  * src/gdcmCommon.h, gdcmDocument.cxx: doxygen typos
+
+2004-09-17 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * ENH: added some utility method that builds a flat dictionary
+    holding all the Dicom entries contained in the recursive structure
+    of a gdcmElementSet. Refer to add FlatHashTablePrint.cxx for 
+    an example of usage.
+    - src/gdcmDocument.[h|cxx] added BuildFlatHashTableRecurse() and
+      BuildFlatHashTable() that build a flat dictionary.
+    - src/gdcmElementSet.h: added a new private GetTag() accessor.
+      gdcmDocument is now a friend of gdcmElementSet.
+    - src/gdcmElementSet.cxx: clean up.
+    - Example/FlatHashTablePrint.cxx added.
+    - Example/CmakeLists.txt changed accordingly
+
+2004-09-16 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * gdcmDocEntrySet::SQDepthLevel and gdcmDocEntrySet::BaseTagKey attributes
+    moved away from gdcmDocEntrySet (since this class is an abstract class
+    acting like an interface). SQDepthLevel and BaseTagKey are now
+    in class 
+    - src/gdcmDocEntrySet.[h|cxx] removal of SQDepthLevel and BaseTagKey
+      and associated accessors. Doxygenation of the class.
+    - src/gdcmSQItem.[h|cxx] SQDepthLevel and BaseTagKey and associated
+      accessors added.
+    - src/gdcmSeqEntry.[h|cxx]: constructor doesn't handle depth anymore.
+      Use SQDepthLevel accessor instead. ::Print() adapted.
+    - src/gdcmElementSet.cxx changed according to changes in gdcmSeqEntry.
+    - src/gdcmDocument.cxx changed accordingly.
+
+2004-09-13 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * Preparation of writing a gdcmHeader iterator: generalisation of gdcmTagKey
+    - The following is the doxygen comment of the typedef declaration
+      of gdcmTagKey in src/gdcmCommon.h:
+           gdcmTagKey is made to old an "universal" (as in URL, Universal
+           Ressource Locator)  key to a gdcmDocEntry i.e. a dicom tag.
+           A dicom tag always has a group and an element, but a set of tags
+           embeded in various (optionally nested) sequences and sharing
+           the same group and element all share the same (group, element)
+           "identifier". Hence the (group, element) cannot be used as an
+           identifier (in gdcm we shall refer to a "TagKey") of a tag.
+           In order to construct a proper tag identifier (i.e. a key) we
+           consider the following definition of a TagKey:
+           - let Group, Element be the string representation of the
+             group and element dicom tag members,
+           - let ItemNumber be the string representation of the integer
+             index of the considered item number of a sequence,
+           Let the key of a tag embeded in a sequence, noted SeqTag, be
+           the form:
+              /ItemNumber#Group|Element
+           where "/", "#" and "|" are characters acting as separators.
+           Then the general form of a gdcmTagKey is given by:
+              Group|Element<SeqTag>
+           where <SeqTag> means NO or many instances of SeqTag.
+           Hence the gdcmTagKey of a tag not "leaving" in a sequence is the
+           string e.g.
+               0028|1201
+           but the gdcmTagKey of a tag "embeded" is the first item of
+           a sequence, itself nested in the third item of a sequence is the
+           string e.g.
+               0004|1220/2#0008|0082/0#0008|0090
+    - src/gdcmDocEntry.h: added a new Key (of type gdcmTagKey) member, in
+      order to hold the new sequence compatible key. Previously, the 
+      GetKey() method would look in the underlying gdcmDictEntry.
+    - src/gdcmDocEntry.cxx:
+      -- constructor now copies the underlying DictEntry key, in the local
+         Key member.
+      -- ::Print: displays the member Key, instead of the (group, element).
+    - src/gdcmCommon.h: added some comments on typedef gdcmTagKey.
+    - src/gdcmDocEntrySet.h:xi
+      -- ::ParseDES() now setups the gdcmTagKey of the sequence it is parsing.
+      -- now has a new BaseTagKey member.
+      -- STYLE.
+  * src/gdcmValEntry.[h|cxx], src/gdcmBinEntry.[h|cxx]: the member VoidArea,
+    previously a member of gdcmValEntry, moved to gdcmBinEntry were is
+    truly belongs.
+    This poses the problem with the semantics of the following lines
+       LoadEntryVoidArea(0x0028,0x1201);  // R    LUT
+       LoadEntryVoidArea(0x0028,0x1202);  // G    LUT
+       LoadEntryVoidArea(0x0028,0x1203);  // B    LUT
+    in gdcmDocument::gdcmDocument(std::string const & ). Please refer
+    to the long FIXME note for what the problem is. Nevertheless in
+    order to get things working the dicom dictionary was altered !
+    Please fix things urgently...
+  * Dicts/dicomV3.dic WRONGLY altered (this means we introduced a uncorrect
+    information), see above note on moving the member VoidArea. Nevertheless
+    the following entries previously correctly set as US are now inproperly
+    set to OW:
+      0028 1201 OW IMG Red Palette Color Lookup Table Data
+      0028 1202 OW IMG Green Palette Color Lookup Table Data
+      0028 1203 OW IMG Blue Palette Color Lookup Table Data
+  * src/gdcmDocEntry.[h|cxx], src/gdcmSeqEntry.h: SQDepthLevel member
+    of gdcmDocEntry moved to gdcmSeqEntry.
+  * src/gdcmSeqEntry.cxx: STYLE.
+
+2004-08-04 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * Test/TestAllEntryVerify.cxx minor fix and added comments.
+
+2004-08-03 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * gdcmPython/testSuite.py: all the test suite in python is now moved
+    to it's C++ version (see gdcmData/TestAllEntryVerifyReference.txt)
+  * Test/CMakeLists.txt adapted to renaming of files in gdcmData
+  * gdcm/TODO and src/gdcmDictSet.h cleaned up frow the "TODO Swig" oldies
+
+2004-08-02 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+  * gdcmPython/CMakeLists.txt: SWIG_FLAGS doesn't declare includeall
+    to avoid inclusion recursion until STL is reached.
+  * src/gdcmDocument.[h|cxx]: exceptions substituted to errno C-style
+    mecanism. errno.h is not included in gdcm anymore.
+  * src/gdcmException.h: introduced new gdcmFormatUnexpected class
+    (gdcmFormatError now inherits from gdcmFormatUnexpected).
+  * TODO updated
+  * gdcmPython/testSuite.py checks on CR-MONO1-10-chest.dcm moved to
+    gdcmData/TestAllEntryVerifyReference.txt
+  * Test/TestAllEntryVerify.cxx is now effective (used always return true)
+  * src/gdcmDocument.[cxx|h]: constructors no longer use the bool
+    exception_on_error parameter.
+    - src/gdcmFile.[cxx|h], src/gdcmHeader.[cxx|h] changed accordingly,
+    - vtk/vtkGdcmReader.cxx changed accordingly,
+    - Example/*.cxx and Test/*.cxx changed accordingly.
+
 2004-07-06 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
   * src/gdcmDicomDir.cxx, gdcmDocEntrySet.cxx: removed inclusion of errno.h
   * src/gdcmDocument.[h|cxx], gdcmFile.[h|cxx], gdcmHeader.[h|cxx]:
 2004-07-21 Jean-Pierre Roux
   * FIX Now, Parsing and Printing a DICOMDIR do work!
        ( troubles remain in makeDicomDir and BuildUpDicomDir :-(
-                
 2004-07-20 Jean-Pierre Roux
   * FIX Some brain damaged headers have Zero-Lenght fields 
         for 'Transfert Syntax UID', or 'Media Stored SOP Class UID'.
 2004-06-29 Jean-Pierre Roux
    FIX : - remove Frog's beautified, but never checked 'Parse7FE0' code,
          - replace by uggly but working old code :-(
-               A lot of things should be OK again.
-       It's really urgent to have a test suite that *tests*, 
-       to prevent Frog's beautifying sessions to break all the stuff
-       (twice, withing a fortnigh ...)         
+   A lot of things should be OK again.
+   It's really urgent to have a test suite that *tests*, 
+   to prevent Frog's beautifying sessions to break all the stuff
+   (twice, withing a fortnigh ...)    
 
 2004-06-28 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
    * Test/TestWriteRead.cxx and TestReadWrite.cxx merged (because of
      image.
    * Test/CmakeList.txt: 8BitsRunLengthColor.dcm is now blacklisted
      (because TestWriteRead breaks on it, after a non conformal commit?).
-     ctest now runs properly, except for MakeDicomDir (which was allways
+     ctest now runs properly, except for MakeDicomDir (which was always
      broken) and the Python related stuff (still not fixed).
    
 2004-06-24 Jean-Pierre Roux
 
 2004-06-24 Jean-Pierre Roux
    FIX : - now Write drops LUT Descriptors and LUTs (if any)
-                   when SamplesPerPixel =3
+           when SamplesPerPixel =3
          - now Write is no longer confused by 
-                             'BitsAllocated = 12" and 'BitsStored=12"
+          'BitsAllocated = 12" and 'BitsStored=12"
          - "UN" value representation Elements are now written correctly 
-               (their legth is stored on 4 bytes -just like OB, OW, and SQ-)                                                                   
+               (their legth is stored on 4 bytes -just like OB, OW, and SQ-)
    ENH : - now gdcmHeader has its own Write methods 
-                   (in order to split the job that has not to be done 
-                                       for gdcmDicomDir)
+           (in order to split the job that has not to be done 
+           for gdcmDicomDir)
 
 2004-06-23 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
    * Test/PrintAllDocument.cxx: looping on files is now effective. It used to
 2004-06-24 Jean-Pierre Roux
    FIX : Write - All the Sequences and Sequence Item are now written 
             as 'no length' stuff, and a Sequence Delimitor aor an Item Delimitor
-                               is added a the end, when necessary.
+            is added a the end, when necessary.
             - A lot of brain-damaged images, that were read correctly are 
-                     now written correctly
-                               - length compatible BinEntry are now loaded correctly 
-                               (even for odd groups) 
+              now written correctly
+            - length compatible BinEntry are now loaded correctly 
+              (even for odd groups) 
         Note : only Explicit Value Representation was checked.
-                               (question : is implicit VR really necessary for gdcm ?)
+               (question : is implicit VR really necessary for gdcm ?)
 
 2004-06-23 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
    * DEVELOPPER: added a proposition of coding style.
 
 2004-06-22 Jean-Pierre Roux
    In order : to write Sequences, whatever their imbrication level, 
-                : to allow user to create his own Sequences
-       a lot of modif where necessary (adding, moving, or virtualising methods)
+            : to allow user to create his own Sequences
+   a lot of modif where necessary (adding, moving, or virtualising methods)
 
-WARNING : save your own sources *before* cvs up !
-       
-       - gdcmBinEntry
-         ADD virtual void Write(FILE *fp, FileType filetype);
-         
+   WARNING : save your own sources *before* cvs up !
+
+   - gdcmBinEntry
+     ADD virtual void Write(FILE *fp, FileType filetype);
+  
    - gdcmDocEntry
-         ADD virtual void Write(FILE *fp, FileType filetype);
-         ADD void gdcmDocEntry::WriteCommonPart(FILE *fp, FileType filetype);
-         
-       - gdcmDocEntrySet
-         ADD virtual void Write (FILE *fp, FileType filetype)=0;
-         ADD   virtual gdcmDocEntry *GetDocEntryByNumber(guint16 group,guint16 element) = 0;
+     ADD virtual void Write(FILE *fp, FileType filetype);
+     ADD void gdcmDocEntry::WriteCommonPart(FILE *fp, FileType filetype);
+  
+   - gdcmDocEntrySet
+     ADD virtual void Write (FILE *fp, FileType filetype)=0;
+     ADD virtual gdcmDocEntry *GetDocEntryByNumber(guint16 group,guint16 element) = 0;
      ADD gdcmDocEntry *GetDocEntryByName(std::string name);
      ADD virtual std::string GetEntryByNumber(guint16 group,guint16 element) = 0;
-     ADD std::string GetEntryByName(TagName name);                      
+     ADD std::string GetEntryByName(TagName name);            
      ADD gdcmDictEntry *NewVirtualDictEntry(guint16 group, 
                                             guint16 element,
                                             std::string vr     = "unkn",
                                             std::string fourth = "unkn",
                                             std::string name   = "unkn"); 
-         ADD gdcmValEntry *NewValEntryByNumber(guint16 group, guint16 element);                                                                                                 
-     ADD gdcmBinEntry *NewBinEntryByNumber(guint16 group, guint16 element);    
+     ADD gdcmValEntry *NewValEntryByNumber(guint16 group, guint16 element);  
+     ADD gdcmBinEntry *NewBinEntryByNumber(guint16 group, guint16 element); 
      ADD gdcmDocEntry *NewDocEntryByNumber(guint16 group, guint16 element); 
      ADD gdcmDocEntry *NewDocEntryByName  (std::string Name);   
      ADD gdcmDictEntry *GetDictEntryByName   (std::string Name);
      ADD gdcmDictEntry *GetDictEntryByNumber(guint16, guint16);
-         REM virtual gdcmDocEntry *NewDocEntryByNumber(guint16 group, guint16 element)=0;
+     REM virtual gdcmDocEntry *NewDocEntryByNumber(guint16 group, guint16 element)=0;
      REM virtual gdcmDocEntry *NewDocEntryByName  (std::string Name)=0;
-         
-       - gdcmDocument
-     ADD virtual bool WriteF(FileType type); // New stuff, with recursive exploration          
+  
+   - gdcmDocument
+     ADD virtual bool WriteF(FileType type); // New stuff, with recursive exploration
      ADD virtual std::string GetEntryByName    (TagName tagName);
      ADD virtual std::string GetEntryVRByName  (TagName tagName);
      REM virtual bool Write(FILE *, FileType);
@@ -257,22 +2353,22 @@ WARNING : save your own sources *before* cvs up !
      REM gdcmDocEntry *NewDocEntryByName  (std::string Name);
      REM gdcmValEntry *NewValEntryByNumber(guint16 group, guint16 element); 
      REM gdcmBinEntry *NewBinEntryByNumber(guint16 group, guint16 element); 
-                                                                                                                
-       - gdcmElementSet
-         ADD virtual void Write(FILE *fp, FileType filetype);
-         
+                                             
+   - gdcmElementSet
+     ADD virtual void Write(FILE *fp, FileType filetype);
+     
    - gdcmSeqEntry
-         ADD virtual void Write(FILE *fp,FileType filetype);
+     ADD virtual void Write(FILE *fp,FileType filetype);
  
    - gdcmSQItem
      ADD virtual void Write(FILE *fp, FileType filetype);
-     ADD virtual std::string GetEntryByNumber(guint16 group, guint16 element);       
+     ADD virtual std::string GetEntryByNumber(guint16 group, guint16 element);         
      REM std::string GetEntryByNumber(guint16 group, guint16 element);
      REM std::string GetEntryByName(TagName name);
 
    - gdcmValEntry
-        ADD virtual void gdcmValEntry::Write(FILE *fp, FileType filetype); 
-                                 
+    ADD virtual void gdcmValEntry::Write(FILE *fp, FileType filetype); 
+              
 2004-06-21 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
     * Test/TestWriteSimple.cxx: fix to gdcmHeader-gdcmHeaderHelper revamping.
       The default constructor invoked by the line
@@ -382,23 +2478,23 @@ WARNING : save your own sources *before* cvs up !
       - Specific clean up of Parse7FE0() (umproperly named actually).
     * gdcmPython/testSuite.py: an odd temporary kludge introduced.
 
-2004-06-14 Jean-Pierre Roux            
+2004-06-14 Jean-Pierre Roux      
    *  gdcmSeqEntry.cxx
-          - fix the display of Sequence Delimitor (SQDepthLevel pb)
-               - fix the display of SQItem ordinal number
+      - fix the display of Sequence Delimitor (SQDepthLevel pb)
+      - fix the display of SQItem ordinal number
       - add the GetSQItemByOrdinalNumber method
-               - remove some useless never written private methods     
-               
+      - remove some useless never written private methods   
+      
 2004-06-14 Jean-Pierre Roux
    * gdcmBinEntry.cxx 
       - adding a constructor taking a gdcmDocEntry as an input param
-          - ReplaceOrCreateByNumber now returns :
-             a gdcmBinEntry * if a Binary (void *) value is passed as a param
-                  a gdcmValEntry * if a string value is passed as a param
+      - ReplaceOrCreateByNumber now returns :
+         a gdcmBinEntry * if a Binary (void *) value is passed as a param
+         a gdcmValEntry * if a string value is passed as a param
    * dcmDocument.cxx
       - SetEntryByNumber now allows setting gdcmValEntry or gdcmBinEntry, 
-             according to the param type (no longer sets a gdcmDocEntry)
-          - GetValEntryByNumber, GetBinEntryByNumber added
+         according to the param type (no longer sets a gdcmDocEntry)
+      - GetValEntryByNumber, GetBinEntryByNumber added
       - NewValEntryByNumber and NewBinEntryByNumber added
    * gdcmFile.cxx
       - Pixel Data are now linked to the (7fe0,0010) elements, after reading
@@ -406,10 +2502,10 @@ WARNING : save your own sources *before* cvs up !
       - GetSQItemNumber and SetSQItemNumber added, to provide 
             a (relative) Item identier inside a given Sequence
             \warning : some pb remaining around this number
-                               will be solved asap
-      - AddEntry now takes the Item Number as a param  
+            will be solved asap
+      - AddEntry now takes the Item Number as a param    
    * gdcmValEntry.cxx 
-      - adding a constructor taking a gdcmDocEntry as an input param   
+      - adding a constructor taking a gdcmDocEntry as an input param   
 
 2004-06-14 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
     * Memory leak hunt with the following command:
@@ -586,7 +2682,7 @@ WARNING : save your own sources *before* cvs up !
            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
+      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     
@@ -607,9 +2703,9 @@ WARNING : save your own sources *before* cvs up !
      * ENH Minor changes to the Print() methods.
      * ADD gdcmParser::PrintEntryNiceSQ() to allow SQ-indented
            Header printing. Example given with :
-          > PrintHeader fileName  2 new
+      > 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
@@ -630,17 +2726,17 @@ WARNING : save your own sources *before* cvs up !
      * 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
+          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
      
@@ -648,7 +2744,7 @@ WARNING : save your own sources *before* cvs up !
      * 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...)
@@ -674,7 +2770,7 @@ WARNING : save your own sources *before* cvs up !
              from gdcmParser::WriteEntry to gdcmParser::WriteEntries
      * FIX : gdcmObject::ResetBoundaries now stops properly
              when end-of-list is reached
-          : gdcmVersion modified (as Benoit Regrain asked)
+      : 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.
@@ -739,14 +2835,14 @@ WARNING : save your own sources *before* cvs up !
            add gdcmDicomDirPatient:NewStudy
            add gdcmDicomDirStudy:NewSerie
            add gdcmDicomDirSerie:NewImage
-          to allow making gdcDicomDir object.
+      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
@@ -855,7 +2951,7 @@ WARNING : save your own sources *before* cvs up !
              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)
+        (no meaning : Name is *not* an identifier within the Dictionary)
 
 2004-01-26 Benoit Regrain
      * Bug fix in the print of hexadecimal representations. Remove long fields 
@@ -926,9 +3022,9 @@ WARNING : save your own sources *before* cvs up !
 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
+     * src/gdcmTS.cxx, gdcmVR.cxx : use now a dictionary file other than to be
        directly setted in the source code
-     * Dicts/dicomTS.dic, dicomVR.dic : 2 new dictionnary files loaded by
+     * Dicts/dicomTS.dic, dicomVR.dic : 2 new dictionary files loaded by
        gdcmTS and gdcmVR
 
 2004-01-09 Benoit Regrain
@@ -941,7 +3037,7 @@ WARNING : save your own sources *before* cvs up !
 
 2003-12-10 Benoit Regrain
      * gdcmHeader is now aggregating gdcmFile, and not derived into. Thus, we
-       can use a gdcmHeaderHelper to load datas
+       can use a gdcmHeaderHelper to load data
      * gdcmPython/testSuite.py : make the testSuite compliant with modifications
        made in the source code
 
@@ -965,19 +3061,19 @@ WARNING : save your own sources *before* cvs up !
              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)
+        (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
+                       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)
+           because gdcmElValSet::Add does not update ListElem
+      (to be written)
 
 2003-11-07 Jean-Pierre Roux
      * FIX misstyping in Transfert Syntax name table
@@ -1037,7 +3133,7 @@ WARNING : save your own sources *before* cvs up !
              
 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.
+      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,
@@ -1181,7 +3277,7 @@ WARNING : save your own sources *before* cvs up !
      * 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: make install should be ok now on Unix plateform
      * FIX: PATH to dictionary was wrong (missing /)
      * ENH: OpenFile, return true if the file looks like an ACR or DICOM file 
                      
@@ -1242,7 +3338,7 @@ WARNING : save your own sources *before* cvs up !
          - 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.
+                                       YBR_RCT files.
           (no sample found :-(
 
 2003-10-02  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
@@ -1256,7 +3352,7 @@ WARNING : save your own sources *before* cvs up !
       * removed leaks
 
 2003-09-24 Jean-Pierre Roux
-      * The lines are now eigthy characters long.for 
+      * 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>
@@ -1714,7 +3810,7 @@ WARNING : save your own sources *before* cvs up !
 
 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
+        in InstallMode or PreInstallMode but with an environment given
         value of GDCM_DICT_PATH.
       * src/gdcmDictSet.[cxx/h] coding style.
 
@@ -1774,7 +3870,7 @@ WARNING : save your own sources *before* cvs up !
       * 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
+          Dicom public dictionary 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.
@@ -1855,7 +3951,7 @@ WARNING : save your own sources *before* cvs up !
         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
+        - Dicts/dicomV3.dic Entries which had an unspecified fourth field
           are now in the "???" group.
         - python/gdcm.i changed accordingly,
         - python/demo/printGroupedPublicDict.py added, that gives an example
@@ -1944,7 +4040,7 @@ WARNING : save your own sources *before* cvs up !
 
 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().
+        aware. See the strategy comments in gdcmHeader::FindLength().
       * 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.
@@ -2007,10 +4103,10 @@ WARNING : save your own sources *before* cvs up !
 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].
+        that we can import the shadow classes without errors].
 
 2002-10-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
-      * hashtest.cxx removed (since allready in Test)
+      * hashtest.cxx removed (since already in Test)
       * src/gdcmlib.h renamed to src/gdcm.h
       * src/dcm.i renamed to src/gdcm.i
       * src/Makefile prepared for python wrapping