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>>
131 itkGetConstMacro(NumberOfPrincipalComponentsRequired,
unsigned int);
137 itkGetConstMacro(NumberOfTrainingImages,
unsigned int);
218#ifndef ITK_MANUAL_INSTANTIATION
219# include "itkImagePCAShapeModelEstimator.hxx"
Base class for all data objects in ITK.
void EstimatePCAShapeModelParameters()
TOutputImage OutputImageType
VectorOfDoubleType m_EigenVectorNormalizedEnergy
void GenerateData() override
vnl_vector< double > VectorOfDoubleType
unsigned int m_NumberOfTrainingImages
unsigned int m_NumberOfPixels
unsigned int m_NumberOfPrincipalComponentsRequired
void CalculateInnerProduct()
typename TInputImage::SizeType ImageSizeType
VectorOfDoubleType m_Means
typename TInputImage::Pointer InputImagePointer
ImagePCAShapeModelEstimator Self
virtual void SetNumberOfPrincipalComponentsRequired(unsigned int n)
ImagePCAShapeModelEstimator()
std::vector< InputImageConstIterator > InputImageIteratorArray
static constexpr unsigned int InputImageDimension
typename TInputImage::PixelType InputPixelType
void EstimateShapeModels() override
MatrixOfDoubleType m_EigenVectors
TInputImage InputImageType
~ImagePCAShapeModelEstimator() override=default
VectorOfDoubleType m_EigenValues
ImageSizeType m_InputImageSize
typename TOutputImage::Pointer OutputImagePointer
typename TInputImage::ConstPointer InputImageConstPointer
std::vector< InputImageConstPointer > InputImagePointerArray
ImageRegionIterator< TInputImage > InputImageIterator
vnl_matrix< double > MatrixOfDoubleType
SmartPointer< const Self > ConstPointer
vnl_matrix< int > MatrixOfIntegerType
void GenerateInputRequestedRegion() override
ImageShapeModelEstimatorBase< TInputImage, TOutputImage > Superclass
MatrixOfDoubleType m_InnerProduct
virtual void SetNumberOfTrainingImages(unsigned int n)
typename TInputImage::PixelType InputImagePixelType
ImageRegionConstIterator< TInputImage > InputImageConstIterator
void PrintSelf(std::ostream &os, Indent indent) const override
SmartPointer< Self > Pointer
void EnlargeOutputRequestedRegion(DataObject *) override
ImageRegionIterator< TOutputImage > OutputImageIterator
InputImageIteratorArray m_InputImageIteratorArray
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.
ImageShapeModelEstimatorBase()=default
Control indentation during Print() invocation.
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....