#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 bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
![]() | |
static void | BreakOnError () |
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 |
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 | |
![]() | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
~Object () override | |
![]() | |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Additional Inherited Members | |
![]() | |
static InverseTransformBasePointer | InvertTransform (const TTransform &transform) |
![]() | |
FixedParametersType | m_FixedParameters |
ParametersType | m_Parameters |
![]() | |
std::atomic< int > | m_ReferenceCount {} |
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 131 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 130 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::JacobianType |
Type of the Jacobian matrix.
Definition at line 129 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:
\[ 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] \]
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 185 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 526 of file itkTransform.h.
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::LightObject.
|
inlineoverridevirtual |
Get the Fixed Parameters.
Implements itk::TransformBaseTemplate< TParametersValueType >.
Definition at line 220 of file itkIdentityTransform.h.
References itk::Transform< TParametersValueType, 3, 3 >::m_FixedParameters.
|
inline |
Definition at line 194 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 202 of file itkIdentityTransform.h.
References New().
|
overridevirtual |
Reimplemented from itk::LightObject.
References IdentityTransform().
|
inlineoverridevirtual |
Get the Parameters.
Implements itk::TransformBaseTemplate< TParametersValueType >.
Definition at line 232 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 itk::TransformBaseTemplate< TParametersValueType >.
Definition at line 213 of file itkIdentityTransform.h.
|
static |
New method for creating an object using a factory.
Referenced by GetInverseTransform(), and 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 227 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 239 of file itkIdentityTransform.h.
|
inlinevirtual |
Method to transform a CovariantVector.
Reimplemented from itk::Transform< TParametersValueType, 3, 3 >.
Definition at line 233 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 251 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.
|
inlinevirtual |
Method to transform a vector.
Reimplemented from itk::Transform< TParametersValueType, 3, 3 >.
Definition at line 217 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 185 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 201 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.