18#ifndef itkRigid3DPerspectiveTransform_h
19#define itkRigid3DPerspectiveTransform_h
22#include "vnl/vnl_quaternion.h"
37template <
typename TParametersValueType =
double>
44 static constexpr unsigned int InputSpaceDimension = 3;
45 static constexpr unsigned int OutputSpaceDimension = 2;
48 static constexpr unsigned int SpaceDimension = 3;
49 static constexpr unsigned int ParametersDimension = 6;
172 m_FocalDistance = focalDistance;
179 return m_FocalDistance;
189 using Superclass::TransformVector;
194 itkExceptionMacro(
"TransformVector(const InputVectorType &) is not implemented for Rigid3DPerspectiveTransform");
201 <<
"TransformVector(const InputVnlVectorType &) is not implemented for Rigid3DPerspectiveTransform");
204 using Superclass::TransformCovariantVector;
206 OutputCovariantVectorType
209 itkExceptionMacro(
"TransformCovariantVector(const InputCovariantVectorType &) is not implemented for "
210 "Rigid3DPerspectiveTransform");
217 return m_RotationMatrix;
232 itkExceptionMacro(
"ComputeJacobianWithRespectToPosition not yet implemented "
236 using Superclass::ComputeJacobianWithRespectToPosition;
262 TParametersValueType m_FocalDistance{};
275#ifndef ITK_MANUAL_INSTANTIATION
276# include "itkRigid3DPerspectiveTransform.hxx"
Array2D class representing a 2D array.
A templated class holding a n-Dimensional covariant vector.
Control indentation during Print() invocation.
A templated class holding a M x N size Matrix.
Class to hold and manage different parameter types used during optimization.
TParametersValueType ValueType
A templated class holding a geometric point in n-Dimensional space.
A templated class holding a n-Dimensional vector.
A templated class holding a unit quaternion.
const char * GetNameOfClass() const override
ImageBaseType::SpacingType VectorType
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