X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmValidator.cxx;h=c62079f121911fc4aa85c3d1940f08468068cac9;hb=53bb1d7e94a7de69ecafa9e81653d3baeb2e02ad;hp=3b9ac39b3fb51330b5fd6846cc13c6efa01ac2ae;hpb=8ea92706ea6ef5e97c3cdca1daa41c9a3063bd7a;p=gdcm.git diff --git a/src/gdcmValidator.cxx b/src/gdcmValidator.cxx index 3b9ac39b..c62079f1 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:33:54 $ - Version: $Revision: 1.1 $ + Date: $Date: 2005/06/24 10:55:59 $ + Version: $Revision: 1.4 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -21,6 +21,8 @@ #include "gdcmBinEntry.h" #include "gdcmValEntry.h" +#include + namespace gdcm { @@ -38,13 +40,16 @@ bool CheckVM(ValEntry *v) { const std::string &s = v->GetValue(); std::string::size_type n = s.find("\\"); - if (n == s.npos) // none found - { + if ( n == s.npos ) // none found + { n = 0; - } - n++; //poteaux / intervalles + } + n++; // number of '\' + 1 == Value Multiplicity - unsigned int m = atoi(v->GetVM().c_str()); + unsigned int m; + std::istringstream os; + os.str( v->GetVM()); + os >> m; return n == m; } @@ -54,30 +59,30 @@ void Validator::SetInput(ElementSet *input) // berk for now SetInput do two things at the same time gdcm::DocEntry *d=input->GetFirstEntry(); while(d) - { + { if ( gdcm::BinEntry *b = dynamic_cast(d) ) - { + { // 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:" << + { + if ( !CheckVM(v) ) + { + std::cout << "Rah this DICOM contains one wrong tag:" << v->GetValue() << " " << 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