18#ifndef itkDisplacementFieldTransform_h
19#define itkDisplacementFieldTransform_h
86template <
typename TParametersValueType,
unsigned int VDimension>
105 using typename Superclass::InverseTransformBasePointer;
108 using typename Superclass::ScalarType;
111 using typename Superclass::FixedParametersType;
112 using typename Superclass::FixedParametersValueType;
113 using typename Superclass::ParametersType;
114 using typename Superclass::ParametersValueType;
117 using typename Superclass::JacobianType;
118 using typename Superclass::JacobianPositionType;
119 using typename Superclass::InverseJacobianPositionType;
122 using typename Superclass::TransformCategoryEnum;
125 using typename Superclass::NumberOfParametersType;
128 using typename Superclass::InputPointType;
129 using typename Superclass::OutputPointType;
132 using typename Superclass::InputVectorType;
133 using typename Superclass::OutputVectorType;
135 using typename Superclass::InputVectorPixelType;
136 using typename Superclass::OutputVectorPixelType;
139 using typename Superclass::InputCovariantVectorType;
140 using typename Superclass::OutputCovariantVectorType;
143 using typename Superclass::InputVnlVectorType;
144 using typename Superclass::OutputVnlVectorType;
147 using typename Superclass::InputDiffusionTensor3DType;
148 using typename Superclass::OutputDiffusionTensor3DType;
155 using typename Superclass::DerivativeType;
223 using Superclass::TransformVector;
227 itkExceptionMacro(
"TransformVector(Vector) unimplemented, use "
228 "TransformVector(Vector,Point)");
232 OutputVectorPixelType
235 itkExceptionMacro(
"TransformVector(Vector) unimplemented, use "
236 "TransformVector(Vector,Point)");
242 itkExceptionMacro(
"TransformVector(Vector) unimplemented, use "
243 "TransformVector(Vector,Point)");
247 using Superclass::TransformDiffusionTensor3D;
248 OutputDiffusionTensor3DType
251 itkExceptionMacro(
"TransformDiffusionTensor(Tensor) unimplemented, use "
252 "TransformDiffusionTensor(Tensor,Point)");
256 OutputVectorPixelType
259 itkExceptionMacro(
"TransformDiffusionTensor(Tensor) unimplemented, use "
260 "TransformDiffusionTensor(Tensor,Point)");
264 using Superclass::TransformCovariantVector;
265 OutputCovariantVectorType
268 itkExceptionMacro(
"TransformCovariantVector(CovariantVector) "
269 "unimplemented, use TransformCovariantVector(CovariantVector,Point)");
273 OutputVectorPixelType
276 itkExceptionMacro(
"TransformCovariantVector(CovariantVector) "
277 "unimplemented, use TransformCovariantVector(CovariantVector,Point)");
285 if (&(this->m_Parameters) != ¶ms)
287 if (params.Size() != this->m_Parameters.Size())
289 itkExceptionMacro(
"Input parameters size (" << params.Size() <<
") does not match internal size ("
290 << this->m_Parameters.Size() <<
").");
293 this->m_Parameters = params;
335 j = this->m_IdentityJacobian;
348 j = this->m_IdentityJacobian;
357 using Superclass::ComputeJacobianWithRespectToPosition;
366 using Superclass::ComputeInverseJacobianWithRespectToPosition;
389 bool useSVD =
false)
const;
405 bool useSVD =
false)
const;
427 return Self::TransformCategoryEnum::DisplacementField;
430 NumberOfParametersType
443 itkSetMacro(CoordinateTolerance,
double);
444 itkGetConstMacro(CoordinateTolerance,
double);
454 itkSetMacro(DirectionTolerance,
double);
455 itkGetConstMacro(DirectionTolerance,
double);
492 bool doInverseJacobian)
const;
508 double m_CoordinateTolerance{};
509 double m_DirectionTolerance{};
514#ifndef ITK_MANUAL_INSTANTIATION
515# include "itkDisplacementFieldTransform.hxx"
Array2D class representing a 2D array.
Array class with size defined at construction time.
A templated class holding a n-Dimensional covariant vector.
Represent a diffusion tensor as used in DTI images.
Class to hold and manage parameters of type Image<Vector<...>,...>, used in Transforms,...
Templated n-dimensional image class.
Control indentation during Print() invocation.
A templated class holding a geometric point in n-Dimensional space.
Templated n-dimensional vector image class.
Base class for all vector image interpolators.
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
ImageBaseType::DirectionType DirectionType
ImageBaseType::RegionType RegionType
ImageBaseType::IndexType IndexType
constexpr unsigned int Dimension
ImageBaseType::PointType PointType
ImageBaseType::SizeType SizeType
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
SizeValueType ModifiedTimeType