27#include "vnl/vnl_vector_fixed.h"
28#include "vnl/vnl_matrix_fixed.h"
82template <
typename TParametersValueType,
unsigned int VInputDimension = 3,
unsigned int VOutputDimension = 3>
109 return VInputDimension;
116 return VOutputDimension;
188 itkExceptionMacro(
"TransformVector(const InputVectorType &)"
189 "is unimplemented for "
197 virtual OutputVectorType
204 itkExceptionMacro(
"TransformVector( const InputVnlVectorType & ) is "
213 virtual OutputVnlVectorType
220 itkExceptionMacro(
"TransformVector( const InputVectorPixelType & ) is "
229 virtual OutputVectorPixelType
236 itkExceptionMacro(
"TransformCovariantVector( const InputCovariantVectorType & ) is "
246 virtual OutputCovariantVectorType
254 itkExceptionMacro(
"TransformCovariantVector(const InputVectorPixelType &)"
255 "is unimplemented for "
271 itkExceptionMacro(
"TransformDiffusionTensor3D( const InputDiffusionTensor3DType & ) is "
281 virtual OutputDiffusionTensor3DType
288 itkExceptionMacro(
"TransformDiffusionTensor( const InputVectorPixelType & ) is "
293 virtual OutputVectorPixelType
309 itkExceptionMacro(
"TransformSymmetricSecondRankTensor( const InputSymmetricSecondRankTensorType & ) is "
315 virtual OutputVectorPixelType
318 itkExceptionMacro(
"TransformSymmetricSecondRankTensor( const InputVectorPixelType & ) is "
329 virtual OutputVectorPixelType
446 virtual InverseTransformBasePointer
531 itkExceptionMacro(
"ComputeJacobianWithRespectToPosition( InputPointType, JacobianType )"
532 " is unimplemented for "
536#if !defined(ITK_LEGACY_REMOVE)
537 itkLegacyMacro(
virtual void ComputeJacobianWithRespectToPosition(
const InputPointType & x, JacobianType & jacobian)
549#if !defined(ITK_LEGACY_REMOVE)
563 template <typename TImage>
564 std::enable_if_t<TImage::ImageDimension == VInputDimension && TImage::ImageDimension == VOutputDimension, void>
566 template <
typename TImage>
567 std::enable_if_t<TImage::ImageDimension == VInputDimension && TImage::ImageDimension == VOutputDimension, void>
592 OutputDiffusionTensor3DType
598 template <
typename TTransform>
602 const auto inverse = TTransform::New();
603 return transform.GetInverse(inverse) ? inverse.GetPointer() :
nullptr;
608 template <
typename TType>
612 std::string rval(
"other");
620 std::string rval(
"float");
628 std::string rval(
"double");
635#ifndef ITK_MANUAL_INSTANTIATION
636# include "itkTransform.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.
SmartPointer< Self > Pointer
A templated class holding a M x N size Matrix.
A templated class holding a geometric point in n-Dimensional space.
Implements transparent reference counting.
ObjectType * GetPointer() const noexcept
Represent a symmetric tensor of second rank.
A templated class holding a n-Dimensional vector.
const char * GetNameOfClass() const override
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