X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmValidator.cxx;h=23bdfe46fb2d92fc52edda3a8e98d48abfb95233;hb=b06cbd9177331d793223eac6bf8b2bccf874e7e3;hp=b0288be5129bcbae70c9eb248852a8404fb07b78;hpb=1570ec618f437f11d13ab269635b5754886d8144;p=gdcm.git diff --git a/src/gdcmValidator.cxx b/src/gdcmValidator.cxx index b0288be5..23bdfe46 100644 --- a/src/gdcmValidator.cxx +++ b/src/gdcmValidator.cxx @@ -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: 2007/08/21 12:51:10 $ + Version: $Revision: 1.16 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -20,20 +20,20 @@ #include "gdcmElementSet.h" #include "gdcmDataEntry.h" #include "gdcmUtil.h" +#include "gdcmDebug.h" // hidden way to include sstream #include -#include -namespace gdcm +namespace GDCM_NAME_SPACE { //----------------------------------------------------------------------------- typedef std::map 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,19 +68,21 @@ 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; d=input->GetNextEntry(); } - for (GroupHT::iterator it = grHT.begin(); it != grHT.end(); ++it) + for (GroupHT::iterator it = grHT.begin(); it != grHT.end(); ++it) { std::cout << std::hex << it->first << std::endl; - } + } */ // berk for now SetInput do two things at the same time @@ -93,24 +95,28 @@ void Validator::SetInput(ElementSet *input) while(d) { if ( DataEntry *v = dynamic_cast(d) ) - { - if ( v->GetVM() != gdcm::GDCM_UNKNOWN ) + { + if ( v->GetVM() != GDCM_NAME_SPACE::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 ) { - std::cout << "Tag (" << v->GetKey() + std::cout << "Tag (" << v->GetKey() << ")-> [" << v->GetName() << "] has an uneven length :" << v->GetReadLength() - << " [" << v->GetString() << "] " - << std::endl; + << " [" << v->GetString() << "] " + << std::endl; } } else