18#ifndef itkMatrixOffsetTransformBase_h
19#define itkMatrixOffsetTransformBase_h
105template <
typename TParametersValueType =
double,
unsigned int VInputDimension = 3,
unsigned int VOutputDimension = 3>
107 :
public Transform<TParametersValueType, VInputDimension, VOutputDimension>
126 static constexpr unsigned int InputSpaceDimension = VInputDimension;
127 static constexpr unsigned int OutputSpaceDimension = VOutputDimension;
128 static constexpr unsigned int ParametersDimension = VOutputDimension * (VInputDimension + 1);
217 return Self::TransformCategoryEnum::Linear;
235 this->ComputeOffset();
236 this->ComputeMatrixParameters();
237 m_MatrixMTime.Modified();
250 virtual const MatrixType &
268 this->ComputeTranslation();
279 const OutputVectorType &
311 this->ComputeOffset();
323 const InputPointType &
338 m_Translation = translation;
339 this->ComputeOffset();
351 const OutputVectorType &
354 return m_Translation;
401 using Superclass::TransformVector;
412 using Superclass::TransformCovariantVector;
420 using Superclass::TransformDiffusionTensor3D;
428 using Superclass::TransformSymmetricSecondRankTensor;
454 using Superclass::ComputeJacobianWithRespectToPosition;
462 using Superclass::ComputeInverseJacobianWithRespectToPosition;
504 const InverseMatrixType &
515#if !defined(ITK_LEGACY_REMOVE)
532 return m_InverseMatrix;
537 m_InverseMatrix = matrix;
538 m_InverseMatrixMTime.Modified();
543 if (m_MatrixMTime != m_InverseMatrixMTime)
563 m_MatrixMTime.Modified();
572 m_Translation = translation;
590 itkGetConstMacro(Singular,
bool);
596 mutable bool m_Singular{
false };
607#ifndef ITK_MANUAL_INSTANTIATION
608# include "itkMatrixOffsetTransformBase.hxx"
Array2D class representing a 2D array.
A templated class holding a n-Dimensional covariant vector.
Represent a diffusion tensor as used in DTI images.
Control indentation during Print() invocation.
static double GetTolerance()
static float GetTolerance()
A templated class holding a M x N size Matrix.
Class to hold and manage different parameter types used during optimization.
A templated class holding a geometric point in n-Dimensional space.
Represent a symmetric tensor of second rank.
Generate a unique, increasing time value.
A templated class holding a n-Dimensional vector.
SmartPointer< Self > Pointer
static constexpr double e
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
*par Constraints *The filter image with at least two dimensions and a vector *length of at least The theory supports extension to scalar but *the implementation of the itk vector classes do not **The template parameter TRealType must be floating point(float or double) or *a user-defined "real" numerical type with arithmetic operations defined *sufficient to compute derivatives. **\par Performance *This filter will automatically multithread if run with *SetUsePrincipleComponents