17 #ifndef __itkKernelTransform_h
18 #define __itkKernelTransform_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/algo/vnl_svd.h"
32 #include "vnl/vnl_sample.h"
62 template <
class TScalarType,
63 unsigned int NDimensions>
65 public Transform<TScalarType, NDimensions,NDimensions>
81 itkStaticConstMacro(SpaceDimension,
unsigned int, NDimensions);
103 NDimensions, TScalarType,
135 void ComputeWMatrix(
void);
141 typedef vnl_matrix_fixed<TScalarType, NDimensions, NDimensions>
IMatrixType;
161 virtual void UpdateParameters(
void)
const;
184 itkSetClampMacro(Stiffness,
double, 0.0, NumericTraits<double>::max());
185 itkGetConstMacro(Stiffness,
double);
191 void PrintSelf(std::ostream& os,
Indent indent)
const;
195 typedef vnl_matrix_fixed<TScalarType, NDimensions, NDimensions>
GMatrixType;
216 typedef vnl_matrix_fixed<TScalarType,NDimensions,NDimensions>
AMatrixType;
259 virtual void ComputeDeformationContribution(
282 void ReorganizeW(
void);
338 void operator=(
const Self&);
345 #define ITK_TEMPLATE_KernelTransform(_, EXPORT, x, y) namespace itk { \
346 _(2(class EXPORT KernelTransform< ITK_TEMPLATE_2 x >)) \
347 namespace Templates { typedef KernelTransform< ITK_TEMPLATE_2 x > \
348 KernelTransform##y; } \
351 #if ITK_TEMPLATE_EXPLICIT
352 # include "Templates/itkKernelTransform+-.h"
359 #endif // __itkKernelTransform_h