]> Creatis software - gdcm.git/commitdiff
Deal with element 0x0001 of Private Groups
authorjpr <jpr>
Fri, 27 Jul 2007 09:49:31 +0000 (09:49 +0000)
committerjpr <jpr>
Fri, 27 Jul 2007 09:49:31 +0000 (09:49 +0000)
src/gdcmDocEntry.cxx
src/gdcmDocument.cxx

index 79103b0164324676c56294b98486f3979a196c14..afea104a6086d0d6e185d13f9d75e67b446a07bf 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDocEntry.cxx,v $
   Language:  C++
-  Date:      $Date: 2007/07/26 08:36:49 $
-  Version:   $Revision: 1.90 $
+  Date:      $Date: 2007/07/27 09:49:31 $
+  Version:   $Revision: 1.91 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -324,8 +324,13 @@ void DocEntry::Print(std::ostream &os, std::string const & )
    uint16_t e = GetElement();
    if ( e == 0x0000 )
       name = "Group Length";
-   else if ( GetGroup()%2 == 1 && ( e >= 0x0010 && e <= 0x00ff ) )
-      name = "Private Creator";
+   else if ( GetGroup()%2 == 1 )
+   {
+      if ( e >= 0x0010 && e <= 0x00ff )
+         name = "Private Creator";
+      else if (e == 0x0001)
+         name = "Private Group Length To End";
+   }
    else
    {
       name = GetName();
index 1370bae853b61823178b764425204f9327246b0b..115f3054c4c75eb777f0bfa71dbbe045cef8c534 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDocument.cxx,v $
   Language:  C++
-  Date:      $Date: 2007/07/26 08:36:49 $
-  Version:   $Revision: 1.364 $
+  Date:      $Date: 2007/07/27 09:49:31 $
+  Version:   $Revision: 1.365 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -1349,7 +1349,6 @@ bool Document::ParseSQ( SeqEntry *seqEntry,
          gdcmWarningMacro("in ParseSQ : should never get here!");
          UnexpectedEOF = true;
          return false;
-         //break;
       }
       if ( delim_mode )
       {
@@ -2248,12 +2247,14 @@ DocEntry *Document::ReadNextDocEntry()
       // Data Elements are Explicit VR and some other ones Implicit VR
       // -> Better we fix the problem at Write time
      
-      else if (CurrentGroup%2 == 1 &&  
-                               (CurrentElem >= 0x0010 && CurrentElem <=0x00ff ))
-      {  
-      // DICOM PS 3-5 7.8.1 a) states that those 
-      // (gggg-0010->00FF where gggg is odd) attributes have to be LO
-         realVR = "LO";
+      else if (CurrentGroup%2 == 1 )
+      { 
+         if (CurrentElem >= 0x0010 && CurrentElem <=0x00ff )
+            // DICOM PS 3-5 7.8.1 a) states that those 
+            // (gggg-0010->00FF where gggg is odd) attributes have to be LO
+            realVR = "LO";
+         else if ( CurrentElem == 0x0001)
+            realVR = "UL"; // Private Group Length To End      
       }
       
       else