+ VectorMapInfoDicom vectormapinfodicom;
+ uint16_t group;
+ uint16_t elem;
+ std::string key;
+ std::string strTagValue; // read on disc
+ int iTag,sizeDicomTagsVector=bbGetInputDicomTags().size();
+ GDCM_NAME_SPACE::FileList::const_iterator iitt = l->begin();
+ float px,py,pz;
+
+ for ( ; iitt != l->end(); ++iitt)
+ {
+ // EED 2022-12-15
+ if ( iitt == l->begin() ) // The first ordered element IPP
+ {
+ group = 0;
+ elem = 0;
+ strTagValue = std::string("void");
+ sscanf("D0020_0032","D%04hx_%04hx",&group,&elem);
+ strTagValue = (*iitt)->GetEntryString(group,elem);
+ sscanf(strTagValue.c_str(),"%f\\%f\\%f\\%f", &px , &py , &pz);
+ std::vector<double> v_ipp;
+ v_ipp.push_back( (double)px );
+ v_ipp.push_back( (double)py );
+ v_ipp.push_back( (double)pz );
+ bbSetOutputIPP(v_ipp );
+ } // if first elemetn get IPP
+
+ MapInfoDicom mapinfodicom;
+ for (iTag=0; iTag<sizeDicomTagsVector; iTag++)
+ {
+ key = bbGetInputDicomTags()[iTag];
+ group = elem = 0;
+ if ( (key.size()==10) && (key[0] == 'D') && (key[5] == '_') )
+ {
+ sscanf(key.c_str(),"D%04hx_%04hx ",&group,&elem);
+ }// if key
+ strTagValue = (*iitt)->GetEntryString(group,elem);
+ mapinfodicom.insert ( std::pair<std::string,std::string>(key,strTagValue) );
+ } // for iTag
+ vectormapinfodicom.push_back( mapinfodicom );
+ } // for iitt
+ bbSetOutputDicomInfo( vectormapinfodicom );