]> Creatis software - gdcm.git/commitdiff
* src/gdcmDicomDirElement.h, gdcmDict.h : rename AddNewXxx methods to AddXxx.
authorregrain <regrain>
Mon, 24 Jan 2005 14:14:07 +0000 (14:14 +0000)
committerregrain <regrain>
Mon, 24 Jan 2005 14:14:07 +0000 (14:14 +0000)
   * 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
   -- BeNours

22 files changed:
ChangeLog
Example/TestChangeHeader.cxx
Testing/CMakeLists.txt
Testing/TestDicomDirElement.cxx [new file with mode: 0644]
Testing/TestDict.cxx
gdcmPython/demo/PrintDicomDir.py.in
gdcmPython/demo/PrintDict.py.in
gdcmPython/demo/PrintHeader.py.in
gdcmPython/gdcm.i
src/gdcm.h
src/gdcmDefaultDicts.cxx.in
src/gdcmDicomDir.cxx
src/gdcmDicomDirElement.cxx
src/gdcmDicomDirElement.h
src/gdcmDicomDirObject.cxx
src/gdcmDict.cxx
src/gdcmDict.h
src/gdcmDocEntrySet.cxx
src/gdcmDocEntrySet.h
src/gdcmDocument.cxx
src/gdcmDocument.h
src/gdcmSQItem.cxx

index 2e038e7e7f1a09bbd95efb56cd63f94fd0ae2a34..47756030c63461812838ee81705f7e3c390d3ff0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,16 @@
+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
 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.
+     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
 
 2005-01-22 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
    * bug fix for compilation on MSVC6
 
 2005-01-18 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
    * ENH for DicomDir, DicomDirPatient, DicomDirStudy, 
 
 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.
          -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>
 
 2005-01-18 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
-   remove useless and never updated keyword \ingroup         
+   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
 
 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>
    * 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
 
 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();
         InitTraversal();
         GetNextEntry();
-        * REM methods that exposed internal mechanisms :
+    * REM methods that exposed internal mechanisms :
         DicomDir::GetDicomDirPatients()
         DicomDirPatient::GetDicomDirStudies()
         DicomDirStudy::GetDicomDirSeries()
         DicomDirSerie::GetDicomDirImages()
         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
     * 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*
 
 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-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
 
 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-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
 
 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 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
 
 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)
           (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
 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>
               (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
 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-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
 
 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
 
 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 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()
          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         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
    * 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()
 
            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)
 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
            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
 
 2005-01-05 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
    * src/gdcmCommon.h : add the GDCM_UNKNOWN constant. This constant is to
    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
    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
 
 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 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",
      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); 
      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
    - 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);
  
    - 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
      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
 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.
 
       - 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
    *  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
       - 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
 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, 
    * 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
       - 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
       - 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 
    * 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:
 
 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.
            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 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 :
      * 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 ...)
           (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
 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
      * 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,
 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 
            to the gdcmFile constructors to be full gdcmParser compliant
      * FIX vtk/vtkGdcmReader.cxx now uses  enable_sequences = true in gdcmFile
            to allow reading of PAPYRUS 3.0 files 
-             
+         
 2004-04-06  Jean-Pierre Roux
      * ADD gdcmData/E00001S03I0015.dcm for SQ checking purpose
      
 2004-04-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
      * ADD : Test/checksequence.sh, for a general recap on SQ pb
      * FIX : gdcmParser::WriteEntryTagVRLength emprovement of special treatement
              for Philips spurious Tag fffe|0000 while rewritting Dicom files
-            
+        
 2004-03-30  Jean-Pierre Roux
      * FIX gdcmParser::ReplaceOrCreateByNumber shouldn't seg fault any more 
          for ACR file, written out as DICOM files (hope so...)
 2004-03-30  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
              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.
 
 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
            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
      * 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
 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.
              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
 
       * 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)
       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-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 
              
 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,
      
 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, 
          - 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>
           (no sample found :-(
 
 2003-10-02  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
index c2d4b4d992cb772f39ddaf180c83e4f89f7ec2d5..a35f143234437696fc9b6e5f7a576b43e8bfe0b5 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: TestChangeHeader.cxx,v $
   Language:  C++
   Program:   gdcm
   Module:    $RCSfile: TestChangeHeader.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/21 11:40:52 $
-  Version:   $Revision: 1.8 $
+  Date:      $Date: 2005/01/24 14:14:08 $
+  Version:   $Revision: 1.9 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -37,7 +37,7 @@ int main(int argc, char* argv[])
 
     // 0018 1310 US ACQ Acquisition Matrix
     gdcm::DictEntry *dictEntry =
 
     // 0018 1310 US ACQ Acquisition Matrix
     gdcm::DictEntry *dictEntry =
-       f2->GetFile()->GetPubDict()->GetDictEntry( 0x0018, 1310 );
+       f2->GetFile()->GetPubDict()->GetEntry( 0x0018, 1310 );
     std::cerr << std::hex << dictEntry->GetGroup() << "," << dictEntry->GetElement() << std::endl;
 
     std::string matrix = f2->GetFile()->GetEntry(0x0018, 0x1310);
     std::cerr << std::hex << dictEntry->GetGroup() << "," << dictEntry->GetElement() << std::endl;
 
     std::string matrix = f2->GetFile()->GetEntry(0x0018, 0x1310);
index df64ba0e894143ed788963292a7eb84060e545dc..fb86ee41ca3069247ca29a8b8bb246eba8df8319 100644 (file)
@@ -12,6 +12,7 @@ SET(TEST_SOURCES
   TestHash.cxx
   TestTS.cxx
   TestVR.cxx
   TestHash.cxx
   TestTS.cxx
   TestVR.cxx
+  TestDicomDirElement.cxx
   TestUtil.cxx
   TestDicomString.cxx
   TestDict.cxx
   TestUtil.cxx
   TestDicomString.cxx
   TestDict.cxx
diff --git a/Testing/TestDicomDirElement.cxx b/Testing/TestDicomDirElement.cxx
new file mode 100644 (file)
index 0000000..82e3f66
--- /dev/null
@@ -0,0 +1,28 @@
+/*=========================================================================
+                                                                                
+  Program:   gdcm
+  Module:    $RCSfile: TestDicomDirElement.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/01/24 14:14:09 $
+  Version:   $Revision: 1.1 $
+                                                                                
+  Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
+  l'Image). All rights reserved. See Doc/License.txt or
+  http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
+                                                                                
+     This software is distributed WITHOUT ANY WARRANTY; without even
+     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+     PURPOSE.  See the above copyright notices for more information.
+                                                                                
+=========================================================================*/
+#include "gdcmDicomDirElement.h"
+
+#include <iostream>
+
+int TestDicomDirElement(int , char *[])
+{
+   gdcm::DicomDirElement ddElt;
+   ddElt.Print( std::cout );
+
+   return 0;
+}
index 6d5b4e207fe7bf7a3dde828beb0486c14b4ffda8..db151958f1c070bd188ea57bbd73d2fa9262e369 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: TestDict.cxx,v $
   Language:  C++
   Program:   gdcm
   Module:    $RCSfile: TestDict.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/18 07:56:21 $
-  Version:   $Revision: 1.4 $
+  Date:      $Date: 2005/01/24 14:14:09 $
+  Version:   $Revision: 1.5 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -65,7 +65,7 @@ int TestDict(int , char* [])
    const int ENTRY_GR = 0x10;
    const int ENTRY_EL = 0x20;
    std::string key=gdcm::DictEntry::TranslateToKey(ENTRY_GR,ENTRY_EL);
    const int ENTRY_GR = 0x10;
    const int ENTRY_EL = 0x20;
    std::string key=gdcm::DictEntry::TranslateToKey(ENTRY_GR,ENTRY_EL);
-   gdcm::DictEntry *entry=pubDict->GetDictEntry(ENTRY_GR,ENTRY_EL);
+   gdcm::DictEntry *entry=pubDict->GetEntry(ENTRY_GR,ENTRY_EL);
    if(!entry)
    {
       std::cout<<"The DictEntry hasn't be found... Failed\n";
    if(!entry)
    {
       std::cout<<"The DictEntry hasn't be found... Failed\n";
@@ -79,7 +79,9 @@ int TestDict(int , char* [])
    entry=pubDict->GetFirstEntry();
    while(entry)
    {
    entry=pubDict->GetFirstEntry();
    while(entry)
    {
-      entry->Print();
+      std::cout << entry->GetGroup() << "|" << entry->GetElement()
+                << " [" << entry->GetVR() << "] - M" << entry->GetVM()
+                << " : " << entry->GetName() << " ( " << entry->GetKey() << ")\n";
       entry=pubDict->GetNextEntry();
    }
 
       entry=pubDict->GetNextEntry();
    }
 
index 1e97623edaa06da4a01f8809ba6a718ec132f9eb..703ee20ec7846354e50c9421832b5c910c1b2930 100644 (file)
@@ -21,7 +21,7 @@ try:
 except IndexError:
    printLevel = 1
 
 except IndexError:
    printLevel = 1
 
-### Build the header element list
+### Build the DicomDir element list
 dicomdir = gdcm.DicomDir(fileName)
 if not dicomdir.IsReadable():
    print
 dicomdir = gdcm.DicomDir(fileName)
 if not dicomdir.IsReadable():
    print
index 03ac74973d9fc41496d7da9fcd5dc8cd087e04cd..82537d05d6cc5bcb634ab0ed3057ee10077fb3d9 100644 (file)
@@ -14,7 +14,7 @@ print "#####################################################################"
 # Print the DictSet
 dicts=gdcm.Global.GetDicts()
 if(not isinstance(dicts,gdcm.DictSet)):
 # Print the DictSet
 dicts=gdcm.Global.GetDicts()
 if(not isinstance(dicts,gdcm.DictSet)):
-       raise RuntimeError,"The DictSet hasn't the good type (%s)" % type(dicts)
+   raise RuntimeError,"The DictSet hasn't the good type (%s)" % type(dicts)
 print "DictSet content :"
 dicts.Print()
 
 print "DictSet content :"
 dicts.Print()
 
@@ -22,7 +22,7 @@ print "#####################################################################"
 # Print the Dict (public)
 pubDict=dicts.GetDefaultPubDict()
 if(not isinstance(pubDict,gdcm.Dict)):
 # Print the Dict (public)
 pubDict=dicts.GetDefaultPubDict()
 if(not isinstance(pubDict,gdcm.Dict)):
-       raise RuntimeError,"The public Dict hasn't the good type (%s)" % type(dict)
+   raise RuntimeError,"The public Dict hasn't the good type (%s)" % type(dict)
 print "Public Dict content :"
 pubDict.Print()
 
 print "Public Dict content :"
 pubDict.Print()
 
@@ -30,10 +30,10 @@ print "#####################################################################"
 # Print the DictEntry (0010|0020)
 ENTRY_GR = 0x10
 ENTRY_EL = 0x20
 # Print the DictEntry (0010|0020)
 ENTRY_GR = 0x10
 ENTRY_EL = 0x20
-entry=pubDict.GetDictEntry(ENTRY_GR,ENTRY_EL)
+entry=pubDict.GetEntry(ENTRY_GR,ENTRY_EL)
 if(not isinstance(entry,gdcm.DictEntry)):
 if(not isinstance(entry,gdcm.DictEntry)):
-       raise RuntimeError,"The entry (%04x|%04x) hasn't the good type (%s)" % \
-             (ENTRY_GR,ENTRY_EL,type(entry))
+   raise RuntimeError,"The entry (%04x|%04x) hasn't the good type (%s)" % \
+         (ENTRY_GR,ENTRY_EL,type(entry))
 print "Entry (%04x|%04x) content :" % (ENTRY_GR,ENTRY_EL)
 entry.Print()
 
 print "Entry (%04x|%04x) content :" % (ENTRY_GR,ENTRY_EL)
 entry.Print()
 
@@ -42,6 +42,8 @@ print "#####################################################################"
 print "dict content :"
 entry=pubDict.GetFirstEntry()
 while(entry):
 print "dict content :"
 entry=pubDict.GetFirstEntry()
 while(entry):
-       entry.Print()
-       entry=pubDict.GetNextEntry()
+   print "%4x|%4x [%s] - M%s : %s (%s)" %\
+         (entry.GetGroup(),entry.GetElement(),entry.GetVR(),entry.GetVM(),
+          entry.GetName(),entry.GetKey())
+   entry=pubDict.GetNextEntry()
 
 
index 74d4b4eed7258350df2080a60c6d5d2c4bf4dce8..a0539c7f322e2499cc575362d27432810e709565 100644 (file)
@@ -21,10 +21,10 @@ try:
 except IndexError:
    printLevel = 1
 
 except IndexError:
    printLevel = 1
 
-### Build the header element list
+### Build the file element list
 print fileName, type(fileName)
 print fileName, type(fileName)
-header = gdcm.Header(fileName)
-if not header.IsReadable():
+file = gdcm.File(fileName)
+if not file.IsReadable():
    raise RuntimeError,"The '%s' file is not readable with gdcm." % fileName
 
 print "##############################################################"
    raise RuntimeError,"The '%s' file is not readable with gdcm." % fileName
 
 print "##############################################################"
@@ -32,10 +32,10 @@ print "### Display all the elements and their respective values"
 print "## found in the ", fileName, " file."
 print "##############################################################"
 
 print "## found in the ", fileName, " file."
 print "##############################################################"
 
-val=header.GetFirstEntry()
+val=file.GetFirstEntry()
 while(val):
 while(val):
-       val.Print()
-       print ""
-       val=header.GetNextEntry()
+   val.Print()
+   print ""
+   val=file.GetNextEntry()
 val=None
 
 val=None
 
index cb5aaeac68e414c75cb41400cceac4755156ead0..98298ca00e9877b9ed9111d69303eb3c13bebf77 100644 (file)
@@ -1,5 +1,7 @@
 %module gdcm
 %{
 %module gdcm
 %{
+#include <iostream>
+
 #include "gdcmCommon.h"
 #include "gdcmBase.h"
 #include "gdcmDict.h"
 #include "gdcmCommon.h"
 #include "gdcmBase.h"
 #include "gdcmDict.h"
@@ -75,6 +77,17 @@ using namespace gdcm;
 
 ///////////////////////  typemap section  ////////////////////////////////////
 
 
 ///////////////////////  typemap section  ////////////////////////////////////
 
+////////////////////////////////////////////////
+// Redefine all types used
+typedef char int8_t;
+typedef unsigned char uint8_t;
+typedef short int16_t;
+typedef unsigned short uint16_t;
+typedef int int32_t;
+typedef unsigned int uint32_t;
+typedef long long int64_t;
+typedef unsigned long long uint64_t;
+
 ////////////////////////////////////////////////
 // Convert a DocEntry * to the real derived class
 %typemap(out) gdcm::DocEntry * 
 ////////////////////////////////////////////////
 // Convert a DocEntry * to the real derived class
 %typemap(out) gdcm::DocEntry * 
@@ -99,139 +112,139 @@ using namespace gdcm;
 
 ////////////////////////////////////////////////
 // Convert an STL list<> to a python native list
 
 ////////////////////////////////////////////////
 // Convert an STL list<> to a python native list
-%typemap(out) std::list<std::string> * 
-{
-   PyObject *newItem = (PyObject *)0;
-   PyObject *newList = PyList_New(0); // The result of this typemap
-
-   for (std::list<std::string>::iterator strIt = ($1)->begin();
-        strIt != ($1)->end();
-        ++strIt)
-   {
-      newItem = PyString_FromString(strIt->c_str());
-      PyList_Append( newList, newItem);
-   }
-   $result = newList;
-}
+//%typemap(out) std::list<std::string> * 
+//{
+//   PyObject *newItem = (PyObject *)0;
+//   PyObject *newList = PyList_New(0); // The result of this typemap
+//
+//   for (std::list<std::string>::iterator strIt = ($1)->begin();
+//        strIt != ($1)->end();
+//        ++strIt)
+//   {
+//      newItem = PyString_FromString(strIt->c_str());
+//      PyList_Append( newList, newItem);
+//   }
+//   $result = newList;
+//}
 
 //////////////////////////////////////////////////////////////////
 // Convert an STL map<> (hash table) to a python native dictionary
 
 //////////////////////////////////////////////////////////////////
 // Convert an STL map<> (hash table) to a python native dictionary
-%typemap(out) std::map<std::string, std::list<std::string> > * 
-{
-   PyObject *newDict = PyDict_New(); // The result of this typemap
-   PyObject *newKey = (PyObject *)0;
-   PyObject *newVal = (PyObject *)0;
-
-   for (std::map<std::string,
-        std::list<std::string> >::iterator tag = ($1)->begin();
-        tag != ($1)->end(); ++tag)
-   {
-      std::string first = tag->first;
-      // Do not publish entries whose keys is made of spaces
-      if (first.length() == 0)
-         continue;
-      newKey = PyString_FromString(first.c_str());
-
-      PyObject *newList = PyList_New(0);
-      for (std::list<std::string>::iterator itemIt = tag->second.begin();
-           itemIt != tag->second.end();
-           ++itemIt)
-      {
-         newVal = PyString_FromString(itemIt->c_str());
-         PyList_Append( newList, newVal);
-      }
-      PyDict_SetItem( newDict, newKey, newList);
-   }
-   $result = newDict;
-}
+//%typemap(out) std::map<std::string, std::list<std::string> > * 
+//{
+//   PyObject *newDict = PyDict_New(); // The result of this typemap
+//   PyObject *newKey = (PyObject *)0;
+//   PyObject *newVal = (PyObject *)0;
+//
+//   for (std::map<std::string,
+//        std::list<std::string> >::iterator tag = ($1)->begin();
+//        tag != ($1)->end(); ++tag)
+//   {
+//      std::string first = tag->first;
+//      // Do not publish entries whose keys is made of spaces
+//      if (first.length() == 0)
+//         continue;
+//      newKey = PyString_FromString(first.c_str());
+//
+//      PyObject *newList = PyList_New(0);
+//      for (std::list<std::string>::iterator itemIt = tag->second.begin();
+//           itemIt != tag->second.end();
+//           ++itemIt)
+//      {
+//         newVal = PyString_FromString(itemIt->c_str());
+//         PyList_Append( newList, newVal);
+//      }
+//      PyDict_SetItem( newDict, newKey, newList);
+//   }
+//   $result = newDict;
+//}
 
 /////////////////////////////////////////////////////////
 // Convert a c++ hash table in a python native dictionary
 
 /////////////////////////////////////////////////////////
 // Convert a c++ hash table in a python native dictionary
-%typemap(out) gdcm::TagDocEntryHT & 
-{
-   PyObject *newDict = PyDict_New(); // The result of this typemap
-   std::string rawName;              // Element name as gotten from gdcm
-   PyObject *newKey = (PyObject *)0; // Associated name as python object
-   std::string rawValue;             // Element value as gotten from gdcm
-   PyObject *newVal = (PyObject *)0; // Associated value as python object
-
-   for (gdcm::TagDocEntryHT::iterator tag = $1->begin(); tag != $1->end(); ++tag)
-   {
-      // The element name shall be the key:
-      rawName = tag->second->GetName();
-      // gdcm unrecognized (including not loaded because their size exceeds
-      // the user specified treshold) elements are exported with their
-      // TagKey as key.
-      if (rawName == "Unknown")
-         rawName = tag->second->GetKey();
-      newKey = PyString_FromString(rawName.c_str());
-
-      // Element values are striped from leading/trailing spaces
-      gdcm::ValEntry *valEntryPtr = dynamic_cast< gdcm::ValEntry* >(tag->second);
-      if ( valEntryPtr )
-      {
-         rawValue = valEntryPtr->GetValue();
-      }
-      else
-        continue; 
-      newVal = PyString_FromString(rawValue.c_str());
-      PyDict_SetItem( newDict, newKey, newVal);
-   }
-   $result = newDict;
-}
+//%typemap(out) gdcm::TagDocEntryHT & 
+//{
+//   PyObject *newDict = PyDict_New(); // The result of this typemap
+//   std::string rawName;              // Element name as gotten from gdcm
+//   PyObject *newKey = (PyObject *)0; // Associated name as python object
+//   std::string rawValue;             // Element value as gotten from gdcm
+//   PyObject *newVal = (PyObject *)0; // Associated value as python object
+//
+//   for (gdcm::TagDocEntryHT::iterator tag = $1->begin(); tag != $1->end(); ++tag)
+//   {
+//      // The element name shall be the key:
+//      rawName = tag->second->GetName();
+//      // gdcm unrecognized (including not loaded because their size exceeds
+//      // the user specified treshold) elements are exported with their
+//      // TagKey as key.
+//      if (rawName == "Unknown")
+//         rawName = tag->second->GetKey();
+//      newKey = PyString_FromString(rawName.c_str());
+//
+//      // Element values are striped from leading/trailing spaces
+//      gdcm::ValEntry *valEntryPtr = dynamic_cast< gdcm::ValEntry* >(tag->second);
+//      if ( valEntryPtr )
+//      {
+//         rawValue = valEntryPtr->GetValue();
+//      }
+//      else
+//        continue; 
+//      newVal = PyString_FromString(rawValue.c_str());
+//      PyDict_SetItem( newDict, newKey, newVal);
+//   }
+//   $result = newDict;
+//}
 
 /////////////////////////////////////
 
 /////////////////////////////////////
-%typemap(out) ListDicomDirPatient & 
-{
-       PyObject *newItem = (PyObject *)0;
-       $result = PyList_New(0); // The result of this typemap
-
-       for (std::list<gdcm::DicomDirPatient *>::iterator newIt = ($1)->begin();
-           newIt != ($1)->end(); ++newIt)
-   {
-               newItem = SWIG_NewPointerObj(*newIt,SWIGTYPE_p_DicomDirPatient,0);
-               PyList_Append($result, newItem);
-       }
-}
-
-%typemap(out) ListDicomDirStudy & 
-{
-       PyObject *newItem = (PyObject *)0;
-       $result = PyList_New(0); // The result of this typemap
-
-       for (std::list<gdcm::DicomDirStudy *>::iterator newIt = ($1)->begin();
-           newIt != ($1)->end(); ++newIt)
-   {
-               newItem = SWIG_NewPointerObj(*newIt,SWIGTYPE_p_DicomDirStudy,0);
-               PyList_Append($result, newItem);
-       }
-}
-
-%typemap(out) ListDicomDirSerie & 
-{
-       PyObject* newItem = (PyObject*)0;
-       $result = PyList_New(0); // The result of this typemap
-
-       for (std::list<gdcm::DicomDirSerie *>::iterator newIt = ($1)->begin();
-           newIt != ($1)->end(); ++newIt)
-   {
-               newItem = SWIG_NewPointerObj(*newIt,SWIGTYPE_p_DicomDirSerie,0);
-               PyList_Append($result, newItem);
-       }
-}
-
-%typemap(out) ListDicomDirImage & 
-{
-       PyObject* newItem = (PyObject*)0;
-       $result = PyList_New(0); // The result of this typemap
-
-       for (std::list<gdcm::DicomDirImage *>::iterator newIt = ($1)->begin();
-           newIt != ($1)->end(); ++newIt) 
-   {
-               newItem = SWIG_NewPointerObj(*newIt,SWIGTYPE_p_DicomDirImage,0);
-               PyList_Append($result, newItem);
-       }
-}
+//%typemap(out) ListDicomDirPatient & 
+//{
+//     PyObject *newItem = (PyObject *)0;
+//     $result = PyList_New(0); // The result of this typemap
+//
+//     for (std::list<gdcm::DicomDirPatient *>::iterator newIt = ($1)->begin();
+//         newIt != ($1)->end(); ++newIt)
+//   {
+//             newItem = SWIG_NewPointerObj(*newIt,SWIGTYPE_p_DicomDirPatient,0);
+//             PyList_Append($result, newItem);
+//     }
+//}
+
+//%typemap(out) ListDicomDirStudy & 
+//{
+//     PyObject *newItem = (PyObject *)0;
+//     $result = PyList_New(0); // The result of this typemap
+//
+//     for (std::list<gdcm::DicomDirStudy *>::iterator newIt = ($1)->begin();
+//         newIt != ($1)->end(); ++newIt)
+//   {
+//             newItem = SWIG_NewPointerObj(*newIt,SWIGTYPE_p_DicomDirStudy,0);
+//             PyList_Append($result, newItem);
+//     }
+//}
+
+//%typemap(out) ListDicomDirSerie & 
+//{
+//     PyObject* newItem = (PyObject*)0;
+//     $result = PyList_New(0); // The result of this typemap
+//
+//     for (std::list<gdcm::DicomDirSerie *>::iterator newIt = ($1)->begin();
+//         newIt != ($1)->end(); ++newIt)
+//   {
+//             newItem = SWIG_NewPointerObj(*newIt,SWIGTYPE_p_DicomDirSerie,0);
+//             PyList_Append($result, newItem);
+//     }
+//}
+
+//%typemap(out) ListDicomDirImage & 
+//{
+//     PyObject* newItem = (PyObject*)0;
+//     $result = PyList_New(0); // The result of this typemap
+//
+//     for (std::list<gdcm::DicomDirImage *>::iterator newIt = ($1)->begin();
+//         newIt != ($1)->end(); ++newIt) 
+//   {
+//             newItem = SWIG_NewPointerObj(*newIt,SWIGTYPE_p_DicomDirImage,0);
+//             PyList_Append($result, newItem);
+//     }
+//}
 
 ////////////////////////////////////////////////////////////////////////////
 // Multi-argument typemap designed for wrapping the progress related methods
 
 ////////////////////////////////////////////////////////////////////////////
 // Multi-argument typemap designed for wrapping the progress related methods
@@ -285,6 +298,26 @@ using namespace gdcm;
    $1 = new std::string( PyString_AsString( $input ) );
 }
 
    $1 = new std::string( PyString_AsString( $input ) );
 }
 
+////////////////////  gdcm.TagName versus Python str  //////////////////////
+%typemap(out) gdcm::TagName, const gdcm::TagName &
+{
+    $result = PyString_FromString(($1)->c_str());
+}
+
+// Convertion of incoming Python str to STL string
+%typemap(python, in) const gdcm::TagName, gdcm::TagName
+{
+  $1 = PyString_AsString($input);
+}
+
+// Same convertion as above but references (since swig converts C++
+// refererences to pointers)
+%typemap(python, in) gdcm::TagName const &
+{
+   $1 = new std::string( PyString_AsString( $input ) );
+}
+
+
 ////////////////////////////////////////////////////////////////////////////
 // Because overloading and %rename don't work together (see below Note 1)
 // we need to ignore some methods (e.g. the overloaded default constructor).
 ////////////////////////////////////////////////////////////////////////////
 // Because overloading and %rename don't work together (see below Note 1)
 // we need to ignore some methods (e.g. the overloaded default constructor).
@@ -310,9 +343,9 @@ using namespace gdcm;
 %include "gdcmBase.h"
 %include "gdcmDictEntry.h"
 %include "gdcmDict.h"
 %include "gdcmBase.h"
 %include "gdcmDictEntry.h"
 %include "gdcmDict.h"
+%include "gdcmDictSet.h"
 %include "gdcmDocEntrySet.h"
 %include "gdcmElementSet.h"
 %include "gdcmDocEntrySet.h"
 %include "gdcmElementSet.h"
-%include "gdcmDictSet.h"
 %include "gdcmSQItem.h"
 %include "gdcmDicomDirElement.h"
 %include "gdcmDicomDirObject.h"
 %include "gdcmSQItem.h"
 %include "gdcmDicomDirElement.h"
 %include "gdcmDicomDirObject.h"
index e572d605b42fd8c8b4706aa41857e2f5631e2ec5..af4b6e407ca344826e37d52e040c63ec49ce90ba 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcm.h,v $
   Language:  C++
   Program:   gdcm
   Module:    $RCSfile: gdcm.h,v $
   Language:  C++
-  Date:      $Date: 2005/01/21 11:40:55 $
-  Version:   $Revision: 1.51 $
+  Date:      $Date: 2005/01/24 14:14:10 $
+  Version:   $Revision: 1.52 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -22,7 +22,6 @@
 // General purpose include file. This file should be included by
 // external users of gdcm. It exposes the necessary API.
 
 // General purpose include file. This file should be included by
 // external users of gdcm. It exposes the necessary API.
 
-#include "gdcmException.h"
 #include "gdcmCommon.h"
 
 #include "gdcmDictEntry.h"
 #include "gdcmCommon.h"
 
 #include "gdcmDictEntry.h"
index 58649c6e7a7642a3a37ed721bdacd957d3d17ab0..78873a29c9a3324ecb802d199d2b8b69bad55578 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDefaultDicts.cxx.in,v $
   Language:  C++
   Program:   gdcm
   Module:    $RCSfile: gdcmDefaultDicts.cxx.in,v $
   Language:  C++
-  Date:      $Date: 2005/01/20 17:15:54 $
-  Version:   $Revision: 1.6 $
+  Date:      $Date: 2005/01/24 14:14:10 $
+  Version:   $Revision: 1.7 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -48,7 +48,7 @@ void FillDefaultDataDict(Dict *d)
    while( n.name != 0 )
    {
       const DictEntry e( n.group, n.element, n.vr, n.vm, n.name);
    while( n.name != 0 )
    {
       const DictEntry e( n.group, n.element, n.vr, n.vm, n.name);
-      d->AddNewEntry( e );
+      d->AddEntry( e );
       n = datadir[++i];
    }
 }
       n = datadir[++i];
    }
 }
@@ -100,7 +100,7 @@ void FillDefaultDIRDict(DicomDirElement *dde)
       elem.Group = e.group;
       elem.Elem  = e.element;
       elem.Value = e.value;
       elem.Group = e.group;
       elem.Elem  = e.element;
       elem.Value = e.value;
-      dde->AddNewEntry( type, elem);
+      dde->AddEntry( type, elem);
       e = dataElement[++i];
    }
 }
       e = dataElement[++i];
    }
 }
index e9dfaa9ba15c477518fffc124e05cc7713f08327..568c07b74dd830b003937528daa4c3e14e20e02c 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDir.cxx,v $
   Language:  C++
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDir.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/23 10:12:33 $
-  Version:   $Revision: 1.114 $
+  Date:      $Date: 2005/01/24 14:14:10 $
+  Version:   $Revision: 1.115 $
   
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
   
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -596,7 +596,7 @@ void DicomDir::SetElement(std::string const &path, DicomDirType type,
    {
       tmpGr     = it->Group;
       tmpEl     = it->Elem;
    {
       tmpGr     = it->Group;
       tmpEl     = it->Elem;
-      dictEntry = GetPubDict()->GetDictEntry(tmpGr, tmpEl);
+      dictEntry = GetPubDict()->GetEntry(tmpGr, tmpEl);
 
       entry     = new ValEntry( dictEntry ); // Be sure it's never a BinEntry !
 
 
       entry     = new ValEntry( dictEntry ); // Be sure it's never a BinEntry !
 
index 47e0750e1a4ed41f5285cdc4ba8372d4a58ebdc0..54cbce0b43f906898f0be9eaf7aa0488c023fab4 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDirElement.cxx,v $
   Language:  C++
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDirElement.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/20 17:15:54 $
-  Version:   $Revision: 1.30 $
+  Date:      $Date: 2005/01/24 14:14:10 $
+  Version:   $Revision: 1.31 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -84,7 +84,7 @@ DicomDirElement::DicomDirElement()
             from.getline(buff, 1024, '"');
             elem.Value = buff;
 
             from.getline(buff, 1024, '"');
             elem.Value = buff;
 
-            AddNewEntry(type, elem);
+            AddEntry(type, elem);
          }
          from.getline(buff, 1024, '\n');
       }
          }
          from.getline(buff, 1024, '\n');
       }
@@ -159,12 +159,11 @@ void DicomDirElement::Print(std::ostream &os)
 //-----------------------------------------------------------------------------
 // Public
 /**
 //-----------------------------------------------------------------------------
 // Public
 /**
- * \brief AddNewEntry 
+ * \brief Add an entry 
  * @param type type
  * @param elem elem
  */
  * @param type type
  * @param elem elem
  */
-bool DicomDirElement::AddNewEntry(DicomDirType type, 
-                                  Element const &elem)
+bool DicomDirElement::AddEntry(DicomDirType type, Element const &elem)
 {
    switch( type )
    {
 {
    switch( type )
    {
index 2e0b9c410c466842caa31b8671389f48f094ddb2..33b3a34f29e6826d12a67f36622a389038715960 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDirElement.h,v $
   Language:  C++
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDirElement.h,v $
   Language:  C++
-  Date:      $Date: 2005/01/20 17:15:54 $
-  Version:   $Revision: 1.21 $
+  Date:      $Date: 2005/01/24 14:14:11 $
+  Version:   $Revision: 1.22 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -102,7 +102,7 @@ public:
       { return DicomDirImageList; };
 
    // Public method to add an element
       { return DicomDirImageList; };
 
    // Public method to add an element
-   bool AddNewEntry(DicomDirType type, Element const &elem);
+   bool AddEntry(DicomDirType type, Element const &elem);
 
 private:
    /// Elements chained list, related to the MetaElements of DICOMDIR
 
 private:
    /// Elements chained list, related to the MetaElements of DICOMDIR
index a06a2810ef221d9b7e9d95cfea70de7b4d4a8c96..2495ac01dfcd5d8f6bdb056bb287bdb89f5bed2d 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDirObject.cxx,v $
   Language:  C++
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDirObject.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/20 16:16:42 $
-  Version:   $Revision: 1.17 $
+  Date:      $Date: 2005/01/24 14:14:11 $
+  Version:   $Revision: 1.18 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -67,7 +67,7 @@ void DicomDirObject::FillObject(ListDicomDirMetaElem const &elemList)
    {
       tmpGr = it->Group;
       tmpEl = it->Elem;
    {
       tmpGr = it->Group;
       tmpEl = it->Elem;
-      dictEntry = Global::GetDicts()->GetDefaultPubDict()->GetDictEntry(tmpGr,tmpEl);
+      dictEntry = Global::GetDicts()->GetDefaultPubDict()->GetEntry(tmpGr,tmpEl);
       entry = new ValEntry(dictEntry);
       entry->SetOffset(0); // just to avoid further missprinting
       entry->SetValue(it->Value);
       entry = new ValEntry(dictEntry);
       entry->SetOffset(0); // just to avoid further missprinting
       entry->SetValue(it->Value);
index 162b79c04237662ef239768e29903e397fe99736..6287e9aa522325a18510c310e401801b9ae41c3c 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDict.cxx,v $
   Language:  C++
   Program:   gdcm
   Module:    $RCSfile: gdcmDict.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/23 10:12:33 $
-  Version:   $Revision: 1.69 $
+  Date:      $Date: 2005/01/24 14:14:11 $
+  Version:   $Revision: 1.70 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -69,7 +69,7 @@ Dict::Dict(std::string const &filename)
          std::getline(from, name);
    
          const DictEntry newEntry(group, element, vr, vm, name);
          std::getline(from, name);
    
          const DictEntry newEntry(group, element, vr, vm, name);
-         AddNewEntry(newEntry);
+         AddEntry(newEntry);
       }
 
       Filename = filename;
       }
 
       Filename = filename;
@@ -129,7 +129,7 @@ void Dict::ClearEntry()
  * @param   newEntry entry to add 
  * @return  false if Dicom Element already exists
  */
  * @param   newEntry entry to add 
  * @return  false if Dicom Element already exists
  */
-bool Dict::AddNewEntry(DictEntry const &newEntry) 
+bool Dict::AddEntry(DictEntry const &newEntry) 
 {
    const TagKey &key = newEntry.GetKey();
 
 {
    const TagKey &key = newEntry.GetKey();
 
@@ -200,7 +200,7 @@ bool Dict::RemoveEntry (uint16_t group, uint16_t elem)
  * @param   elem element of the entry to be found
  * @return  the corresponding dictionary entry when existing, NULL otherwise
  */
  * @param   elem element of the entry to be found
  * @return  the corresponding dictionary entry when existing, NULL otherwise
  */
-DictEntry *Dict::GetDictEntry(uint16_t group, uint16_t elem)
+DictEntry *Dict::GetEntry(uint16_t group, uint16_t elem)
 {
    TagKey key = DictEntry::TranslateToKey(group, elem);
    TagKeyHT::iterator it = KeyHt.find(key);
 {
    TagKey key = DictEntry::TranslateToKey(group, elem);
    TagKeyHT::iterator it = KeyHt.find(key);
@@ -211,65 +211,6 @@ DictEntry *Dict::GetDictEntry(uint16_t group, uint16_t elem)
    return &(it->second);
 }
 
    return &(it->second);
 }
 
-/** 
- * \brief   Consider all the entries of the public dicom dictionary. 
- *          Build all list of all the tag names of all those entries.
- * \sa      DictSet::GetPubDictTagNamesByCategory
- * @return  A list of all entries of the public dicom dictionary.
- */
-
- // Probabely useless
-  
-//EntryNamesList *Dict::GetDictEntryNames() 
-//{
-//   EntryNamesList *result = new EntryNamesList;
-//   for (TagKeyHT::iterator tag = KeyHt.begin(); tag != KeyHt.end(); ++tag)
-//   {
-//      result->push_back( tag->second.GetName() );
-//   }
-//   return result;
-//}
-
-/** 
- * \brief   Consider all the entries of the public dicom dictionary.
- *          Build an hashtable whose keys are the names of the groups
- *          (fourth field in each line of dictionary) and whose corresponding
- *          values are lists of all the dictionary entries among that
- *          group. Note that apparently the Dicom standard doesn't explicitely
- *          define a name (as a string) for each group.
- *          A typical usage of this method would be to enable a dynamic
- *          configuration of a Dicom file browser: the admin/user can
- *          select in the interface which Dicom tags should be displayed.
- * \warning Dicom *doesn't* define any name for any 'categorie'
- *          (the dictionary fourth field was formerly NIH defined
- *           - and no longer he is-
- *           and will be removed when Dicom provides us a text file
- *           with the 'official' Dictionary, that would be more friendly
- *           than asking us to perform a line by line check of the dictionary
- *           at the beginning of each year to -try to- guess the changes)
- *           Therefore : please NEVER use that fourth field :-(
- *
- * @return  An hashtable: whose keys are the names of the groups and whose
- *          corresponding values are lists of all the dictionary entries
- *          among that group.
- */
- // Probabely useless
-//EntryNamesByCatMap *Dict::GetDictEntryNamesByCategory() 
-//{
-//   EntryNamesByCatMap *result = new EntryNamesByCatMap;
-//
-//   for (TagKeyHT::iterator tag = KeyHt.begin(); tag != KeyHt.end(); ++tag)
-//   {
-//      (*result)[tag->second.GetFourth()].push_back(tag->second.GetName());
-//   }
-//
-//   return result;
-//}
-
 /**
  * \brief   Get the first entry while visiting the Dict entries
  * \return  The first DicEntry if found, otherwhise NULL
 /**
  * \brief   Get the first entry while visiting the Dict entries
  * \return  The first DicEntry if found, otherwhise NULL
index 8f9f0bb7906de143ff85e3c4dcb02c293402ed28..d42548c05a365fdaa04d50bb248efb97ea63303d 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDict.h,v $
   Language:  C++
   Program:   gdcm
   Module:    $RCSfile: gdcmDict.h,v $
   Language:  C++
-  Date:      $Date: 2005/01/20 11:39:49 $
-  Version:   $Revision: 1.34 $
+  Date:      $Date: 2005/01/24 14:14:11 $
+  Version:   $Revision: 1.35 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -32,9 +32,9 @@ namespace gdcm
 //-----------------------------------------------------------------------------
 typedef std::string DictKey;
 typedef std::map<TagKey, DictEntry>  TagKeyHT;
 //-----------------------------------------------------------------------------
 typedef std::string DictKey;
 typedef std::map<TagKey, DictEntry>  TagKeyHT;
-typedef std::list<std::string>       EntryNamesList;
-typedef std::map<std::string, 
-            std::list<std::string> > EntryNamesByCatMap;
+//typedef std::list<std::string>       EntryNamesList;
+//typedef std::map<std::string, 
+//            std::list<std::string> > EntryNamesByCatMap;
 //-----------------------------------------------------------------------------
 /**
  * \ingroup Dict
 //-----------------------------------------------------------------------------
 /**
  * \ingroup Dict
@@ -58,16 +58,13 @@ public:
 
 // Entries
    void ClearEntry  ();
 
 // Entries
    void ClearEntry  ();
-   bool AddNewEntry (DictEntry const &newEntry);
+   bool AddEntry (DictEntry const &newEntry);
    bool ReplaceEntry(DictEntry const &newEntry);
    bool RemoveEntry (TagKey const &key);
    bool RemoveEntry (uint16_t group, uint16_t elem);
    
 // Tag
    bool ReplaceEntry(DictEntry const &newEntry);
    bool RemoveEntry (TagKey const &key);
    bool RemoveEntry (uint16_t group, uint16_t elem);
    
 // Tag
-   DictEntry *GetDictEntry(uint16_t group, uint16_t elem);
-
-  // EntryNamesList *GetDictEntryNames();
-  // EntryNamesByCatMap *GetDictEntryNamesByCategory();
+   DictEntry *GetEntry(uint16_t group, uint16_t elem);
 
    DictEntry *GetFirstEntry();
    DictEntry *GetNextEntry();
 
    DictEntry *GetFirstEntry();
    DictEntry *GetNextEntry();
index 141813d368c9ea3ceb37289f684408dd0fc13c20..f9c74ec0270d886100ee43ef3d66b21e9bd19bcf 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDocEntrySet.cxx,v $
   Language:  C++
   Program:   gdcm
   Module:    $RCSfile: gdcmDocEntrySet.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/23 10:12:33 $
-  Version:   $Revision: 1.43 $
+  Date:      $Date: 2005/01/24 14:14:11 $
+  Version:   $Revision: 1.44 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -21,7 +21,6 @@
 #include "gdcmCommon.h"
 #include "gdcmDictSet.h"
 #include "gdcmGlobal.h"
 #include "gdcmCommon.h"
 #include "gdcmDictSet.h"
 #include "gdcmGlobal.h"
-#include "gdcmException.h"
 #include "gdcmDocEntry.h"
 #include "gdcmSeqEntry.h"
 #include "gdcmValEntry.h"
 #include "gdcmDocEntry.h"
 #include "gdcmSeqEntry.h"
 #include "gdcmValEntry.h"
@@ -139,7 +138,7 @@ DictEntry *DocEntrySet::GetDictEntry(uint16_t group,uint16_t elem)
    }
    else
    {
    }
    else
    {
-      found = pubDict->GetDictEntry(group, elem);  
+      found = pubDict->GetEntry(group, elem);  
    }
    return found;
 }
    }
    return found;
 }
index 745261fbfac626f1fea38b97d809a2002f50dd16..c2fb51a474d2e7a21363958404504a482cd0111e 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDocEntrySet.h,v $
   Language:  C++
   Program:   gdcm
   Module:    $RCSfile: gdcmDocEntrySet.h,v $
   Language:  C++
-  Date:      $Date: 2005/01/20 16:17:00 $
-  Version:   $Revision: 1.40 $
+  Date:      $Date: 2005/01/24 14:14:11 $
+  Version:   $Revision: 1.41 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -20,7 +20,6 @@
 #define GDCMDOCENTRYSET_H
 
 #include "gdcmBase.h"
 #define GDCMDOCENTRYSET_H
 
 #include "gdcmBase.h"
-#include "gdcmException.h"
 #include <fstream>
 
 namespace gdcm 
 #include <fstream>
 
 namespace gdcm 
index 8437264ba6268cf28f9d21c8eb86fb132f8a95a7..d6f1cbb1e0a1f9d4c3e29fa99822fbf35da9f334 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDocument.cxx,v $
   Language:  C++
   Program:   gdcm
   Module:    $RCSfile: gdcmDocument.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/23 10:12:33 $
-  Version:   $Revision: 1.204 $
+  Date:      $Date: 2005/01/24 14:14:11 $
+  Version:   $Revision: 1.205 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -24,7 +24,6 @@
 #include "gdcmUtil.h"
 #include "gdcmDebug.h"
 #include "gdcmTS.h"
 #include "gdcmUtil.h"
 #include "gdcmDebug.h"
 #include "gdcmTS.h"
-#include "gdcmException.h"
 #include "gdcmDictSet.h"
 #include "gdcmRLEFramesInfo.h"
 #include "gdcmJPEGFragmentsInfo.h"
 #include "gdcmDictSet.h"
 #include "gdcmRLEFramesInfo.h"
 #include "gdcmJPEGFragmentsInfo.h"
index e81582467fbcde9b13961db83c98fe6d1663e24f..aaa8dacb53f87810497c97d66aa7ee13e03957e8 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDocument.h,v $
   Language:  C++
   Program:   gdcm
   Module:    $RCSfile: gdcmDocument.h,v $
   Language:  C++
-  Date:      $Date: 2005/01/23 10:12:33 $
-  Version:   $Revision: 1.97 $
+  Date:      $Date: 2005/01/24 14:14:11 $
+  Version:   $Revision: 1.98 $
  
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
  
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -22,6 +22,7 @@
 #include "gdcmVR.h"
 #include "gdcmDict.h"
 #include "gdcmElementSet.h"
 #include "gdcmVR.h"
 #include "gdcmDict.h"
 #include "gdcmElementSet.h"
+#include "gdcmException.h"
 
 #include <map>
 #include <list>
 
 #include <map>
 #include <list>
index e82ad45d9175a9a4ddc7cc7f5bbb595394b25468..600ce145316b8d10577cb98e740abf94e2aee9ea 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmSQItem.cxx,v $
   Language:  C++
   Program:   gdcm
   Module:    $RCSfile: gdcmSQItem.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/19 15:24:28 $
-  Version:   $Revision: 1.55 $
+  Date:      $Date: 2005/01/24 14:14:11 $
+  Version:   $Revision: 1.56 $
   
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
   
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -190,7 +190,7 @@ bool SQItem::SetEntry(std::string const &val, uint16_t group,
          Dict *pubDict = Global::GetDicts()->GetDefaultPubDict();
          // if the invoked (group,elem) doesn't exist inside the Dictionary
          // we create a VirtualDictEntry
          Dict *pubDict = Global::GetDicts()->GetDefaultPubDict();
          // if the invoked (group,elem) doesn't exist inside the Dictionary
          // we create a VirtualDictEntry
-         DictEntry *dictEntry = pubDict->GetDictEntry(group, elem);
+         DictEntry *dictEntry = pubDict->GetEntry(group, elem);
          if (dictEntry == NULL)
          {
             dictEntry = 
          if (dictEntry == NULL)
          {
             dictEntry =