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"
78 template <
class TScalarType,
79 unsigned int NDimensions>
129 typedef DefaultStaticMeshTraits< TScalarType,
143 typedef vnl_matrix_fixed<TScalarType, NDimensions, NDimensions>
IMatrixType;
181 <<
"TransformVector(const InputVectorType &) is not implemented "
182 <<
"for KernelTransform" );
187 <<
"TransformVector(const InputVnlVectorType &) is not implemented "
188 <<
"for KernelTransform" );
193 <<
"TransformCovariantVector(const InputCovariantVectorType &) is not implemented "
194 <<
"for KernelTransform" );
241 this->
m_Stiffness = stiffness > 0 ? stiffness : 0.0;
246 itkGetMacro( Stiffness,
double );
254 virtual void SetAlpha( TScalarType itkNotUsed( Alpha ) ) {};
255 virtual TScalarType
GetAlpha(
void )
const {
return -1.0; }
263 itkSetMacro( PoissonRatio, TScalarType );
270 itkSetMacro( MatrixInversionMethod, std::string );
271 itkGetConstReferenceMacro( MatrixInversionMethod, std::string );
277 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
282 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
288 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
295 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
301 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
308 itkExceptionMacro( <<
"Not implemented for KernelTransform2" );
314 void PrintSelf( std::ostream& os, Indent indent )
const;
318 typedef vnl_matrix_fixed<TScalarType, NDimensions, NDimensions>
GMatrixType;
339 typedef vnl_matrix_fixed<TScalarType,NDimensions,NDimensions>
AMatrixType;
499 #ifndef ITK_MANUAL_INSTANTIATION
500 #include "itkKernelTransform2.txx"
503 #endif // __itkKernelTransform2_h