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"
75template <
typename TInputImage,
typename TOutputImage = Image<
double, TInputImage::ImageDimension>>
106 static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension;
131 itkGetConstMacro(NumberOfPrincipalComponentsRequired,
unsigned int);
137 itkGetConstMacro(NumberOfTrainingImages,
unsigned int);
209 unsigned int m_NumberOfPixels{ 0 };
211 unsigned int m_NumberOfTrainingImages{ 0 };
213 unsigned int m_NumberOfPrincipalComponentsRequired{};
218#ifndef ITK_MANUAL_INSTANTIATION
219# include "itkImagePCAShapeModelEstimator.hxx"
Base class for all data objects in ITK.
Base class for ImagePCAShapeModelEstimator object.
void EstimatePCAShapeModelParameters()
TOutputImage OutputImageType
void GenerateData() override
vnl_vector< double > VectorOfDoubleType
void CalculateInnerProduct()
typename TInputImage::SizeType ImageSizeType
typename TInputImage::Pointer InputImagePointer
virtual void SetNumberOfPrincipalComponentsRequired(unsigned int n)
ImagePCAShapeModelEstimator()
std::vector< InputImageConstIterator > InputImageIteratorArray
typename TInputImage::PixelType InputPixelType
void EstimateShapeModels() override
TInputImage InputImageType
~ImagePCAShapeModelEstimator() override=default
typename TOutputImage::Pointer OutputImagePointer
typename TInputImage::ConstPointer InputImageConstPointer
std::vector< InputImageConstPointer > InputImagePointerArray
vnl_matrix< double > MatrixOfDoubleType
vnl_matrix< int > MatrixOfIntegerType
void GenerateInputRequestedRegion() override
virtual void SetNumberOfTrainingImages(unsigned int n)
typename TInputImage::PixelType InputImagePixelType
void PrintSelf(std::ostream &os, Indent indent) const override
void EnlargeOutputRequestedRegion(DataObject *) override
A multi-dimensional iterator templated over image type that walks a region of pixels.
A multi-dimensional iterator templated over image type that walks a region of pixels.
Base class for statistical shape model estimation.
Control indentation during Print() invocation.
Light weight base class for most itk classes.
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
ImageBaseType::SizeType SizeType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....