]> Creatis software - gdcm.git/blobdiff - src/gdcmValidator.cxx
BUG: Newer version of the software on Siemens MR write proper lenght.
[gdcm.git] / src / gdcmValidator.cxx
index b0288be5129bcbae70c9eb248852a8404fb07b78..ff1b532fc1d8c62ee22bb492972ef3b13f4ab806 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmValidator.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/11/07 11:42:25 $
-  Version:   $Revision: 1.10 $
+  Date:      $Date: 2006/02/16 20:06:15 $
+  Version:   $Revision: 1.14 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
 #include "gdcmElementSet.h"
 #include "gdcmDataEntry.h"
 #include "gdcmUtil.h"
+#include "gdcmDebug.h" // hidden way to include sstream
 #include <map>
 
-#include <sstream>
 
 namespace gdcm 
 {
 //-----------------------------------------------------------------------------
 typedef std::map<uint16_t, int> GroupHT;    //  Hash Table
 //-----------------------------------------------------------------------------
-
+/// \brief Constructor
 Validator::Validator()
 {
 }
-
+///\brief Canonical Destructor
 Validator::~Validator()
 {
 }
@@ -43,11 +43,11 @@ Validator::~Validator()
 bool CheckVM(DataEntry *entry)
 {
   // Don't waste time checking tags where VM is OB and OW, since we know
-  // it's allways 1, whatever the actual length (found on disc)
+  // it's always 1, whatever the actual length (found on disc)
   
   if ( entry->GetVR() == "OB" ||  entry->GetVR() == "OW" )
      return true;
-     
+
   const std::string &s = entry->GetString();
 
   unsigned int n = Util::CountSubstring( s , "\\");
@@ -68,10 +68,12 @@ bool CheckVM(DataEntry *entry)
 
 void Validator::SetInput(ElementSet *input)
 {
+
+DocEntry *d;
 /*
 // First stage to check group length
   GroupHT grHT;
-  DocEntry *d=input->GetFirstEntry();
+  d=input->GetFirstEntry();
   while(d)
   {
     grHT[d->GetGroup()] = 0;
@@ -97,11 +99,15 @@ void Validator::SetInput(ElementSet *input)
       if ( v->GetVM() != gdcm::GDCM_UNKNOWN )
          if ( !CheckVM(v) )
          {
-           std::cout << "Tag (" <<  v->GetKey() 
-                     << ")-> [" << v->GetName() << "] contains an illegal VM. "
-                     << "value [" << v->GetString() << "] VR :"
-                     << v->GetVR() << ", Expected VM :" << v->GetVM() << " " 
-                     << std::endl;
+            if (v->GetVM() == "FIXME" )
+              std::cout << "For Tag " <<  v->GetKey() << " VM = ["
+                       << v->GetVM() << "]" << std::endl;
+            std::cout << "Tag (" <<  v->GetKey() 
+                      << ")-> [" << v->GetName() << "] VR :" << v->GetVR() 
+                      << " contains an illegal VM. Expected VM :[" 
+                      << v->GetVM() << "], value [" << v->GetString() << "]" 
+                      << std::endl;
          }
       
       if ( v->GetReadLength() % 2 )