ITK
5.2.0
Insight Toolkit
|
#include <itkTransform.h>
Additional Inherited Members | |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Protected Member Functions inherited from itk::TransformBaseTemplate< TParametersValueType > | |
TransformBaseTemplate ()=default | |
~TransformBaseTemplate () override=default | |
Protected Member Functions inherited from itk::Object | |
Object () | |
~Object () override | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
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 () |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount |
Transform points and vectors from an input space to an output space.
This abstract class defines the generic interface for a geometric transformation from one space to another. The class provides methods for mapping points, vectors and covariant vectors from the input space to the output space.
Given that transformations are not necessarily invertible, this basic class does not provide the methods for back transformation. Back transform methods are implemented in derived classes where appropriate.
Another requirement of the registration framework is the computation of the transform Jacobian. In general, an ImageToImageMetric requires the knowledge of the Jacobian in order to compute the metric derivatives. The Jacobian is a matrix whose element are the partial derivatives of the output point with respect to the array of parameters that defines the transform.
Subclasses must provide implementations for:
virtual OutputPointType TransformPoint(const InputPointType &) const
virtual OutputVectorType TransformVector(const InputVectorType &) const
virtual OutputVnlVectorType TransformVector(const InputVnlVectorType &) const
virtual OutputCovariantVectorType TransformCovariantVector(const InputCovariantVectorType &) const
virtual void SetParameters(const ParametersType &)
virtual void SetFixedParameters(const FixedParametersType &)
virtual void ComputeJacobianWithRespectToParameters( const InputPointType &, JacobianType &) const
virtual void ComputeJacobianWithRespectToPosition( const InputPointType & x, JacobianPositionType &jacobian ) const;
Since TranformVector and TransformCovariantVector have multiple overloaded methods from the base class, subclasses must specify:
using Superclass::TransformVector;
using Superclass::TransformCovariantVector;
Definition at line 82 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::ConstPointer = SmartPointer<const Self> |
Definition at line 92 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::DerivativeType = Array<ParametersValueType> |
Definition at line 123 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::DirectionChangeMatrix = Matrix<double, Self::OutputSpaceDimension, Self::InputSpaceDimension> |
Definition at line 172 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::FixedParametersType = typename Superclass::FixedParametersType |
Type of the input parameters.
Definition at line 119 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::FixedParametersValueType = typename Superclass::FixedParametersValueType |
Definition at line 120 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputCovariantVectorType = CovariantVector<TParametersValueType, NInputDimensions> |
Standard covariant vector type for this class
Definition at line 151 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputDiffusionTensor3DType = DiffusionTensor3D<TParametersValueType> |
Definition at line 147 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputDirectionMatrix = Matrix<double, Self::InputSpaceDimension, Self::InputSpaceDimension> |
Definition at line 171 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputPointType = Point<TParametersValueType, NInputDimensions> |
Standard coordinate point type for this class
Definition at line 159 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputSymmetricSecondRankTensorType = SymmetricSecondRankTensor<TParametersValueType, NInputDimensions> |
Definition at line 143 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputVectorPixelType = VariableLengthVector<TParametersValueType> |
Standard variable length vector type for this class this provides an interface for the VectorImage class
Definition at line 139 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputVectorType = Vector<TParametersValueType, NInputDimensions> |
Standard vector type for this class.
Definition at line 134 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputVnlVectorType = vnl_vector_fixed<TParametersValueType, NInputDimensions> |
Standard vnl_vector type for this class.
Definition at line 155 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InverseJacobianPositionType = vnl_matrix_fixed<ParametersValueType, NInputDimensions, NOutputDimensions> |
Definition at line 131 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
Definition at line 166 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InverseTransformBaseType = Transform<TParametersValueType, NOutputDimensions, NInputDimensions> |
Base inverse transform type. This type should not be changed to the concrete inverse transform type or inheritance would be lost.
Definition at line 164 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::JacobianPositionType = vnl_matrix_fixed<ParametersValueType, NOutputDimensions, NInputDimensions> |
Definition at line 130 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::JacobianType = Array2D<ParametersValueType> |
Type of the Jacobian matrix.
Definition at line 129 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::MatrixType = Matrix<TParametersValueType, Self::OutputSpaceDimension, Self::InputSpaceDimension> |
Definition at line 168 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::NumberOfParametersType = typename Superclass::NumberOfParametersType |
Definition at line 174 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputCovariantVectorType = CovariantVector<TParametersValueType, NOutputDimensions> |
Definition at line 152 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputDiffusionTensor3DType = DiffusionTensor3D<TParametersValueType> |
Definition at line 148 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputDirectionMatrix = Matrix<double, Self::OutputSpaceDimension, Self::OutputSpaceDimension> |
Definition at line 170 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputPointType = Point<TParametersValueType, NOutputDimensions> |
Definition at line 160 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputSymmetricSecondRankTensorType = SymmetricSecondRankTensor<TParametersValueType, NOutputDimensions> |
Definition at line 144 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputVectorPixelType = VariableLengthVector<TParametersValueType> |
Definition at line 140 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputVectorType = Vector<TParametersValueType, NOutputDimensions> |
Definition at line 135 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputVnlVectorType = vnl_vector_fixed<TParametersValueType, NOutputDimensions> |
Definition at line 156 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::ParametersType = typename Superclass::ParametersType |
Definition at line 121 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::ParametersValueType = typename Superclass::ParametersValueType |
Definition at line 122 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::Pointer = SmartPointer<Self> |
Definition at line 91 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::ScalarType = ParametersValueType |
Type of the scalar representing coordinate and vector elements.
Definition at line 126 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::Self = Transform |
Standard class type aliases.
Definition at line 89 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::Superclass = TransformBaseTemplate<TParametersValueType> |
Definition at line 90 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::TransformCategoryEnum = typename Superclass::TransformCategoryEnum |
Definition at line 455 of file itkTransform.h.
|
protected |
Compute the Jacobian of the transformation
This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.
The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:
This is also used for efficient computation of a point-local jacobian for dense transforms. jacobian
is assumed to be thread-local variable, otherwise memory corruption will most likely occur during multi-threading. To avoid repetitive memory allocation, pass in 'jacobian' with its size already set.
|
protected |
Compute the Jacobian of the transformation
This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.
The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:
This is also used for efficient computation of a point-local jacobian for dense transforms. jacobian
is assumed to be thread-local variable, otherwise memory corruption will most likely occur during multi-threading. To avoid repetitive memory allocation, pass in 'jacobian' with its size already set.
|
overrideprotecteddefault |
Compute the Jacobian of the transformation
This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.
The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:
This is also used for efficient computation of a point-local jacobian for dense transforms. jacobian
is assumed to be thread-local variable, otherwise memory corruption will most likely occur during multi-threading. To avoid repetitive memory allocation, pass in 'jacobian' with its size already set.
|
virtual |
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 in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >.
|
pure virtual |
Compute the Jacobian of the transformation
This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.
The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:
This is also used for efficient computation of a point-local jacobian for dense transforms. jacobian
is assumed to be thread-local variable, otherwise memory corruption will most likely occur during multi-threading. To avoid repetitive memory allocation, pass in 'jacobian' with its size already set.
Implemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >.
|
inlinevirtual |
Compute the Jacobian of the transformation
This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.
The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:
This is also used for efficient computation of a point-local jacobian for dense transforms. jacobian
is assumed to be thread-local variable, otherwise memory corruption will most likely occur during multi-threading. To avoid repetitive memory allocation, pass in 'jacobian' with its size already set.
Definition at line 512 of file itkTransform.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 in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >.
Definition at line 527 of file itkTransform.h.
|
override |
This function allow copying a range of values into the FixedParameters The range of values must conform to std::copy(begin, end, m_FixedParameters) requirements.
|
override |
This function allow copying a range of values into the Parameters The range of values must conform to std::copy(begin, end, m_Parameters) requirements.
|
inlineoverridevirtual |
Get the Fixed Parameters.
Implements itk::TransformBaseTemplate< TParametersValueType >.
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >.
Definition at line 382 of file itkTransform.h.
|
inlineoverridevirtual |
Get the size of the input space
Implements itk::TransformBaseTemplate< TParametersValueType >.
Definition at line 106 of file itkTransform.h.
|
inline |
Returns a boolean indicating whether it is possible or not to compute the inverse of this current Transform. If it is possible, then the inverse of the transform is returned in the inverseTransform variable passed by the user. The inverse is recomputed if this current transform has been modified. This method is intended to be overriden as needed by derived classes.
Definition at line 434 of file itkTransform.h.
|
inlinevirtual |
Return an inverse of this transform. If the inverse has not been implemented, return nullptr. The type of the inverse transform does not necessarily need to match the type of the forward transform. This allows one to return a numeric inverse transform instead.
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >, itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >, itk::DisplacementFieldTransform< TParametersValueType, NDimensions >, itk::CompositeTransform< TParametersValueType, NDimensions >, itk::AffineTransform< TParametersValueType, NDimensions >, itk::Rigid2DTransform< TParametersValueType >, itk::IdentityTransform< TParametersValueType, NDimensions >, itk::ScaleTransform< TParametersValueType, NDimensions >, itk::TranslationTransform< TParametersValueType, NDimensions >, itk::Similarity2DTransform< TParametersValueType >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::VelocityFieldTransform< TParametersValueType, NDimensions >, itk::CenteredRigid2DTransform< TParametersValueType >, itk::ConstantVelocityFieldTransform< TParametersValueType, NDimensions >, itk::ScalableAffineTransform< TParametersValueType, NDimensions >, itk::v3::Rigid3DTransform< TParametersValueType >, itk::CenteredEuler3DTransform< TParametersValueType >, itk::CenteredAffineTransform< TParametersValueType, NDimensions >, and itk::Euler2DTransform< TParametersValueType >.
Definition at line 446 of file itkTransform.h.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::TransformBaseTemplate< TParametersValueType >.
Reimplemented in itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >, itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >, itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >, itk::BSplineTransform< TParametersValueType, NDimensions, VSplineOrder >, itk::AffineTransform< TParametersValueType, NDimensions >, itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >, itk::CompositeTransform< TParametersValueType, NDimensions >, itk::DisplacementFieldTransform< TParametersValueType, NDimensions >, itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, NDimensions >, itk::MultiTransform< TParametersValueType, NDimensions, NSubDimensions >, itk::Similarity2DTransform< TParametersValueType >, itk::MultiTransform< TParametersValueType, NDimensions, NDimensions >, itk::v3::Rigid3DTransform< TParametersValueType >, itk::KernelTransform< TParametersValueType, NDimensions >, itk::Rigid3DTransform< TParametersValueType >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::ScaleSkewVersor3DTransform< TParametersValueType >, itk::BSplineExponentialDiffeomorphicTransform< TParametersValueType, NDimensions >, itk::GaussianExponentialDiffeomorphicTransform< TParametersValueType, NDimensions >, itk::ComposeScaleSkewVersor3DTransform< TParametersValueType >, itk::Rigid2DTransform< TParametersValueType >, itk::CenteredRigid2DTransform< TParametersValueType >, itk::TimeVaryingVelocityFieldTransform< TParametersValueType, NDimensions >, itk::IdentityTransform< TParametersValueType, NDimensions >, itk::BSplineSmoothingOnUpdateDisplacementFieldTransform< TParametersValueType, NDimensions >, itk::QuaternionRigidTransform< TParametersValueType >, itk::ScaleVersor3DTransform< TParametersValueType >, itk::Euler3DTransform< TParametersValueType >, itk::Similarity3DTransform< TParametersValueType >, itk::VersorRigid3DTransform< TParametersValueType >, itk::Rigid3DPerspectiveTransform< TParametersValueType >, itk::VersorTransform< TParametersValueType >, itk::GaussianSmoothingOnUpdateDisplacementFieldTransform< TParametersValueType, NDimensions >, itk::TranslationTransform< TParametersValueType, NDimensions >, itk::ScaleTransform< TParametersValueType, NDimensions >, itk::Euler2DTransform< TParametersValueType >, itk::ElasticBodySplineKernelTransform< TParametersValueType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TParametersValueType, NDimensions >, itk::CenteredEuler3DTransform< TParametersValueType >, itk::ElasticBodyReciprocalSplineKernelTransform< TParametersValueType, NDimensions >, itk::GaussianSmoothingOnUpdateTimeVaryingVelocityFieldTransform< TParametersValueType, NDimensions >, itk::ScaleLogarithmicTransform< TParametersValueType, NDimensions >, itk::ThinPlateSplineKernelTransform< TParametersValueType, NDimensions >, itk::VolumeSplineKernelTransform< TParametersValueType, NDimensions >, itk::ConstantVelocityFieldTransform< TParametersValueType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TParametersValueType, NDimensions >, itk::VelocityFieldTransform< TParametersValueType, NDimensions >, itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >, itk::CenteredAffineTransform< TParametersValueType, NDimensions >, and itk::ScalableAffineTransform< TParametersValueType, NDimensions >.
|
inlinevirtual |
Return the number of parameters that define the constant elements of a Transfom
Reimplemented in itk::CompositeTransform< TParametersValueType, NDimensions >, itk::MultiTransform< TParametersValueType, NDimensions, NSubDimensions >, and itk::MultiTransform< TParametersValueType, NDimensions, NDimensions >.
Definition at line 420 of file itkTransform.h.
|
inlinevirtual |
Return the number of local parameters that completely defines the Transform at an individual voxel. For transforms with local support, this will enable downstream computation of the jacobian wrt only the local support region. For instance, in the case of a deformation field, this will be equal to the number of image dimensions. If it is an affine transform, this will be the same as the GetNumberOfParameters().
Reimplemented in itk::DisplacementFieldTransform< TParametersValueType, NDimensions >, itk::CompositeTransform< TParametersValueType, NDimensions >, itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >, itk::MultiTransform< TParametersValueType, NDimensions, NSubDimensions >, and itk::MultiTransform< TParametersValueType, NDimensions, NDimensions >.
Definition at line 406 of file itkTransform.h.
|
inlineoverridevirtual |
Return the number of parameters that completely define the Transfom
Implements itk::TransformBaseTemplate< TParametersValueType >.
Definition at line 413 of file itkTransform.h.
|
inlineoverridevirtual |
Get the size of the output space
Implements itk::TransformBaseTemplate< TParametersValueType >.
Definition at line 113 of file itkTransform.h.
|
inlineoverridevirtual |
Get the Transformation Parameters.
Implements itk::TransformBaseTemplate< TParametersValueType >.
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >, itk::VersorTransform< TParametersValueType >, and itk::VersorRigid3DTransform< TParametersValueType >.
Definition at line 371 of file itkTransform.h.
|
inlineoverridevirtual |
Indicates the category transform. e.g. an affine transform, or a local one, e.g. a deformation field.
Implements itk::TransformBaseTemplate< TParametersValueType >.
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >.
Definition at line 461 of file itkTransform.h.
|
overridevirtual |
Generate a platform independent name
Implements itk::TransformBaseTemplate< TParametersValueType >.
|
inlinestaticprivate |
Compute the Jacobian of the transformation
This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.
The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:
This is also used for efficient computation of a point-local jacobian for dense transforms. jacobian
is assumed to be thread-local variable, otherwise memory corruption will most likely occur during multi-threading. To avoid repetitive memory allocation, pass in 'jacobian' with its size already set.
Definition at line 599 of file itkTransform.h.
|
inlinestaticprivate |
Compute the Jacobian of the transformation
This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.
The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:
This is also used for efficient computation of a point-local jacobian for dense transforms. jacobian
is assumed to be thread-local variable, otherwise memory corruption will most likely occur during multi-threading. To avoid repetitive memory allocation, pass in 'jacobian' with its size already set.
Definition at line 591 of file itkTransform.h.
|
inlinestaticprivate |
Compute the Jacobian of the transformation
This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.
The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:
This is also used for efficient computation of a point-local jacobian for dense transforms. jacobian
is assumed to be thread-local variable, otherwise memory corruption will most likely occur during multi-threading. To avoid repetitive memory allocation, pass in 'jacobian' with its size already set.
Definition at line 583 of file itkTransform.h.
|
overrideprotectedvirtual |
Clone the current transform. This does a complete copy of the transform state to the new transform
Reimplemented from itk::LightObject.
|
inlinevirtual |
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >, itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >, itk::MultiTransform< TParametersValueType, NDimensions, NSubDimensions >, itk::MultiTransform< TParametersValueType, NDimensions, NDimensions >, and itk::TranslationTransform< TParametersValueType, NDimensions >.
Definition at line 467 of file itkTransform.h.
itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::itkCloneMacro | ( | Self | ) |
define the Clone method
itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::itkLegacyMacro | ( | virtual void ComputeInverseJacobianWithRespectToPosition(const InputPointType &x, JacobianType &jacobian) const | ) |
Compute the Jacobian of the transformation
This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.
The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:
This is also used for efficient computation of a point-local jacobian for dense transforms. jacobian
is assumed to be thread-local variable, otherwise memory corruption will most likely occur during multi-threading. To avoid repetitive memory allocation, pass in 'jacobian' with its size already set.
itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::itkLegacyMacro | ( | virtual void ComputeJacobianWithRespectToPosition(const InputPointType &x, JacobianType &jacobian) const | ) |
Compute the Jacobian of the transformation
This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.
The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:
This is also used for efficient computation of a point-local jacobian for dense transforms. jacobian
is assumed to be thread-local variable, otherwise memory corruption will most likely occur during multi-threading. To avoid repetitive memory allocation, pass in 'jacobian' with its size already set.
|
protected |
Compute the Jacobian of the transformation
This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.
The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:
This is also used for efficient computation of a point-local jacobian for dense transforms. jacobian
is assumed to be thread-local variable, otherwise memory corruption will most likely occur during multi-threading. To avoid repetitive memory allocation, pass in 'jacobian' with its size already set.
|
overridepure virtual |
Set the fixed parameters and update internal transformation.
Implemented in itk::Euler3DTransform< TParametersValueType >, itk::MultiTransform< TParametersValueType, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >, itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >, itk::DisplacementFieldTransform< TParametersValueType, NDimensions >, itk::TranslationTransform< TParametersValueType, NDimensions >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::CenteredRigid2DTransform< TParametersValueType >, itk::ConstantVelocityFieldTransform< TParametersValueType, NDimensions >, and itk::VelocityFieldTransform< TParametersValueType, NDimensions >.
|
overridepure virtual |
Set the transformation parameters and update internal transformation. SetParameters gives the transform the option to set it's parameters by keeping a reference to the parameters, or by copying. To force the transform to copy it's parameters call SetParametersByValue.
Implemented in itk::DisplacementFieldTransform< TParametersValueType, NDimensions >, itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >, itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >, itk::Rigid2DTransform< TParametersValueType >, itk::Similarity2DTransform< TParametersValueType >, itk::ScaleSkewVersor3DTransform< TParametersValueType >, itk::ComposeScaleSkewVersor3DTransform< TParametersValueType >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::QuaternionRigidTransform< TParametersValueType >, itk::Similarity3DTransform< TParametersValueType >, itk::CenteredRigid2DTransform< TParametersValueType >, itk::Rigid3DTransform< TParametersValueType >, itk::ScaleVersor3DTransform< TParametersValueType >, itk::TranslationTransform< TParametersValueType, NDimensions >, itk::VersorTransform< TParametersValueType >, itk::VersorRigid3DTransform< TParametersValueType >, itk::ScaleTransform< TParametersValueType, NDimensions >, itk::Euler3DTransform< TParametersValueType >, itk::CenteredEuler3DTransform< TParametersValueType >, itk::ScaleLogarithmicTransform< TParametersValueType, NDimensions >, itk::CenteredAffineTransform< TParametersValueType, NDimensions >, and itk::MultiTransform< TParametersValueType, NDimensions, NDimensions >.
|
inlineoverride |
Set the transformation parameters and update internal transformation. This method forces the transform to copy the parameters. The default implementation is to call SetParameters. This call must be overridden if the transform normally implements SetParameters by keeping a reference to the parameters.
Definition at line 349 of file itkTransform.h.
|
inlinevirtual |
Method to transform a CovariantVector.
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >.
Definition at line 233 of file itkTransform.h.
|
virtual |
Method to transform a CovariantVector, using a point. Global transforms can ignore the point
parameter. Local transforms (e.g. deformation field transform) must override and provide required behavior. By default, point
is ignored and TransformCovariantVector(vector)
is called
|
inlinevirtual |
Method to transform a CovariantVector stored in a VectorImage.
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >.
Definition at line 251 of file itkTransform.h.
|
virtual |
Method to transform a CovariantVector, using a point. Global transforms can ignore the point
parameter. Local transforms (e.g. deformation field transform) must override and provide required behavior. By default, point
is ignored and TransformCovariantVector(vector)
is called
|
inlinevirtual |
Method to transform a diffusion tensor
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >.
Definition at line 268 of file itkTransform.h.
|
virtual |
Method to transform a diffusion tensor at a point. Global transforms can ignore the point
parameter. Local transforms (e.g. deformation field transform) must override and provide required behavior. By default, point
is ignored and TransformDiffusionTensor(tensor)
is called
|
inlinevirtual |
Method to transform a diffusion tensor stored in a VectorImage
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >.
Definition at line 285 of file itkTransform.h.
|
virtual |
|
pure virtual |
Method to transform a point.
Implemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >.
|
inlinevirtual |
Method to transform a ssr tensor stored in a VectorImage
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >.
Definition at line 306 of file itkTransform.h.
|
virtual |
Method to transform a diffusion tensor at a point. Global transforms can ignore the point
parameter. Local transforms (e.g. deformation field transform) must override and provide required behavior. By default, point
is ignored and TransformSymmetricSecondRankTensor(tensor)
is called
|
inlinevirtual |
Method to transform a ssr tensor stored in a VectorImage
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >.
Definition at line 315 of file itkTransform.h.
|
virtual |
Method to transform a diffusion tensor stored in a VectorImage, at a point. Global transforms can ignore the point
parameter. Local transforms (e.g. deformation field transform) must override and provide required behavior. By default, point
is ignored and TransformDiffusionTensor(tensor)
is called
|
inlinevirtual |
Method to transform a vector stored in a VectorImage.
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >.
Definition at line 217 of file itkTransform.h.
|
virtual |
Method to transform a vector stored in a VectorImage, at a point. For global transforms, point
is ignored and TransformVector( vector )
is called. Local transforms (e.g. deformation field transform) must override and provide required behavior.
|
inlinevirtual |
Method to transform a vector.
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >.
Definition at line 185 of file itkTransform.h.
|
virtual |
Method to transform a vector at a given location. For global transforms, point
is ignored and TransformVector( vector )
is called. Local transforms (e.g. deformation field transform) must override and provide required behavior.
|
inlinevirtual |
Method to transform a vnl_vector.
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >.
Definition at line 201 of file itkTransform.h.
|
virtual |
Method to transform a vnl_vector, at a point. For global transforms, point
is ignored and TransformVector( vector )
is called. Local transforms (e.g. deformation field transform) must override and provide required behavior.
|
virtual |
Update the transform's parameters by the values in update
.
update | must be of the same length as returned by GetNumberOfParameters(). Throw an exception otherwise. |
factor | is a scalar multiplier for each value in update . SetParameters is called at the end of this method, to allow the transform to perform any required operations on the updated parameters - typically a conversion to member variables for use in TransformPoint. |
|
staticconstexpr |
Dimension of the domain space.
Definition at line 98 of file itkTransform.h.
|
mutableprotected |
Compute the Jacobian of the transformation
This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.
The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:
This is also used for efficient computation of a point-local jacobian for dense transforms. jacobian
is assumed to be thread-local variable, otherwise memory corruption will most likely occur during multi-threading. To avoid repetitive memory allocation, pass in 'jacobian' with its size already set.
Definition at line 578 of file itkTransform.h.
|
mutableprotected |
Compute the Jacobian of the transformation
This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.
The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:
This is also used for efficient computation of a point-local jacobian for dense transforms. jacobian
is assumed to be thread-local variable, otherwise memory corruption will most likely occur during multi-threading. To avoid repetitive memory allocation, pass in 'jacobian' with its size already set.
Definition at line 572 of file itkTransform.h.
|
mutableprotected |
Compute the Jacobian of the transformation
This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.
The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:
This is also used for efficient computation of a point-local jacobian for dense transforms. jacobian
is assumed to be thread-local variable, otherwise memory corruption will most likely occur during multi-threading. To avoid repetitive memory allocation, pass in 'jacobian' with its size already set.
Definition at line 571 of file itkTransform.h.
|
staticconstexpr |
Definition at line 99 of file itkTransform.h.