open_iA 2023.02
A tool for the visual analysis and processing of volumetric datasets, with a focus on industrial computed tomography.
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision > Class Template Reference

Performs Spatially Constrained Fuzzy C-Means based on kernel-induced distance (KFCMS) Classification on an image. More...

#include <itkKFCMSClassifierInitializationImageFilter.h>

Inheritance diagram for itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >:
[legend]
Collaboration diagram for itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >:
[legend]

Public Types

typedef Superclass::CentroidArrayType CentroidArrayType
 
typedef NumericTraits< CentroidTypeCentroidNumericTraitsType
 Other centroid typedefs.
 
typedef Superclass::CentroidType CentroidType
 Centroid typedefs (types inherited from the superclass).
 
typedef NumericTraits< CentroidValueTypeCentroidValueNumericTraitsType
 
typedef Superclass::CentroidValueType CentroidValueType
 
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::InputImageIndexType InputImageIndexType
 
typedef Superclass::InputImagePixelType InputImagePixelType
 
typedef Superclass::InputImagePixelValueType InputImagePixelValueType
 
typedef Superclass::InputImageRegionType InputImageRegionType
 
typedef Superclass::InputImageSizeType InputImageSizeType
 
typedef Superclass::InputImageType InputImageType
 Input image typedef support (types inherited from the superclass).
 
typedef Superclass::InternalImageConstPointer InternalImageConstPointer
 
typedef ConstShapedNeighborhoodIterator< InternalImageTypeInternalImageConstShapedNeighborhoodIterator
 Other internal image typedefs.
 
typedef Superclass::InternalImagePointer InternalImagePointer
 
typedef Superclass::InternalImageType InternalImageType
 Internal image typedef support (types inherited from the superclass).
 
typedef KernelDistanceMetricType::Pointer KernelDistanceMetricPointer
 
typedef Statistics::KernelInducedDistanceMetric< CentroidTypeKernelDistanceMetricType
 Type definitions for kernel distance metric measure to be used.
 
typedef Superclass::MembershipImageIterator MembershipImageIterator
 
typedef Superclass::MembershipImagePixelType MembershipImagePixelType
 
typedef Superclass::MembershipImagePointer MembershipImagePointer
 
typedef Superclass::MembershipImageType MembershipImageType
 Membership matrix typedef support (types inherited from the superclass).
 
typedef NumericTraits< MembershipValueTypeMembershipValueNumericTraitsType
 
typedef Superclass::MembershipValueType MembershipValueType
 
typedef FastMutexLock MutexLockType
 Type definitions for mutex lock.
 
typedef MembershipImageType::RegionType OutputImageRegionType
 Other membership typedefs.
 
typedef SmartPointer< SelfPointer
 
typedef KFCMSClassifierInitializationImageFilter Self
 Standard class typedefs.
 
typedef StructuringElementType::RadiusType StructuringElementRadiusType
 
typedef itk::FlatStructuringElement< itkGetStaticConstMacro(InputImageDimension) > StructuringElementType
 Structuring element typedef.
 
typedef FuzzyClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision > Superclass
 
- Public Types inherited from itk::FuzzyClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >
typedef std::vector< CentroidTypeCentroidArrayType
 Typdef for the array of centroids.
 
typedef itk::Vector< CentroidValueType, InputImagePixelDimension > CentroidType
 Centroid typedef.
 
typedef NumericTraits< CentroidValueTypeCentroidValueNumericTraitsType
 Other centroid typedefs.
 
typedef TCentroidValuePrecision CentroidValueType
 
typedef SmartPointer< const SelfConstPointer
 
typedef ImageRegionConstIterator< InputImageTypeInputImageConstIterator
 
typedef Superclass::InputImageConstPointer InputImageConstPointer
 
typedef InputImageType::IndexType InputImageIndexType
 
typedef NumericTraits< InputImagePixelTypeInputImagePixelNumericTraitsType
 Input image pixel typedefs.
 
typedef PixelTraits< InputImagePixelTypeInputImagePixelTraitsType
 
typedef Superclass::InputImagePixelType InputImagePixelType
 
typedef InputImagePixelTraitsType::ValueType InputImagePixelValueType
 
typedef Superclass::InputImagePointer InputImagePointer
 Input image typedef support (types inherited from the superclass).
 
typedef Superclass::InputImageRegionType InputImageRegionType
 
typedef InputImageType::SizeType InputImageSizeType
 Other input image typedefs.
 
typedef TInputImage InputImageType
 Convenient typedefs for simplifying declarations.
 
typedef ImageRegionConstIterator< InternalImageTypeInternalImageConstIterator
 
typedef InternalImageType::ConstPointer InternalImageConstPointer
 
typedef ImageRegionIterator< InternalImageTypeInternalImageIterator
 Other internal image typedefs.
 
typedef InternalImageType::Pointer InternalImagePointer
 
typedef Image< CentroidType, itkGetStaticConstMacro(InputImageDimension) > InternalImageType
 Internal image typedef support.
 
typedef ImageRegionIterator< MembershipImageTypeMembershipImageIterator
 
typedef MembershipImageType::PixelType MembershipImagePixelType
 
typedef MembershipImageType::Pointer MembershipImagePointer
 
typedef OutputImageType MembershipImageType
 Membership image typedef support.
 
typedef TProbabilityPrecision MembershipValueType
 
typedef VectorImage< MembershipValueType, itkGetStaticConstMacro(InputImageDimension) > OutputImageType
 Convenient typedefs for simplifying declarations.
 
typedef SmartPointer< SelfPointer
 
typedef FuzzyClassifierInitializationImageFilter Self
 Standard class typedefs.
 
typedef ImageToImageFilter< InputImageType, OutputImageTypeSuperclass
 Standard class typedefs.
 

Public Member Functions

 itkGetConstMacro (Alpha, double)
 Get penalty factor of the neighborhood.
 
 itkNewMacro (Self)
 Method for creation through the object factory.
 
 itkSetClampMacro (Alpha, double, 0.0, NumericTraits< double >::max())
 Set penalty factor of the neighborhood.
 
 itkStaticConstMacro (InputImageDimension, unsigned int, InputImageType::ImageDimension)
 Extract dimension from input image.
 
 itkTypeMacro (KFCMSClassifierInitializationImageFilter, FuzzyClassifierInitializationImageFilter)
 Run-time type information (and related methods).
 
virtual void SetKernelDistanceMetric (KernelDistanceMetricPointer kernelDistanceMetricPtr)
 Set the pointer to the kernel distance metric to be used.
 
void SetNumberOfClasses (const unsigned int &numOfClasses) override
 Set number of classes.
 
void SetStructuringElement (StructuringElementType &structuringEl)
 Set the structuring element to be used in the shaped neighborhood iterator.
 
- Public Member Functions inherited from itk::FuzzyClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >
virtual double ComputeDifference (const CentroidArrayType &arrayOfCentroids)
 Computes the mean square error between centroids and the centroid array passed as parameter.
 
virtual CentroidArrayType GetCentroids () const
 Get cluster centroids.
 
 itkBooleanMacro (IgnoreBackgroundPixels)
 Turn on and off the IgnoreBackgroundPixels flag.
 
 itkGetConstMacro (BackgroundPixel, InputImagePixelType)
 Get the pixel used as background value in the input image.
 
 itkGetConstMacro (Error, double)
 Get error between the new class centroids and their values from the previous iteration.
 
 itkGetConstMacro (IgnoreBackgroundPixels, bool)
 Get true/false depending on whether the algorithm ignores the background pixels or not.
 
 itkGetConstMacro (M, double)
 Get m fuzziness degree value.
 
 itkGetConstMacro (MaximumError, double)
 Get maximum error used to stop the algorithm.
 
 itkGetConstMacro (MaximumNumberOfIterations, unsigned int)
 Get maximum number of iterations.
 
 itkGetConstMacro (NumberOfClasses, unsigned int)
 Get the number of classes.
 
 itkGetConstMacro (NumberOfIterations, unsigned int)
 Get number of iterations performed.
 
 itkSetClampMacro (M, double, 1.0, NumericTraits< double >::max())
 Set m fuzziness degree value.
 
 itkSetClampMacro (MaximumError, double, 0.0, NumericTraits< double >::max())
 Set maximum error used to stop the algorithm.
 
 itkSetClampMacro (MaximumNumberOfIterations, unsigned int, 1, NumericTraits< unsigned int >::max())
 Set maximum number of iterations.
 
 itkSetMacro (BackgroundPixel, InputImagePixelType)
 Set the pixel used as background value in the input image.
 
 itkSetMacro (IgnoreBackgroundPixels, bool)
 Set true/false depending on whether the algorithm ignores the background pixels or not.
 
 itkStaticConstMacro (InputImageDimension, unsigned int, InputImageType::ImageDimension)
 Extract dimension from input image.
 
 itkStaticConstMacro (InputImagePixelDimension, unsigned int, InputImagePixelTraitsType::Dimension)
 Extract dimension from the pixel of the input image.
 
 itkTypeMacro (FuzzyClassifierInitializationImageFilter, ImageToImageFilter)
 Run-time type information (and related methods).
 
virtual void SetCentroids (const CentroidArrayType newCentroids)
 Set class centroids.
 
virtual void SetNumberOfClasses (const unsigned int &numOfClasses)
 Set the number of classes.
 

Protected Member Functions

 KFCMSClassifierInitializationImageFilter ()
 Constructor.
 
virtual ~KFCMSClassifierInitializationImageFilter ()
 Destructor.
 
void AfterThreadedGenerateData () override
 KFCMSClassifierInitializationImageFilter is implemented as a multithreaded filter and needs to perform processing after all processing threads have completed.
 
void BeforeThreadedGenerateData () override
 KFCMSClassifierInitializationImageFilter is implemented as a multithreaded filter and needs to perform processing after the output image has been allocated but before threads are spawned.
 
virtual void Initialize () override
 Check if the structuring element and the kernel function are initialized.
 
void PrintSelf (std::ostream &os, Indent indent) const override
 Write the name-value pairs of the class data members to the supplied output stream.
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) override
 KFCMSClassifierInitializationImageFilter is implemented as a multithreaded filter.
 
- Protected Member Functions inherited from itk::FuzzyClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >
 FuzzyClassifierInitializationImageFilter ()
 Constructor.
 
virtual ~FuzzyClassifierInitializationImageFilter ()
 Destructor.
 
void ComputeImageToProcess (InternalImageType *imageToProcess)
 Get the internal image to process.
 
void ComputePixelAsCentroid (const InputImagePixelType &pixel, CentroidType &pixelAsCentroid)
 Transforms a given pixel of the input image to the equivalent pixel of centroid type.
 
void GenerateData () override
 A version of GenerateData() specific for fuzzy classifiers.
 
void GenerateOutputInformation () override
 Generate the information describing the output data.
 
virtual void Initialize ()
 If a subclass of FuzzyClassifierInitializationImageFilter needs to initialize some data or perform some calculations before to start the first iteration, it should provide an implementation of Initialize().
 
void PrintSelf (std::ostream &os, Indent indent) const override
 Write the name-value pairs of the filter data members to the supplied output stream.
 

Protected Attributes

double m_Alpha
 Penalty factor of the neighborhood used in the membership and centroid expressions.
 
MutexLockType::Pointer m_CentroidsModificationAttributesLock
 Mutex lock used to protect the modification of attributes wich are accessed through different threads.
 
KernelDistanceMetricPointer m_KernelDistanceMetric
 Pointer to the kernel distance metric to be used.
 
StructuringElementType m_StructuringElement
 Structuring element of the shaped neighborhood iterator.
 
- Protected Attributes inherited from itk::FuzzyClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >
InputImagePixelType m_BackgroundPixel
 Pixel of the input image used as background value.
 
CentroidArrayType m_Centroids
 Array of class centroids.
 
double m_Error
 Error obtained between the new class centroids and the old values of the centroids (i.e.
 
bool m_IgnoreBackgroundPixels
 Flag indicating whether to ignore the background pixels.
 
InternalImagePointer m_ImageToProcess
 Pointer to the image to be used internally by the algorithm.
 
double m_M
 Fuzzification parameter (m) in the range [1, n], which determines the degree of fuzziness in the clusters.
 
double m_MaximumError
 Error threshold used to stop the algorithm.
 
unsigned int m_MaximumNumberOfIterations
 Maximum number of iterations allowed.
 
unsigned int m_NumberOfClasses
 Number of fuzzy clusters used to classify the image.
 
unsigned int m_NumberOfIterations
 Number of iterations performed.
 

Detailed Description

template<class TInputImage, class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
class itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >

Performs Spatially Constrained Fuzzy C-Means based on kernel-induced distance (KFCMS) Classification on an image.

This implementation is based on S. C. Chen. and D. Q. Zhang, "Robust image segmentation using FCM with spatial constraints based on new kernel-induced distance measure". Systems, Man, and Cybernetics, Part B: Cybernetics, IEEE Transactions on, 34(4):1907–1916, 2004. 1, 2.2

KFCMSClassifierInitializationImageFilter is implemented as a multithreaded filter. This implementation provides BeforeThreadedGenerateData(), ThreadedGenerateData() and AfterThreadedGenerateData() methods. Documentation of the superclass (FuzzyClassifierInitializationImageFilter) explains multithreaded support in fuzzy classifiers.

Caveats
The user should set the RBF kernel distance metric.
Version
0.1
Author
Alberto Rey, Alfonso Castro and Bernardino Arcay. University of A Coruña. Spain
See also
FuzzyClassifierInitializationImageFilter
FCMClassifierInitializationImageFilter
MSKFCMClassifierInitializationImageFilter
MSFKCMClassifierInitializationImageFilter
FuzzyClassifierImageFilter

Member Typedef Documentation

◆ CentroidArrayType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Superclass::CentroidArrayType itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::CentroidArrayType

◆ CentroidNumericTraitsType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef NumericTraits< CentroidType > itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::CentroidNumericTraitsType

Other centroid typedefs.

◆ CentroidType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Superclass::CentroidType itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::CentroidType

Centroid typedefs (types inherited from the superclass).

◆ CentroidValueNumericTraitsType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef NumericTraits< CentroidValueType > itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::CentroidValueNumericTraitsType

◆ CentroidValueType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Superclass::CentroidValueType itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::CentroidValueType

◆ ConstPointer

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef SmartPointer< const Self > itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::ConstPointer

◆ InputImageIndexType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Superclass::InputImageIndexType itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::InputImageIndexType

◆ InputImagePixelType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Superclass::InputImagePixelType itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::InputImagePixelType

◆ InputImagePixelValueType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Superclass::InputImagePixelValueType itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::InputImagePixelValueType

◆ InputImageRegionType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Superclass::InputImageRegionType itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::InputImageRegionType

◆ InputImageSizeType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Superclass::InputImageSizeType itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::InputImageSizeType

◆ InputImageType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Superclass::InputImageType itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::InputImageType

Input image typedef support (types inherited from the superclass).

◆ InternalImageConstPointer

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Superclass::InternalImageConstPointer itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::InternalImageConstPointer

◆ InternalImageConstShapedNeighborhoodIterator

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef ConstShapedNeighborhoodIterator< InternalImageType > itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::InternalImageConstShapedNeighborhoodIterator

Other internal image typedefs.

◆ InternalImagePointer

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Superclass::InternalImagePointer itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::InternalImagePointer

◆ InternalImageType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Superclass::InternalImageType itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::InternalImageType

Internal image typedef support (types inherited from the superclass).

This image is used for internal processing.

◆ KernelDistanceMetricPointer

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef KernelDistanceMetricType::Pointer itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::KernelDistanceMetricPointer

◆ KernelDistanceMetricType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Statistics::KernelInducedDistanceMetric< CentroidType > itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::KernelDistanceMetricType

Type definitions for kernel distance metric measure to be used.

◆ MembershipImageIterator

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Superclass::MembershipImageIterator itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::MembershipImageIterator

◆ MembershipImagePixelType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Superclass::MembershipImagePixelType itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::MembershipImagePixelType

◆ MembershipImagePointer

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Superclass::MembershipImagePointer itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::MembershipImagePointer

◆ MembershipImageType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Superclass::MembershipImageType itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::MembershipImageType

Membership matrix typedef support (types inherited from the superclass).

◆ MembershipValueNumericTraitsType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef NumericTraits< MembershipValueType > itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::MembershipValueNumericTraitsType

◆ MembershipValueType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef Superclass::MembershipValueType itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::MembershipValueType

◆ MutexLockType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef FastMutexLock itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::MutexLockType

Type definitions for mutex lock.

Mutex lock allows the locking of variables which are accessed through different threads.

◆ OutputImageRegionType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef MembershipImageType::RegionType itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::OutputImageRegionType

Other membership typedefs.

◆ Pointer

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef SmartPointer< Self > itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::Pointer

◆ Self

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef KFCMSClassifierInitializationImageFilter itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::Self

Standard class typedefs.

◆ StructuringElementRadiusType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef StructuringElementType::RadiusType itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::StructuringElementRadiusType

◆ StructuringElementType

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef itk::FlatStructuringElement< itkGetStaticConstMacro(InputImageDimension) > itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::StructuringElementType

Structuring element typedef.

◆ Superclass

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
typedef FuzzyClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision > itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::Superclass

Constructor & Destructor Documentation

◆ KFCMSClassifierInitializationImageFilter()

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::KFCMSClassifierInitializationImageFilter ( )
protected

Constructor.

◆ ~KFCMSClassifierInitializationImageFilter()

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
virtual itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::~KFCMSClassifierInitializationImageFilter ( )
inlineprotectedvirtual

Destructor.

Member Function Documentation

◆ AfterThreadedGenerateData()

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
void itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::AfterThreadedGenerateData ( )
overrideprotected

KFCMSClassifierInitializationImageFilter is implemented as a multithreaded filter and needs to perform processing after all processing threads have completed.

Therefore, this implementation provides an AfterThreadedGenerateData() method. This method is executed once per iteration of the KFCMS algorithm and will update the centroids and calculate the error.

◆ BeforeThreadedGenerateData()

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
void itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::BeforeThreadedGenerateData ( )
overrideprotected

KFCMSClassifierInitializationImageFilter is implemented as a multithreaded filter and needs to perform processing after the output image has been allocated but before threads are spawned.

Therefore, this implementation provides a BeforeThreadedGenerateData() method. This method is executed once per iteration of the KFCMS algorithm and will store the old values of the centroids and initialize some variables used internally.

◆ Initialize()

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
virtual void itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::Initialize ( )
overrideprotectedvirtual

Check if the structuring element and the kernel function are initialized.

Reimplemented from itk::FuzzyClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >.

◆ itkGetConstMacro()

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::itkGetConstMacro ( Alpha  ,
double   
)

Get penalty factor of the neighborhood.

◆ itkNewMacro()

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::itkNewMacro ( Self  )

Method for creation through the object factory.

◆ itkSetClampMacro()

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::itkSetClampMacro ( Alpha  ,
double  ,
0.  0,
NumericTraits< double >  ::max() 
)

Set penalty factor of the neighborhood.

This value should be greater than 0.

◆ itkStaticConstMacro()

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::itkStaticConstMacro ( InputImageDimension  ,
unsigned int  ,
InputImageType::ImageDimension   
)

Extract dimension from input image.

◆ itkTypeMacro()

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::itkTypeMacro ( KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >  ,
FuzzyClassifierInitializationImageFilter   
)

Run-time type information (and related methods).

◆ PrintSelf()

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
void itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotected

Write the name-value pairs of the class data members to the supplied output stream.

◆ SetKernelDistanceMetric()

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
virtual void itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::SetKernelDistanceMetric ( KernelDistanceMetricPointer  kernelDistanceMetricPtr)
virtual

Set the pointer to the kernel distance metric to be used.

This kernel distance should be a RBF kernel distance metric.

◆ SetNumberOfClasses()

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
void itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::SetNumberOfClasses ( const unsigned int &  numOfClasses)
overridevirtual

Set number of classes.

This method calls Superclass::SetNumberOfClasses(numOfClasses) and creates some variables used for centroids calculations. This method also sets the size of the vector of old centroids.

Reimplemented from itk::FuzzyClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >.

◆ SetStructuringElement()

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
void itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::SetStructuringElement ( StructuringElementType structuringEl)

Set the structuring element to be used in the shaped neighborhood iterator.

◆ ThreadedGenerateData()

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
void itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
ThreadIdType  threadId 
)
overrideprotected

KFCMSClassifierInitializationImageFilter is implemented as a multithreaded filter.

Therefore, this implementation provides a ThreadedGenerateData() method which is called for each processing thread. The output image data is allocated automatically by the supercalss prior to calling ThreadedGenerateData(). ThreadedGenerateData() can only write to the portion of the output membership image specified by the parameter "outputRegionForThread". This method is executed once per iteration of the KFCMS algorithm and will set that portion of the membership image and perform some calulations used later to update the centroids.

See also
FuzzyClassifierInitializationImageFilter::GenerateData()

Member Data Documentation

◆ m_Alpha

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
double itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::m_Alpha
protected

Penalty factor of the neighborhood used in the membership and centroid expressions.

◆ m_CentroidsModificationAttributesLock

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
MutexLockType::Pointer itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::m_CentroidsModificationAttributesLock
protected

Mutex lock used to protect the modification of attributes wich are accessed through different threads.

◆ m_KernelDistanceMetric

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
KernelDistanceMetricPointer itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::m_KernelDistanceMetric
protected

Pointer to the kernel distance metric to be used.

◆ m_StructuringElement

template<class TInputImage , class TProbabilityPrecision = double, class TCentroidValuePrecision = double>
StructuringElementType itk::KFCMSClassifierInitializationImageFilter< TInputImage, TProbabilityPrecision, TCentroidValuePrecision >::m_StructuringElement
protected

Structuring element of the shaped neighborhood iterator.


The documentation for this class was generated from the following file: