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

itk::Statistics::GoodnessOfFitComponentBase< TInputSample > Class Template Reference

provides component (module) type specific functionalities for GoodnessOfFitMixtureModelCostFunction. More...

#include <itkGoodnessOfFitComponentBase.h>

Inheritance diagram for itk::Statistics::GoodnessOfFitComponentBase:

Inheritance graph
[legend]
Collaboration diagram for itk::Statistics::GoodnessOfFitComponentBase< TInputSample >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef GoodnessOfFitComponentBase Self
typedef Object Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef TInputSample InputSampleType
typedef TInputSample::MeasurementType MeasurementType
typedef TInputSample::MeasurementVectorType MeasurementVectorType
typedef Subsample< TInputSample > ResampledSampleType
typedef Histogram< float, 1 > HistogramType
typedef Array< double > ParametersType
typedef FixedArray< double,
itkGetStaticConstMacro(MeasurementVectorSize) 
CenterType )
typedef Vector< double, itkGetStaticConstMacro(MeasurementVectorSize) MeanType )
typedef double RadiusType
typedef double StandardDeviationType

Public Methods

virtual const char * GetClassName () const
 itkStaticConstMacro (MeasurementVectorSize, unsigned int, TInputSample::MeasurementVectorSize)
virtual void SetInputSample (TInputSample *sample)
TInputSample * GetInputSample ()
virtual unsigned int GetNumberOfParameters () const=0
virtual void SetParameters (const ParametersType &parameters)
ParametersTypeGetParameters ()
void SetUseExpectedHistogram (bool flag)
void SetHistogramNumberOfBins (int numberOfBins)
int GetHistogramNumberOfBins ()
void SetHistogramUseEquiProbableBins (bool flag)
bool GetHistogramUseEquiProbableBins ()
void SetHistogramBinOverlap (double overlap)
double GetHistogramBinOverlap ()
void SetHistogramExtent (double extent)
double GetHistogramExtent ()
virtual CenterTypeGetCenter ()=0
virtual RadiusTypeGetRadius ()=0
virtual MeanTypeGetMean ()=0
virtual RadiusTypeGetStandardDeviation ()=0
virtual void CreateHistograms ()
virtual void Resample ()
ResampledSampleTypeGetResampledSample ()
virtual unsigned int GetResampledSampleSize ()
virtual void CalculateProjectionAxes ()=0
virtual void Project (int projectionAxisIndex)
virtual void UpdateExpectedHistogram ()
double * GetTotalObservedScale ()
virtual double GetCumulativeProbability (double x) const=0
virtual double GetProbabilityDensity (MeasurementVectorType &measurements) const=0
virtual double GetProportion () const
HistogramTypeGetObservedHistogram ()
HistogramTypeGetExpectedHistogram ()
virtual void PrintParameters (std::ostream &os) const=0
virtual ParametersType GetFullParameters () const=0

Protected Types

typedef NeighborhoodSampler<
TInputSample > 
ResamplerType
typedef SampleToHistogramProjectionFilter<
ResampledSampleType, float > 
ProjectorType
typedef FixedArray< double,
itkGetStaticConstMacro(MeasurementVectorSize) 
ProjectionAxisType )
typedef FixedArray< ProjectionAxisType,
itkGetStaticConstMacro(MeasurementVectorSize) 
ProjectionAxisArrayType )

Protected Methods

 GoodnessOfFitComponentBase ()
virtual ~GoodnessOfFitComponentBase ()
virtual void PrintSelf (std::ostream &os, Indent indent) const
ProjectionAxisArrayTypeGetProjectionAxes ()
virtual void CreateEquiRangeBins ()
virtual void CreateEquiProbableBins ()

Detailed Description

template<class TInputSample>
class itk::Statistics::GoodnessOfFitComponentBase< TInputSample >

provides component (module) type specific functionalities for GoodnessOfFitMixtureModelCostFunction.

This defines common iterfaces for each subclasses and provides common functionalities across different types of components (e.g. GaussianGoodnessOfFitComponent)

The primary role of a GoodnessOfFitComponent is to create an 1D histogram (called an observed histogram ) of the input sample after resampling the input using spherical kernel and projecting the resampled sample along base axes, and to create corresponding 1D histogram (expected histogram) that has the same histogram configuration as the observed histogram but has the expected frequencies from the given component parameters.

You can set up the two histograms' configuration by calling SetHistogramNumberOfBins, SetHistogramUseEquiProbableBins, SetHistogramBingOverlap, SetHistogramExtent. After you change the histogram configuration, call the CreateHistograms method to allocate histograms. If you set the UseExpectedHistogram flag to false by callsing SetUseExpectedHistogram(false), the CreateHistograms method won't create the expected histogram. The decision should be made by the GoodnessOfFitFunction object that will be plugged-in to the GoodnessOfFitMixtureModelCostFunction. So the method shouldn't be called manually.

This base class provides default implementations for the resampling and projection using helper classes (NeighborhoodSampler, SampleToHistogramProjectionFilter).

To determine the base axis, call the CalculateProjectionAxes method. each subclass should implement it.

Another group of functions includes probability function such as GetProbabilityDensity(MeasurementVectorType) multivariate probability density function of the subclass GetCumulativeProbability(MeasurementType) univariate cumulative probabilty function

To see how all this methods are used in order, take a look at the implementation of the GetValue method of the GoodnessOfFitMixtureModelCostFunction class.

See also:
GoodnessOfFitMixtureModelCostFunction, GoodnessOfFitFunctionBase, GaussianGoodnessOfFitComponent, NeighborhoodSampler, SampleToHistogramProjectionFilter

Definition at line 80 of file itkGoodnessOfFitComponentBase.h.


Member Typedef Documentation

template<class TInputSample>
typedef FixedArray< double, itkGetStaticConstMacro(MeasurementVectorSize) itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::CenterType)
 

Reimplemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

Definition at line 109 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
typedef SmartPointer< const Self > itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::ConstPointer
 

Reimplemented from itk::Object.

Reimplemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

Definition at line 88 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
typedef Histogram< float, 1 > itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::HistogramType
 

Histogram type that will be used for observed and expected histogram

Definition at line 104 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
typedef TInputSample itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::InputSampleType
 

Definition at line 93 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
typedef Vector< double, itkGetStaticConstMacro(MeasurementVectorSize) itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::MeanType)
 

Reimplemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

Definition at line 110 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
typedef TInputSample::MeasurementType itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::MeasurementType
 

Reimplemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

Definition at line 96 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
typedef TInputSample::MeasurementVectorType itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::MeasurementVectorType
 

Reimplemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

Definition at line 97 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
typedef Array< double > itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::ParametersType
 

Reimplemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

Definition at line 106 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
typedef SmartPointer< Self > itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::Pointer
 

Reimplemented from itk::Object.

Reimplemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

Definition at line 87 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
typedef FixedArray< ProjectionAxisType, itkGetStaticConstMacro(MeasurementVectorSize) itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::ProjectionAxisArrayType) [protected]
 

projection axis array type. The type of output from CalculateProjectionAxis(). The number of projection axis are fixed equal to the number of components of a measurement vector

Reimplemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

Definition at line 211 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
typedef FixedArray< double, itkGetStaticConstMacro(MeasurementVectorSize) itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::ProjectionAxisType) [protected]
 

projection axis array type. The type of output from CalculateProjectionAxis(). The number of projection axis are fixed equal to the number of components of a measurement vector

Definition at line 208 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
typedef SampleToHistogramProjectionFilter< ResampledSampleType, float > itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::ProjectorType [protected]
 

default projection filter type

Definition at line 201 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
typedef double itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::RadiusType
 

Reimplemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

Definition at line 111 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
typedef Subsample< TInputSample > itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::ResampledSampleType
 

Resample() output type

Reimplemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

Definition at line 100 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
typedef NeighborhoodSampler< TInputSample > itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::ResamplerType [protected]
 

default resampler type and realted types

Definition at line 197 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
typedef GoodnessOfFitComponentBase itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::Self
 

Standard class typedefs

Reimplemented from itk::Object.

Reimplemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

Definition at line 85 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
typedef double itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::StandardDeviationType
 

Reimplemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

Definition at line 112 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
typedef Object itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::Superclass
 

Reimplemented from itk::Object.

Reimplemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

Definition at line 86 of file itkGoodnessOfFitComponentBase.h.


Constructor & Destructor Documentation

template<class TInputSample>
itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GoodnessOfFitComponentBase   [protected]
 

template<class TInputSample>
virtual itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::~GoodnessOfFitComponentBase   [protected, virtual]
 


Member Function Documentation

template<class TInputSample>
virtual void itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::CalculateProjectionAxes   [pure virtual]
 

Implemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

template<class TInputSample>
virtual void itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::CreateEquiProbableBins   [protected, virtual]
 

template<class TInputSample>
virtual void itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::CreateEquiRangeBins   [protected, virtual]
 

template<class TInputSample>
virtual void itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::CreateHistograms   [virtual]
 

template<class TInputSample>
virtual CenterType* itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetCenter   [pure virtual]
 

Implemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

template<class TInputSample>
virtual const char* itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetClassName   const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::Object.

Reimplemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

template<class TInputSample>
virtual double itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetCumulativeProbability double    x const [pure virtual]
 

Implemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

template<class TInputSample>
HistogramType* itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetExpectedHistogram  
 

template<class TInputSample>
virtual ParametersType itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetFullParameters   const [pure virtual]
 

Implemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

template<class TInputSample>
double itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetHistogramBinOverlap   [inline]
 

Definition at line 139 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
double itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetHistogramExtent   [inline]
 

Definition at line 144 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
int itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetHistogramNumberOfBins   [inline]
 

Definition at line 129 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
bool itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetHistogramUseEquiProbableBins   [inline]
 

Definition at line 134 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
TInputSample* itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetInputSample  
 

template<class TInputSample>
virtual MeanType* itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetMean   [pure virtual]
 

Implemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

template<class TInputSample>
virtual unsigned int itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetNumberOfParameters   const [pure virtual]
 

Implemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

template<class TInputSample>
HistogramType* itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetObservedHistogram  
 

accessing methods for the projected sample

template<class TInputSample>
ParametersType* itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetParameters void    [inline]
 

Definition at line 122 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
virtual double itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetProbabilityDensity MeasurementVectorType   measurements const [pure virtual]
 

Implemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

template<class TInputSample>
ProjectionAxisArrayType* itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetProjectionAxes   [inline, protected]
 

Definition at line 214 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
virtual double itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetProportion   const [inline, virtual]
 

Definition at line 179 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
virtual RadiusType* itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetRadius   [pure virtual]
 

Implemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

template<class TInputSample>
ResampledSampleType* itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetResampledSample   [inline]
 

Definition at line 159 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
virtual unsigned int itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetResampledSampleSize   [virtual]
 

template<class TInputSample>
virtual RadiusType* itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetStandardDeviation   [pure virtual]
 

Implemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

template<class TInputSample>
double* itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::GetTotalObservedScale   [inline]
 

Definition at line 170 of file itkGoodnessOfFitComponentBase.h.

template<class TInputSample>
itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::itkStaticConstMacro MeasurementVectorSize   ,
unsigned    int,
TInputSample::MeasurementVectorSize   
 

Reimplemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

template<class TInputSample>
virtual void itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::PrintParameters std::ostream &    os const [pure virtual]
 

Implemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

template<class TInputSample>
virtual void itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::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::Object.

template<class TInputSample>
virtual void itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::Project int    projectionAxisIndex [virtual]
 

template<class TInputSample>
virtual void itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::Resample   [virtual]
 

template<class TInputSample>
void itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::SetHistogramBinOverlap double    overlap
 

template<class TInputSample>
void itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::SetHistogramExtent double    extent
 

template<class TInputSample>
void itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::SetHistogramNumberOfBins int    numberOfBins
 

template<class TInputSample>
void itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::SetHistogramUseEquiProbableBins bool    flag
 

template<class TInputSample>
virtual void itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::SetInputSample TInputSample *    sample [virtual]
 

template<class TInputSample>
virtual void itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::SetParameters const ParametersType   parameters [virtual]
 

Reimplemented in itk::Statistics::GaussianGoodnessOfFitComponent< TInputSample >.

template<class TInputSample>
void itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::SetUseExpectedHistogram bool    flag
 

template<class TInputSample>
virtual void itk::Statistics::GoodnessOfFitComponentBase< TInputSample >::UpdateExpectedHistogram   [virtual]
 


The documentation for this class was generated from the following file:
Generated at Fri May 21 01:52:43 2004 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000