#include <itkIdentityTransform.h>
Implementation of an Identity Transform.
This class defines the generic interface for an Identity Transform.
It will map every point to itself, every vector to itself and every covariant vector to itself.
This class is intended to be used primarily as a default Transform for initializing those classes supporting a generic Transform.
This class is templated over the Representation type for coordinates (that is the type used for representing the components of points and vectors) and over the dimension of the space. In this case the Input and Output spaces are the same so only one dimension is required.
Definition at line 50 of file itkIdentityTransform.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | InputSpaceDimension = VDimension |
static constexpr unsigned int | OutputSpaceDimension = VDimension |
![]() | |
static constexpr unsigned int | InputSpaceDimension |
static constexpr unsigned int | OutputSpaceDimension |
![]() | |
static constexpr TransformCategoryEnum | BSpline = TransformCategoryEnum::BSpline |
static constexpr TransformCategoryEnum | DisplacementField = TransformCategoryEnum::DisplacementField |
static constexpr TransformCategoryEnum | Linear = TransformCategoryEnum::Linear |
static constexpr TransformCategoryEnum | Spline = TransformCategoryEnum::Spline |
static constexpr TransformCategoryEnum | UnknownTransformCategory = TransformCategoryEnum::UnknownTransformCategory |
static constexpr TransformCategoryEnum | VelocityField = TransformCategoryEnum::VelocityField |
Protected Member Functions | |
IdentityTransform ()=default | |
~IdentityTransform () override=default | |
![]() | |
LightObject::Pointer | InternalClone () const override |
OutputDiffusionTensor3DType | PreservationOfPrincipalDirectionDiffusionTensor3DReorientation (const InputDiffusionTensor3DType &, const InverseJacobianPositionType &) const |
Transform ()=default | |
Transform (NumberOfParametersType numberOfParameters) | |
~Transform () override=default | |
![]() | |
TransformBaseTemplate ()=default | |
~TransformBaseTemplate () override=default | |
Additional Inherited Members | |
![]() | |
static InverseTransformBasePointer | InvertTransform (const TTransform &transform) |
![]() | |
FixedParametersType | m_FixedParameters |
ParametersType | m_Parameters |
using itk::IdentityTransform< TParametersValueType, VDimension >::ConstPointer = SmartPointer<const Self> |
Definition at line 59 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, VDimension >::InputCovariantVectorType = CovariantVector<TParametersValueType, Self::InputSpaceDimension> |
Standard covariant vector type for this class
Definition at line 92 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, VDimension >::InputPointType = Point<TParametersValueType, Self::InputSpaceDimension> |
Standard coordinate point type for this class
Definition at line 100 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, VDimension >::InputVectorType = Vector<TParametersValueType, Self::InputSpaceDimension> |
Standard vector type for this class.
Definition at line 88 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, VDimension >::InputVnlVectorType = vnl_vector_fixed<TParametersValueType, Self::InputSpaceDimension> |
Standard vnl_vector type for this class.
Definition at line 96 of file itkIdentityTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InverseJacobianPositionType |
Definition at line 132 of file itkTransform.h.
using itk::IdentityTransform< TParametersValueType, VDimension >::InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
Definition at line 106 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, VDimension >::InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
Base inverse transform type. This type should not be changed to the concrete inverse transform type or inheritance would be lost.
Definition at line 105 of file itkIdentityTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::JacobianPositionType |
Definition at line 131 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::JacobianType |
Type of the Jacobian matrix.
Definition at line 130 of file itkTransform.h.
using itk::IdentityTransform< TParametersValueType, VDimension >::OutputCovariantVectorType = CovariantVector<TParametersValueType, Self::OutputSpaceDimension> |
Definition at line 93 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, VDimension >::OutputPointType = Point<TParametersValueType, Self::OutputSpaceDimension> |
Definition at line 101 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, VDimension >::OutputVectorType = Vector<TParametersValueType, Self::OutputSpaceDimension> |
Definition at line 89 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, VDimension >::OutputVnlVectorType = vnl_vector_fixed<TParametersValueType, Self::OutputSpaceDimension> |
Definition at line 97 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, VDimension >::Pointer = SmartPointer<Self> |
Definition at line 58 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, VDimension >::ScalarType = ParametersValueType |
Definition at line 76 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, VDimension >::Self = IdentityTransform |
Standard class type aliases.
Definition at line 56 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, VDimension >::Superclass = Transform<TParametersValueType, VDimension, VDimension> |
Definition at line 57 of file itkIdentityTransform.h.
|
protecteddefault |
Referenced by GetNameOfClass().
|
overrideprotecteddefault |
|
inlineoverride |
Compute the Jacobian of the transformation
This method computes the Jacobian matrix of the transformation. given point or vector, returning the transformed point or vector. The rank of the Jacobian will also indicate if the transform is invertible at this point. The Jacobian can be expressed as a set of partial derivatives of the output point components with respect to the parameters that defined the transform: \f[ J=\left[ \begin{array}{cccc} \frac{\partial x_{1}}{\partial p_{1}} & \frac{\partial x_{2}}{\partial p_{1}} & \cdots & \frac{\partial x_{n}}{\partial p_{1}}\\ \frac{\partial x_{1}}{\partial p_{2}} & \frac{\partial x_{2}}{\partial p_{2}} & \cdots & \frac{\partial x_{n}}{\partial p_{2}}\\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial x_{1}}{\partial p_{m}} & \frac{\partial x_{2}}{\partial p_{m}} & \cdots & \frac{\partial x_{n}}{\partial p_{m}} \end{array}\right] \f]
Definition at line 175 of file itkIdentityTransform.h.
References itk::Array2D< TValue >::SetSize().
|
inlineoverride |
Get the jacobian with respect to position, which simply is an identity jacobian because the transform is position-invariant. jac will be resized as needed, but it will be more efficient if it is already properly sized.
Definition at line 187 of file itkIdentityTransform.h.
|
inlinevirtual |
This provides the ability to get a local jacobian value in a dense/local transform, e.g. DisplacementFieldTransform. For such transforms it would be unclear what parameters would refer to. Generally, global transforms should return an identity jacobian since there is no change with respect to position.
Reimplemented from itk::Transform< TParametersValueType, 3, 3 >.
Definition at line 528 of file itkTransform.h.
virtual::itk::LightObject::Pointer itk::IdentityTransform< TParametersValueType, VDimension >::CreateAnother | ( | ) | const |
|
inlineoverridevirtual |
Get the Fixed Parameters.
Implements TransformBaseTemplate< TParametersValueType >.
Definition at line 222 of file itkIdentityTransform.h.
References itk::Transform< TParametersValueType, 3, 3 >::m_FixedParameters.
|
inline |
Definition at line 196 of file itkIdentityTransform.h.
|
inlineoverridevirtual |
Return an inverse of the identity transform - another identity transform.
Reimplemented from itk::Transform< TParametersValueType, 3, 3 >.
Definition at line 204 of file itkIdentityTransform.h.
References New().
|
override |
|
inlineoverridevirtual |
Get the Parameters.
Implements TransformBaseTemplate< TParametersValueType >.
Definition at line 234 of file itkIdentityTransform.h.
References itk::Transform< TParametersValueType, 3, 3 >::m_Parameters.
|
inlineoverridevirtual |
Indicates that this transform is linear. That is, given two points P and Q, and scalar coefficients a and b, then
\[ T( a*P + b*Q ) = a * T(P) + b * T(Q) \]
Implements TransformBaseTemplate< TParametersValueType >.
Definition at line 215 of file itkIdentityTransform.h.
References TransformBaseTemplate< TParametersValueType >::Linear.
|
static |
New method for creating an object using a factory.
Referenced by itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::MakeOutputTransform().
|
inlineoverridevirtual |
Set the fixed parameters and update internal transformation.
Implements itk::Transform< TParametersValueType, 3, 3 >.
Definition at line 229 of file itkIdentityTransform.h.
|
inline |
Set the transformation to an Identity
This is a nullptr operation in the case of this particular transform. The method is provided only to comply with the interface of other transforms.
Definition at line 143 of file itkIdentityTransform.h.
|
inlineoverridevirtual |
Set the fixed parameters and update internal transformation.
Implements itk::Transform< TParametersValueType, 3, 3 >.
Definition at line 241 of file itkIdentityTransform.h.
|
inlinevirtual |
Method to transform a CovariantVector.
Reimplemented from itk::Transform< TParametersValueType, 3, 3 >.
Definition at line 234 of file itkTransform.h.
|
inlineoverride |
Definition at line 133 of file itkIdentityTransform.h.
virtual OutputCovariantVectorType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformCovariantVector | ( | const InputCovariantVectorType & | vector, |
const InputPointType & | point ) const |
Method to transform a CovariantVector.
|
inlinevirtual |
Method to transform a CovariantVector.
Reimplemented from itk::Transform< TParametersValueType, 3, 3 >.
Definition at line 252 of file itkTransform.h.
virtual OutputVectorPixelType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformCovariantVector | ( | const InputVectorPixelType & | vector, |
const InputPointType & | point ) const |
Method to transform a CovariantVector.
|
inlineoverride |
Method to transform a point.
Definition at line 110 of file itkIdentityTransform.h.
References itk::point().
|
inlinevirtual |
Method to transform a vector.
Reimplemented from itk::Transform< TParametersValueType, 3, 3 >.
Definition at line 218 of file itkTransform.h.
virtual OutputVectorPixelType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformVector | ( | const InputVectorPixelType & | vector, |
const InputPointType & | point ) const |
Method to transform a vector.
|
inlinevirtual |
Method to transform a vector.
Reimplemented from itk::Transform< TParametersValueType, 3, 3 >.
Definition at line 186 of file itkTransform.h.
|
inlineoverride |
Definition at line 118 of file itkIdentityTransform.h.
virtual OutputVectorType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformVector | ( | const InputVectorType & | vector, |
const InputPointType & | point ) const |
Method to transform a vector.
|
inlinevirtual |
Method to transform a vector.
Reimplemented from itk::Transform< TParametersValueType, 3, 3 >.
Definition at line 202 of file itkTransform.h.
|
inlineoverride |
Method to transform a vnl_vector.
Definition at line 125 of file itkIdentityTransform.h.
virtual OutputVnlVectorType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformVector | ( | const InputVnlVectorType & | vector, |
const InputPointType & | point ) const |
Method to transform a vector.
|
staticconstexpr |
Dimension of the domain space.
Definition at line 68 of file itkIdentityTransform.h.
|
staticconstexpr |
Definition at line 69 of file itkIdentityTransform.h.