34 #ifndef __itkKernelTransform2_h
35 #define __itkKernelTransform2_h
39 #include "itkVector.h"
40 #include "itkMatrix.h"
41 #include "itkPointSet.h"
44 #include "vnl/vnl_matrix_fixed.h"
45 #include "vnl/vnl_matrix.h"
46 #include "vnl/vnl_vector.h"
47 #include "vnl/vnl_vector_fixed.h"
48 #include "vnl/vnl_sample.h"
49 #include "vnl/algo/vnl_svd.h"
50 #include "vnl/algo/vnl_qr.h"
94 template<
class TScalarType,
95 unsigned int NDimensions >
146 typedef DefaultStaticMeshTraits< TScalarType,
160 typedef vnl_matrix_fixed< TScalarType, NDimensions, NDimensions >
IMatrixType;
199 <<
"TransformVector(const InputVectorType &) is not implemented "
200 <<
"for KernelTransform" );
207 <<
"TransformVector(const InputVnlVectorType &) is not implemented "
208 <<
"for KernelTransform" );
215 <<
"TransformCovariantVector(const InputCovariantVectorType &) is not implemented "
216 <<
"for KernelTransform" );
264 this->
m_Stiffness = stiffness > 0 ? stiffness : 0.0;
271 itkGetMacro( Stiffness,
double );
279 virtual void SetAlpha( TScalarType itkNotUsed( Alpha ) ) {}
280 virtual TScalarType
GetAlpha(
void )
const {
return -1.0; }
288 itkSetMacro( PoissonRatio, TScalarType );
296 itkSetMacro( MatrixInversionMethod, std::string );
297 itkGetConstReferenceMacro( MatrixInversionMethod, std::string );
303 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
310 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
318 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
327 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
335 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
344 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
352 void PrintSelf( std::ostream & os, Indent indent )
const override;
357 typedef vnl_matrix_fixed< TScalarType, NDimensions, NDimensions >
GMatrixType;
378 typedef vnl_matrix_fixed< TScalarType, NDimensions, NDimensions >
AMatrixType;
539 #ifndef ITK_MANUAL_INSTANTIATION
540 #include "itkKernelTransform2.hxx"