- i->second = filename;
- }
- else if ( i->first == "FullFileDirectory" )
- {
- std::string::size_type last_pos = filename.find_last_of("//");
- //find first separator
- i->second = filename.substr(0, last_pos);
- }
- else
- {
- uint16_t el;
- uint16_t gr;
-
- tree::AttributeDescriptor::GetDicomGroupElementFromKey(i->first,gr,el);
- if ( ( gr!=0 ) && ( el!=0 ) )
- {
-
- std::string val = GetStringValueFromTag(reader.GetFile().GetDataSet().GetDataElement(gdcm::Tag(gr,el)));
- i->second = irclean(val);
+ if ( i->first == "D0004_1500" )
+ {
+ boost::filesystem::path full_path(filename);
+ std::string f = full_path.leaf();
+ i->second = f;
+ }
+ else if ( i->first == "FullFileName" )
+ {
+ i->second = filename;
+ }
+ else if ( i->first == "FullFileDirectory" )
+ {
+ std::string::size_type last_pos = filename.find_last_of("//");
+ //find first separator
+ i->second = filename.substr(0, last_pos);
+ }
+ else
+ {
+ uint16_t el;
+ uint16_t gr;
+ {
+ gdcm::Attribute< 0x0008,0x103e> at;
+ std::string sr;
+ at.SetValue(sr);
+
+ }
+ tree::AttributeDescriptor::GetDicomGroupElementFromKey(i->first,gr,el);
+ //if ( ( gr!=0 ) && ( el!=0 ) )
+ const gdcm::Tag tag(gr, el);
+ if( reader.GetFile().GetDataSet().FindDataElement( tag ) )
+ {
+ i->second = irclean(sf.ToString(tag));
+ }
+ else
+ {
+ i->second = "";
+ }
+ }