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/09 08:36:47 $
+ Version: $Revision: 1.12 $
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 <map>
#include <sstream>
namespace gdcm
{
+//-----------------------------------------------------------------------------
+typedef std::map<uint16_t, int> GroupHT; // Hash Table
+//-----------------------------------------------------------------------------
Validator::Validator()
{
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
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;
if ( v->GetVM() != gdcm::GDCM_UNKNOWN )
if ( !CheckVM(v) )
{
+ if (v->GetVM() == "FIXME" )
+ std::cout << "For Tag " << v->GetKey() << " VM = ["
+ << v->GetVM() << "]" << std::endl;
+
std::cout << "Tag (" << v->GetKey()
<< ")-> [" << v->GetName() << "] contains an illegal VM. "
<< "value [" << v->GetString() << "] VR :"
- << v->GetVR() << ", Expected VM :" << v->GetVM() << " "
+ << v->GetVR() << ", Expected VM : [" << v->GetVM() << "] "
<< std::endl;
}
{
// We skip pb of SQ recursive exploration
}
- d=input->GetNextEntry();
+ d=input->GetNextEntry();
}
}