]> Creatis software - creaImageIO.git/blobdiff - bbtk/src/bbcreaImageIOItkImagesChooserDialogBox.cxx
modifications for bbtkItkImageChooserDialogBox
[creaImageIO.git] / bbtk / src / bbcreaImageIOItkImagesChooserDialogBox.cxx
index c035509b94a39bde08d4761e8a8035a2d602d9fc..2d9074973262fb6015f58e07eac71ddaa57c3634 100644 (file)
@@ -18,11 +18,11 @@ void ItkImagesChooserDialogBox::Process()
  
        dlg = new creaImageIO::WxAnySimpleDlg(0,crea::std2wx(bbGetInputTitle()),"localdatabase_Descriptor.dscp","Local Database"); 
     dlg->ShowModal(); 
-       
-       // FCY to test
+
        bbtk::TypeInfo typ = bbitk::GetITKImagePtrTypeInfoFromPixelTypeInfoAndDimension(*dlg->getTypes().front(), dlg->getDims().front());
        BBTK_TEMPLATE_ITK_IMAGE_SWITCH(typ, Export);
-       bbSetOutputOutVImages(dlg->getVtkImagesSelected());
+       BBTK_TEMPLATE_ITK_IMAGE_SWITCH(typ, ExportVTK);
+       
        delete dlg;
 }
 template <class TImage>
@@ -34,7 +34,14 @@ void ItkImagesChooserDialogBox::Export()
         } 
          else if (dlg->getImagesSelected().size() > 1)
          { 
-//             bbSetOutputOutImages( bbSetOutputOutIImages( dlg->getTemplatedImagesSelected<TImage>() )); 
+                 OutputImagesITKType outVect;
+                 std::vector<TImage::Pointer> tempImgs= dlg->getTemplatedImagesSelected<TImage>();
+                 std::vector<TImage::Pointer>::iterator it = tempImgs.begin();
+                 for(;it != tempImgs.end(); ++it)
+                 {
+                         outVect.push_back( (*it).GetPointer() );
+                 }
+               bbSetOutputOutIImages( outVect); 
       } 
          else
          {
@@ -50,6 +57,33 @@ void ItkImagesChooserDialogBox::Export()
         //reader->GetOutput()->Register();
      //  this->bbSetOutputOut(reader->GetOutput());
 }
+template <class TImage>
+void ItkImagesChooserDialogBox::ExportVTK()
+{
+       // BBTK can support only a vector with same dimensions image.
+        if (dlg->getDims().front() < 4)
+        { 
+                 std::vector<TImage::Pointer> tempImgs= dlg->getTemplatedImagesSelected<TImage>();
+                 std::vector<TImage::Pointer>::iterator it = tempImgs.begin();
+                 for(;it != tempImgs.end(); ++it)
+                 {
+                       dlg->split3Din3Dvtk<TImage>( (*it) );
+                 }
+                 bbSetOutputOutVImages( dlg->getVtkImagesSelected() ); 
+        } 
+        else if (dlg->getDims().front() == 4)
+         { 
+               // To Test
+                //  dlg->split4Din3Dvtk("d:/temp2");
+                // bbSetOutputOutVImages( dlg->getVtkImagesSelected()); 
+      } 
+         else
+         {
+                 // NOT IMPLEMENTED YET FOR DIMENSIONS > 4
+               
+         }
+        
+}
 //===== 
 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
 //=====