18 #ifndef itkImagePCAShapeModelEstimator_h
19 #define itkImagePCAShapeModelEstimator_h
25 #include "vnl/vnl_vector.h"
26 #include "vnl/vnl_matrix.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<
typename TInputImage,
76 typename TOutputImage = Image< double, 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);
144 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
149 virtual
void EnlargeOutputRequestedRegion(
DataObject *) ITK_OVERRIDE;
155 virtual
void GenerateInputRequestedRegion() ITK_OVERRIDE;
158 void GenerateData() ITK_OVERRIDE;
181 virtual
void EstimateShapeModels() ITK_OVERRIDE;
183 void EstimatePCAShapeModelParameters();
185 void CalculateInnerProduct();
188 InputImageIteratorArray m_InputImageIteratorArray;
200 ImageSizeType m_InputImageSize;
202 unsigned int m_NumberOfPixels;
205 unsigned int m_NumberOfTrainingImages;
208 unsigned int m_NumberOfPrincipalComponentsRequired;
212 #ifndef ITK_MANUAL_INSTANTIATION
213 #include "itkImagePCAShapeModelEstimator.hxx"
TInputImage::PixelType InputImagePixelType
TInputImage::ConstPointer InputImageConstPointer
InputImageType::ConstPointer InputImageConstPointer
ImageRegionIterator< TOutputImage > OutputImageIterator
ImageRegionIterator< TInputImage > InputImageIterator
SmartPointer< Self > Pointer
Base class for all process objects that output image data.
ImageShapeModelEstimatorBase< TInputImage, TOutputImage > Superclass
ImagePCAShapeModelEstimator Self
TOutputImage::Pointer OutputImagePointer
TInputImage::SizeType ImageSizeType
Base class for ImagePCAShapeModelEstimator object.
SmartPointer< const Self > ConstPointer
vnl_matrix< int > MatrixOfIntegerType
A multi-dimensional iterator templated over image type that walks a region of pixels.
vnl_matrix< double > MatrixOfDoubleType
ImageRegionConstIterator< TInputImage > InputImageConstIterator
vnl_vector< double > VectorOfDoubleType
TInputImage::Pointer InputImagePointer
Control indentation during Print() invocation.
std::vector< InputImageConstIterator > InputImageIteratorArray
std::vector< InputImageConstPointer > InputImagePointerArray
TOutputImage OutputImageType
TInputImage::PixelType InputPixelType
ImageBaseType::SizeType SizeType
TInputImage InputImageType
Base class for statistical shape model estimation.
Base class for all data objects in ITK.
A multi-dimensional iterator templated over image type that walks a region of pixels.