]> Creatis software - creaImageIO.git/blobdiff - bbtk/src/bbcreaImageIOItkImagesChooserDialogBox.cxx
no message
[creaImageIO.git] / bbtk / src / bbcreaImageIOItkImagesChooserDialogBox.cxx
index 4986d2cf83d4eca990327424730a3ed1114660ea..66f810ac388c742f1f5d828f80daddc18ab27c38 100644 (file)
@@ -21,7 +21,8 @@ void ItkImagesChooserDialogBox::Process()
 
        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,8 +35,9 @@ void ItkImagesChooserDialogBox::Export()
          else if (dlg->getImagesSelected().size() > 1)
          { 
                  OutputImagesITKType outVect;
-                 std::vector<TImage::Pointer> tempImgs= dlg->getTemplatedImagesSelected<TImage>();
-                 std::vector<TImage::Pointer>::iterator it = tempImgs.begin();
+               
+                 typename  std::vector<typename TImage::Pointer> tempImgs= dlg->getTemplatedImagesSelected<TImage>();
+                 typename std::vector<typename TImage::Pointer>::iterator it = tempImgs.begin();
                  for(;it != tempImgs.end(); ++it)
                  {
                          outVect.push_back( (*it).GetPointer() );
@@ -56,6 +58,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)
+        { 
+                 typename std::vector<typename TImage::Pointer> tempImgs= dlg->getTemplatedImagesSelected<TImage>();
+                 typename std::vector<typename 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)
 //=====