f->GetImageOrientationPatient(iop);
for(i=0; i< 6; i++)
+ {
v_iop.push_back(iop[i]);
+ }
bbSetOutputIOP(v_iop );
std::vector<double> v_ipp;
f->GetImagePositionPatient(ipp);
for(i=0; i< 3; i++)
+ {
v_ipp.push_back(ipp[i]);
+ }
bbSetOutputIPP(v_ipp );
// Add *all the files* to the SerieHelper
// Should only contain one!
l = sh->GetFirstSingleSerieUIDFileSet();
- int nbFiles;
double zspacing = 0.;
- nbFiles = l->size() ;
sh->OrderFileList(l); // this one should compute the *actual* Z Spacing!
zspacing = sh->GetZSpacing();
std::vector<double> v_pixelspacing;
// }
bbSetOutputPixelSpacing(v_pixelspacing);
+ 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();
+ //iitt ++;
+ for ( ; iitt != l->end(); ++iitt)
+ {
+ 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 );
+
if (reader!=NULL)
{
reader->Delete();