|
ITK
6.0.0
Insight Toolkit
|
Go to the documentation of this file.
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"
60 template <
typename TParametersValueType,
unsigned int VDimension>
79 static constexpr
unsigned int SpaceDimension = VDimension;
85 using typename Superclass::FixedParametersType;
86 using typename Superclass::ParametersType;
94 using typename Superclass::TransformCategoryEnum;
113 using typename Superclass::NumberOfParametersType;
132 itkGetModifiableObjectMacro(SourceLandmarks,
PointSetType);
138 itkGetModifiableObjectMacro(TargetLandmarks,
PointSetType);
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;
201 SetParameters(
const ParametersType &)
override;
209 SetFixedParameters(
const FixedParametersType &)
override;
213 UpdateParameters()
const;
216 const ParametersType &
217 GetParameters()
const override;
220 const FixedParametersType &
221 GetFixedParameters()
const override;
226 TransformCategoryEnum
229 return Self::TransformCategoryEnum::Spline;
243 itkGetConstMacro(Stiffness,
double);
250 PrintSelf(std::ostream & os,
Indent indent)
const override;
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"
399 #endif // itkKernelTransform_h
SmartPointer< Self > Pointer
const char * GetNameOfClass() const override
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
A templated class holding a n-Dimensional vector.
Control indentation during Print() invocation.
typename PointsContainer::Iterator PointsContainerIterator
TMeshTraits::PointsContainer PointsContainer
typename MeshTraits::PointIdentifier PointIdentifier
Define additional traits for native types such as int or float.
A templated class holding a n-Dimensional covariant vector.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
typename PointsContainer::ConstIterator PointsContainerConstIterator
A templated class holding a geometric point in n-Dimensional space.
Array2D class representing a 2D array.