#ifndef __bbSlicerVotingBinaryHoleFilling_h_INCLUDED__ #define __bbSlicerVotingBinaryHoleFilling_h_INCLUDED__ #include "bbSlicer_EXPORT.h" #include "bbtkAtomicBlackBox.h" #include #include #include #include #include #include #include #include #include #include #include #include "CreationTool.h" namespace bbSlicer { class bbSlicer_EXPORT VotingBinaryHoleFilling : public bbtk::AtomicBlackBox { BBTK_BLACK_BOX_INTERFACE ( VotingBinaryHoleFilling , bbtk::AtomicBlackBox ) ; // GENERATED ARGS BBTK_DECLARE_INPUT ( radius , std::vector ); BBTK_DECLARE_INPUT ( majorityThreshold , int ); BBTK_DECLARE_INPUT ( background , int ); BBTK_DECLARE_INPUT ( foreground , int ); BBTK_DECLARE_INPUT ( inputVolume , std::string ); BBTK_DECLARE_INPUT ( outputVolume , std::string ); // EO GENERATED ARGS BBTK_PROCESS ( Process ) ; void Process ( ) ; private: void execute ( std::string lib , int _argc , char * _argv[] ) ; } ; BBTK_BEGIN_DESCRIBE_BLACK_BOX ( VotingBinaryHoleFilling , bbtk::AtomicBlackBox ) ; BBTK_NAME ( "VotingBinaryHoleFilling" ) ; BBTK_AUTHOR ( "Bill Lorensen" ) ; BBTK_DESCRIPTION ( "Applies a voting operation in order to fill-in cavities. This can be used for smoothing contours and for filling holes in binary images. This technique is used frequently when segmenting complete organs that may have ducts or vasculature that may not have been included in the initial segmentation, e.g. lungs, kidneys, liver." ) ; BBTK_CATEGORY ( "Filtering" ) ; // GENERATED DESCRPTION BBTK_INPUT(VotingBinaryHoleFilling , radius , "radius" , std::vector, ""); BBTK_INPUT(VotingBinaryHoleFilling , majorityThreshold , "majorityThreshold" , int, ""); BBTK_INPUT(VotingBinaryHoleFilling , background , "background" , int, ""); BBTK_INPUT(VotingBinaryHoleFilling , foreground , "foreground" , int, ""); BBTK_INPUT(VotingBinaryHoleFilling , inputVolume , "inputVolume" , std::string, ""); BBTK_INPUT(VotingBinaryHoleFilling , outputVolume , "outputVolume" , std::string, ""); // EO GENERATED DESCRIPTION BBTK_END_DESCRIBE_BLACK_BOX ( VotingBinaryHoleFilling ) ; } #endif // __bbSlicerVotingBinaryHoleFilling_h_INCLUDED__