ITK
6.0.0
Insight Toolkit
|
#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.
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | InputCovariantVectorType = CovariantVector< TParametersValueType, Self::InputSpaceDimension > |
using | InputPointType = Point< TParametersValueType, Self::InputSpaceDimension > |
using | InputVectorType = Vector< TParametersValueType, Self::InputSpaceDimension > |
using | InputVnlVectorType = vnl_vector_fixed< TParametersValueType, Self::InputSpaceDimension > |
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
using | InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
using | OutputCovariantVectorType = CovariantVector< TParametersValueType, Self::OutputSpaceDimension > |
using | OutputPointType = Point< TParametersValueType, Self::OutputSpaceDimension > |
using | OutputVectorType = Vector< TParametersValueType, Self::OutputSpaceDimension > |
using | OutputVnlVectorType = vnl_vector_fixed< TParametersValueType, Self::OutputSpaceDimension > |
using | Pointer = SmartPointer< Self > |
using | ScalarType = ParametersValueType |
using | Self = IdentityTransform |
using | Superclass = Transform< TParametersValueType, VDimension, VDimension > |
Public Types inherited from itk::Transform< TParametersValueType, VDimension, VDimension > | |
using | ConstPointer = SmartPointer< const Self > |
using | DerivativeType = Array< ParametersValueType > |
using | DirectionChangeMatrix = Matrix< double, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
using | InputCovariantVectorType = CovariantVector< TParametersValueType, VInputDimension > |
using | InputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType > |
using | InputDirectionMatrix = Matrix< double, Self::InputSpaceDimension, Self::InputSpaceDimension > |
using | InputPointType = Point< TParametersValueType, VInputDimension > |
using | InputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, VInputDimension > |
using | InputVectorPixelType = VariableLengthVector< TParametersValueType > |
using | InputVectorType = Vector< TParametersValueType, VInputDimension > |
using | InputVnlVectorType = vnl_vector_fixed< TParametersValueType, VInputDimension > |
using | InverseJacobianPositionType = vnl_matrix_fixed< ParametersValueType, VInputDimension, VOutputDimension > |
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
using | InverseTransformBaseType = Transform< TParametersValueType, VOutputDimension, VInputDimension > |
using | JacobianPositionType = vnl_matrix_fixed< ParametersValueType, VOutputDimension, VInputDimension > |
using | JacobianType = Array2D< ParametersValueType > |
using | MatrixType = Matrix< TParametersValueType, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
using | OutputCovariantVectorType = CovariantVector< TParametersValueType, VOutputDimension > |
using | OutputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType > |
using | OutputDirectionMatrix = Matrix< double, Self::OutputSpaceDimension, Self::OutputSpaceDimension > |
using | OutputPointType = Point< TParametersValueType, VOutputDimension > |
using | OutputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, VOutputDimension > |
using | OutputVectorPixelType = VariableLengthVector< TParametersValueType > |
using | OutputVectorType = Vector< TParametersValueType, VOutputDimension > |
using | OutputVnlVectorType = vnl_vector_fixed< TParametersValueType, VOutputDimension > |
using | Pointer = SmartPointer< Self > |
using | ScalarType = ParametersValueType |
using | Self = Transform |
using | Superclass = TransformBaseTemplate< TParametersValueType > |
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | InputSpaceDimension = VDimension |
static constexpr unsigned int | OutputSpaceDimension = VDimension |
Static Public Attributes inherited from itk::Transform< TParametersValueType, VDimension, VDimension > | |
static constexpr unsigned int | InputSpaceDimension |
static constexpr unsigned int | OutputSpaceDimension |
Protected Member Functions | |
IdentityTransform ()=default | |
~IdentityTransform () override=default | |
Protected Member Functions inherited from itk::Transform< TParametersValueType, VDimension, VDimension > | |
LightObject::Pointer | InternalClone () const override |
OutputDiffusionTensor3DType | PreservationOfPrincipalDirectionDiffusionTensor3DReorientation (const InputDiffusionTensor3DType &, const InverseJacobianPositionType &) const |
Transform ()=default | |
Transform (NumberOfParametersType numberOfParameters) | |
~Transform () override=default | |
Additional Inherited Members | |
Public Attributes inherited from itk::Transform< TParametersValueType, VDimension, VDimension > | |
InverseJacobianPositionType &jacobian | const |
Static Protected Member Functions inherited from itk::Transform< TParametersValueType, VDimension, VDimension > | |
static InverseTransformBasePointer | InvertTransform (const TTransform &transform) |
Protected Attributes inherited from itk::Transform< TParametersValueType, VDimension, VDimension > | |
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::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::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 |
|
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.
|
inlineoverride |
Get the Fixed Parameters.
Definition at line 222 of file itkIdentityTransform.h.
|
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, VDimension, VDimension >.
Definition at line 204 of file itkIdentityTransform.h.
References New().
|
override |
|
inlineoverride |
Get the Parameters.
Definition at line 234 of file itkIdentityTransform.h.
|
inlineoverride |
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) \]
Definition at line 215 of file itkIdentityTransform.h.
|
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, VDimension, VDimension >.
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, VDimension, VDimension >.
Definition at line 241 of file itkIdentityTransform.h.
|
inlineoverride |
Definition at line 133 of file itkIdentityTransform.h.
|
inlineoverride |
Method to transform a point.
Definition at line 110 of file itkIdentityTransform.h.
References itk::point().
|
inlineoverride |
Definition at line 118 of file itkIdentityTransform.h.
|
inlineoverride |
Method to transform a vnl_vector.
Definition at line 125 of file itkIdentityTransform.h.
|
staticconstexpr |
Dimension of the domain space.
Definition at line 68 of file itkIdentityTransform.h.
|
staticconstexpr |
Definition at line 69 of file itkIdentityTransform.h.