15 #ifndef itkRigidPCADeformationModelTransform_h
16 #define itkRigidPCADeformationModelTransform_h
20 #include <itkTransform.h>
21 #include <itkExceptionObject.h>
22 #include <itkMatrix.h>
24 #include <itkVectorLinearInterpolateNearestNeighborExtrapolateImageFunction.h>
66 class TScalarType=float,
67 unsigned int NDimensions = 3 >
103 typedef itk::Matrix<double, NDimensions, NDimensions>
MatrixType;
112 virtual void SetNumberOfComponents(
unsigned int numberOfComponents);
115 virtual FieldPointer GetSingleDeformationField();
118 itkStaticConstMacro(SpaceDimension,
unsigned int, NDimensions);
151 virtual OutputPointType TransformPoint(
const InputPointType &point )
const;
155 virtual void Initialize() throw ( ExceptionObject );
159 void SetParameters(const ParametersType & parameters);
163 void SetCentre( InputPointType & );
167 const InputPointType & GetCentre(
void );
174 virtual ~RigidPCADeformationModelTransform();
177 void PrintSelf(
std::ostream &os, Indent indent) const;
180 void ComputeMatrix(
void);
184 Matrix<TScalarType,NDimensions+1,NDimensions+1> m_InPlateMatrix;
185 Matrix<TScalarType,NDimensions+1,NDimensions+1> m_RotationsZ;
186 Matrix<TScalarType,NDimensions+1,NDimensions+1> m_RollingMatrix;
187 Matrix<TScalarType,NDimensions+1,NDimensions+1> m_RotationsY;
188 Matrix<TScalarType,NDimensions+1,NDimensions+1> m_Translations;
189 Matrix<TScalarType,NDimensions+1,NDimensions+1> m_TranslateToCentre;
190 Matrix<TScalarType,NDimensions+1,NDimensions+1> m_BackTranslateCentre;
193 InputPointType m_centre;
196 RigidPCADeformationModelTransform(const Self & other);
197 const Self & operator=( const Self & );
204 #ifndef ITK_MANUAL_INSTANTIATION
205 #include "itkRigidPCADeformationModelTransform.txx"
Definition: niftkMeshSmoother.cxx:19
Definition: niftkITKAffineResampleImage.cxx:74
itk::Point< double, 2 > OutputPointType
Definition: EulerAffine2DJacobianTest.cxx:35
itk::Array2D< double > JacobianType
Definition: EulerAffine2DJacobianTest.cxx:28