ANIMA  4.0
Public Types | Public Member Functions | List of all members
anima::FuzzyCMeansFilter< ScalarType > Class Template Reference

#include <animaFuzzyCMeansFilter.h>

Public Types

enum  CentroidAverageType {
  Euclidean = 0,
  ApproximateSpherical,
  Spherical
}
 
typedef std::vector< VectorTypeDataHolderType
 
typedef std::vector< ScalarType > VectorType
 

Public Member Functions

void ComputeCentroids ()
 
bool endConditionReached (DataHolderType &oldMemberships)
 
 FuzzyCMeansFilter ()
 
VectorTypeGetCentroid (unsigned int i)
 
VectorTypeGetClassesMembership (unsigned int i)
 
void InitializeClassesMemberships (DataHolderType &classM)
 
void InitializeCMeansFromData ()
 
void ResetClassesMemberships ()
 
void SetDataWeights (VectorType &val)
 
void SetFlagSpectralClustering (bool flag)
 
void SetInputData (DataHolderType &data)
 
void SetMaxIterations (unsigned int mIt)
 
void SetMValue (double mV)
 
void SetNbClass (unsigned int nbC)
 
void SetRelStopCriterion (double rC)
 
void SetSphericalAverageType (CentroidAverageType spher)
 
void SetVerbose (bool verb)
 
void Update ()
 
void UpdateMemberships ()
 
virtual ~FuzzyCMeansFilter ()
 

Detailed Description

template<class ScalarType>
class anima::FuzzyCMeansFilter< ScalarType >

Provides an implementation of fuzzy c-means, as proposed in J. C. Bezdek (1981): "Pattern Recognition with Fuzzy Objective Function Algoritms", Plenum Press, New York. It contains flags for interfacing it with spectral clustering, and to compute spherical distances rather than Euclidean distances.

Definition at line 15 of file animaFuzzyCMeansFilter.h.

Member Typedef Documentation

◆ DataHolderType

template<class ScalarType>
typedef std::vector<VectorType> anima::FuzzyCMeansFilter< ScalarType >::DataHolderType

Definition at line 19 of file animaFuzzyCMeansFilter.h.

◆ VectorType

template<class ScalarType>
typedef std::vector<ScalarType> anima::FuzzyCMeansFilter< ScalarType >::VectorType

Definition at line 18 of file animaFuzzyCMeansFilter.h.

Member Enumeration Documentation

◆ CentroidAverageType

template<class ScalarType>
enum anima::FuzzyCMeansFilter::CentroidAverageType
Enumerator
Euclidean 
ApproximateSpherical 
Spherical 

Definition at line 21 of file animaFuzzyCMeansFilter.h.

Constructor & Destructor Documentation

◆ FuzzyCMeansFilter()

template<class ScalarType >
anima::FuzzyCMeansFilter< ScalarType >::FuzzyCMeansFilter ( )

Definition at line 15 of file animaFuzzyCMeansFilter.hxx.

◆ ~FuzzyCMeansFilter()

template<class ScalarType>
virtual anima::FuzzyCMeansFilter< ScalarType >::~FuzzyCMeansFilter ( )
inlinevirtual

Definition at line 29 of file animaFuzzyCMeansFilter.h.

Member Function Documentation

◆ ComputeCentroids()

template<class ScalarType >
void anima::FuzzyCMeansFilter< ScalarType >::ComputeCentroids ( )

◆ endConditionReached()

template<class ScalarType >
bool anima::FuzzyCMeansFilter< ScalarType >::endConditionReached ( DataHolderType oldMemberships)

◆ GetCentroid()

template<class ScalarType>
VectorType& anima::FuzzyCMeansFilter< ScalarType >::GetCentroid ( unsigned int  i)
inline

Definition at line 52 of file animaFuzzyCMeansFilter.h.

◆ GetClassesMembership()

template<class ScalarType>
VectorType& anima::FuzzyCMeansFilter< ScalarType >::GetClassesMembership ( unsigned int  i)
inline

Definition at line 53 of file animaFuzzyCMeansFilter.h.

◆ InitializeClassesMemberships()

template<class ScalarType >
void anima::FuzzyCMeansFilter< ScalarType >::InitializeClassesMemberships ( DataHolderType classM)

◆ InitializeCMeansFromData()

template<class ScalarType >
void anima::FuzzyCMeansFilter< ScalarType >::InitializeCMeansFromData ( )

◆ ResetClassesMemberships()

template<class ScalarType>
void anima::FuzzyCMeansFilter< ScalarType >::ResetClassesMemberships ( )
inline

Definition at line 45 of file animaFuzzyCMeansFilter.h.

◆ SetDataWeights()

template<class ScalarType>
void anima::FuzzyCMeansFilter< ScalarType >::SetDataWeights ( VectorType val)
inline

Definition at line 32 of file animaFuzzyCMeansFilter.h.

◆ SetFlagSpectralClustering()

template<class ScalarType>
void anima::FuzzyCMeansFilter< ScalarType >::SetFlagSpectralClustering ( bool  flag)
inline

Definition at line 34 of file animaFuzzyCMeansFilter.h.

◆ SetInputData()

template<class ScalarType >
void anima::FuzzyCMeansFilter< ScalarType >::SetInputData ( DataHolderType data)

◆ SetMaxIterations()

template<class ScalarType>
void anima::FuzzyCMeansFilter< ScalarType >::SetMaxIterations ( unsigned int  mIt)
inline

Definition at line 35 of file animaFuzzyCMeansFilter.h.

◆ SetMValue()

template<class ScalarType>
void anima::FuzzyCMeansFilter< ScalarType >::SetMValue ( double  mV)
inline

Definition at line 37 of file animaFuzzyCMeansFilter.h.

◆ SetNbClass()

template<class ScalarType>
void anima::FuzzyCMeansFilter< ScalarType >::SetNbClass ( unsigned int  nbC)
inline

Definition at line 33 of file animaFuzzyCMeansFilter.h.

◆ SetRelStopCriterion()

template<class ScalarType>
void anima::FuzzyCMeansFilter< ScalarType >::SetRelStopCriterion ( double  rC)
inline

Definition at line 36 of file animaFuzzyCMeansFilter.h.

◆ SetSphericalAverageType()

template<class ScalarType>
void anima::FuzzyCMeansFilter< ScalarType >::SetSphericalAverageType ( CentroidAverageType  spher)
inline

Definition at line 38 of file animaFuzzyCMeansFilter.h.

◆ SetVerbose()

template<class ScalarType>
void anima::FuzzyCMeansFilter< ScalarType >::SetVerbose ( bool  verb)
inline

Definition at line 48 of file animaFuzzyCMeansFilter.h.

◆ Update()

template<class ScalarType >
void anima::FuzzyCMeansFilter< ScalarType >::Update ( )

◆ UpdateMemberships()

template<class ScalarType >
void anima::FuzzyCMeansFilter< ScalarType >::UpdateMemberships ( )

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