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<
typename TInputImage,
76 typename TOutputImage = Image< double, TInputImage::ImageDimension > >
107 TInputImage::ImageDimension);
131 itkGetConstMacro(NumberOfPrincipalComponentsRequired,
unsigned int);
136 itkGetConstMacro(NumberOfTrainingImages,
unsigned int);
144 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
163 void operator=(const Self &);
213 #ifndef ITK_MANUAL_INSTANTIATION
214 #include "itkImagePCAShapeModelEstimator.hxx"
TInputImage::PixelType InputImagePixelType
TInputImage::ConstPointer InputImageConstPointer
InputImageType::ConstPointer InputImageConstPointer
void EstimatePCAShapeModelParameters()
ImageRegionIterator< TOutputImage > OutputImageIterator
virtual void SetNumberOfTrainingImages(unsigned int n)
VectorOfDoubleType m_Means
ImagePCAShapeModelEstimator()
ImageRegionIterator< TInputImage > InputImageIterator
SmartPointer< Self > Pointer
MatrixOfDoubleType m_InnerProduct
virtual void GenerateInputRequestedRegion() override
unsigned int m_NumberOfPrincipalComponentsRequired
ImageSizeType m_InputImageSize
Base class for all process objects that output image data.
ImageShapeModelEstimatorBase< TInputImage, TOutputImage > Superclass
ImagePCAShapeModelEstimator Self
TOutputImage::Pointer OutputImagePointer
void GenerateData() override
TInputImage::SizeType ImageSizeType
Base class for ImagePCAShapeModelEstimator object.
unsigned int m_NumberOfPixels
VectorOfDoubleType m_EigenVectorNormalizedEnergy
SmartPointer< const Self > ConstPointer
MatrixOfDoubleType m_EigenVectors
unsigned int m_NumberOfTrainingImages
vnl_matrix< int > MatrixOfIntegerType
A multi-dimensional iterator templated over image type that walks a region of pixels.
vnl_matrix< double > MatrixOfDoubleType
~ImagePCAShapeModelEstimator()
InputImageIteratorArray m_InputImageIteratorArray
ImageRegionConstIterator< TInputImage > InputImageConstIterator
vnl_vector< double > VectorOfDoubleType
virtual void EnlargeOutputRequestedRegion(DataObject *) override
virtual void EstimateShapeModels() override
TInputImage::Pointer InputImagePointer
virtual void SetNumberOfPrincipalComponentsRequired(unsigned int n)
virtual void PrintSelf(std::ostream &os, Indent indent) const override
Control indentation during Print() invocation.
std::vector< InputImageConstIterator > InputImageIteratorArray
void CalculateInnerProduct()
std::vector< InputImageConstPointer > InputImagePointerArray
TOutputImage OutputImageType
TInputImage::PixelType InputPixelType
static const unsigned int InputImageDimension
TInputImage InputImageType
Base class for statistical shape model estimation.
Base class for all data objects in ITK.
VectorOfDoubleType m_EigenValues
A multi-dimensional iterator templated over image type that walks a region of pixels.