X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmValidator.cxx;h=f4cac4767a216a777d4bd81057a53564541876d8;hb=c1c992135a9c2ddf57bcda50e1b7859513b8d998;hp=8d0e2ac0155a408a43005339af33c4190da4545d;hpb=3728b2f5c936e81d7ab96d576338fa7e8eb71e48;p=gdcm.git diff --git a/src/gdcmValidator.cxx b/src/gdcmValidator.cxx index 8d0e2ac0..f4cac476 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/06/14 20:53:19 $ - Version: $Revision: 1.2 $ + Date: $Date: 2005/10/18 08:35:51 $ + 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 @@ -18,8 +18,7 @@ #include "gdcmValidator.h" #include "gdcmElementSet.h" -#include "gdcmBinEntry.h" -#include "gdcmValEntry.h" +#include "gdcmDataEntry.h" #include @@ -34,21 +33,21 @@ Validator::~Validator() { } -// Function to compare the VM found while parsing d->GetValue() +// Function to compare the VM found while parsing d->GetString() // compare to the one from the dictionary -bool CheckVM(ValEntry *v) +bool CheckVM(DataEntry *entry) { - const std::string &s = v->GetValue(); + const std::string &s = entry->GetString(); std::string::size_type n = s.find("\\"); - if (n == s.npos) // none found - { + if ( n == s.npos ) // none found + { n = 0; - } + } n++; // number of '\' + 1 == Value Multiplicity unsigned int m; std::istringstream os; - os.str( v->GetVM()); + os.str( entry->GetVM()); os >> m; return n == m; @@ -57,32 +56,25 @@ bool CheckVM(ValEntry *v) void Validator::SetInput(ElementSet *input) { // berk for now SetInput do two things at the same time - gdcm::DocEntry *d=input->GetFirstEntry(); + DocEntry *d=input->GetFirstEntry(); while(d) - { - if ( gdcm::BinEntry *b = dynamic_cast(d) ) + { + if ( DataEntry *v = dynamic_cast(d) ) + { + if ( !CheckVM(v) ) { -// copyH->InsertBinEntry( b->GetBinArea(),b->GetLength(), -// b->GetGroup(),b->GetElement(), -// b->GetVR() ); - (void)b; - } - else if ( gdcm::ValEntry *v = dynamic_cast(d) ) - { - if( !CheckVM(v)) - { - std::cout << "Rah this DICOM contains one wrong tag:" << - v->GetValue() << " " << + std::cout << "Rah this DICOM contains one wrong tag:" << + v->GetString() << " " << v->GetGroup() << "," << v->GetElement() << "," << v->GetVR() << " " << v->GetVM() << " " << v->GetName() << std::endl; - } } + } else - { + { // We skip pb of SQ recursive exploration - } - d=input->GetNextEntry(); } + d=input->GetNextEntry(); + } } } // end namespace gdcm