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

itkGaussianGoodnessOfFitComponent.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Insight Segmentation & Registration Toolkit 00004 Module: $RCSfile: itkGaussianGoodnessOfFitComponent.h,v $ 00005 Language: C++ 00006 Date: $Date: 2003/09/10 14:29:45 $ 00007 Version: $Revision: 1.8 $ 00008 00009 Copyright (c) Insight Software Consortium. All rights reserved. 00010 See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 #ifndef __itkGaussianGoodnessOfFitComponent_h 00018 #define __itkGaussianGoodnessOfFitComponent_h 00019 00020 #include "itkGoodnessOfFitComponentBase.h" 00021 #include "itkGaussianDensityFunction.h" 00022 #include "itkFunctionBase.h" 00023 #include "itkWeightedCovarianceCalculator.h" 00024 #include "itkSymmetricEigenSystem.h" 00025 00026 namespace itk{ 00027 namespace Statistics{ 00028 00044 template< class TInputSample > 00045 class GaussianGoodnessOfFitComponent 00046 : public GoodnessOfFitComponentBase< TInputSample > 00047 { 00048 public: 00050 typedef GaussianGoodnessOfFitComponent Self; 00051 typedef GoodnessOfFitComponentBase< TInputSample > Superclass; 00052 typedef SmartPointer< Self > Pointer; 00053 typedef SmartPointer< const Self > ConstPointer; 00054 00056 itkTypeMacro(GaussianGoodnessOfFitComponent, 00057 GoodnessOfFitComponentBase) ; 00058 00060 itkNewMacro(Self) ; 00061 00063 itkStaticConstMacro(MeasurementVectorSize, unsigned int, 00064 TInputSample::MeasurementVectorSize) ; 00065 typedef typename TInputSample::MeasurementType MeasurementType ; 00066 typedef typename TInputSample::MeasurementVectorType MeasurementVectorType ; 00067 00069 typedef typename Superclass::CenterType CenterType ; 00070 typedef typename Superclass::RadiusType RadiusType ; 00071 typedef typename Superclass::MeanType MeanType ; 00072 typedef typename Superclass::StandardDeviationType StandardDeviationType ; 00073 typedef typename Superclass::ResampledSampleType ResampledSampleType ; 00074 typedef typename Superclass::ProjectionAxisArrayType ProjectionAxisArrayType; 00075 typedef Array< double > ParametersType ; 00076 00079 typedef GaussianDensityFunction< MeasurementVectorType > 00080 ProbabilityDensityFunctionType ; 00081 00082 typedef typename ProbabilityDensityFunctionType::CovarianceType CovarianceType ; 00083 00087 typedef WeightedCovarianceCalculator< ResampledSampleType > 00088 CovarianceCalculatorType ; 00089 00091 typedef SymmetricEigenSystem< double, 00092 itkGetStaticConstMacro(MeasurementVectorSize) > 00093 ProjectionAxisCalculatorType ; 00094 00097 unsigned int GetNumberOfParameters() const 00098 { return (unsigned int)(itkGetStaticConstMacro(MeasurementVectorSize) + 1) ; } 00099 00101 void SetParameters(const ParametersType &parameter) ; 00102 00104 CenterType* GetCenter() ; 00105 00107 RadiusType* GetRadius() ; 00108 00110 MeanType* GetMean() ; 00111 00113 StandardDeviationType* GetStandardDeviation() ; 00114 00116 double GetCumulativeProbability(double x) const ; 00117 00119 double GetProbabilityDensity(MeasurementVectorType &measurements) const ; 00120 00122 void PrintParameters(std::ostream &os) const ; 00123 00126 ParametersType GetFullParameters() const ; 00127 00128 protected: 00129 GaussianGoodnessOfFitComponent() ; 00130 virtual ~GaussianGoodnessOfFitComponent() ; 00131 virtual void PrintSelf(std::ostream& os, Indent indent) const ; 00132 00134 virtual void CalculateProjectionAxes() ; 00135 00136 private: 00137 typename ProbabilityDensityFunctionType::Pointer 00138 m_ProbabilityDensityFunction ; 00139 typename CovarianceCalculatorType::Pointer m_CovarianceCalculator ; 00140 typename ProjectionAxisCalculatorType::Pointer m_ProjectionAxisCalculator ; 00141 00142 MeanType m_Mean ; 00143 CenterType m_Center ; 00144 RadiusType m_Radius ; 00145 StandardDeviationType m_StandardDeviation ; 00146 CovarianceType m_Covariance ; 00147 00148 unsigned int m_NumberOfParameters ; 00149 00150 int m_LongestAxisIndex ; 00151 double m_LargestEigenValue ; 00152 } ; // end of class 00153 00154 } // end of namespace Statistics 00155 } // end of namespace itk 00156 00157 #ifndef ITK_MANUAL_INSTANTIATION 00158 #include "itkGaussianGoodnessOfFitComponent.txx" 00159 #endif 00160 00161 #endif 00162

Generated at Sat Mar 31 02:19:21 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000