X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmValidator.cxx;h=c6cc6958e850f9e3951ac4c39200e7f8b2126560;hb=81442de19fe2579875ffc0798d76e0cb72d5f0a0;hp=c287469fd2fc94563b9fbb88e1af69438b2538e9;hpb=7eb1927568e2d3ffcf41f9c04700865a6092b047;p=gdcm.git diff --git a/src/gdcmValidator.cxx b/src/gdcmValidator.cxx index c287469f..c6cc6958 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/04 16:08:08 $ - Version: $Revision: 1.8 $ + Date: $Date: 2005/11/21 09:43:43 $ + Version: $Revision: 1.13 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -20,16 +20,20 @@ #include "gdcmElementSet.h" #include "gdcmDataEntry.h" #include "gdcmUtil.h" +#include #include namespace gdcm { - +//----------------------------------------------------------------------------- +typedef std::map GroupHT; // Hash Table +//----------------------------------------------------------------------------- +/// \brief Constructor Validator::Validator() { } - +///\brief Canonical Destructor Validator::~Validator() { } @@ -46,13 +50,6 @@ bool CheckVM(DataEntry *entry) const std::string &s = entry->GetString(); -/* std::string::size_type n = s.find("\\"); - if ( n == s.npos ) // none found - { - n = 0; - } -*/ - unsigned int n = Util::CountSubstring( s , "\\"); n++; // number of '\' + 1 == Value Multiplicity @@ -71,8 +68,25 @@ bool CheckVM(DataEntry *entry) void Validator::SetInput(ElementSet *input) { + +DocEntry *d; +/* +// First stage to check group length + GroupHT grHT; + d=input->GetFirstEntry(); + while(d) + { + grHT[d->GetGroup()] = 0; + d=input->GetNextEntry(); + } + 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 - DocEntry *d=input->GetFirstEntry(); + d=input->GetFirstEntry(); if (!d) { std::cout << "No Entry found" << std::endl; @@ -85,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 ) @@ -105,7 +123,7 @@ void Validator::SetInput(ElementSet *input) { // We skip pb of SQ recursive exploration } - d=input->GetNextEntry(); + d=input->GetNextEntry(); } }