]> Creatis software - bbtk.git/blobdiff - packages/vtk/src/bbvtkSegmentationConnectivity.h
*** empty log message ***
[bbtk.git] / packages / vtk / src / bbvtkSegmentationConnectivity.h
diff --git a/packages/vtk/src/bbvtkSegmentationConnectivity.h b/packages/vtk/src/bbvtkSegmentationConnectivity.h
new file mode 100644 (file)
index 0000000..78f2356
--- /dev/null
@@ -0,0 +1,88 @@
+
+/*=========================================================================
+                                                                                
+  Program:   bbtk
+  Module:    $RCSfile: bbvtkSegmentationConnectivity.h,v $
+  Language:  C++
+  Date:      $Date: 2008/04/24 12:56:41 $
+  Version:   $Revision: 1.1 $
+                                                                                
+  Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
+  l'Image). All rights reserved. See Doc/License.txt or
+  http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details.
+                                                                                
+     This software is distributed WITHOUT ANY WARRANTY; without even
+     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+     PURPOSE.  See the above copyright notices for more information.
+                                                                                
+=========================================================================*//**
+ * \brief Short description in one line
+ * 
+ * Long description which 
+ * can span multiple lines
+ */
+/**
+ * \file 
+ * \brief Pattern for the definition of a new type of Node (header)
+ */
+/**
+ * \class bbtk::NodePatern 
+ * \brief Pattern for the definition of a new type of Node 
+ */
+
+
+#ifdef _USE_VTK_
+
+#ifndef __bbvtkSegmentationConnectivity_h_INCLUDED__
+#define __bbvtkSegmentationConnectivity_h_INCLUDED__
+
+#include "bbtkAtomicBlackBox.h"
+#include <vtkImageData.h>
+#include <vtkImageCast.h>
+#include <vtkImageThreshold.h>
+#include <vtkImageSeedConnectivity.h>
+
+namespace bbvtk
+{
+
+  class SegmentationConnectivity
+    : 
+    public bbtk::AtomicBlackBox
+  {
+    BBTK_USER_BLACK_BOX_INTERFACE(SegmentationConnectivity,bbtk::AtomicBlackBox);
+      BBTK_DECLARE_INPUT(In,vtkImageData *);
+      BBTK_DECLARE_INPUT(PositionXYZ,std::vector<int>);
+         BBTK_DECLARE_INPUT(ThresholdMinMax,std::vector<int>);
+      BBTK_DECLARE_OUTPUT(Out,vtkImageData *);
+    BBTK_PROCESS(DoProcess);
+    void DoProcess();
+
+  protected:
+    virtual void bbUserConstructor();
+
+  private:
+       vtkImageCast                            *cast2;
+       vtkImageCast                            *cast4; // binary segmentation result
+       vtkImageThreshold                       *thresh2;
+       vtkImageSeedConnectivity        *connect2;
+
+
+
+  };
+
+  BBTK_BEGIN_DESCRIBE_BLACK_BOX(SegmentationConnectivity,bbtk::AtomicBlackBox);
+  BBTK_NAME("SegmentationConnectivity");
+  BBTK_AUTHOR("eduardo.davila [at] creatis.insa-lyon.fr");
+  BBTK_DESCRIPTION("Segmentation with min max threshold and connectivity");
+    BBTK_INPUT(SegmentationConnectivity,In,"Input image",vtkImageData *);
+    BBTK_INPUT(SegmentationConnectivity,PositionXYZ,"vector with the Position [x y z]" , std::vector<int> );
+    BBTK_INPUT(SegmentationConnectivity,ThresholdMinMax,"vector with the Threshold [min max]" , std::vector<int> );
+    BBTK_OUTPUT(SegmentationConnectivity,Out,"Result image",vtkImageData *);
+  BBTK_END_DESCRIBE_BLACK_BOX(SegmentationConnectivity);
+
+} // EO namespace bbvtk
+
+#endif //  __bbvtkSegmentationConnectivity_h_INCLUDED__
+
+
+#endif //_USE_VTK_