18#ifndef sitkSLICImageFilter_h
19#define sitkSLICImageFilter_h
72 using PixelIDTypeList = typelist2::append<BasicPixelIDTypeList, VectorPixelIDTypeList>::type;
84 std::vector<unsigned int>
166 std::string
GetName()
const {
return std::string(
"SLICImageFilter"); }
201 std::unique_ptr<itk::ProcessObject, ProcessObjectDeleter>
m_Filter{
nullptr};
217 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
The Image class for SimpleITK.
void SetSuperGridSize(std::vector< unsigned int > SuperGridSize)
void SetSpatialProximityWeight(double SpatialProximityWeight)
The spatial weight for the distance function. Increasing this value makes the superpixel shape more r...
std::function< double()> m_pfGetAverageResidual
uint32_t m_MaximumNumberOfIterations
bool GetInitializationPerturbation() const
void SetMaximumNumberOfIterations(uint32_t MaximumNumberOfIterations)
Number of iterations to run. Specify the number of iterations to run when optimizing the clusters.
void SetEnforceConnectivity(bool EnforceConnectivity)
Post processing step to enforce superpixel morphology. Enable an additional computation which ensures...
virtual ~SLICImageFilter()
Image ExecuteInternal(const Image &image1)
Image Execute(const Image &image1)
typelist2::append< BasicPixelIDTypeList, VectorPixelIDTypeList >::type PixelIDTypeList
std::unique_ptr< itk::ProcessObject, ProcessObjectDeleter > m_Filter
std::vector< unsigned int > m_SuperGridSize
void InitializationPerturbationOn()
uint32_t GetMaximumNumberOfIterations() const
void InitializationPerturbationOff()
static const detail::MemberFunctionFactory< MemberFunctionType > & GetMemberFunctionFactory()
void SetInitializationPerturbation(bool InitializationPerturbation)
Enable perturbation of initial cluster center location. After grid based initialization,...
bool GetEnforceConnectivity() const
std::string GetName() const
std::string ToString() const
double GetSpatialProximityWeight() const
double GetAverageResidual() const
Get the current average cluster residual. After each iteration the residual is computed as the distan...
std::vector< unsigned int > GetSuperGridSize() const
bool m_EnforceConnectivity
void EnforceConnectivityOff()
Image(Self::*)(const Image &image1) MemberFunctionType
double m_SpatialProximityWeight
bool m_InitializationPerturbation
void EnforceConnectivityOn()
A class used to instantiate and generate function object to templated member functions.
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)
Simple Linear Iterative Clustering (SLIC) super-pixel segmentation.
#define SITKBasicFilters_EXPORT