]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkImageExtractComponents.h
#3448 creaVtk Feature New Normal - ExtractComponents in vector
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkImageExtractComponents.h
index 674e11471dc7617c4e4bc48ac5bdfce050d0be40..d8d0aa98afef49b7bb898a28b71efd7141112d55 100644 (file)
@@ -3,9 +3,11 @@
 //===== 
 #ifndef __bbcreaVtkImageExtractComponents_h_INCLUDED__
 #define __bbcreaVtkImageExtractComponents_h_INCLUDED__
+
 #include "bbcreaVtk_EXPORT.h"
 #include "bbtkAtomicBlackBox.h"
 #include "iostream"
+#include <vector>
 
 #include <vtkImageData.h>
 #include <vtkImageExtractComponents.h>
@@ -26,10 +28,13 @@ class bbcreaVtk_EXPORT ImageExtractComponents
   BBTK_DECLARE_INPUT(Component1,int);
   BBTK_DECLARE_INPUT(Component2,int);
   BBTK_DECLARE_INPUT(Component3,int);
-  BBTK_DECLARE_OUTPUT(Out0,vtkImageData *);
-  BBTK_DECLARE_OUTPUT(Out1,vtkImageData *);
-  BBTK_DECLARE_OUTPUT(Out2,vtkImageData *);
-  BBTK_DECLARE_OUTPUT(Out3,vtkImageData *);
+  BBTK_DECLARE_INPUT(Type,int);
+  BBTK_DECLARE_OUTPUT(Out0,vtkImageData*);
+  BBTK_DECLARE_OUTPUT(Out1,vtkImageData*);
+  BBTK_DECLARE_OUTPUT(Out2,vtkImageData*);
+  BBTK_DECLARE_OUTPUT(Out3,vtkImageData*);
+  BBTK_DECLARE_OUTPUT(LstOut,std::vector< vtkImageData* >);
+
   BBTK_PROCESS(Process);
   void Process();
 
@@ -38,6 +43,9 @@ class bbcreaVtk_EXPORT ImageExtractComponents
        vtkImageExtractComponents* IEC1;
        vtkImageExtractComponents* IEC2;
        vtkImageExtractComponents* IEC3;
+       std::vector<vtkImageExtractComponents*> lstIEC;
+       std::vector<vtkImageData*> lstOut;
+
 //===== 
 // 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)
 //===== 
@@ -48,21 +56,27 @@ BBTK_BEGIN_DESCRIBE_BLACK_BOX(ImageExtractComponents,bbtk::AtomicBlackBox);
   BBTK_AUTHOR("InfoDev");
   BBTK_DESCRIPTION("No Description.");
   BBTK_CATEGORY("empty");
+
   BBTK_INPUT(ImageExtractComponents,In,"Input image",vtkImageData*,"");
   BBTK_INPUT(ImageExtractComponents,Component0,"Component 0 (default -1)",int,"");
   BBTK_INPUT(ImageExtractComponents,Component1,"Component 1 (default -1)",int,"");
   BBTK_INPUT(ImageExtractComponents,Component2,"Component 2 (default -1)",int,"");
   BBTK_INPUT(ImageExtractComponents,Component3,"Component 3 (default -1)",int,"");
+  BBTK_INPUT(ImageExtractComponents,Type,"(default 0) 0=Out comp.0..3 ,  1=Out List of all components",int,"");
+
   BBTK_OUTPUT(ImageExtractComponents,Out0,"Output image 0",vtkImageData*,"");
   BBTK_OUTPUT(ImageExtractComponents,Out1,"Output image 1",vtkImageData*,"");
   BBTK_OUTPUT(ImageExtractComponents,Out2,"Output image 2",vtkImageData*,"");
   BBTK_OUTPUT(ImageExtractComponents,Out3,"Output image 3",vtkImageData*,"");
-BBTK_END_DESCRIBE_BLACK_BOX(ImageExtractComponents);
+  BBTK_OUTPUT(ImageExtractComponents,LstOut,"List of all components by single images",std::vector< vtkImageData* >,"");
+
+ BBTK_END_DESCRIBE_BLACK_BOX(ImageExtractComponents);
 //===== 
 // 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)
 //===== 
-}
-// EO namespace bbcreaVtk
+
+
+} // EO namespace bbcreaVtk
 
 #endif // __bbcreaVtkImageExtractComponents_h_INCLUDED__