]> Creatis software - gdcm.git/blobdiff - ChangeLog
STYLE: Better approach to work around the timeval definition. Use type directly inste...
[gdcm.git] / ChangeLog
index fd48dd6dcbc2cc0c1601d5128206c7b2073e605d..7dafde2332a15e713f5ef81558db3631849853e1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,399 @@
+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-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 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 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         
+
+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
 
 2004-12-03 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
    * Remove memory leaks on the DicomDir
-   * Remove some useless datas in DicomDirObject
+   * 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 datas (and in the
+   * 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
      write
    * Test/TestCopyDicom.cxx, TestReadWriteReadCompare.cxx,
      TestAllReadCompareDicom.cxx : pass the write of images to RGB and test
-     is now on RGB datas (as before my last commit
+     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>
      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 datas and not color datas if
+   * Test/ : test on files are now made using Raw data and not color data if
      any.
    * Example/PrintFile.cxx : add more printings
 
 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 datas.
+   * 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.
      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
-        datas (pixels). And each structure destruct the datas when it's
-        destructed. So we have two destructions for the same datas. To solve it,
+        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
-        datas or not. If it doesn't own datas, then they will not destroyed by
+        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.
     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 datas correspond in the least 
+    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
 
   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 prefect but this the best solution I found for a
+  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>
     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 wether we are within 8bits or 12bits.
+    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:
   * 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 dictionnary
+  * 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.
 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 gdcmagKey in src/gdcmCommon.h:
+      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 allways has a group and an element, but a set of tags
+           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
   * TODO updated
   * gdcmPython/testSuite.py checks on CR-MONO1-10-chest.dcm moved to
     gdcmData/TestAllEntryVerifyReference.txt
-  * Test/TestAllEntryVerify.cxx is now effective (used allways return true)
+  * 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,
      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-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
              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 
 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
 
 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
 
 
 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.
 
       * 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.
         that we can import de shadow classes without errors].
 
 2002-10-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
-      * hashtest.cxx removed (since allready in Test)
+      * 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