18 #ifndef sitkIsolatedWatershedImageFilter_h
19 #define sitkIsolatedWatershedImageFilter_h
59 SITK_RETURN_SELF_TYPE_HEADER
SetSeed1 ( std::vector<uint32_t> Seed1 ) { this->m_Seed1 = std::move(Seed1);
return *
this; }
64 std::vector<uint32_t>
GetSeed1()
const {
return this->m_Seed1; }\
69 SITK_RETURN_SELF_TYPE_HEADER
SetSeed2 ( std::vector<uint32_t> Seed2 ) { this->m_Seed2 = std::move(Seed2);
return *
this; }
74 std::vector<uint32_t>
GetSeed2()
const {
return this->m_Seed2; }\
89 SITK_RETURN_SELF_TYPE_HEADER
SetUpperValueLimit (
double UpperValueLimit ) { this->m_UpperValueLimit = UpperValueLimit;
return *
this; }
99 SITK_RETURN_SELF_TYPE_HEADER
SetIsolatedValueTolerance (
double IsolatedValueTolerance ) { this->m_IsolatedValueTolerance = IsolatedValueTolerance;
return *
this; }
109 SITK_RETURN_SELF_TYPE_HEADER
SetReplaceValue1 ( uint8_t ReplaceValue1 ) { this->m_ReplaceValue1 = ReplaceValue1;
return *
this; }
119 SITK_RETURN_SELF_TYPE_HEADER
SetReplaceValue2 ( uint8_t ReplaceValue2 ) { this->m_ReplaceValue2 = ReplaceValue2;
return *
this; }
127 std::string
GetName()
const {
return std::string (
"IsolatedWatershedImageFilter"); }
130 std::string ToString()
const;
142 template <
class TImageType>
Image ExecuteInternal (
const Image& image1 );
151 std::vector<uint32_t> m_Seed1{std::vector<uint32_t>(3, 0)};
154 std::vector<uint32_t> m_Seed2{std::vector<uint32_t>(3, 0)};
156 double m_Threshold{0.0};
158 double m_UpperValueLimit{1.0};
160 double m_IsolatedValueTolerance{0.001};
162 uint8_t m_ReplaceValue1{1u};
164 uint8_t m_ReplaceValue2{2u};
179 SITKBasicFilters_EXPORT Image IsolatedWatershed (
const Image& image1, std::vector<uint32_t> seed1 = std::vector<uint32_t>(3, 0), std::vector<uint32_t> seed2 = std::vector<uint32_t>(3, 0),
double threshold = 0.0,
double upperValueLimit = 1.0,
double isolatedValueTolerance = 0.001, uint8_t replaceValue1 = 1u, uint8_t replaceValue2 = 2u );