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 > >
107 TInputImage::ImageDimension);
131 itkGetConstMacro(NumberOfPrincipalComponentsRequired,
unsigned int);
136 itkGetConstMacro(NumberOfTrainingImages,
unsigned int);
139 itkGetConstMacro(EigenValues, VectorOfDoubleType);
144 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
163 void operator=(const Self &) ITK_DELETE_FUNCTION;
213 #ifndef ITK_MANUAL_INSTANTIATION 214 #include "itkImagePCAShapeModelEstimator.hxx" TInputImage::PixelType InputImagePixelType
TInputImage::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
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
virtual void GenerateInputRequestedRegion() override
unsigned int m_NumberOfPrincipalComponentsRequired
ImageSizeType m_InputImageSize
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)
Control indentation during Print() invocation.
virtual void PrintSelf(std::ostream &os, Indent indent) const override
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.