ITK
5.0.0
Insight Segmentation and Registration 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 51 of file itkIdentityTransform.h.
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | FixedParametersType = typename Superclass::FixedParametersType |
using | FixedParametersValueType = typename Superclass::FixedParametersValueType |
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 | InverseJacobianPositionType = typename Superclass::InverseJacobianPositionType |
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
using | InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
using | JacobianPositionType = typename Superclass::JacobianPositionType |
using | JacobianType = typename Superclass::JacobianType |
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 | ParametersType = typename Superclass::ParametersType |
using | ParametersValueType = typename Superclass::ParametersValueType |
using | Pointer = SmartPointer< Self > |
using | ScalarType = ParametersValueType |
using | Self = IdentityTransform |
using | Superclass = Transform< TParametersValueType, NDimensions, NDimensions > |
using | TransformCategoryType = typename Superclass::TransformCategoryType |
Public Types inherited from itk::Transform< TParametersValueType, NDimensions, NDimensions > | |
using | ConstPointer = SmartPointer< const Self > |
using | DerivativeType = Array< ParametersValueType > |
using | DirectionChangeMatrix = Matrix< double, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
using | FixedParametersType = typename Superclass::FixedParametersType |
using | FixedParametersValueType = typename Superclass::FixedParametersValueType |
using | InputCovariantVectorType = CovariantVector< TParametersValueType, NInputDimensions > |
using | InputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType > |
using | InputDirectionMatrix = Matrix< double, Self::InputSpaceDimension, Self::InputSpaceDimension > |
using | InputPointType = Point< TParametersValueType, NInputDimensions > |
using | InputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, NInputDimensions > |
using | InputVectorPixelType = VariableLengthVector< TParametersValueType > |
using | InputVectorType = Vector< TParametersValueType, NInputDimensions > |
using | InputVnlVectorType = vnl_vector_fixed< TParametersValueType, NInputDimensions > |
using | InverseJacobianPositionType = vnl_matrix_fixed< ParametersValueType, NInputDimensions, NOutputDimensions > |
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
using | InverseTransformBaseType = Transform< TParametersValueType, NOutputDimensions, NInputDimensions > |
using | JacobianPositionType = vnl_matrix_fixed< ParametersValueType, NOutputDimensions, NInputDimensions > |
using | JacobianType = Array2D< ParametersValueType > |
using | MatrixType = Matrix< TParametersValueType, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
using | NumberOfParametersType = typename Superclass::NumberOfParametersType |
using | OutputCovariantVectorType = CovariantVector< TParametersValueType, NOutputDimensions > |
using | OutputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType > |
using | OutputDirectionMatrix = Matrix< double, Self::OutputSpaceDimension, Self::OutputSpaceDimension > |
using | OutputPointType = Point< TParametersValueType, NOutputDimensions > |
using | OutputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, NOutputDimensions > |
using | OutputVectorPixelType = VariableLengthVector< TParametersValueType > |
using | OutputVectorType = Vector< TParametersValueType, NOutputDimensions > |
using | OutputVnlVectorType = vnl_vector_fixed< TParametersValueType, NOutputDimensions > |
using | ParametersType = typename Superclass::ParametersType |
using | ParametersValueType = typename Superclass::ParametersValueType |
using | Pointer = SmartPointer< Self > |
using | ScalarType = ParametersValueType |
using | Self = Transform |
using | Superclass = TransformBaseTemplate< TParametersValueType > |
using | TransformCategoryType = typename Superclass::TransformCategoryType |
Public Types inherited from itk::TransformBaseTemplate< TParametersValueType > | |
using | ConstPointer = SmartPointer< const Self > |
using | FixedParametersType = OptimizerParameters< FixedParametersValueType > |
using | FixedParametersValueType = double |
using | NumberOfParametersType = IdentifierType |
using | ParametersType = OptimizerParameters< ParametersValueType > |
using | ParametersValueType = TParametersValueType |
using | Pointer = SmartPointer< Self > |
using | Self = TransformBaseTemplate |
using | Superclass = Object |
enum | TransformCategoryType { UnknownTransformCategory =0, Linear =1, BSpline =2, Spline =3, DisplacementField =4, VelocityField =5 } |
Public Types inherited from itk::Object | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = Object |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | InputSpaceDimension = NDimensions |
static constexpr unsigned int | OutputSpaceDimension = NDimensions |
Static Public Attributes inherited from itk::Transform< TParametersValueType, NDimensions, NDimensions > | |
static constexpr unsigned int | InputSpaceDimension |
static constexpr unsigned int | OutputSpaceDimension |
Protected Member Functions | |
IdentityTransform () | |
~IdentityTransform () override=default | |
Protected Member Functions inherited from itk::Transform< TParametersValueType, NDimensions, NDimensions > | |
LightObject::Pointer | InternalClone () const override |
OutputDiffusionTensor3DType | PreservationOfPrincipalDirectionDiffusionTensor3DReorientation (const InputDiffusionTensor3DType &, const InverseJacobianPositionType &) const |
Transform () | |
Transform (NumberOfParametersType NumberOfParameters) | |
~Transform () override=default | |
Protected Member Functions inherited from itk::TransformBaseTemplate< TParametersValueType > | |
TransformBaseTemplate ()=default | |
~TransformBaseTemplate () override=default | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetTimeStamp (const TimeStamp &time) |
~Object () override | |
Protected Member Functions inherited from itk::LightObject | |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Private Attributes | |
JacobianType | m_ZeroJacobian |
Additional Inherited Members | |
Protected Attributes inherited from itk::Transform< TParametersValueType, NDimensions, NDimensions > | |
DirectionChangeMatrix | m_DirectionChange |
FixedParametersType | m_FixedParameters |
ParametersType | m_Parameters |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount |
using itk::IdentityTransform< TParametersValueType, NDimensions >::ConstPointer = SmartPointer<const Self> |
Definition at line 60 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::FixedParametersType = typename Superclass::FixedParametersType |
Definition at line 75 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::FixedParametersValueType = typename Superclass::FixedParametersValueType |
Definition at line 76 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::InputCovariantVectorType = CovariantVector<TParametersValueType, Self::InputSpaceDimension> |
Standard covariant vector type for this class
Definition at line 96 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::InputPointType = Point<TParametersValueType, Self::InputSpaceDimension> |
Standard coordinate point type for this class
Definition at line 108 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::InputVectorType = Vector<TParametersValueType, Self::InputSpaceDimension> |
Standard vector type for this class.
Definition at line 90 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::InputVnlVectorType = vnl_vector_fixed<TParametersValueType, Self::InputSpaceDimension> |
Standard vnl_vector type for this class.
Definition at line 102 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::InverseJacobianPositionType = typename Superclass::InverseJacobianPositionType |
Definition at line 83 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
Definition at line 115 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::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 114 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::JacobianPositionType = typename Superclass::JacobianPositionType |
Definition at line 82 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::JacobianType = typename Superclass::JacobianType |
Type of the Jacobian matrix.
Definition at line 81 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::OutputCovariantVectorType = CovariantVector<TParametersValueType, Self::OutputSpaceDimension> |
Definition at line 98 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::OutputPointType = Point<TParametersValueType, Self::OutputSpaceDimension> |
Definition at line 110 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::OutputVectorType = Vector<TParametersValueType, Self::OutputSpaceDimension> |
Definition at line 92 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::OutputVnlVectorType = vnl_vector_fixed<TParametersValueType, Self::OutputSpaceDimension> |
Definition at line 104 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::ParametersType = typename Superclass::ParametersType |
Type of the input parameters.
Definition at line 73 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::ParametersValueType = typename Superclass::ParametersValueType |
Definition at line 74 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::Pointer = SmartPointer<Self> |
Definition at line 59 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::ScalarType = ParametersValueType |
Definition at line 77 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::Self = IdentityTransform |
Standard class type aliases.
Definition at line 57 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::Superclass = Transform<TParametersValueType, NDimensions, NDimensions> |
Definition at line 58 of file itkIdentityTransform.h.
using itk::IdentityTransform< TParametersValueType, NDimensions >::TransformCategoryType = typename Superclass::TransformCategoryType |
Transform category type.
Definition at line 86 of file itkIdentityTransform.h.
|
inlineprotected |
Definition at line 245 of file itkIdentityTransform.h.
|
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:
Definition at line 180 of file itkIdentityTransform.h.
|
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 191 of file itkIdentityTransform.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::Object.
|
inlineoverridevirtual |
Get the Fixed Parameters.
Implements itk::TransformBaseTemplate< TParametersValueType >.
Definition at line 223 of file itkIdentityTransform.h.
|
inline |
Definition at line 200 of file itkIdentityTransform.h.
|
inlineoverridevirtual |
Return an inverse of the identity transform - another identity transform.
Reimplemented from itk::Transform< TParametersValueType, NDimensions, NDimensions >.
Definition at line 207 of file itkIdentityTransform.h.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::Transform< TParametersValueType, NDimensions, NDimensions >.
|
inlineoverridevirtual |
Get the Parameters.
Implements itk::TransformBaseTemplate< TParametersValueType >.
Definition at line 234 of file itkIdentityTransform.h.
|
inlineoverridevirtual |
Indicates that this transform is linear. That is, given two points P and Q, and scalar coefficients a and b, then
Implements itk::TransformBaseTemplate< TParametersValueType >.
Definition at line 217 of file itkIdentityTransform.h.
|
static |
New method for creating an object using a factory.
Referenced by itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::MakeOutputTransform().
|
inlineoverride |
Set the fixed parameters and update internal transformation.
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 148 of file itkIdentityTransform.h.
|
inlineoverride |
Set the fixed parameters and update internal transformation.
Definition at line 240 of file itkIdentityTransform.h.
|
inlineoverride |
Definition at line 138 of file itkIdentityTransform.h.
|
inlineoverride |
Method to transform a point.
Definition at line 118 of file itkIdentityTransform.h.
|
inlineoverride |
Definition at line 125 of file itkIdentityTransform.h.
|
inlineoverride |
Method to transform a vnl_vector.
Definition at line 131 of file itkIdentityTransform.h.
|
static |
Dimension of the domain space.
Definition at line 69 of file itkIdentityTransform.h.
|
private |
Definition at line 256 of file itkIdentityTransform.h.
|
static |
Definition at line 70 of file itkIdentityTransform.h.