]> Creatis software - bbtk.git/commitdiff
#3493 BUG IPP bbgdcmvtk GetXCoherentInfoGdcmReader box
authorEduardo DAVILA <davila@creatis.insa-lyon.fr>
Thu, 15 Dec 2022 11:41:27 +0000 (12:41 +0100)
committerEduardo DAVILA <davila@creatis.insa-lyon.fr>
Thu, 15 Dec 2022 11:41:27 +0000 (12:41 +0100)
packages/gdcmvtk/src/bbgdcmvtkGetXCoherentInfoGdcmReader.cxx

index 008bd0e34fb4e77349ec61bc7f1ec76aaaadaac8..a094ff7755079e1bac4ebe2a4c10ddce853e38e0 100644 (file)
@@ -117,16 +117,16 @@ void GetXCoherentInfoGdcmReader::Process()
       v_iop.push_back(iop[i]);
        } // for i
    bbSetOutputIOP(v_iop );
-   std::vector<double> v_ipp;
-   float ipp[3];
-   f->GetImagePositionPatient(ipp);
-   
-   for(i=0; i< 3; i++)
-       {
-      v_ipp.push_back(ipp[i]);
-       } // for i
-   bbSetOutputIPP(v_ipp );
+    
+// EED 2022-12-15
+//   std::vector<double> v_ipp;
+//   float ipp[3];
+//   f->GetImagePositionPatient(ipp);
+//   for(i=0; i< 3; i++)
+//     {
+//      v_ipp.push_back(ipp[i]);
+//     } // for i
+//   bbSetOutputIPP(v_ipp );
 
 // Add *all the files* to the SerieHelper
    sh = GDCM_NAME_SPACE::SerieHelper::New();
@@ -166,11 +166,11 @@ void GetXCoherentInfoGdcmReader::Process()
        std::string strTagValue;  // read on disc
        int iTag,sizeDicomTagsVector=bbGetInputDicomTags().size();
        GDCM_NAME_SPACE::FileList::const_iterator iitt = l->begin();
-       //iitt ++;
-    printf("EED GetXCoherentInfoGdcmReader::Process 1 \n");
-
-       for ( ; iitt != l->end(); ++iitt)
+    float px,py,pz;
+    
+    for ( ; iitt != l->end(); ++iitt)
        {
+        // EED 2022-12-15
         if ( iitt == l->begin() )   // The first ordered element IPP
         {
             group       = 0;
@@ -178,7 +178,12 @@ void GetXCoherentInfoGdcmReader::Process()
             strTagValue = std::string("void");
             sscanf("D0020_0032","D%04hx_%04hx",&group,&elem);
             strTagValue = (*iitt)->GetEntryString(group,elem);
-            printf("EED GetXCoherentInfoGdcmReader::Process position %s \n",strTagValue.c_str() );
+            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;