15 #ifndef itkEulerAffineTransformMatrixAndItsVariations_h
16 #define itkEulerAffineTransformMatrixAndItsVariations_h
21 #include <vnl/vnl_math.h>
22 #include <vnl/vnl_vector.h>
23 #include <vnl/vnl_sparse_matrix.h>
33 template <
class TScalarType =
double>
62 itkSetObjectMacro( AffineTransform, EulerAffineTransformType );
64 itkGetObjectMacro( AffineTransform, EulerAffineTransformType );
67 void SetVolumeSize(
const VolumeSizeType &
r) {m_VolumeSize =
r; m_FlagInitialised =
false;}
70 void GetAffineTransformationSparseMatrix(SparseMatrixType &R, VolumeSizeType &inSize, EulerAffineTransformParametersType ¶meters);
73 void GetAffineTransformationSparseMatrixT(SparseMatrixType &R, SparseMatrixType &RTrans, VolumeSizeType &inSize);
76 void CalculteMatrixVectorMultiplication(SparseMatrixType &R, VectorType
const& inputImageVector, VectorType &outputImageVector);
82 void CalculteMatrixVectorGradient(VolumeSizeType &inSize, VectorType
const& inputImageVector, VectorType &outputGradVector, EulerAffineTransformParametersType ¶meters,
unsigned int paraNum);
85 void CalculteMatrixVectorGradient(FullMatrixType &jacobianMatrix, VolumeSizeType &inSize, EulerAffineTransformParametersType ¶meters);
91 void PrintSelf(std::ostream& os, Indent indent)
const;
124 void operator=(
const Self&);
130 #ifndef ITK_MANUAL_INSTANTIATION
131 #include "itkEulerAffineTransformMatrixAndItsVariations.txx"
Definition: niftkITKAffineResampleImage.cxx:74
GLdouble GLdouble GLdouble r
Definition: glew.h:1390