ITK
5.0.0
Insight Segmentation and Registration 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 TranformVector 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.
Static Public Attributes | |
static constexpr unsigned int | InputSpaceDimension = NInputDimensions |
static constexpr unsigned int | OutputSpaceDimension = NOutputDimensions |
Protected Member Functions | |
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 () |
Protected Attributes | |
DirectionChangeMatrix | m_DirectionChange |
FixedParametersType | m_FixedParameters |
ParametersType | m_Parameters |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount |
Static Private Member Functions | |
template<typename TType > | |
static std::string | GetTransformTypeAsString (TType *) |
static std::string | GetTransformTypeAsString (float *) |
static std::string | GetTransformTypeAsString (double *) |
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 flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
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 121 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::DirectionChangeMatrix = Matrix<double, Self::OutputSpaceDimension, Self::InputSpaceDimension> |
Definition at line 183 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::FixedParametersType = typename Superclass::FixedParametersType |
Type of the input parameters.
Definition at line 117 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::FixedParametersValueType = typename Superclass::FixedParametersValueType |
Definition at line 118 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputCovariantVectorType = CovariantVector<TParametersValueType, NInputDimensions> |
Standard covariant vector type for this class
Definition at line 152 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 180 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputPointType = Point<TParametersValueType, NInputDimensions> |
Standard coordinate point type for this class
Definition at line 161 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputSymmetricSecondRankTensorType = SymmetricSecondRankTensor<TParametersValueType,NInputDimensions> |
Definition at line 142 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 137 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputVectorType = Vector<TParametersValueType, NInputDimensions> |
Standard vector type for this class.
Definition at line 132 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 157 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InverseJacobianPositionType = vnl_matrix_fixed<ParametersValueType, NInputDimensions, NOutputDimensions> |
Definition at line 129 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
Definition at line 169 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 167 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::JacobianPositionType = vnl_matrix_fixed<ParametersValueType, NOutputDimensions, NInputDimensions> |
Definition at line 128 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::JacobianType = Array2D<ParametersValueType> |
Type of the Jacobian matrix.
Definition at line 127 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::MatrixType = Matrix<TParametersValueType, Self::OutputSpaceDimension, Self::InputSpaceDimension> |
Definition at line 173 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::NumberOfParametersType = typename Superclass::NumberOfParametersType |
Definition at line 185 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputCovariantVectorType = CovariantVector<TParametersValueType, NOutputDimensions> |
Definition at line 154 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 177 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputPointType = Point<TParametersValueType, NOutputDimensions> |
Definition at line 162 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 138 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputVectorType = Vector<TParametersValueType, NOutputDimensions> |
Definition at line 133 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputVnlVectorType = vnl_vector_fixed<TParametersValueType, NOutputDimensions> |
Definition at line 158 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::ParametersType = typename Superclass::ParametersType |
Definition at line 119 of file itkTransform.h.
using itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::ParametersValueType = typename Superclass::ParametersValueType |
Definition at line 120 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 124 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 >::TransformCategoryType = typename Superclass::TransformCategoryType |
Definition at line 454 of file itkTransform.h.
|
protected |
|
protected |
|
overrideprotecteddefault |
|
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 indentity 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 repeatitive 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 |
Definition at line 505 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 indentity 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 517 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 387 of file itkTransform.h.
|
inlineoverridevirtual |
Get the size of the input space
Implements itk::TransformBaseTemplate< TParametersValueType >.
Definition at line 105 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 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::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::Similarity2DTransform< TParametersValueType >, itk::TranslationTransform< TParametersValueType, NDimensions >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::VelocityFieldTransform< TParametersValueType, NDimensions >, itk::CenteredRigid2DTransform< TParametersValueType >, itk::ConstantVelocityFieldTransform< TParametersValueType, NDimensions >, itk::v3::Rigid3DTransform< TParametersValueType >, itk::CenteredEuler3DTransform< TParametersValueType >, itk::ScalableAffineTransform< TParametersValueType, NDimensions >, 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::BSplineTransform< TParametersValueType, NDimensions, VSplineOrder >, itk::AffineTransform< TParametersValueType, NDimensions >, itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >, itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >, itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >, itk::CompositeTransform< TParametersValueType, NDimensions >, itk::DisplacementFieldTransform< TParametersValueType, NDimensions >, itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, NDimensions >, itk::Similarity2DTransform< TParametersValueType >, itk::MultiTransform< TParametersValueType, NDimensions, NSubDimensions >, itk::v3::Rigid3DTransform< TParametersValueType >, itk::MultiTransform< TParametersValueType, NDimensions, NDimensions >, itk::Rigid3DTransform< TParametersValueType >, itk::KernelTransform< TParametersValueType, NDimensions >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::ScaleSkewVersor3DTransform< TParametersValueType >, itk::Rigid2DTransform< TParametersValueType >, itk::BSplineExponentialDiffeomorphicTransform< TParametersValueType, NDimensions >, itk::GaussianExponentialDiffeomorphicTransform< TParametersValueType, NDimensions >, 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::Rigid3DPerspectiveTransform< TParametersValueType >, itk::VersorRigid3DTransform< TParametersValueType >, itk::TranslationTransform< TParametersValueType, NDimensions >, itk::GaussianSmoothingOnUpdateDisplacementFieldTransform< TParametersValueType, NDimensions >, itk::ScaleTransform< TParametersValueType, NDimensions >, itk::VersorTransform< TParametersValueType >, itk::Euler2DTransform< TParametersValueType >, itk::ElasticBodySplineKernelTransform< TParametersValueType, NDimensions >, itk::ElasticBodyReciprocalSplineKernelTransform< TParametersValueType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TParametersValueType, NDimensions >, itk::CenteredEuler3DTransform< TParametersValueType >, itk::GaussianSmoothingOnUpdateTimeVaryingVelocityFieldTransform< TParametersValueType, NDimensions >, itk::ScaleLogarithmicTransform< TParametersValueType, NDimensions >, itk::ThinPlateSplineKernelTransform< TParametersValueType, NDimensions >, itk::VolumeSplineKernelTransform< TParametersValueType, NDimensions >, itk::ConstantVelocityFieldTransform< TParametersValueType, NDimensions >, itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >, itk::VelocityFieldTransform< TParametersValueType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TParametersValueType, NDimensions >, 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 422 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 410 of file itkTransform.h.
|
inlineoverridevirtual |
Return the number of parameters that completely define the Transfom
Implements itk::TransformBaseTemplate< TParametersValueType >.
Definition at line 416 of file itkTransform.h.
|
inlineoverridevirtual |
Get the size of the output space
Implements itk::TransformBaseTemplate< TParametersValueType >.
Definition at line 111 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 378 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 459 of file itkTransform.h.
|
overridevirtual |
Generate a platform independent name
Implements itk::TransformBaseTemplate< TParametersValueType >.
|
inlinestaticprivate |
Definition at line 563 of file itkTransform.h.
|
inlinestaticprivate |
Definition at line 570 of file itkTransform.h.
|
inlinestaticprivate |
Definition at line 577 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 464 of file itkTransform.h.
itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::itkCloneMacro | ( | Self | ) |
define the Clone method
itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::itkLegacyMacro | ( | virtual void ComputeJacobianWithRespectToPosition(const InputPointType &x, JacobianType &jacobian) | const | ) |
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 indentity jacobian since there is no change with respect to position.
itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::itkLegacyMacro | ( | virtual void ComputeInverseJacobianWithRespectToPosition(const InputPointType &x, JacobianType &jacobian) | const | ) |
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 indentity jacobian since there is no change with respect to position.
|
protected |
|
overridepure virtual |
Set the fixed parameters and update internal transformation.
Implemented 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::MultiTransform< TParametersValueType, NDimensions, NDimensions >, itk::TranslationTransform< TParametersValueType, NDimensions >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::CenteredRigid2DTransform< TParametersValueType >, itk::ConstantVelocityFieldTransform< TParametersValueType, NDimensions >, itk::VelocityFieldTransform< TParametersValueType, NDimensions >, and itk::Euler3DTransform< TParametersValueType >.
|
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::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >, itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >, itk::DisplacementFieldTransform< TParametersValueType, NDimensions >, itk::MultiTransform< TParametersValueType, NDimensions, NDimensions >, itk::Rigid2DTransform< TParametersValueType >, itk::Similarity2DTransform< TParametersValueType >, itk::ScaleSkewVersor3DTransform< TParametersValueType >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::QuaternionRigidTransform< TParametersValueType >, itk::Rigid3DTransform< TParametersValueType >, itk::CenteredRigid2DTransform< TParametersValueType >, itk::Similarity3DTransform< TParametersValueType >, itk::ScaleVersor3DTransform< TParametersValueType >, itk::TranslationTransform< TParametersValueType, NDimensions >, itk::VersorRigid3DTransform< TParametersValueType >, itk::VersorTransform< TParametersValueType >, itk::ScaleTransform< TParametersValueType, NDimensions >, itk::Euler3DTransform< TParametersValueType >, itk::CenteredEuler3DTransform< TParametersValueType >, itk::ScaleLogarithmicTransform< TParametersValueType, NDimensions >, and itk::CenteredAffineTransform< TParametersValueType, 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 358 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 240 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 257 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 274 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 293 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 >.
|
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.
|
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 324 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.
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >.
Definition at line 194 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 209 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.
|
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 224 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.
|
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. |
|
static |
Dimension of the domain space.
Definition at line 98 of file itkTransform.h.
|
mutableprotected |
Definition at line 559 of file itkTransform.h.
|
mutableprotected |
Definition at line 553 of file itkTransform.h.
|
mutableprotected |
Definition at line 552 of file itkTransform.h.
|
static |
Definition at line 99 of file itkTransform.h.