18#ifndef itkKernelTransform_h
19#define itkKernelTransform_h
22#if !defined(ITK_LEGACY_REMOVE) && !defined(ITK_FUTURE_LEGACY_REMOVE)
23# include "vnl/algo/vnl_svd.h"
29#include "vnl/vnl_matrix_fixed.h"
30#include "vnl/vnl_matrix.h"
31#include "vnl/vnl_vector.h"
32#include "vnl/vnl_vector_fixed.h"
58template <
typename TParametersValueType,
unsigned int VDimension>
159 itkExceptionStringMacro(
"TransformVector(const InputVectorType &) is not implemented for KernelTransform");
165 itkExceptionStringMacro(
"TransformVector(const InputVnlVectorType &) is not implemented for KernelTransform");
170 using Superclass::TransformCovariantVector;
171 OutputCovariantVectorType
175 <<
"TransformCovariantVector(const InputCovariantVectorType &) is not implemented for KernelTransform");
179 using IMatrixType = vnl_matrix_fixed<TParametersValueType, VDimension, VDimension>;
188 itkExceptionMacro(
"ComputeJacobianWithRespectToPosition not yet implemented for " << this->
GetNameOfClass());
190 using Superclass::ComputeJacobianWithRespectToPosition;
225 return Self::TransformCategoryEnum::Spline;
233 template <
typename TTransform>
236 template <
typename TTransform>
261 itkGetConstMacro(Stiffness,
double);
271 using GMatrixType = vnl_matrix_fixed<TParametersValueType, VDimension, VDimension>;
292 using AMatrixType = vnl_matrix_fixed<TParametersValueType, VDimension, VDimension>;
295 using BMatrixType = vnl_vector_fixed<TParametersValueType, VDimension>;
298 using RowMatrixType = vnl_matrix_fixed<TParametersValueType, 1, VDimension>;
410#ifndef ITK_MANUAL_INSTANTIATION
411# include "itkKernelTransform.hxx"
Control indentation during Print() invocation.
static constexpr T max(const T &)
typename PointsContainer::Iterator PointsContainerIterator
typename PointsContainer::ConstIterator PointsContainerConstIterator
TPointsContainer PointsContainer
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
SmartPointer< Self > Pointer
typename MeshTraits::PointIdentifier PointIdentifier
Implements transparent reference counting.
ObjectType * GetPointer() const noexcept
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
detail::VectorContainer< std::conditional_t< std::is_void_v< T2 >, SizeValueType, T1 >, std::conditional_t< std::is_void_v< T2 >, T1, T2 > > VectorContainer