2 /*=========================================================================
5 Module: $RCSfile: bbvtkSegmentationConnectivity.h,v $
7 Date: $Date: 2008/05/09 10:39:47 $
8 Version: $Revision: 1.3 $
10 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
11 l'Image). All rights reserved. See Doc/License.txt or
12 http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details.
14 This software is distributed WITHOUT ANY WARRANTY; without even
15 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16 PURPOSE. See the above copyright notices for more information.
18 =========================================================================*//**
19 * \brief Short description in one line
21 * Long description which
22 * can span multiple lines
26 * \brief Pattern for the definition of a new type of Node (header)
29 * \class bbtk::NodePatern
30 * \brief Pattern for the definition of a new type of Node
36 #ifndef __bbvtkSegmentationConnectivity_h_INCLUDED__
37 #define __bbvtkSegmentationConnectivity_h_INCLUDED__
39 #include "bbtkAtomicBlackBox.h"
40 #include <vtkImageData.h>
41 #include <vtkImageCast.h>
42 #include <vtkImageThreshold.h>
43 #include <vtkImageSeedConnectivity.h>
48 class SegmentationConnectivity
50 public bbtk::AtomicBlackBox
52 BBTK_BLACK_BOX_INTERFACE(SegmentationConnectivity,bbtk::AtomicBlackBox);
53 BBTK_DECLARE_INPUT(In,vtkImageData *);
54 BBTK_DECLARE_INPUT(PositionXYZ,std::vector<int>);
55 BBTK_DECLARE_INPUT(ThresholdMinMax,std::vector<int>);
56 BBTK_DECLARE_OUTPUT(Out,vtkImageData *);
57 BBTK_PROCESS(DoProcess);
61 virtual void bbUserConstructor();
62 virtual void bbUserDestructor();
66 vtkImageCast *cast4; // binary segmentation result
67 vtkImageThreshold *thresh2;
68 vtkImageSeedConnectivity *connect2;
74 BBTK_BEGIN_DESCRIBE_BLACK_BOX(SegmentationConnectivity,bbtk::AtomicBlackBox);
75 BBTK_NAME("SegmentationConnectivity");
76 BBTK_AUTHOR("eduardo.davila [at] creatis.insa-lyon.fr");
77 BBTK_DESCRIPTION("Segmentation with min max threshold and connectivity");
78 BBTK_INPUT(SegmentationConnectivity,In,"Input image",vtkImageData *,"");
79 BBTK_INPUT(SegmentationConnectivity,PositionXYZ,"vector with the Position [x y z]" , std::vector<int>,"");
80 BBTK_INPUT(SegmentationConnectivity,ThresholdMinMax,"vector with the Threshold [min max]" , std::vector<int>,"");
81 BBTK_OUTPUT(SegmentationConnectivity,Out,"Result image",vtkImageData *,"");
82 BBTK_END_DESCRIBE_BLACK_BOX(SegmentationConnectivity);
84 } // EO namespace bbvtk
86 #endif // __bbvtkSegmentationConnectivity_h_INCLUDED__