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