]> Creatis software - creaImageIO.git/blobdiff - bbtk/src/bbcreaImageIOImagesChooserDialogBox.xml
Merge branch 'master' of ssh://git.creatis.insa-lyon.fr/creaImageIO
[creaImageIO.git] / bbtk / src / bbcreaImageIOImagesChooserDialogBox.xml
index 9c074739974905f80c56bc69b31866d7d930d969..454f8836a600ae12e0b2222108740a6759359f84 100644 (file)
     INPUTS/OUTPUTS DECLARATION -->
 
   <input name="Title" type="std::string" description="Title of the dialog"/>
+
+
+
   <typedef>
     <PRE>
-      typedef std::vector<vtkImageData*> OutputImagesType;</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::vector<vtkImageData*> OutputImagesType;</PRE>
+  </typedef>
   <output name="Out" type="vtkImageData*" description="The selected image"/>
   <output name="OutImages" type="OutputImagesType" description="Vector of selected images"/>
+
+  <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"/>
   
   <!--========================================================================
     PROCESS section -->
 
   <process>
     <PRE>
+     
         creaImageIO::WxSimpleDlg dlg(0,crea::std2wx(bbGetInputTitle()),"localdatabase_Descriptor.dscp","Local Database"); 
+                dlg.SetAttrDicomTags( bbGetInputDicomTags() );
                dlg.ShowModal(); 
+                bbSetOutputDicomInfo( dlg.getDicomInfoImagesSelected() );
                if (dlg.getImagesSelected().size()!=0){ 
                  if(dlg.getImagesSelected().size() ==1)
                  {
                        bbSetOutputOut( dlg.getImagesSelected()[0] );  
                  } else {
-printf("EED  creaImageIOWxSimpleDlg 1 \n");
                          // FCY: it will be a big problem if we have several kind of data in the same folder.
                          // creation of a huge vtkImageData!!!!
                          vtkImageData* first = dlg.getImagesSelected()[0];
@@ -101,11 +123,9 @@ printf("EED  creaImageIOWxSimpleDlg 1 \n");
                                // differents formats char , short, etc...
                                // differents components 1..3  ex. jpg ->RGB 3
                                imsize = imsize * first->GetScalarSize() * first->GetNumberOfScalarComponents();
-printf("EED  creaImageIOWxSimpleDlg 2 \n");
                                int slice,sizeImageVector=dlg.getImagesSelected().size();
                                for (slice=0 ; slice<sizeImageVector ; slice++)
                                {
-printf("EED  creaImageIOWxSimpleDlg 3 slice %d     sizeImageVector %d\n",slice,sizeImageVector);
                                        vtkImageData *img = dlg.getImagesSelected()[slice];
                                        memcpy(out->GetScalarPointer(0,0,slice), img->GetScalarPointer(0,0,0), imsize);
                                //img->Delete();
@@ -124,7 +144,6 @@ printf("EED  creaImageIOWxSimpleDlg 3 slice %d     sizeImageVector %d\n",slice,s
 //                     //      (*it)->Delete();
 //                     //  }
 
-printf("EED  creaImageIOWxSimpleDlg 4 \n");
                                bbSetOutputOut(out);
                        } else {
                         bbSetOutputOut(first);