#ifndef __bbUtilitiesSegmentationLower_h_INCLUDED__ #define __bbUtilitiesSegmentationLower_h_INCLUDED__ #include "bbtkAtomicBlackBox.h" #include "iostream" #include #include #include #include namespace bbUtilities { class /*BBTK_EXPORT*/ SegmentationLower : public bbtk::AtomicBlackBox { BBTK_BLACK_BOX_INTERFACE(SegmentationLower,bbtk::AtomicBlackBox); //================================================================== BBTK_DECLARE_INPUT(In,vtkImageData *); BBTK_DECLARE_INPUT(PositionXYZ,std::vector); BBTK_DECLARE_INPUT(ThresholdMin,int); BBTK_DECLARE_OUTPUT(Out,vtkImageData*); BBTK_PROCESS(Process); void Process(); private: vtkImageCast *cast2; vtkImageCast *cast4; // binary segmentation result vtkImageThreshold *thresh2; vtkImageSeedConnectivity *connect2; void init(); }; BBTK_BEGIN_DESCRIBE_BLACK_BOX(SegmentationLower,bbtk::AtomicBlackBox); BBTK_NAME("SegmentationLower"); BBTK_AUTHOR("car-prie@uniandes.edu.co"); BBTK_DESCRIPTION("Segmentation Connectivity by lower threshold only"); BBTK_CATEGORY("__CATEGORY__"); BBTK_INPUT(SegmentationLower,In,"Input Image",vtkImageData *, ""); BBTK_INPUT(SegmentationLower,PositionXYZ,"vector with the Position [x y z]" , std::vector , ""); BBTK_INPUT(SegmentationLower,ThresholdMin,"Value min of threshold" , int, "" ); BBTK_OUTPUT(SegmentationLower,Out,"Result image",vtkImageData *, ""); BBTK_END_DESCRIBE_BLACK_BOX(SegmentationLower); } // EO namespace bbUtilities #endif // __bbUtilitiesSegmentationLower_h_INCLUDED__