]> Creatis software - gdcm.git/blobdiff - ChangeLog
* src/gdcmDictGroupName.[h|cxx] : add a correlation between a group (number)
[gdcm.git] / ChangeLog
index 6956bf1dfa5b64fc6dc665414c4293fb8f863b7c..9f9b46b505922b66c8da112217e775ac5f52168d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,244 @@
+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
+
+2005-03-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmFileHelper.cxx : remove memory leaks and bugs when writing files
+
+2005-02-22 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmFileHelper.cxx : JPR bad personal choices fix
+
+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 memroy leaks
+
+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
+
+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
+
+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
+
+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
+
+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 
+     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)
 
    * 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...
 
 2005-01-18 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
    * ENH for DicomDir, DicomDirPatient, DicomDirStudy, 
-                 DicomDirSerie, DicomDirImage
-                 Dict, DictSet classes :
+             DicomDirSerie, DicomDirImage
+             Dict, DictSet classes :
          -add method GetFirstEntry to replace call to InitTraversal+GetNextEntry
          -remove InitTraversal method.
-       * UPD Test programs + Example programs
+   * 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>
-   remove useless and never updated keyword \ingroup         
+   * 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
    * 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'   ;-)
+    * 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
+          related methods, in order not to expose internal mechanisms
         InitTraversal();
         GetNextEntry();
-        * REM methods that exposed internal mechanisms :
+    * 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
+    * 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.
+    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
+    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
 
 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
-                                               
+         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.
 
 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
+   * 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
 
 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
+           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
+           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>
 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'
+       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.
 
 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.
+    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
    * Removal of useless and dangerous methods :
          GetEntryByName, GetEntryVRByName, GetDocEntryByName, SetEntryByName
          GetDocEntryByName, GetEntryByName, GetDictEntryByName
-       * Removal of usless methods :
+   * 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
+         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 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
+                      Unused till now...           
+   * ADD : Add dicomGroupNameAbbreviations.dic
            should be used to write a method to replace the former
            Dict::GetDictEntryNamesByCategory()
 
 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,
+   * 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
+   * 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
 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 begining of %include section).
+    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.
    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 ...)     
+   (twice, withing a fortnigh ...)    
 
 2004-06-28 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
    * Test/TestWriteRead.cxx and TestReadWrite.cxx merged (because of
      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",
      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
       - 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
       - 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:
            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     
      * 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
      * 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
      
      * 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...)
              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.
            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
              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
              
 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,
          - 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>
         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
 
 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.
 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 already in Test)