]> Creatis software - creaImageIO.git/blobdiff - bbtk/src/bbcreaImageIOItkImagesChooserDialogBox.cxx
modifications for bbtkItkImageChooserDialogBox
[creaImageIO.git] / bbtk / src / bbcreaImageIOItkImagesChooserDialogBox.cxx
index 1f4d1e657bfeb33419adb3b395690a717b9117f7..2d9074973262fb6015f58e07eac71ddaa57c3634 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,8 @@ void ItkImagesChooserDialogBox::Export()
          else if (dlg->getImagesSelected().size() > 1)
          { 
                  OutputImagesITKType outVect;
-                 typename std::vector< typename TImage::Pointer> tempImgs= dlg->getTemplatedImagesSelected<TImage>();  // JPR typename typename
-                 typename std::vector< typename TImage::Pointer>::iterator it = tempImgs.begin(); // JPR typename typename
+                 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() );
@@ -56,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)
 //=====