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

itk::Statistics::SampleClassifier< TSample > Class Template Reference

Integration point for MembershipCalculator, DecisionRule, and target sample data. More...

#include <itkSampleClassifier.h>

Inheritance diagram for itk::Statistics::SampleClassifier< TSample >:

Inheritance graph
[legend]
Collaboration diagram for itk::Statistics::SampleClassifier< TSample >:

Collaboration graph
[legend]
List of all members.

[NOHEADER]

virtual const char * GetClassName () const
Pointer New ()

Public Types

typedef SampleClassifier Self
typedef ClassifierBase< TSample > Superclass
typedef SmartPointer< SelfPointer
typedef MembershipSample<
TSample > 
OutputType
typedef TSample::MeasurementType MeasurementType
typedef TSample::MeasurementVectorType MeasurementVectorType
typedef Superclass::MembershipFunctionPointerVector MembershipFunctionPointerVector
typedef unsigned int ClassLabelType
typedef std::vector< ClassLabelTypeClassLabelVectorType

Public Member Functions

 itkStaticConstMacro (MeasurementVectorSize, unsigned int, TSample::MeasurementVectorSize)
void SetSample (TSample *sample)
TSample * GetSample ()
void SetMembershipFunctionClassLabels (ClassLabelVectorType &labels)
ClassLabelVectorTypeGetMembershipFunctionClassLabels ()
OutputTypeGetOutput ()

Protected Member Functions

 SampleClassifier ()
virtual ~SampleClassifier ()
void PrintSelf (std::ostream &os, Indent indent) const
void GenerateData ()

Detailed Description

template<class TSample>
class itk::Statistics::SampleClassifier< TSample >

Integration point for MembershipCalculator, DecisionRule, and target sample data.

The first template argument is the type of the target sample data that this classifier will assign a class label for each measurement vector. The second one is the type of a membership value calculator for each. A membership calculator represents a specific knowledge about a class. In other words, it should tell us how "likely" is that a measurement vector (pattern) belong to the class. The third argument is the type of decision rule. The main role of a decision rule is comparing the return values of the membership calculators. However, decision rule can include some prior knowledge that can improve the result.

Before you call the GenerateData method to start the classification process, you should plug in all necessary parts ( one or more membership calculators, a decision rule, and a target sample data). To plug in the decision rule, you use SetDecisionRule method, for the target sample data, SetSample method, and for the membership calculators, use AddMembershipCalculator method.

As the method name indicates, you can have more than one membership calculator. One for each classes. The order you put the membership calculator becomes the class label for the class that is represented by the membership calculator.

The classification result is stored in a vector of Subsample object. Each class has its own class sample (Subsample object) that has InstanceIdentifiers for all measurement vectors belong to the class. The InstanceIdentifiers come from the target sample data. Therefore, the Subsample objects act as separate class masks.

Definition at line 66 of file itkSampleClassifier.h.


Member Typedef Documentation

template<class TSample>
typedef unsigned int itk::Statistics::SampleClassifier< TSample >::ClassLabelType
 

Reimplemented in itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >.

Definition at line 94 of file itkSampleClassifier.h.

template<class TSample>
typedef std::vector< ClassLabelType > itk::Statistics::SampleClassifier< TSample >::ClassLabelVectorType
 

Reimplemented in itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >.

Definition at line 95 of file itkSampleClassifier.h.

Referenced by itk::Statistics::SampleClassifier< TSample >::~SampleClassifier().

template<class TSample>
typedef TSample::MeasurementType itk::Statistics::SampleClassifier< TSample >::MeasurementType
 

typedefs from TSample object

Reimplemented in itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >.

Definition at line 84 of file itkSampleClassifier.h.

template<class TSample>
typedef TSample::MeasurementVectorType itk::Statistics::SampleClassifier< TSample >::MeasurementVectorType
 

Sets the decision rule

Reimplemented from itk::ClassifierBase< TSample >.

Reimplemented in itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >.

Definition at line 85 of file itkSampleClassifier.h.

template<class TSample>
typedef Superclass::MembershipFunctionPointerVector itk::Statistics::SampleClassifier< TSample >::MembershipFunctionPointerVector
 

typedefs from Superclass

Reimplemented from itk::ClassifierBase< TSample >.

Reimplemented in itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >.

Definition at line 92 of file itkSampleClassifier.h.

template<class TSample>
typedef MembershipSample< TSample > itk::Statistics::SampleClassifier< TSample >::OutputType
 

Output type for GetClassSample method

Reimplemented in itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >.

Definition at line 81 of file itkSampleClassifier.h.

template<class TSample>
typedef SmartPointer< Self > itk::Statistics::SampleClassifier< TSample >::Pointer
 

Reimplemented from itk::LightProcessObject.

Reimplemented in itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >.

Definition at line 73 of file itkSampleClassifier.h.

template<class TSample>
typedef SampleClassifier itk::Statistics::SampleClassifier< TSample >::Self
 

Standard class typedef

Reimplemented from itk::ClassifierBase< TSample >.

Reimplemented in itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >.

Definition at line 71 of file itkSampleClassifier.h.

template<class TSample>
typedef ClassifierBase< TSample > itk::Statistics::SampleClassifier< TSample >::Superclass
 

Reimplemented from itk::ClassifierBase< TSample >.

Reimplemented in itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >.

Definition at line 72 of file itkSampleClassifier.h.


Constructor & Destructor Documentation

template<class TSample>
itk::Statistics::SampleClassifier< TSample >::SampleClassifier  )  [protected]
 

template<class TSample>
virtual itk::Statistics::SampleClassifier< TSample >::~SampleClassifier  )  [inline, protected, virtual]
 

Definition at line 118 of file itkSampleClassifier.h.

References itk::Statistics::SampleClassifier< TSample >::ClassLabelVectorType.


Member Function Documentation

template<class TSample>
void itk::Statistics::SampleClassifier< TSample >::GenerateData  )  [protected, virtual]
 

Starts the classification process

Implements itk::ClassifierBase< TSample >.

Reimplemented in itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >.

template<class TSample>
virtual const char* itk::Statistics::SampleClassifier< TSample >::GetClassName  )  const [virtual]
 

Standard macros

Reimplemented from itk::ClassifierBase< TSample >.

Reimplemented in itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >.

template<class TSample>
ClassLabelVectorType& itk::Statistics::SampleClassifier< TSample >::GetMembershipFunctionClassLabels  )  [inline]
 

Gets the user given class labels Definition at line 110 of file itkSampleClassifier.h.

template<class TSample>
OutputType* itk::Statistics::SampleClassifier< TSample >::GetOutput  ) 
 

Returns the classification result

template<class TSample>
TSample* itk::Statistics::SampleClassifier< TSample >::GetSample  ) 
 

Returns the target data

template<class TSample>
itk::Statistics::SampleClassifier< TSample >::itkStaticConstMacro MeasurementVectorSize  ,
unsigned  int,
TSample::MeasurementVectorSize 
 

Reimplemented in itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >.

template<class TSample>
Pointer itk::Statistics::SampleClassifier< TSample >::New  )  [static]
 

Standard macros

Reimplemented from itk::LightProcessObject.

Reimplemented in itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >.

template<class TSample>
void itk::Statistics::SampleClassifier< TSample >::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::ClassifierBase< TSample >.

Reimplemented in itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >.

template<class TSample>
void itk::Statistics::SampleClassifier< TSample >::SetMembershipFunctionClassLabels ClassLabelVectorType labels  ) 
 

Sets the user given class labels for membership functions. If users do not provide class labels for membership functions by calling this function, then the index of the membership function vector for a membership function will be used as class label of measurement vectors belong to the membership function

template<class TSample>
void itk::Statistics::SampleClassifier< TSample >::SetSample TSample *  sample  ) 
 

Sets the target data that will be classified by this


The documentation for this class was generated from the following file:
Generated at Sat Mar 31 03:13:51 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000