]> Creatis software - gdcm.git/blobdiff - ChangeLog
* Now, python test might work on systems
[gdcm.git] / ChangeLog
index 70a2ccb8e65c1d11696c97962c3d1883fa9b1205..bd232debb766665b3632bd65231571cb60274080 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,132 @@
+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
+          (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 Dictionnary (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".
 
 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>
 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
 
 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
 
         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