GDCM_NAME_SPACE::DictEntry* entry =
GDCM_NAME_SPACE::Global::GetDicts()
->GetDefaultPubDict()->GetEntry(mGroup,mElement);
-
+
if (entry)
{
mName = entry->GetName();
std::string g = key.substr(1,4);
sscanf(key.c_str(),"D %04x _ %04x ",&group,&elem);
sscanf(g.c_str(),"%04x",&group);
- GimmickMessage(5,"GetDicomGroupElementFromKey '"<<g<<"' : "
+ GimmickDebugMessage(3,"GetDicomGroupElementFromKey '"<<g<<"' : "
<<group<<"|"<<elem<<std::endl);
}
else
}
return;
}
+
+ //=====================================================================
+ /// test if the type is a date
+ bool AttributeDescriptor::isDateEntry() const
+ {
+
+ bool btest = false;
+ // Retrieve the name from gdcm dict
+ GDCM_NAME_SPACE::DictEntry* entry = GDCM_NAME_SPACE::Global::GetDicts()->GetDefaultPubDict()->GetEntry(GetGroup(),GetElement());
+ if( entry != 0)
+ {
+ if( entry->GetVR().str() == "DA" )
+ {
+ btest = true;
+ }
+ }
+ return btest;
+ }
+
+ //=====================================================================
+ /// test if the type is a time
+ bool AttributeDescriptor::isTimeEntry() const
+ {
+
+ bool btest = false;
+ // Retrieve the name from gdcm dict
+ GDCM_NAME_SPACE::DictEntry* entry = GDCM_NAME_SPACE::Global::GetDicts()->GetDefaultPubDict()->GetEntry(GetGroup(),GetElement());
+ if( entry != 0)
+ {
+ if( entry->GetVR().str() == "TM" )
+ {
+ btest = true;
+ }
+ }
+ return btest;
+ }
+
+
//=====================================================================
+ /// Decodes the type of the attribute
+ void AttributeDescriptor::DecodeType(unsigned int& typ) const
+ {
+
+
+ // Retrieve the name from gdcm dict
+ GDCM_NAME_SPACE::DictEntry* entry =
+ GDCM_NAME_SPACE::Global::GetDicts()
+ ->GetDefaultPubDict()->GetEntry(GetGroup(),GetElement());
+
+ if (entry==0)
+ {
+ typ = 2;
+ return;
+ }
+ std::string type = entry->GetVR().str();
+ GimmickDebugMessage(3,"VR Value is "<<type<<"!"<<std::endl);
+ if(type=="AS" ||
+ type=="DA" ||
+ type=="FL" ||
+ type=="FD" ||
+ type=="IS" ||
+ type=="SL" ||
+ type=="SS" ||
+ type=="UI" ||
+ type=="US" ||
+ type=="SH")
+ {
+ // Numerical
+ typ = 1;
+// type="1";
+// sscanf(type.c_str(),"%u",&typ);
+ }
+ else
+ {
+ // String
+ typ = 2;
+ // type="2";
+// sscanf(type.c_str(),"%u",&typ);
+ }
+
+ }
+ //=====================================================================
} // EO namespace tree