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"
60template <
typename TParametersValueType,
unsigned int VDimension>
79 static constexpr unsigned int SpaceDimension = VDimension;
156 using Superclass::TransformVector;
160 itkExceptionMacro(
"TransformVector(const InputVectorType &) is not implemented for KernelTransform");
167 itkExceptionMacro(
"TransformVector(const InputVnlVectorType &) is not implemented for KernelTransform");
171 using Superclass::TransformCovariantVector;
172 OutputCovariantVectorType
176 <<
"TransformCovariantVector(const InputCovariantVectorType &) is not implemented for KernelTransform");
181 using IMatrixType = vnl_matrix_fixed<TParametersValueType, VDimension, VDimension>;
190 itkExceptionMacro(
"ComputeJacobianWithRespectToPosition not yet implemented "
194 using Superclass::ComputeJacobianWithRespectToPosition;
229 return Self::TransformCategoryEnum::Spline;
243 itkGetConstMacro(Stiffness,
double);
254 using GMatrixType = vnl_matrix_fixed<TParametersValueType, VDimension, VDimension>;
275 using AMatrixType = vnl_matrix_fixed<TParametersValueType, VDimension, VDimension>;
278 using BMatrixType = vnl_vector_fixed<TParametersValueType, VDimension>;
281 using RowMatrixType = vnl_matrix_fixed<TParametersValueType, 1, VDimension>;
340 double m_Stiffness{};
380 bool m_WMatrixComputed{};
395#ifndef ITK_MANUAL_INSTANTIATION
396# include "itkKernelTransform.hxx"
Array2D class representing a 2D array.
A templated class holding a n-Dimensional covariant vector.
Control indentation during Print() invocation.
Define additional traits for native types such as int or float.
Class to hold and manage different parameter types used during optimization.
typename PointsContainer::Iterator PointsContainerIterator
typename PointsContainer::ConstIterator PointsContainerConstIterator
TMeshTraits::PointsContainer PointsContainer
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
typename MeshTraits::PointIdentifier PointIdentifier
A templated class holding a geometric point in n-Dimensional space.
A templated class holding a n-Dimensional vector.
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
const char * GetNameOfClass() const override
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....