[Insight-users] Dicom Image : How to access to all the tags
edoardo.belletti at alice.it
edoardo.belletti at alice.it
Mon Mar 8 17:37:58 EST 2010
Hi Insight-users,
I have a problem: I don't know how can I access to all the tags present in a dicom image.
With the code used in the example of the manual (Examples/IO/DicomImageReadPrintTags.cxx) not all the tags are printed and for accuracy in the output there isn't the tag "SequenceOfUltrasoundReagions" that interest me. But I know that in the file which I run this tag is present.
How can I access to this tag?
I hope I was understandable.
In particular the piece of code is:
typedef itk::MetaDataDictionary DictionaryType;
const DictionaryType & dictionary = dicomIO->GetMetaDataDictionary();
typedef itk::MetaDataObject< std::string > MetaDataStringType;
DictionaryType::ConstIterator itr = dictionary.Begin();
DictionaryType::ConstIterator end = dictionary.End();
while( itr != end )
{
itk::MetaDataObjectBase::Pointer entry = itr->second;
MetaDataStringType::Pointer entryvalue = dynamic_cast<MetaDataStringType *>( entry.GetPointer() );
if( entryvalue )
{
std::string tagkey = itr->first;
std::string labelId;
bool found = itk::GDCMImageIO::GetLabelFromTag( tagkey, labelId );
std::string tagvalue = entryvalue->GetMetaDataObjectValue();
if( found )
{
std::cout << "(" << tagkey << ") " << labelId;
std::cout << " = " << tagvalue.c_str() << std::endl;
if (tagkey == "0018|6011")
std::cout << "\n\nTROVATO!!!!!\n\n";
}
else
{
std::cout << "(" << tagkey << ") " << "Unknown";
std::cout << " = " << tagvalue.c_str() << std::endl;
}
}
++itr;
}
Thank you vary much
Edoardo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20100308/9bacfea2/attachment.htm>
More information about the Insight-users
mailing list