]> Creatis software - creaImageIO.git/blobdiff - bbtk/src/bbcreaImageIOGimmick.xml
#3188 creaImageIO Bug New Normal - DICOM tags
[creaImageIO.git] / bbtk / src / bbcreaImageIOGimmick.xml
index 8113d5c66fd6998b7ed4e15b9c74fc774ea1de8b..248a86840199d9e1d35906345202beb526640748 100644 (file)
   <input name="ImageOutputDimension" type="int"         description="The dimensionality of the output image, e.g. 2 for a 2D image, 3 for a 3D image,..."/>
   <input name="Output"               type="int"         description="What to output ? 0(default)=image and filenames/1=only filenames"/>
 
+  <typedef>
+    <PRE>
+      typedef std::vector<std::string> VectorStringType;</PRE>
+  </typedef>
+  <input name="DicomTags" type="VectorStringType" description="Dicom Tags (vector of Dicom tags ex: D0028_0030  D0020_0037)"/>
+
+
+  <typedef>
+    <PRE>
+      typedef std::map<std::string, std::string> MapInfoDicom;</PRE>
+  </typedef>
+
+  <typedef>
+    <PRE>
+      typedef std::vector< MapInfoDicom > VectorMapInfoDicom;</PRE>
+  </typedef>
+  <output name="DicomInfo" type="VectorMapInfoDicom" description="vector of maps of Dicom tags"/>
+
+
   <typedef><PRE>typedef std::vector<std::string>   OutputFilesType; </PRE></typedef>
   <typedef><PRE>typedef std::vector<vtkImageData*> OutputImagesType;</PRE></typedef>
 
@@ -46,7 +65,7 @@
                                   bbGetInputImageOutputDimension(),
                                   threads);
    w.ShowModal();
-     
+/*     
    if (w.GetReturnCode() == wxID_OK)
      {
        if (bbGetInputOutput()==0) 
 //          bbSetOutputOut(0);
 //     }
      }
+*/
+
+
+
+               /// vtkImageData vector
+               std::vector<vtkImageData*>                                                      m_results;
+               std::vector< std::map<std::string,std::string> >        m_resultsDicomAtr;
+
+
+                if (w.GetReturnCode() == wxID_OK)
+            {
+                       w.stopReading();
+                       std::vector<creaImageIO::OutStrGimmick> outStrGimmick;
+                       w.getSelected(outStrGimmick, bbGetInputDicomTags() ,true,"");
+                       m_results.clear();
+                       int size=(int)outStrGimmick.size();
+                       int ii;
+//                     if(!bInfo)
+//                     {
+                               for (ii=0;ii<size;ii++)
+                               {
+                                       outStrGimmick[ii].img->Modified();
+                                       outStrGimmick[ii].img->Update();
+                                       m_results.push_back(outStrGimmick[ii].img);
+                                       m_resultsDicomAtr.push_back( outStrGimmick[ii].infos );
+                               }
+//                     } else {
+//                             for (ii=0;ii<size;ii++)
+//                             {
+//                                     m_resultsInfo.push_back(outStrGimmick[ii]);
+//                             }
+//                     }
+
+//                     infoimage               =       _T("EED Missing info <void> ???");
+//                     infoimageSource =       _T("GIMMICK");
+
+       if (bbGetInputOutput()==0) 
+         {
+//           std::vector<vtkImageData*> images;
+//           w.GetSelectedImages(images,bbGetInputImageOutputDimension());
+           bbSetOutputOut(m_results[0]);
+           bbSetOutputOut2(m_results);
+         }
+       std::vector<std::string> files;
+       w.GetSelectedFiles(files);
+       bbSetOutputFiles(files);
+
+
+       bbSetOutputDicomInfo( m_resultsDicomAtr );
+
+
+
+                       w.OnExit();
+                }
+
+
+
+
   </PRE></process>