18 #ifndef sitkSLICImageFilter_h
19 #define sitkSLICImageFilter_h
63 using PixelIDTypeList = typelist::Append<BasicPixelIDTypeList, VectorPixelIDTypeList>::Type;
68 SITK_RETURN_SELF_TYPE_HEADER
SetSuperGridSize ( std::vector<unsigned int> SuperGridSize ) { this->m_SuperGridSize = std::move(SuperGridSize);
return *
this; }
78 SITK_RETURN_SELF_TYPE_HEADER
SetSpatialProximityWeight (
double SpatialProximityWeight ) { this->m_SpatialProximityWeight = SpatialProximityWeight;
return *
this; }
98 SITK_RETURN_SELF_TYPE_HEADER
SetEnforceConnectivity (
bool EnforceConnectivity ) { this->m_EnforceConnectivity = EnforceConnectivity;
return *
this; }
112 SITK_RETURN_SELF_TYPE_HEADER
SetInitializationPerturbation (
bool InitializationPerturbation ) { this->m_InitializationPerturbation = InitializationPerturbation;
return *
this; }
132 std::string
GetName()
const {
return std::string (
"SLICImageFilter"); }
135 std::string ToString()
const;
147 template <
class TImageType>
Image ExecuteInternal (
const Image& image1 );
156 std::vector<unsigned int> m_SuperGridSize{std::vector<unsigned int>(3, 50)};
158 double m_SpatialProximityWeight{10.0};
163 bool m_EnforceConnectivity{
true};
165 bool m_InitializationPerturbation{
true};
185 SITKBasicFilters_EXPORT Image SLIC (
const Image& image1, std::vector<unsigned int> superGridSize = std::vector<unsigned int>(3, 50),
double spatialProximityWeight = 10.0,
uint32_t maximumNumberOfIterations = 5u,
bool enforceConnectivity =
true,
bool initializationPerturbation =
true );