Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction > Class Template Reference
[Pixel Classification Filters]

#include <itkImageKmeansModelEstimator.h>

Inheritance diagram for itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >:

Inheritance graph
[legend]
Collaboration diagram for itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >:

Collaboration graph
[legend]

List of all members.


Detailed Description

template<class TInputImage, class TMembershipFunction>
class itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >

Base class for ImageKmeansModelEstimator object.

itkImageKmeansModelEstimator generated the kmeans model (cluster centers). This object performs clustering of data sets into different clusters either using user provided seed points as initial guess or generating the clusters using a recursive approach when the user provides the number of desired clusters. Each cluster is represented by its cluster center. The two algorithms used are the generalized Lloyd algorithm (GLA) and the Linde-Buzo-Gray algorithms. The cluster centers are also referred to as codewords and a table of cluster centers is is referred as a codebook.

As required by the GLA algorithm, the initial seed cluster should contain approximate centers of clusters. The GLA algorithm genrates an updated cluster centers that result in a lower distortion than the input seed cluster when the input vectors are mapped/classified/labelled using the given codebooks.

If no codebook is provided, the Linde-Buzo-Gray algorithm is used. This algorithm uses the GLA algorithm at its core to generate the centroids of the input vectors (data). However, since there is no initial codebook, LBG first creates a one word codebook (or centroid of one cluster comprising of all the input training vectors). The LBG uses codeword/or centroid splitting to create increasing number of clusters. Each new set of clusters are optimized using the GLA algorithm. The number of clusters increases as $2^{n}$ n= 0, 1, ... The codebook is expected to be in the form of a vnl matrix, where there are N rows. each row representing the cluster mean of a given cluster. The number of columns in a the codebook should be equal to the input image vector dimension.

The threshold parameter controls the ``optimality'' of the returned codebook where optimality is related to the least possible mean-squared error distortion that can be found by the algorithm. For larger thresholds, the result will be less optimal. For smaller thresholds, the result will be more optimal. If a more optimal result is desired, then the algorithm will take longer to complete. A reasonable threshold value is 0.01.

If, during the operation of the algorithm, there are any unused clusters or cells, the m_OffsetAdd and m_OffsetMultiply parameters is used to split the cells with the highest distortion. This functions will attempt to fill empty cells up to 10 times (unless the overall distortion is zero). Using 0.01 is a reasonable default values for the m_OffsetAdd and m_OffsetMultiply parameters.

If the GLA is unable to resolve the data into the desired number of clusters or cells, only the codewords which were used will be returned.

In terms of clustering, codewords are cluster centers, and a codebook is a table containing all cluster centers. The GLA produces results that are equivalent to the K-means clustering algorithm.

For more information about the algorithms, see A. Gersho and R. M. Gray, {Vector Quantization and Signal Compression}, Kluwer Academic Publishers, Boston, MA, 1992.

This object supports data handling of multiband images. The object accepts the input image in vector format only, where each pixel is a vector and each element of the vector corresponds to an entry from 1 particular band of a multiband dataset. A single band image is treated as a vector image with a single element for every vector.

This function is templated over the type of input image. In addition, a second parameter for the MembershipFunction needs to be specified. In this case a Membership function that store cluster centroids models needs to be specified.

The Update() function enables the calculation of the various models, creates the membership function objects and populates them.

Note: There is a second implementation of k-means algorithm in ITK under the itk::statistics namespace. While this algorithm (GLA/LBG based algorithm) is memory efficient, the other algorithm is time efficient.

See also:
KdTreeBasedKmeansEstimator, WeightedCentroidKdTreeGenerator, KdTree

ScalarImageKmeansImageFilter

Definition at line 127 of file itkImageKmeansModelEstimator.h.

void PrintKmeansAlgorithmResults ()

Public Types

typedef vnl_matrix< double > CodebookMatrixOfDoubleType
typedef vnl_matrix< int > CodebookMatrixOfIntegerType
typedef SmartPointer< const SelfConstPointer
typedef
ImageRegionConstIterator
< TInputImage > 
InputImageConstIterator
typedef TInputImage::ConstPointer InputImageConstPointer
typedef ImageRegionIterator
< TInputImage > 
InputImageIterator
typedef TInputImage::PixelType InputImagePixelType
typedef TInputImage::Pointer InputImagePointer
typedef TInputImage InputImageType
typedef
TInputImage::PixelType::VectorType 
InputImageVectorType
typedef
TMembershipFunction::Pointer 
MembershipFunctionPointer
typedef std::vector
< MembershipFunctionPointer
MembershipFunctionPointerVector
typedef SmartPointer< SelfPointer
typedef ImageKmeansModelEstimator Self
typedef
ImageModelEstimatorBase
< TInputImage,
TMembershipFunction > 
Superclass

Public Member Functions

virtual void AbortGenerateDataOff ()
virtual void AbortGenerateDataOn ()
unsigned int AddMembershipFunction (MembershipFunctionPointer function)
virtual LightObject::Pointer CreateAnother () const
virtual void DebugOff () const
virtual void DebugOn () const
virtual void Delete ()
void DeleteAllMembershipFunctions ()
virtual const bool & GetAbortGenerateData ()
virtual CodebookMatrixOfDoubleType GetCodebook ()
CommandGetCommand (unsigned long tag)
bool GetDebug () const
virtual InputImageTypeGetInputImage ()
CodebookMatrixOfDoubleType GetKmeansResults (void)
virtual int GetMaxSplitAttempts ()
const
MembershipFunctionPointerVector 
GetMembershipFunctions () const
const MetaDataDictionaryGetMetaDataDictionary (void) const
MetaDataDictionaryGetMetaDataDictionary (void)
virtual unsigned long GetMTime () const
virtual const char * GetNameOfClass () const
unsigned int GetNumberOfMembershipFunctions ()
virtual const unsigned int & GetNumberOfModels ()
virtual double GetOffsetAdd ()
virtual double GetOffsetMultiply ()
CodebookMatrixOfDoubleType GetOutCodebook ()
virtual int GetReferenceCount () const
virtual double GetThreshold ()
bool HasObserver (const EventObject &event) const
void InvokeEvent (const EventObject &) const
void InvokeEvent (const EventObject &)
virtual void Modified () const
void Print (std::ostream &os, Indent indent=0) const
virtual void Register () const
void RemoveAllObservers ()
void RemoveObserver (unsigned long tag)
virtual void SetAbortGenerateData (bool _arg)
void SetCodebook (CodebookMatrixOfDoubleType InCodebook)
void SetDebug (bool debugFlag) const
virtual void SetInputImage (InputImageType *_arg)
virtual void SetMaxSplitAttempts (int _arg)
void SetMembershipFunctions (MembershipFunctionPointerVector membershipFunctions)
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
virtual void SetNumberOfModels (unsigned int _arg)
virtual void SetOffsetAdd (double _arg)
virtual void SetOffsetMultiply (double _arg)
virtual void SetReferenceCount (int)
virtual void SetThreshold (double _arg)
virtual void UnRegister () const
void Update ()
virtual void UpdateOutputData ()
void UpdateProgress (float amount)
unsigned long AddObserver (const EventObject &event, Command *) const
unsigned long AddObserver (const EventObject &event, Command *)
virtual const float & GetProgress ()
virtual void SetProgress (float _arg)

Static Public Member Functions

static void BreakOnError ()
static Pointer New ()
static bool GetGlobalWarningDisplay ()
static void GlobalWarningDisplayOff ()
static void GlobalWarningDisplayOn ()
static void SetGlobalWarningDisplay (bool flag)

Protected Types

typedef int InternalReferenceCountType

Protected Member Functions

void Allocate ()
void GenerateData ()
 ImageKmeansModelEstimator ()
bool PrintObservers (std::ostream &os, Indent indent) const
virtual void PrintSelf (std::ostream &os, Indent indent) const
 ~ImageKmeansModelEstimator ()
virtual void PrintHeader (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) const

Protected Attributes

InternalReferenceCountType m_ReferenceCount
SimpleFastMutexLock m_ReferenceCountLock

Member Typedef Documentation

template<class TInputImage, class TMembershipFunction>
typedef vnl_matrix<double> itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::CodebookMatrixOfDoubleType

Type definition for a double matrix.

Definition at line 166 of file itkImageKmeansModelEstimator.h.

template<class TInputImage, class TMembershipFunction>
typedef vnl_matrix<int> itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::CodebookMatrixOfIntegerType

Type definition for an integer vector.

Definition at line 169 of file itkImageKmeansModelEstimator.h.

template<class TInputImage, class TMembershipFunction>
typedef SmartPointer<const Self> itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::ConstPointer

template<class TInputImage, class TMembershipFunction>
typedef ImageRegionConstIterator<TInputImage> itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::InputImageConstIterator

Definition at line 160 of file itkImageKmeansModelEstimator.h.

template<class TInputImage, class TMembershipFunction>
typedef TInputImage::ConstPointer itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::InputImageConstPointer

Definition at line 148 of file itkImageKmeansModelEstimator.h.

template<class TInputImage, class TMembershipFunction>
typedef ImageRegionIterator<TInputImage> itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::InputImageIterator

Type definition for the input image iterator type.

Definition at line 158 of file itkImageKmeansModelEstimator.h.

template<class TInputImage, class TMembershipFunction>
typedef TInputImage::PixelType itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::InputImagePixelType

Type definition for the input image pixel type.

Definition at line 155 of file itkImageKmeansModelEstimator.h.

template<class TInputImage, class TMembershipFunction>
typedef TInputImage::Pointer itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::InputImagePointer

template<class TInputImage, class TMembershipFunction>
typedef TInputImage itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::InputImageType

Type definition for the input image.

Reimplemented from itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >.

Definition at line 143 of file itkImageKmeansModelEstimator.h.

template<class TInputImage, class TMembershipFunction>
typedef TInputImage::PixelType::VectorType itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::InputImageVectorType

Type definition for the vector associated with input image pixel type.

Definition at line 152 of file itkImageKmeansModelEstimator.h.

typedef int itk::LightObject::InternalReferenceCountType [protected, inherited]

Define the type of the reference count according to the target. This allows the use of atomic operations

Definition at line 139 of file itkLightObject.h.

template<class TInputImage, class TMembershipFunction>
typedef TMembershipFunction::Pointer itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::MembershipFunctionPointer

Type definitions for the membership function .

Reimplemented from itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >.

Definition at line 163 of file itkImageKmeansModelEstimator.h.

template<class TInputImage, class TMembershipFunction>
typedef std::vector< MembershipFunctionPointer > itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >::MembershipFunctionPointerVector [inherited]

Definition at line 87 of file itkImageModelEstimatorBase.h.

template<class TInputImage, class TMembershipFunction>
typedef SmartPointer<Self> itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::Pointer

template<class TInputImage, class TMembershipFunction>
typedef ImageKmeansModelEstimator itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::Self

Standard class typedefs.

Reimplemented from itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >.

Definition at line 132 of file itkImageKmeansModelEstimator.h.

template<class TInputImage, class TMembershipFunction>
typedef ImageModelEstimatorBase<TInputImage, TMembershipFunction> itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::Superclass


Constructor & Destructor Documentation

template<class TInputImage, class TMembershipFunction>
itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::ImageKmeansModelEstimator (  )  [protected]

template<class TInputImage, class TMembershipFunction>
itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::~ImageKmeansModelEstimator (  )  [protected]


Member Function Documentation

virtual void itk::LightProcessObject::AbortGenerateDataOff (  )  [virtual, inherited]

virtual void itk::LightProcessObject::AbortGenerateDataOn (  )  [virtual, inherited]

Turn on and off the AbortGenerateData flag.

template<class TInputImage, class TMembershipFunction>
unsigned int itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >::AddMembershipFunction ( MembershipFunctionPointer  function  )  [inherited]

Stores a MembershipCalculator of a class in its internal vector

unsigned long itk::Object::AddObserver ( const EventObject event,
Command  
) const [inherited]

Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects

unsigned long itk::Object::AddObserver ( const EventObject event,
Command  
) [inherited]

Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects

template<class TInputImage, class TMembershipFunction>
void itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::Allocate (  )  [protected]

Allocate memory for the output model.

static void itk::LightObject::BreakOnError (  )  [static, inherited]

This method is called when itkExceptionMacro executes. It allows the debugger to break on error.

virtual LightObject::Pointer itk::Object::CreateAnother (  )  const [virtual, inherited]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::LightObject.

virtual void itk::Object::DebugOff (  )  const [virtual, inherited]

Turn debugging output off.

virtual void itk::Object::DebugOn (  )  const [virtual, inherited]

Turn debugging output on.

virtual void itk::LightObject::Delete (  )  [virtual, inherited]

Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.

template<class TInputImage, class TMembershipFunction>
void itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >::DeleteAllMembershipFunctions (  )  [inline, inherited]

Method to reset the membership fucntion mean

Definition at line 122 of file itkImageModelEstimatorBase.h.

template<class TInputImage, class TMembershipFunction>
void itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::GenerateData (  )  [protected, virtual]

Starts the image modelling process

Reimplemented from itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >.

virtual const bool& itk::LightProcessObject::GetAbortGenerateData (  )  [virtual, inherited]

Get the AbortGenerateData flag for the process object. Process objects may handle premature termination of execution in different ways.

template<class TInputImage, class TMembershipFunction>
virtual CodebookMatrixOfDoubleType itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::GetCodebook (  )  [virtual]

Get the cluster centers.

Command* itk::Object::GetCommand ( unsigned long  tag  )  [inherited]

Get the command associated with the given tag. NOTE: This returns a pointer to a Command, but it is safe to asign this to a Command::Pointer. Since Command inherits from LightObject, at this point in the code, only a pointer or a reference to the Command can be used.

bool itk::Object::GetDebug (  )  const [inherited]

Get the value of the debug flag.

static bool itk::Object::GetGlobalWarningDisplay (  )  [static, inherited]

This is a global flag that controls whether any debug, warning or error messages are displayed.

template<class TInputImage, class TMembershipFunction>
virtual InputImageType* itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >::GetInputImage (  )  [virtual, inherited]

Get the input image.

template<class TInputImage, class TMembershipFunction>
CodebookMatrixOfDoubleType itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::GetKmeansResults ( void   )  [inline]

Return the codebook/cluster centers.

Definition at line 206 of file itkImageKmeansModelEstimator.h.

template<class TInputImage, class TMembershipFunction>
virtual int itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::GetMaxSplitAttempts (  )  [virtual]

Get the manimum number of attempts to split a codeword.

template<class TInputImage, class TMembershipFunction>
const MembershipFunctionPointerVector itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >::GetMembershipFunctions (  )  const [inline, inherited]

Method to get mean

Definition at line 110 of file itkImageModelEstimatorBase.h.

const MetaDataDictionary& itk::Object::GetMetaDataDictionary ( void   )  const [inherited]

Returns:
A constant reference to this objects MetaDataDictionary.

MetaDataDictionary& itk::Object::GetMetaDataDictionary ( void   )  [inherited]

Returns:
A reference to this objects MetaDataDictionary.
Warning:
This reference may be changed.

virtual unsigned long itk::Object::GetMTime (  )  const [virtual, inherited]

Return this objects modified time.

Reimplemented in itk::ImageRegistrationMethod< TFixedImage, TMovingImage >, itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >, itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >, itk::PointSetToImageRegistrationMethod< TFixedPointSet, TMovingImage >, itk::PointSetToPointSetRegistrationMethod< TFixedPointSet, TMovingPointSet >, itk::DeformationFieldSource< TOutputImage >, itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::BoundingBox< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >, itk::ImageAdaptor< TImage, TAccessor >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::MeshSpatialObject< TMesh >, itk::SceneSpatialObject< TSpaceDimension >, itk::SpatialObject< TDimension >, itk::ImageAdaptor< TImage, itk::Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AddPixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< itk::VectorImage< TPixelType, Dimension >, itk::Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, itk::PixelAccessor< TInternalType, TExternalType > >, itk::ImageAdaptor< TImage, itk::Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, itk::Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageSpatialObject< TDimension, unsigned char >, itk::SpatialObject< 3 >, and itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >.

Referenced by itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >::GetObjectMTime().

template<class TInputImage, class TMembershipFunction>
virtual const char* itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::GetNameOfClass (  )  const [virtual]

Run-time type information (and related methods).

Reimplemented from itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >.

template<class TInputImage, class TMembershipFunction>
unsigned int itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >::GetNumberOfMembershipFunctions (  )  [inline, inherited]

Method to number of membership functions

Definition at line 116 of file itkImageModelEstimatorBase.h.

template<class TInputImage, class TMembershipFunction>
virtual const unsigned int& itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >::GetNumberOfModels (  )  [virtual, inherited]

Get the number of classes.

template<class TInputImage, class TMembershipFunction>
virtual double itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::GetOffsetAdd (  )  [virtual]

Get the offset add parameter.

template<class TInputImage, class TMembershipFunction>
virtual double itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::GetOffsetMultiply (  )  [virtual]

Get the offset multiplication parameter.

template<class TInputImage, class TMembershipFunction>
CodebookMatrixOfDoubleType itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::GetOutCodebook (  )  [inline]

Get the optimized codebook or the centroids of the clusters.

Definition at line 178 of file itkImageKmeansModelEstimator.h.

virtual const float& itk::LightProcessObject::GetProgress (  )  [virtual, inherited]

Get the execution progress of a process object. The progress is a floating number between (0,1), 0 meaning no progress; 1 meaning the filter has completed execution.

virtual int itk::LightObject::GetReferenceCount (  )  const [inline, virtual, inherited]

Gets the reference count on this object.

Definition at line 106 of file itkLightObject.h.

template<class TInputImage, class TMembershipFunction>
virtual double itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::GetThreshold (  )  [virtual]

Get the threshold parameter.

static void itk::Object::GlobalWarningDisplayOff (  )  [inline, static, inherited]

This is a global flag that controls whether any debug, warning or error messages are displayed.

Definition at line 100 of file itkObject.h.

References itk::Object::SetGlobalWarningDisplay().

static void itk::Object::GlobalWarningDisplayOn (  )  [inline, static, inherited]

This is a global flag that controls whether any debug, warning or error messages are displayed.

Definition at line 98 of file itkObject.h.

References itk::Object::SetGlobalWarningDisplay().

bool itk::Object::HasObserver ( const EventObject event  )  const [inherited]

Return true if an observer is registered for this event.

void itk::Object::InvokeEvent ( const EventObject  )  const [inherited]

Call Execute on all the Commands observing this event id. The actions triggered by this call doesn't modify this object.

void itk::Object::InvokeEvent ( const EventObject  )  [inherited]

Call Execute on all the Commands observing this event id.

virtual void itk::Object::Modified (  )  const [virtual, inherited]

Update the modification time for this object. Many filters rely on the modification time to determine if they need to recompute their data.

Reimplemented in itk::NormalizeImageFilter< TInputImage, TOutputImage >, itk::ImageAdaptor< TImage, TAccessor >, itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >, itk::GrayscaleDilateImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleErodeImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalOpeningImageFilter< TInputImage, TOutputImage, TKernel >, itk::MorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >, itk::ImageAdaptor< TImage, itk::Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AddPixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< itk::VectorImage< TPixelType, Dimension >, itk::Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, itk::PixelAccessor< TInternalType, TExternalType > >, itk::ImageAdaptor< TImage, itk::Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, itk::Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, and itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, itk::RankImageFilter< TInputImage, TInputImage, itk::FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension > > >.

Referenced by itk::NarrowBandImageFilterBase< TInputImage, itk::Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::InsertNarrowBandNode(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetCenter(), itk::HistogramAlgorithmBase< TInputHistogram >::SetInputHistogram(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetMatrix(), itk::NarrowBandImageFilterBase< TInputImage, itk::Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBand(), itk::NarrowBandImageFilterBase< TInputImage, itk::Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandInnerRadius(), itk::NarrowBandImageFilterBase< TInputImage, itk::Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandTotalRadius(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetOffset(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetRealThresholds(), itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::SetSeedPoints1(), itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::SetSeedPoints2(), itk::NonUniformBSpline< TDimension >::SetSplineOrder(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetThresholds(), itk::Statistics::GoodnessOfFitFunctionBase< TInputHistogram >::SetTotalObservedScale(), and itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetTranslation().

template<class TInputImage, class TMembershipFunction>
static Pointer itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::New (  )  [static]

Method for creation through the object factory.

Reimplemented from itk::LightProcessObject.

void itk::LightObject::Print ( std::ostream &  os,
Indent  indent = 0 
) const [inherited]

virtual void itk::LightObject::PrintHeader ( std::ostream &  os,
Indent  indent 
) const [protected, virtual, inherited]

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

template<class TInputImage, class TMembershipFunction>
void itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::PrintKmeansAlgorithmResults (  )  [protected]

Print out the results on the screen for visual feedback.

bool itk::Object::PrintObservers ( std::ostream &  os,
Indent  indent 
) const [protected, inherited]

template<class TInputImage, class TMembershipFunction>
virtual void itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >.

virtual void itk::LightObject::PrintTrailer ( std::ostream &  os,
Indent  indent 
) const [protected, virtual, inherited]

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

virtual void itk::Object::Register (  )  const [virtual, inherited]

Increase the reference count (mark as used by another object).

Reimplemented from itk::LightObject.

void itk::Object::RemoveAllObservers (  )  [inherited]

Remove all observers .

void itk::Object::RemoveObserver ( unsigned long  tag  )  [inherited]

Remove the observer with this tag value.

virtual void itk::LightProcessObject::SetAbortGenerateData ( bool  _arg  )  [virtual, inherited]

Set the AbortGenerateData flag for the process object. Process objects may handle premature termination of execution in different ways.

template<class TInputImage, class TMembershipFunction>
void itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::SetCodebook ( CodebookMatrixOfDoubleType  InCodebook  ) 

Set the cluster centers.

void itk::Object::SetDebug ( bool  debugFlag  )  const [inherited]

Set the value of the debug flag. A non-zero value turns debugging on.

static void itk::Object::SetGlobalWarningDisplay ( bool  flag  )  [static, inherited]

This is a global flag that controls whether any debug, warning or error messages are displayed.

Referenced by itk::Object::GlobalWarningDisplayOff(), and itk::Object::GlobalWarningDisplayOn().

template<class TInputImage, class TMembershipFunction>
virtual void itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >::SetInputImage ( InputImageType _arg  )  [virtual, inherited]

Type definitions for the training image. Set the input image.

template<class TInputImage, class TMembershipFunction>
virtual void itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::SetMaxSplitAttempts ( int  _arg  )  [virtual]

Set the maximum number of attempts to split a codeword.

template<class TInputImage, class TMembershipFunction>
void itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >::SetMembershipFunctions ( MembershipFunctionPointerVector  membershipFunctions  )  [inline, inherited]

Set the classified image.

Definition at line 103 of file itkImageModelEstimatorBase.h.

void itk::Object::SetMetaDataDictionary ( const MetaDataDictionary rhs  )  [inherited]

Returns:
Set the MetaDataDictionary

template<class TInputImage, class TMembershipFunction>
virtual void itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >::SetNumberOfModels ( unsigned int  _arg  )  [virtual, inherited]

Set the number of classes.

template<class TInputImage, class TMembershipFunction>
virtual void itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::SetOffsetAdd ( double  _arg  )  [virtual]

Set the offset add parameter.

template<class TInputImage, class TMembershipFunction>
virtual void itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::SetOffsetMultiply ( double  _arg  )  [virtual]

Set the offset multiplication parameter.

virtual void itk::LightProcessObject::SetProgress ( float  _arg  )  [virtual, inherited]

Set the execution progress of a process object. The progress is a floating number between (0,1), 0 meaning no progress; 1 meaning the filter has completed execution.

virtual void itk::Object::SetReferenceCount ( int   )  [virtual, inherited]

Sets the reference count (use with care)

Reimplemented from itk::LightObject.

template<class TInputImage, class TMembershipFunction>
virtual void itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >::SetThreshold ( double  _arg  )  [virtual]

Set the threshold parameter.

virtual void itk::Object::UnRegister (  )  const [virtual, inherited]

Decrease the reference count (release by another object).

Reimplemented from itk::LightObject.

Referenced by itk::SmartPointer< itk::MutualInformationImageToImageMetric >::operator=().

template<class TInputImage, class TMembershipFunction>
void itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >::Update (  )  [inherited]

Define a virtual function to perform model generation from the input data

virtual void itk::LightProcessObject::UpdateOutputData (  )  [virtual, inherited]

Actually generate new output.

void itk::LightProcessObject::UpdateProgress ( float  amount  )  [inherited]

Update the progress of the process object. If a ProgressMethod exists, executes it. Then set the Progress ivar to amount. The parameter amount should range between (0,1).


Member Data Documentation

Number of uses of this object by other objects.

Definition at line 144 of file itkLightObject.h.

Mutex lock to protect modification to the reference count

Definition at line 147 of file itkLightObject.h.


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

Generated at Sat Feb 28 16:03:23 2009 for ITK by doxygen 1.5.6 written by Dimitri van Heesch, © 1997-2000