18 #ifndef __itkImagePCAShapeModelEstimator_h
19 #define __itkImagePCAShapeModelEstimator_h
25 #include "vnl/vnl_vector.h"
26 #include "vnl/vnl_matrix.h"
27 #include "vnl/vnl_math.h"
28 #include "vnl/algo/vnl_matrix_inverse.h"
36 #include "vnl/algo/vnl_generalized_eigensystem.h"
37 #include "vnl/algo/vnl_symmetric_eigensystem.h"
75 template<
class TInputImage,
76 class TOutputImage = Image< double, ::itk::GetImageDimension< TInputImage >::ImageDimension > >
106 itkStaticConstMacro(InputImageDimension,
unsigned int,
107 TInputImage::ImageDimension);
129 virtual void SetNumberOfPrincipalComponentsRequired(
unsigned int n);
131 itkGetConstMacro(NumberOfPrincipalComponentsRequired,
unsigned int);
134 virtual void SetNumberOfTrainingImages(
unsigned int n);
136 itkGetConstMacro(NumberOfTrainingImages,
unsigned int);
143 virtual void PrintSelf(std::ostream & os,
Indent indent)
const;
149 virtual void EnlargeOutputRequestedRegion(
DataObject *);
155 virtual void GenerateInputRequestedRegion();
163 void operator=(
const Self &);
182 virtual void EstimateShapeModels();
184 void EstimatePCAShapeModelParameters();
186 void CalculateInnerProduct();
213 #ifndef ITK_MANUAL_INSTANTIATION
214 #include "itkImagePCAShapeModelEstimator.hxx"