17 #ifndef __itkKernelTransform2_h
18 #define __itkKernelTransform2_h
22 #include "itkVector.h"
23 #include "itkMatrix.h"
24 #include "itkPointSet.h"
27 #include "vnl/vnl_matrix_fixed.h"
28 #include "vnl/vnl_matrix.h"
29 #include "vnl/vnl_vector.h"
30 #include "vnl/vnl_vector_fixed.h"
31 #include "vnl/vnl_sample.h"
32 #include "vnl/algo/vnl_svd.h"
33 #include "vnl/algo/vnl_qr.h"
77 template<
class TScalarType,
78 unsigned int NDimensions >
129 typedef DefaultStaticMeshTraits< TScalarType,
143 typedef vnl_matrix_fixed< TScalarType, NDimensions, NDimensions >
IMatrixType;
182 <<
"TransformVector(const InputVectorType &) is not implemented "
183 <<
"for KernelTransform" );
190 <<
"TransformVector(const InputVnlVectorType &) is not implemented "
191 <<
"for KernelTransform" );
198 <<
"TransformCovariantVector(const InputCovariantVectorType &) is not implemented "
199 <<
"for KernelTransform" );
247 this->
m_Stiffness = stiffness > 0 ? stiffness : 0.0;
254 itkGetMacro( Stiffness,
double );
262 virtual void SetAlpha( TScalarType itkNotUsed( Alpha ) ) {}
263 virtual TScalarType
GetAlpha(
void )
const {
return -1.0; }
271 itkSetMacro( PoissonRatio, TScalarType );
279 itkSetMacro( MatrixInversionMethod, std::string );
280 itkGetConstReferenceMacro( MatrixInversionMethod, std::string );
286 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
293 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
301 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
310 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
318 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
327 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
335 void PrintSelf( std::ostream & os, Indent indent )
const;
340 typedef vnl_matrix_fixed< TScalarType, NDimensions, NDimensions >
GMatrixType;
361 typedef vnl_matrix_fixed< TScalarType, NDimensions, NDimensions >
AMatrixType;
522 #ifndef ITK_MANUAL_INSTANTIATION
523 #include "itkKernelTransform2.hxx"
526 #endif // __itkKernelTransform2_h