ITK
4.6.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 ParametersType &)
virtual void ComputeJacobianWithRespectToParameters( const InputPointType &, JacobianType &) const
virtual void ComputeJacobianWithRespectToPosition( const InputPointType & x, JacobianType &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.
Static Public Attributes | |
static const unsigned int | InputSpaceDimension = NInputDimensions |
static const unsigned int | OutputSpaceDimension = NOutputDimensions |
Protected Member Functions | |
virtual LightObject::Pointer | InternalClone () const |
OutputDiffusionTensor3DType | PreservationOfPrincipalDirectionDiffusionTensor3DReorientation (const InputDiffusionTensor3DType, const JacobianType) const |
Transform () | |
Transform (NumberOfParametersType NumberOfParameters) | |
virtual | ~Transform () |
Protected Member Functions inherited from itk::TransformBaseTemplate< TScalar > | |
TransformBaseTemplate () | |
virtual | ~TransformBaseTemplate () |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | PrintSelf (std::ostream &os, Indent indent) const ITK_OVERRIDE |
virtual void | SetTimeStamp (const TimeStamp &time) |
virtual | ~Object () |
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 |
ParametersType | m_FixedParameters |
ParametersType | m_Parameters |
Protected Attributes inherited from itk::LightObject | |
InternalReferenceCountType | m_ReferenceCount |
SimpleFastMutexLock | m_ReferenceCountLock |
Private Member Functions | |
template<typename TType > | |
std::string | GetTransformTypeAsString (TType *) const |
std::string | GetTransformTypeAsString (float *) const |
std::string | GetTransformTypeAsString (double *) const |
void | operator= (const Self &) |
Transform (const Self &) | |
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 () |
Protected Types inherited from itk::LightObject | |
typedef int | InternalReferenceCountType |
typedef SmartPointer< const Self > itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::ConstPointer |
Definition at line 89 of file itkTransform.h.
typedef Array<ParametersValueType> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::DerivativeType |
Definition at line 120 of file itkTransform.h.
typedef Matrix<double, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::DirectionChangeMatrix |
Definition at line 181 of file itkTransform.h.
typedef CovariantVector<TScalar, NInputDimensions> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::InputCovariantVectorType |
Standard covariant vector type for this class
Definition at line 146 of file itkTransform.h.
typedef DiffusionTensor3D<TScalar> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::InputDiffusionTensor3DType |
Definition at line 141 of file itkTransform.h.
typedef Matrix<double, itkGetStaticConstMacro(InputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::InputDirectionMatrix |
Definition at line 177 of file itkTransform.h.
typedef Point<TScalar, NInputDimensions> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::InputPointType |
Standard coordinate point type for this class
Definition at line 155 of file itkTransform.h.
typedef SymmetricSecondRankTensor<TScalar,NInputDimensions> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::InputSymmetricSecondRankTensorType |
Definition at line 136 of file itkTransform.h.
typedef VariableLengthVector<TScalar> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::InputVectorPixelType |
Standard variable length vector type for this class this provides an interface for the VectorImage class
Definition at line 131 of file itkTransform.h.
typedef Vector<TScalar, NInputDimensions> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::InputVectorType |
Standard vector type for this class.
Definition at line 126 of file itkTransform.h.
typedef vnl_vector_fixed<TScalar, NInputDimensions> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::InputVnlVectorType |
Standard vnl_vector type for this class.
Definition at line 151 of file itkTransform.h.
typedef InverseTransformBaseType::Pointer itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::InverseTransformBasePointer |
Definition at line 164 of file itkTransform.h.
typedef Transform< TScalar, NOutputDimensions, NInputDimensions> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::InverseTransformBaseType |
Base inverse transform type. This type should not be changed to the concrete inverse transform type or inheritance would be lost.
Definition at line 161 of file itkTransform.h.
typedef Array2D<ParametersValueType> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::JacobianType |
Type of the Jacobian matrix.
Definition at line 123 of file itkTransform.h.
typedef Matrix<TScalar, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::MatrixType |
Definition at line 168 of file itkTransform.h.
typedef Superclass::NumberOfParametersType itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::NumberOfParametersType |
Definition at line 183 of file itkTransform.h.
typedef CovariantVector<TScalar, NOutputDimensions> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::OutputCovariantVectorType |
Definition at line 148 of file itkTransform.h.
typedef DiffusionTensor3D<TScalar> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::OutputDiffusionTensor3DType |
Definition at line 142 of file itkTransform.h.
typedef Matrix<double, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(OutputSpaceDimension)> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::OutputDirectionMatrix |
Definition at line 173 of file itkTransform.h.
typedef Point<TScalar, NOutputDimensions> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::OutputPointType |
Definition at line 156 of file itkTransform.h.
typedef SymmetricSecondRankTensor<TScalar,NOutputDimensions> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::OutputSymmetricSecondRankTensorType |
Definition at line 138 of file itkTransform.h.
typedef VariableLengthVector<TScalar> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::OutputVectorPixelType |
Definition at line 132 of file itkTransform.h.
typedef Vector<TScalar, NOutputDimensions> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::OutputVectorType |
Definition at line 127 of file itkTransform.h.
typedef vnl_vector_fixed<TScalar, NOutputDimensions> itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::OutputVnlVectorType |
Definition at line 152 of file itkTransform.h.
typedef Superclass::ParametersType itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::ParametersType |
Type of the input parameters.
Definition at line 118 of file itkTransform.h.
typedef Superclass::ParametersValueType itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::ParametersValueType |
Definition at line 119 of file itkTransform.h.
typedef SmartPointer< Self > itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::Pointer |
Definition at line 88 of file itkTransform.h.
typedef TScalar itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::ScalarType |
Type of the scalar representing coordinate and vector elements.
Definition at line 115 of file itkTransform.h.
typedef Transform itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::Self |
Standard class typedefs.
Definition at line 86 of file itkTransform.h.
typedef TransformBaseTemplate< TScalar > itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::Superclass |
Definition at line 87 of file itkTransform.h.
typedef Superclass::TransformCategoryType itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::TransformCategoryType |
Definition at line 431 of file itkTransform.h.
|
protected |
|
protected |
|
inlineprotectedvirtual |
Definition at line 541 of file itkTransform.h.
|
private |
|
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< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, and itk::MatrixOffsetTransformBase< TScalar, 3, 3 >.
|
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< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, and itk::MatrixOffsetTransformBase< TScalar, 3, 3 >.
Referenced by itk::Transform< TScalar, NDimensions, NDimensions >::ComputeJacobianWithRespectToParametersCachedTemporaries().
|
inlinevirtual |
Definition at line 504 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< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, and itk::MatrixOffsetTransformBase< TScalar, 3, 3 >.
Definition at line 516 of file itkTransform.h.
|
inlinevirtual |
Get the Fixed Parameters.
Implements itk::TransformBaseTemplate< TScalar >.
Reimplemented in itk::CompositeTransform< TScalar, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, NInputDimensions, NOutputDimensions >, itk::MatrixOffsetTransformBase< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, itk::MatrixOffsetTransformBase< TScalar, 3, 3 >, itk::MultiTransform< TScalar, NDimensions, NSubDimensions >, itk::MultiTransform< TScalar, NDimensions >, itk::IdentityTransform< TScalar, NDimensions >, itk::TranslationTransform< TScalar, NDimensions >, itk::KernelTransform< TScalar, NDimensions >, itk::BSplineBaseTransform< TScalar, NDimensions, VSplineOrder >, itk::CenteredSimilarity2DTransform< TScalar >, itk::CenteredRigid2DTransform< TScalar >, and itk::ScaleTransform< TScalar, NDimensions >.
Definition at line 371 of file itkTransform.h.
|
inlinevirtual |
Get the size of the input space
Implements itk::TransformBaseTemplate< TScalar >.
Definition at line 103 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 412 of file itkTransform.h.
|
inlinevirtual |
Return an inverse of this transform. If the inverse has not been implemented, return NULL. 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< TScalar, NInputDimensions, NOutputDimensions >, itk::MatrixOffsetTransformBase< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, itk::MatrixOffsetTransformBase< TScalar, 3, 3 >, itk::DisplacementFieldTransform< TScalar, NDimensions >, itk::AffineTransform< TScalar, NDimensions >, itk::CompositeTransform< TScalar, NDimensions >, itk::Rigid2DTransform< TScalar >, itk::IdentityTransform< TScalar, NDimensions >, itk::ScaleTransform< TScalar, NDimensions >, itk::Similarity2DTransform< TScalar >, itk::TranslationTransform< TScalar, NDimensions >, itk::CenteredSimilarity2DTransform< TScalar >, itk::CenteredRigid2DTransform< TScalar >, itk::VelocityFieldTransform< TScalar, NDimensions >, itk::ConstantVelocityFieldTransform< TScalar, NDimensions >, itkv3::Rigid3DTransform< TScalar >, itk::CenteredEuler3DTransform< TScalar >, itk::ScalableAffineTransform< TScalar, NDimensions >, itk::CenteredAffineTransform< TScalar, NDimensions >, and itk::Euler2DTransform< TScalar >.
Definition at line 423 of file itkTransform.h.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::TransformBaseTemplate< TScalar >.
Reimplemented in itk::BSplineDeformableTransform< TScalar, NDimensions, VSplineOrder >, itk::BSplineTransform< TScalar, NDimensions, VSplineOrder >, itk::AffineTransform< TScalar, NDimensions >, itk::AzimuthElevationToCartesianTransform< TScalar, NDimensions >, itk::CompositeTransform< TScalar, NDimensions >, itk::DisplacementFieldTransform< TScalar, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, NInputDimensions, NOutputDimensions >, itk::MatrixOffsetTransformBase< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, itk::MatrixOffsetTransformBase< TScalar, 3, 3 >, itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >, itk::Similarity2DTransform< TScalar >, itk::MultiTransform< TScalar, NDimensions, NSubDimensions >, itk::MultiTransform< TScalar, NDimensions >, itk::KernelTransform< TScalar, NDimensions >, itk::Rigid3DTransform< TScalar >, itkv3::Rigid3DTransform< TScalar >, itk::CenteredSimilarity2DTransform< TScalar >, itk::Rigid2DTransform< TScalar >, itk::GaussianExponentialDiffeomorphicTransform< TScalar, NDimensions >, itk::CenteredRigid2DTransform< TScalar >, itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >, itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >, itk::IdentityTransform< TScalar, NDimensions >, itk::Rigid3DPerspectiveTransform< TScalar >, itk::QuaternionRigidTransform< TScalar >, itk::ScaleSkewVersor3DTransform< TScalar >, itk::BSplineSmoothingOnUpdateDisplacementFieldTransform< TScalar, NDimensions >, itk::Euler3DTransform< TScalar >, itk::ScaleTransform< TScalar, NDimensions >, itk::Similarity3DTransform< TScalar >, itk::TranslationTransform< TScalar, NDimensions >, itk::VersorRigid3DTransform< TScalar >, itk::ScaleVersor3DTransform< TScalar >, itk::GaussianSmoothingOnUpdateDisplacementFieldTransform< TScalar, NDimensions >, itk::VersorTransform< TScalar >, itk::ElasticBodySplineKernelTransform< TScalar, NDimensions >, itk::Euler2DTransform< TScalar >, itk::ElasticBodyReciprocalSplineKernelTransform< TScalar, NDimensions >, itk::ScaleLogarithmicTransform< TScalar, NDimensions >, itk::CenteredEuler3DTransform< TScalar >, itk::ThinPlateR2LogRSplineKernelTransform< TScalar, NDimensions >, itk::GaussianSmoothingOnUpdateTimeVaryingVelocityFieldTransform< TScalar, NDimensions >, itk::VolumeSplineKernelTransform< TScalar, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalar, NDimensions >, itk::CenteredAffineTransform< TScalar, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalar, NDimensions >, itk::ScalableAffineTransform< TScalar, NDimensions >, itk::ConstantVelocityFieldTransform< TScalar, NDimensions >, itk::VelocityFieldTransform< TScalar, NDimensions >, and itk::BSplineBaseTransform< TScalar, NDimensions, VSplineOrder >.
Referenced by itk::Transform< TScalar, NDimensions, NDimensions >::ComputeJacobianWithRespectToPosition(), itk::Transform< TScalar, NDimensions, NDimensions >::TransformCovariantVector(), itk::Transform< TScalar, NDimensions, NDimensions >::TransformDiffusionTensor3D(), itk::Transform< TScalar, NDimensions, NDimensions >::TransformSymmetricSecondRankTensor(), and itk::Transform< TScalar, NDimensions, NDimensions >::TransformVector().
|
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< TScalar, NDimensions >, itk::CompositeTransform< TScalar, NDimensions >, itk::BSplineBaseTransform< TScalar, NDimensions, VSplineOrder >, itk::MultiTransform< TScalar, NDimensions, NSubDimensions >, and itk::MultiTransform< TScalar, NDimensions >.
Definition at line 393 of file itkTransform.h.
|
inlinevirtual |
Return the number of parameters that completely define the Transfom
Implements itk::TransformBaseTemplate< TScalar >.
Reimplemented in itk::CompositeTransform< TScalar, NDimensions >, itk::BSplineBaseTransform< TScalar, NDimensions, VSplineOrder >, itk::MultiTransform< TScalar, NDimensions, NSubDimensions >, itk::MultiTransform< TScalar, NDimensions >, itk::BSplineDeformableTransform< TScalar, NDimensions, VSplineOrder >, itk::BSplineTransform< TScalar, NDimensions, VSplineOrder >, and itk::TranslationTransform< TScalar, NDimensions >.
Definition at line 399 of file itkTransform.h.
Referenced by itk::Transform< TScalar, NDimensions, NDimensions >::GetNumberOfLocalParameters(), itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfParameters(), and itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfParameters().
|
inlinevirtual |
Get the size of the output space
Implements itk::TransformBaseTemplate< TScalar >.
Definition at line 109 of file itkTransform.h.
|
inlinevirtual |
Get the Transformation Parameters.
Implements itk::TransformBaseTemplate< TScalar >.
Reimplemented in itk::CompositeTransform< TScalar, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, NInputDimensions, NOutputDimensions >, itk::MatrixOffsetTransformBase< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, itk::MatrixOffsetTransformBase< TScalar, 3, 3 >, itk::MultiTransform< TScalar, NDimensions, NSubDimensions >, itk::MultiTransform< TScalar, NDimensions >, itk::IdentityTransform< TScalar, NDimensions >, itk::Rigid2DTransform< TScalar >, itk::KernelTransform< TScalar, NDimensions >, itk::BSplineBaseTransform< TScalar, NDimensions, VSplineOrder >, itk::Similarity2DTransform< TScalar >, itk::CenteredSimilarity2DTransform< TScalar >, itk::Rigid3DPerspectiveTransform< TScalar >, itk::CenteredRigid2DTransform< TScalar >, itk::QuaternionRigidTransform< TScalar >, itk::ScaleSkewVersor3DTransform< TScalar >, itk::TranslationTransform< TScalar, NDimensions >, itk::ScaleTransform< TScalar, NDimensions >, itk::Similarity3DTransform< TScalar >, itk::VersorTransform< TScalar >, itk::VersorRigid3DTransform< TScalar >, itk::ScaleVersor3DTransform< TScalar >, itk::CenteredEuler3DTransform< TScalar >, itk::ScaleLogarithmicTransform< TScalar, NDimensions >, itk::CenteredAffineTransform< TScalar, NDimensions >, and itk::Euler3DTransform< TScalar >.
Definition at line 362 of file itkTransform.h.
|
inlinevirtual |
Indicates the category transform. e.g. an affine transform, or a local one, e.g. a deformation field.
Implements itk::TransformBaseTemplate< TScalar >.
Reimplemented in itk::DisplacementFieldTransform< TScalar, NDimensions >, itk::CompositeTransform< TScalar, NDimensions >, itk::BSplineBaseTransform< TScalar, NDimensions, VSplineOrder >, itk::MultiTransform< TScalar, NDimensions, NSubDimensions >, itk::MultiTransform< TScalar, NDimensions >, itk::IdentityTransform< TScalar, NDimensions >, itk::KernelTransform< TScalar, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, NInputDimensions, NOutputDimensions >, itk::MatrixOffsetTransformBase< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, itk::MatrixOffsetTransformBase< TScalar, 3, 3 >, and itk::TranslationTransform< TScalar, NDimensions >.
Definition at line 436 of file itkTransform.h.
Referenced by itk::Transform< TScalar, NDimensions, NDimensions >::IsLinear().
|
virtual |
Generate a platform independent name
Implements itk::TransformBaseTemplate< TScalar >.
|
inlineprivate |
Definition at line 564 of file itkTransform.h.
|
inlineprivate |
Definition at line 571 of file itkTransform.h.
|
inlineprivate |
Definition at line 578 of file itkTransform.h.
|
protectedvirtual |
Clone the current transform. This does a complete copy of the transform state to the new transform
Reimplemented from itk::LightObject.
Reimplemented in itk::CompositeTransform< TScalar, NDimensions >, itk::ConstantVelocityFieldTransform< TScalar, NDimensions >, itk::VelocityFieldTransform< TScalar, NDimensions >, itk::BSplineSmoothingOnUpdateDisplacementFieldTransform< TScalar, NDimensions >, and itk::GaussianSmoothingOnUpdateDisplacementFieldTransform< TScalar, NDimensions >.
|
inlinevirtual |
Reimplemented in itk::MatrixOffsetTransformBase< TScalar, NInputDimensions, NOutputDimensions >, itk::MatrixOffsetTransformBase< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, itk::MatrixOffsetTransformBase< TScalar, 3, 3 >, itk::MultiTransform< TScalar, NDimensions, NSubDimensions >, itk::MultiTransform< TScalar, NDimensions >, itk::ScaleTransform< TScalar, NDimensions >, and itk::TranslationTransform< TScalar, NDimensions >.
Definition at line 441 of file itkTransform.h.
itk::Transform< TScalar, NInputDimensions, NOutputDimensions >::itkCloneMacro | ( | Self | ) |
define the Clone method
|
private |
|
protected |
|
pure virtual |
Set the fixed parameters and update internal transformation.
Implemented in itk::MatrixOffsetTransformBase< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, itk::MatrixOffsetTransformBase< TScalar, 3, 3 >, itk::DisplacementFieldTransform< TScalar, NDimensions >, itk::MultiTransform< TScalar, NDimensions >, itk::TranslationTransform< TScalar, NDimensions >, itk::CenteredSimilarity2DTransform< TScalar >, itk::CenteredRigid2DTransform< TScalar >, itk::ConstantVelocityFieldTransform< TScalar, NDimensions >, itk::VelocityFieldTransform< TScalar, NDimensions >, and itk::ScaleTransform< TScalar, NDimensions >.
|
pure 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< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, itk::MatrixOffsetTransformBase< TScalar, 3, 3 >, itk::DisplacementFieldTransform< TScalar, NDimensions >, itk::MultiTransform< TScalar, NDimensions >, itk::Rigid2DTransform< TScalar >, itk::Similarity2DTransform< TScalar >, itk::CenteredSimilarity2DTransform< TScalar >, itk::CenteredRigid2DTransform< TScalar >, itk::QuaternionRigidTransform< TScalar >, itk::Rigid3DTransform< TScalar >, itk::ScaleSkewVersor3DTransform< TScalar >, itk::TranslationTransform< TScalar, NDimensions >, itk::Similarity3DTransform< TScalar >, itk::ScaleTransform< TScalar, NDimensions >, itk::VersorRigid3DTransform< TScalar >, itk::VersorTransform< TScalar >, itk::ScaleVersor3DTransform< TScalar >, itk::CenteredAffineTransform< TScalar, NDimensions >, itk::CenteredEuler3DTransform< TScalar >, itk::Euler3DTransform< TScalar >, and itk::ScaleLogarithmicTransform< TScalar, NDimensions >.
Referenced by itk::Transform< TScalar, NDimensions, NDimensions >::SetParametersByValue().
|
inlinevirtual |
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 356 of file itkTransform.h.
|
inlinevirtual |
Method to transform a CovariantVector.
Reimplemented in itk::MatrixOffsetTransformBase< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, and itk::MatrixOffsetTransformBase< TScalar, 3, 3 >.
Definition at line 238 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< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, and itk::MatrixOffsetTransformBase< TScalar, 3, 3 >.
Definition at line 255 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< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, and itk::MatrixOffsetTransformBase< TScalar, 3, 3 >.
Definition at line 272 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< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, and itk::MatrixOffsetTransformBase< TScalar, 3, 3 >.
Definition at line 291 of file itkTransform.h.
|
virtual |
|
pure virtual |
Method to transform a point.
Implemented in itk::MatrixOffsetTransformBase< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, and itk::MatrixOffsetTransformBase< TScalar, 3, 3 >.
|
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< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, and itk::MatrixOffsetTransformBase< TScalar, 3, 3 >.
Definition at line 313 of file itkTransform.h.
|
inlinevirtual |
Method to transform a ssr tensor stored in a VectorImage
Reimplemented in itk::MatrixOffsetTransformBase< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, and itk::MatrixOffsetTransformBase< TScalar, 3, 3 >.
Definition at line 322 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< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, and itk::MatrixOffsetTransformBase< TScalar, 3, 3 >.
Definition at line 192 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< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, and itk::MatrixOffsetTransformBase< TScalar, 3, 3 >.
Definition at line 207 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< TScalar, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TScalar, 2, 2 >, and itk::MatrixOffsetTransformBase< TScalar, 3, 3 >.
Definition at line 222 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. |
Reimplemented in itk::VersorRigid3DTransform< TScalar >.
|
static |
Dimension of the domain space.
Definition at line 95 of file itkTransform.h.
|
mutableprotected |
Definition at line 557 of file itkTransform.h.
|
mutableprotected |
Definition at line 546 of file itkTransform.h.
Referenced by itk::Transform< TScalar, NDimensions, NDimensions >::GetFixedParameters().
|
mutableprotected |
Definition at line 545 of file itkTransform.h.
Referenced by itk::Transform< TScalar, NDimensions, NDimensions >::GetNumberOfParameters(), and itk::Transform< TScalar, NDimensions, NDimensions >::GetParameters().
|
static |
Dimension of the domain space.
Definition at line 96 of file itkTransform.h.