18 #ifndef __itkKernelTransform_h
19 #define __itkKernelTransform_h
26 #include "vnl/vnl_matrix_fixed.h"
27 #include "vnl/vnl_matrix.h"
28 #include "vnl/vnl_vector.h"
29 #include "vnl/vnl_vector_fixed.h"
30 #include "vnl/algo/vnl_svd.h"
31 #include "vnl/vnl_sample.h"
60 template <
class TScalarType,
61 unsigned int NDimensions>
64 public Transform<TScalarType, NDimensions, NDimensions>
80 itkStaticConstMacro(SpaceDimension,
unsigned int, NDimensions);
142 void ComputeWMatrix(
void);
148 using Superclass::TransformVector;
152 <<
"TransformVector(const InputVectorType &) is not implemented for KernelTransform"); \
159 <<
"TransformVector(const InputVnlVectorType &) is not implemented for KernelTransform"); \
163 using Superclass::TransformCovariantVector;
167 <<
"TransformCovariantVector(const InputCovariantVectorType &) is not implemented for KernelTransform"); \
172 typedef vnl_matrix_fixed<TScalarType, NDimensions, NDimensions>
IMatrixType;
180 itkExceptionMacro(
"ComputeJacobianWithRespectToPosition not yet implemented " \
181 "for " << this->GetNameOfClass() ); \
188 virtual void SetParameters(
const ParametersType &);
195 virtual void SetFixedParameters(
const ParametersType &);
198 virtual void UpdateParameters(
void)
const;
201 virtual const ParametersType & GetParameters(
void)
const;
204 virtual const ParametersType & GetFixedParameters(
void)
const;
225 itkGetConstMacro(Stiffness,
double);
231 void PrintSelf(std::ostream & os,
Indent indent)
const;
235 typedef vnl_matrix_fixed<TScalarType, NDimensions, NDimensions>
GMatrixType;
256 typedef vnl_matrix_fixed<TScalarType, NDimensions, NDimensions>
AMatrixType;
310 void ReorganizeW(
void);
367 void operator=(
const Self &);
372 #ifndef ITK_MANUAL_INSTANTIATION
373 #include "itkKernelTransform.hxx"
376 #endif // __itkKernelTransform_h