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 * GetNameOfClass () const
Pointer New ()

Public Types

typedef SampleClassifier Self
typedef ClassifierBase< TSample > Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
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

void SetSample (const TSample *sample)
const TSample * GetSample () const
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.

Recent API changes: The static const macro to get the length of a measurement vector, MeasurementVectorSize has been removed to allow the length of a measurement vector to be specified at run time. Please use the function GetSample().GetMeasurementVectorSize() instead.

Definition at line 73 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 100 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 101 of file itkSampleClassifier.h.

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

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

Reimplemented from itk::LightProcessObject.

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

Definition at line 81 of file itkSampleClassifier.h.

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 92 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 93 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 98 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 89 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 80 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 78 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 79 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 124 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>
ClassLabelVectorType& itk::Statistics::SampleClassifier< TSample >::GetMembershipFunctionClassLabels  )  [inline]
 

Gets the user given class labels

Definition at line 116 of file itkSampleClassifier.h.

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

Standard macros

Reimplemented from itk::ClassifierBase< TSample >.

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

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

Returns the classification result

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

Returns the target data

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 const 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 Thu May 25 03:14:45 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000