18 #ifndef sitkIsolatedWatershedImageFilter_h
19 #define sitkIsolatedWatershedImageFilter_h
60 SITK_RETURN_SELF_TYPE_HEADER
SetSeed1 ( std::vector<uint32_t> Seed1 ) { this->m_Seed1 = std::move(Seed1);
return *
this; }
65 std::vector<uint32_t>
GetSeed1()
const {
return this->m_Seed1; }\
70 SITK_RETURN_SELF_TYPE_HEADER
SetSeed2 ( std::vector<uint32_t> Seed2 ) { this->m_Seed2 = std::move(Seed2);
return *
this; }
75 std::vector<uint32_t>
GetSeed2()
const {
return this->m_Seed2; }\
90 SITK_RETURN_SELF_TYPE_HEADER
SetUpperValueLimit (
double UpperValueLimit ) { this->m_UpperValueLimit = UpperValueLimit;
return *
this; }
100 SITK_RETURN_SELF_TYPE_HEADER
SetIsolatedValueTolerance (
double IsolatedValueTolerance ) { this->m_IsolatedValueTolerance = IsolatedValueTolerance;
return *
this; }
110 SITK_RETURN_SELF_TYPE_HEADER
SetReplaceValue1 ( uint8_t ReplaceValue1 ) { this->m_ReplaceValue1 = ReplaceValue1;
return *
this; }
120 SITK_RETURN_SELF_TYPE_HEADER
SetReplaceValue2 ( uint8_t ReplaceValue2 ) { this->m_ReplaceValue2 = ReplaceValue2;
return *
this; }
128 std::string
GetName()
const {
return std::string (
"IsolatedWatershedImageFilter"); }
131 std::string ToString()
const;
143 template <
class TImageType>
Image ExecuteInternal (
const Image& image1 );
152 std::vector<uint32_t> m_Seed1{std::vector<uint32_t>(3, 0)};
155 std::vector<uint32_t> m_Seed2{std::vector<uint32_t>(3, 0)};
157 double m_Threshold{0.0};
159 double m_UpperValueLimit{1.0};
161 double m_IsolatedValueTolerance{0.001};
163 uint8_t m_ReplaceValue1{1u};
165 uint8_t m_ReplaceValue2{2u};
180 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 );