ITK
6.0.0
Insight Toolkit
|
#include <itkTransform.h>
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 TransformVector and TransformCovariantVector have multiple overloaded methods from the base class, subclasses must specify:
using Superclass::TransformVector;
using Superclass::TransformCovariantVector;
Definition at line 83 of file itkTransform.h.
Public Attributes | |
InverseJacobianPositionType &jacobian | const |
Static Public Attributes | |
static constexpr unsigned int | InputSpaceDimension = VInputDimension |
static constexpr unsigned int | OutputSpaceDimension = VOutputDimension |
Static Public Attributes inherited from TransformBaseTemplate< TParametersValueType > | |
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 | |
LightObject::Pointer | InternalClone () const override |
OutputDiffusionTensor3DType | PreservationOfPrincipalDirectionDiffusionTensor3DReorientation (const InputDiffusionTensor3DType &, const InverseJacobianPositionType &) const |
Transform ()=default | |
Transform (NumberOfParametersType numberOfParameters) | |
~Transform () override=default | |
Protected Member Functions inherited from TransformBaseTemplate< TParametersValueType > | |
TransformBaseTemplate ()=default | |
~TransformBaseTemplate () override=default | |
Static Protected Member Functions | |
template<typename TTransform > | |
static InverseTransformBasePointer | InvertTransform (const TTransform &transform) |
Protected Attributes | |
FixedParametersType | m_FixedParameters {} |
ParametersType | m_Parameters {} |
Static Private Member Functions | |
static std::string | GetTransformTypeAsString (double *) |
static std::string | GetTransformTypeAsString (float *) |
template<typename TType > | |
static std::string | GetTransformTypeAsString (TType *) |
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::ConstPointer = SmartPointer<const Self> |
Definition at line 93 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::DerivativeType = Array<ParametersValueType> |
Definition at line 124 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::DirectionChangeMatrix = Matrix<double, Self::OutputSpaceDimension, Self::InputSpaceDimension> |
Definition at line 173 of file itkTransform.h.
using TransformBaseTemplate< TParametersValueType >::FixedParametersType = OptimizerParameters<FixedParametersValueType> |
Definition at line 102 of file itkTransformBase.h.
using TransformBaseTemplate< TParametersValueType >::FixedParametersValueType = double |
Definition at line 101 of file itkTransformBase.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InputCovariantVectorType = CovariantVector<TParametersValueType, VInputDimension> |
Standard covariant vector type for this class
Definition at line 152 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InputDiffusionTensor3DType = DiffusionTensor3D<TParametersValueType> |
Definition at line 148 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InputDirectionMatrix = Matrix<double, Self::InputSpaceDimension, Self::InputSpaceDimension> |
Definition at line 172 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InputPointType = Point<TParametersValueType, VInputDimension> |
Standard coordinate point type for this class
Definition at line 160 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InputSymmetricSecondRankTensorType = SymmetricSecondRankTensor<TParametersValueType, VInputDimension> |
Definition at line 144 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InputVectorPixelType = VariableLengthVector<TParametersValueType> |
Standard variable length vector type for this class this provides an interface for the VectorImage class
Definition at line 140 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InputVectorType = Vector<TParametersValueType, VInputDimension> |
Standard vector type for this class.
Definition at line 135 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InputVnlVectorType = vnl_vector_fixed<TParametersValueType, VInputDimension> |
Standard vnl_vector type for this class.
Definition at line 156 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InverseJacobianPositionType = vnl_matrix_fixed<ParametersValueType, VInputDimension, VOutputDimension> |
Definition at line 132 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
Definition at line 167 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InverseTransformBaseType = Transform<TParametersValueType, VOutputDimension, VInputDimension> |
Base inverse transform type. This type should not be changed to the concrete inverse transform type or inheritance would be lost.
Definition at line 165 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::JacobianPositionType = vnl_matrix_fixed<ParametersValueType, VOutputDimension, VInputDimension> |
Definition at line 131 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::JacobianType = Array2D<ParametersValueType> |
Type of the Jacobian matrix.
Definition at line 130 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::MatrixType = Matrix<TParametersValueType, Self::OutputSpaceDimension, Self::InputSpaceDimension> |
Definition at line 169 of file itkTransform.h.
using TransformBaseTemplate< TParametersValueType >::NumberOfParametersType = IdentifierType |
The number of parameters can potentially be very large, therefore we use here a large capacity integer.
Definition at line 109 of file itkTransformBase.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::OutputCovariantVectorType = CovariantVector<TParametersValueType, VOutputDimension> |
Definition at line 153 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::OutputDiffusionTensor3DType = DiffusionTensor3D<TParametersValueType> |
Definition at line 149 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::OutputDirectionMatrix = Matrix<double, Self::OutputSpaceDimension, Self::OutputSpaceDimension> |
Definition at line 171 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::OutputPointType = Point<TParametersValueType, VOutputDimension> |
Definition at line 161 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::OutputSymmetricSecondRankTensorType = SymmetricSecondRankTensor<TParametersValueType, VOutputDimension> |
Definition at line 145 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::OutputVectorPixelType = VariableLengthVector<TParametersValueType> |
Definition at line 141 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::OutputVectorType = Vector<TParametersValueType, VOutputDimension> |
Definition at line 136 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::OutputVnlVectorType = vnl_vector_fixed<TParametersValueType, VOutputDimension> |
Definition at line 157 of file itkTransform.h.
using TransformBaseTemplate< TParametersValueType >::ParametersType = OptimizerParameters<ParametersValueType> |
Definition at line 100 of file itkTransformBase.h.
using TransformBaseTemplate< TParametersValueType >::ParametersValueType = TParametersValueType |
Type of the input parameters.
Definition at line 99 of file itkTransformBase.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::Pointer = SmartPointer<Self> |
Definition at line 92 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::ScalarType = ParametersValueType |
Type of the scalar representing coordinate and vector elements.
Definition at line 127 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::Self = Transform |
Standard class type aliases.
Definition at line 90 of file itkTransform.h.
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::Superclass = TransformBaseTemplate<TParametersValueType> |
Definition at line 91 of file itkTransform.h.
using TransformBaseTemplate< TParametersValueType >::TransformCategoryEnum = TransformBaseTemplateEnums::TransformCategory |
Definition at line 180 of file itkTransformBase.h.
|
protecteddefault |
Default-constructor. Creates a transform, having empty Parameters
and FixedParameters
.
|
protected |
|
overrideprotecteddefault |
|
inline |
Apply this transform to an image without resampling.
Updates image metadata (origin, spacing, direction cosines matrix) in place.
Only available when input and output space are of the same dimension. Only works properly for linear transforms.
The image parameter may be either a SmartPointer or a raw pointer.
Definition at line 565 of file itkTransform.h.
References itk::SmartPointer< TObjectType >::GetPointer().
|
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:
\[ J=\left[ \begin{array}{cccc} \frac{\partial x_{1}}{\partial p_{1}} & \frac{\partial x_{1}}{\partial p_{2}} & \cdots & \frac{\partial x_{1}}{\partial p_{m}}\\ \frac{\partial x_{2}}{\partial p_{1}} & \frac{\partial x_{2}}{\partial p_{2}} & \cdots & \frac{\partial x_{2}}{\partial p_{m}}\\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial x_{n}}{\partial p_{1}} & \frac{\partial x_{n}}{\partial p_{2}} & \cdots & \frac{\partial x_{n}}{\partial p_{m}} \end{array}\right] \]
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::DisplacementFieldTransform< TParametersValueType, VDimension >, itk::KernelTransform< TParametersValueType, VDimension >, itk::KernelTransform< double, 3 >, itk::KernelTransform< TParametersValueType, 3 >, and itk::CompositeTransform< TParametersValueType, VDimension >.
|
inlinevirtual |
Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.
Definition at line 513 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::KernelTransform< TParametersValueType, VDimension >, itk::KernelTransform< double, 3 >, itk::KernelTransform< TParametersValueType, 3 >, and itk::DisplacementFieldTransform< TParametersValueType, VDimension >.
Definition at line 528 of file itkTransform.h.
References GetNameOfClass().
|
overridevirtual |
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.
Implements TransformBaseTemplate< TParametersValueType >.
|
overridevirtual |
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.
Implements TransformBaseTemplate< TParametersValueType >.
|
inlineoverridevirtual |
Get the Fixed Parameters.
Implements TransformBaseTemplate< TParametersValueType >.
Definition at line 383 of file itkTransform.h.
|
inlineoverridevirtual |
Get the size of the input space
Implements TransformBaseTemplate< TParametersValueType >.
Definition at line 107 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 overridden as needed by derived classes.
Definition at line 435 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::AffineTransform< TParametersValueType, VDimension >, itk::AffineTransform< double, 3 >, itk::AffineTransform< double, VDimension >, itk::CenteredAffineTransform< TParametersValueType, VDimension >, itk::CenteredEuler3DTransform< TParametersValueType >, itk::CenteredRigid2DTransform< TParametersValueType >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::CompositeTransform< TParametersValueType, VDimension >, itk::Euler2DTransform< TParametersValueType >, itk::IdentityTransform< TParametersValueType, VDimension >, itk::MatrixOffsetTransformBase< TParametersValueType, VInputDimension, VOutputDimension >, itk::MatrixOffsetTransformBase< double, 3, 3 >, itk::MatrixOffsetTransformBase< double, VDimension, VDimension >, itk::MatrixOffsetTransformBase< double, 2, 2 >, itk::MatrixOffsetTransformBase< float, VDimension, VDimension >, itk::MatrixOffsetTransformBase< float, 3, 3 >, itk::Rigid2DTransform< TParametersValueType >, itk::Rigid2DTransform< double >, itk::ScalableAffineTransform< TParametersValueType, VDimension >, itk::ScalableAffineTransform< double, 3 >, itk::ScaleTransform< TParametersValueType, VDimension >, itk::ScaleTransform< float, 3 >, itk::Similarity2DTransform< TParametersValueType >, itk::Similarity2DTransform< double >, itk::TranslationTransform< TParametersValueType, VDimension >, itk::v3::Rigid3DTransform< TParametersValueType >, itk::ConstantVelocityFieldTransform< TParametersValueType, VDimension >, itk::DisplacementFieldTransform< TParametersValueType, VDimension >, and itk::VelocityFieldTransform< TParametersValueType, VDimension >.
Definition at line 447 of file itkTransform.h.
|
override |
|
inlinevirtual |
Return the number of parameters that define the constant elements of a Transform
Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >, itk::MultiTransform< TParametersValueType, VDimension, VSubDimensions >, and itk::MultiTransform< double, 3, 3 >.
Definition at line 421 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::BSplineBaseTransform< TParametersValueType, VDimension, VSplineOrder >, itk::BSplineBaseTransform< double, 3, 3 >, itk::CompositeTransform< TParametersValueType, VDimension >, itk::MultiTransform< TParametersValueType, VDimension, VSubDimensions >, itk::MultiTransform< double, 3, 3 >, and itk::DisplacementFieldTransform< TParametersValueType, VDimension >.
Definition at line 407 of file itkTransform.h.
|
inlineoverridevirtual |
Return the number of parameters that completely define the Transform
Implements TransformBaseTemplate< TParametersValueType >.
Definition at line 414 of file itkTransform.h.
|
inlineoverridevirtual |
Get the size of the output space
Implements TransformBaseTemplate< TParametersValueType >.
Definition at line 114 of file itkTransform.h.
|
inlineoverridevirtual |
Get the Transformation Parameters.
Implements TransformBaseTemplate< TParametersValueType >.
Reimplemented in itk::VersorRigid3DTransform< double >, and itk::VersorTransform< double >.
Definition at line 372 of file itkTransform.h.
|
inlineoverridevirtual |
Indicates the category transform. e.g. an affine transform, or a local one, e.g. a deformation field.
Implements TransformBaseTemplate< TParametersValueType >.
Definition at line 462 of file itkTransform.h.
|
overridevirtual |
Generate a platform independent name
Implements TransformBaseTemplate< TParametersValueType >.
|
inlinestaticprivate |
Definition at line 623 of file itkTransform.h.
|
inlinestaticprivate |
Definition at line 615 of file itkTransform.h.
|
inlinestaticprivate |
Definition at line 607 of file itkTransform.h.
|
overrideprotected |
Clone the current transform. This does a complete copy of the transform state to the new transform
|
inlinestaticprotected |
Returns the inverse of the specified transform. Returns null if it cannot invert the transform. Helper function for the implementation of GetInverseTransform()
in derived transform classes.
Definition at line 597 of file itkTransform.h.
References New().
|
inlinevirtual |
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, VInputDimension, VOutputDimension >, itk::MatrixOffsetTransformBase< double, 3, 3 >, itk::MatrixOffsetTransformBase< double, VDimension, VDimension >, itk::MatrixOffsetTransformBase< double, 2, 2 >, itk::MatrixOffsetTransformBase< float, VDimension, VDimension >, itk::MatrixOffsetTransformBase< float, 3, 3 >, itk::MultiTransform< TParametersValueType, VDimension, VSubDimensions >, itk::MultiTransform< double, 3, 3 >, and itk::TranslationTransform< TParametersValueType, VDimension >.
Definition at line 468 of file itkTransform.h.
itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::itkCloneMacro | ( | Self | ) |
define the Clone method
|
protected |
|
overridepure virtual |
Set the fixed parameters and update internal transformation.
Implements TransformBaseTemplate< TParametersValueType >.
Implemented in itk::CenteredRigid2DTransform< TParametersValueType >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::IdentityTransform< TParametersValueType, VDimension >, itk::KernelTransform< TParametersValueType, VDimension >, itk::KernelTransform< double, 3 >, itk::KernelTransform< TParametersValueType, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, VInputDimension, VOutputDimension >, itk::MatrixOffsetTransformBase< double, 3, 3 >, itk::MatrixOffsetTransformBase< double, VDimension, VDimension >, itk::MatrixOffsetTransformBase< double, 2, 2 >, itk::MatrixOffsetTransformBase< float, VDimension, VDimension >, itk::MatrixOffsetTransformBase< float, 3, 3 >, itk::Rigid3DPerspectiveTransform< TParametersValueType >, itk::TranslationTransform< TParametersValueType, VDimension >, itk::ConstantVelocityFieldTransform< TParametersValueType, VDimension >, itk::DisplacementFieldTransform< TParametersValueType, VDimension >, itk::VelocityFieldTransform< TParametersValueType, VDimension >, itk::CompositeTransform< TParametersValueType, VDimension >, itk::MultiTransform< TParametersValueType, VDimension, VSubDimensions >, itk::MultiTransform< double, 3, 3 >, itk::Euler3DTransform< TParametersValueType >, itk::Euler3DTransform< double >, itk::BSplineBaseTransform< TParametersValueType, VDimension, VSplineOrder >, itk::BSplineBaseTransform< double, 3, 3 >, itk::BSplineDeformableTransform< TParametersValueType, VDimension, VSplineOrder >, and itk::BSplineTransform< TParametersValueType, VDimension, VSplineOrder >.
|
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 its parameters call SetParametersByValue.
Implements TransformBaseTemplate< TParametersValueType >.
Implemented in itk::IdentityTransform< TParametersValueType, VDimension >, itk::KernelTransform< TParametersValueType, VDimension >, itk::KernelTransform< double, 3 >, itk::KernelTransform< TParametersValueType, 3 >, itk::CompositeTransform< TParametersValueType, VDimension >, itk::MultiTransform< TParametersValueType, VDimension, VSubDimensions >, itk::MultiTransform< double, 3, 3 >, itk::BSplineBaseTransform< TParametersValueType, VDimension, VSplineOrder >, itk::BSplineBaseTransform< double, 3, 3 >, itk::CenteredAffineTransform< TParametersValueType, VDimension >, itk::CenteredEuler3DTransform< TParametersValueType >, itk::CenteredRigid2DTransform< TParametersValueType >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::ComposeScaleSkewVersor3DTransform< TParametersValueType >, itk::Euler3DTransform< TParametersValueType >, itk::Euler3DTransform< double >, itk::MatrixOffsetTransformBase< TParametersValueType, VInputDimension, VOutputDimension >, itk::MatrixOffsetTransformBase< double, 3, 3 >, itk::MatrixOffsetTransformBase< double, VDimension, VDimension >, itk::MatrixOffsetTransformBase< double, 2, 2 >, itk::MatrixOffsetTransformBase< float, VDimension, VDimension >, itk::MatrixOffsetTransformBase< float, 3, 3 >, itk::QuaternionRigidTransform< TParametersValueType >, itk::Rigid2DTransform< TParametersValueType >, itk::Rigid2DTransform< double >, itk::Rigid3DPerspectiveTransform< TParametersValueType >, itk::Rigid3DTransform< TParametersValueType >, itk::Rigid3DTransform< double >, itk::ScaleLogarithmicTransform< TParametersValueType, VDimension >, itk::ScaleSkewVersor3DTransform< TParametersValueType >, itk::ScaleTransform< TParametersValueType, VDimension >, itk::ScaleTransform< float, 3 >, itk::ScaleVersor3DTransform< TParametersValueType >, itk::Similarity2DTransform< TParametersValueType >, itk::Similarity2DTransform< double >, itk::Similarity3DTransform< TParametersValueType >, itk::TranslationTransform< TParametersValueType, VDimension >, itk::VersorRigid3DTransform< TParametersValueType >, itk::VersorRigid3DTransform< double >, itk::VersorTransform< TParametersValueType >, itk::VersorTransform< double >, and itk::DisplacementFieldTransform< TParametersValueType, VDimension >.
|
inlineoverridevirtual |
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.
Implements TransformBaseTemplate< TParametersValueType >.
Definition at line 350 of file itkTransform.h.
|
inlinevirtual |
Method to transform a CovariantVector.
Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >, itk::KernelTransform< TParametersValueType, VDimension >, itk::KernelTransform< double, 3 >, itk::KernelTransform< TParametersValueType, 3 >, and itk::DisplacementFieldTransform< TParametersValueType, VDimension >.
Definition at line 234 of file itkTransform.h.
References GetNameOfClass().
|
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
Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.
|
inlinevirtual |
Method to transform a CovariantVector stored in a VectorImage.
Reimplemented in itk::MatrixOffsetTransformBase< double, 3, 3 >, itk::MatrixOffsetTransformBase< double, VDimension, VDimension >, itk::MatrixOffsetTransformBase< double, 2, 2 >, itk::MatrixOffsetTransformBase< float, VDimension, VDimension >, itk::MatrixOffsetTransformBase< float, 3, 3 >, itk::Rigid3DPerspectiveTransform< TParametersValueType >, itk::ScaleTransform< TParametersValueType, VDimension >, itk::ScaleTransform< float, 3 >, itk::CompositeTransform< TParametersValueType, VDimension >, itk::DisplacementFieldTransform< TParametersValueType, VDimension >, itk::MatrixOffsetTransformBase< double, 3, 3 >, itk::MatrixOffsetTransformBase< double, VDimension, VDimension >, itk::MatrixOffsetTransformBase< double, 2, 2 >, itk::MatrixOffsetTransformBase< float, VDimension, VDimension >, itk::MatrixOffsetTransformBase< float, 3, 3 >, itk::ScaleTransform< TParametersValueType, VDimension >, and itk::ScaleTransform< float, 3 >.
Definition at line 252 of file itkTransform.h.
References GetNameOfClass().
|
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
Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.
|
inlinevirtual |
Method to transform a diffusion tensor
Reimplemented in itk::MatrixOffsetTransformBase< double, 3, 3 >, itk::MatrixOffsetTransformBase< double, VDimension, VDimension >, itk::MatrixOffsetTransformBase< double, 2, 2 >, itk::MatrixOffsetTransformBase< float, VDimension, VDimension >, itk::MatrixOffsetTransformBase< float, 3, 3 >, itk::CompositeTransform< TParametersValueType, VDimension >, itk::MatrixOffsetTransformBase< double, 3, 3 >, itk::MatrixOffsetTransformBase< double, VDimension, VDimension >, itk::MatrixOffsetTransformBase< double, 2, 2 >, itk::MatrixOffsetTransformBase< float, VDimension, VDimension >, and itk::MatrixOffsetTransformBase< float, 3, 3 >.
Definition at line 269 of file itkTransform.h.
References GetNameOfClass().
|
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
Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.
|
inlinevirtual |
Method to transform a diffusion tensor stored in a VectorImage
Reimplemented in itk::MatrixOffsetTransformBase< double, 3, 3 >, itk::MatrixOffsetTransformBase< double, VDimension, VDimension >, itk::MatrixOffsetTransformBase< double, 2, 2 >, itk::MatrixOffsetTransformBase< float, VDimension, VDimension >, itk::MatrixOffsetTransformBase< float, 3, 3 >, itk::CompositeTransform< TParametersValueType, VDimension >, itk::MatrixOffsetTransformBase< double, 3, 3 >, itk::MatrixOffsetTransformBase< double, VDimension, VDimension >, itk::MatrixOffsetTransformBase< double, 2, 2 >, itk::MatrixOffsetTransformBase< float, VDimension, VDimension >, and itk::MatrixOffsetTransformBase< float, 3, 3 >.
Definition at line 286 of file itkTransform.h.
References GetNameOfClass().
|
virtual |
Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.
|
pure virtual |
Method to transform a point.
Implemented in itk::CompositeTransform< TParametersValueType, VDimension >, itk::DisplacementFieldTransform< TParametersValueType, VDimension >, itk::KernelTransform< TParametersValueType, VDimension >, itk::KernelTransform< double, 3 >, and itk::KernelTransform< TParametersValueType, 3 >.
|
inlinevirtual |
Method to transform a ssr tensor stored in a VectorImage
Reimplemented in itk::MatrixOffsetTransformBase< double, 3, 3 >, itk::MatrixOffsetTransformBase< double, VDimension, VDimension >, itk::MatrixOffsetTransformBase< double, 2, 2 >, itk::MatrixOffsetTransformBase< float, VDimension, VDimension >, itk::MatrixOffsetTransformBase< float, 3, 3 >, itk::CompositeTransform< TParametersValueType, VDimension >, itk::MatrixOffsetTransformBase< double, 3, 3 >, itk::MatrixOffsetTransformBase< double, VDimension, VDimension >, itk::MatrixOffsetTransformBase< double, 2, 2 >, itk::MatrixOffsetTransformBase< float, VDimension, VDimension >, and itk::MatrixOffsetTransformBase< float, 3, 3 >.
Definition at line 307 of file itkTransform.h.
References GetNameOfClass().
|
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
Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.
|
inlinevirtual |
Method to transform a ssr tensor stored in a VectorImage
Reimplemented in itk::MatrixOffsetTransformBase< double, 3, 3 >, itk::MatrixOffsetTransformBase< double, VDimension, VDimension >, itk::MatrixOffsetTransformBase< double, 2, 2 >, itk::MatrixOffsetTransformBase< float, VDimension, VDimension >, itk::MatrixOffsetTransformBase< float, 3, 3 >, itk::CompositeTransform< TParametersValueType, VDimension >, itk::MatrixOffsetTransformBase< double, 3, 3 >, itk::MatrixOffsetTransformBase< double, VDimension, VDimension >, itk::MatrixOffsetTransformBase< double, 2, 2 >, itk::MatrixOffsetTransformBase< float, VDimension, VDimension >, and itk::MatrixOffsetTransformBase< float, 3, 3 >.
Definition at line 316 of file itkTransform.h.
References GetNameOfClass().
|
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
Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.
|
inlinevirtual |
Method to transform a vector stored in a VectorImage.
Reimplemented in itk::MatrixOffsetTransformBase< double, 3, 3 >, itk::MatrixOffsetTransformBase< double, VDimension, VDimension >, itk::MatrixOffsetTransformBase< double, 2, 2 >, itk::MatrixOffsetTransformBase< float, VDimension, VDimension >, itk::MatrixOffsetTransformBase< float, 3, 3 >, itk::Rigid3DPerspectiveTransform< TParametersValueType >, itk::ScaleTransform< TParametersValueType, VDimension >, itk::ScaleTransform< float, 3 >, itk::DisplacementFieldTransform< TParametersValueType, VDimension >, itk::CompositeTransform< TParametersValueType, VDimension >, itk::MatrixOffsetTransformBase< double, 3, 3 >, itk::MatrixOffsetTransformBase< double, VDimension, VDimension >, itk::MatrixOffsetTransformBase< double, 2, 2 >, itk::MatrixOffsetTransformBase< float, VDimension, VDimension >, itk::MatrixOffsetTransformBase< float, 3, 3 >, itk::ScaleTransform< TParametersValueType, VDimension >, and itk::ScaleTransform< float, 3 >.
Definition at line 218 of file itkTransform.h.
References GetNameOfClass().
|
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.
Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.
|
inlinevirtual |
Method to transform a vector.
Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >, itk::KernelTransform< TParametersValueType, VDimension >, itk::KernelTransform< double, 3 >, itk::KernelTransform< TParametersValueType, 3 >, and itk::DisplacementFieldTransform< TParametersValueType, VDimension >.
Definition at line 186 of file itkTransform.h.
References GetNameOfClass().
|
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.
Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.
|
inlinevirtual |
Method to transform a vnl_vector.
Reimplemented in itk::KernelTransform< TParametersValueType, VDimension >, itk::KernelTransform< double, 3 >, itk::KernelTransform< TParametersValueType, 3 >, itk::DisplacementFieldTransform< TParametersValueType, VDimension >, and itk::CompositeTransform< TParametersValueType, VDimension >.
Definition at line 202 of file itkTransform.h.
References GetNameOfClass().
|
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.
Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.
|
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. |
Reimplemented in itk::BSplineBaseTransform< double, 3, 3 >, itk::VersorRigid3DTransform< double >, itk::CompositeTransform< TParametersValueType, VDimension >, itk::MultiTransform< TParametersValueType, VDimension, VSubDimensions >, itk::MultiTransform< double, 3, 3 >, itk::BSplineExponentialDiffeomorphicTransform< TParametersValueType, VDimension >, itk::BSplineSmoothingOnUpdateDisplacementFieldTransform< TParametersValueType, VDimension >, itk::ConstantVelocityFieldTransform< TParametersValueType, VDimension >, itk::DisplacementFieldTransform< TParametersValueType, VDimension >, itk::GaussianExponentialDiffeomorphicTransform< TParametersValueType, VDimension >, itk::GaussianSmoothingOnUpdateDisplacementFieldTransform< TParametersValueType, VDimension >, itk::GaussianSmoothingOnUpdateTimeVaryingVelocityFieldTransform< TParametersValueType, VDimension >, itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >, and itk::VelocityFieldTransform< TParametersValueType, VDimension >.
InverseJacobianPositionType& jacobian itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::const |
Definition at line 546 of file itkTransform.h.
|
staticconstexpr |
Dimension of the domain space.
Definition at line 99 of file itkTransform.h.
|
mutableprotected |
Definition at line 587 of file itkTransform.h.
|
mutableprotected |
Definition at line 586 of file itkTransform.h.
|
staticconstexpr |
Definition at line 100 of file itkTransform.h.