ITK
4.9.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, 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.
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Array < ParametersValueType > | DerivativeType |
typedef Matrix< double, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> | DirectionChangeMatrix |
typedef Superclass::FixedParametersType | FixedParametersType |
typedef Superclass::FixedParametersValueType | FixedParametersValueType |
typedef CovariantVector < TParametersValueType, NInputDimensions > | InputCovariantVectorType |
typedef DiffusionTensor3D < TParametersValueType > | InputDiffusionTensor3DType |
typedef Matrix< double, itkGetStaticConstMacro(InputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> | InputDirectionMatrix |
typedef Point < TParametersValueType, NInputDimensions > | InputPointType |
typedef SymmetricSecondRankTensor < TParametersValueType, NInputDimensions > | InputSymmetricSecondRankTensorType |
typedef VariableLengthVector < TParametersValueType > | InputVectorPixelType |
typedef Vector < TParametersValueType, NInputDimensions > | InputVectorType |
typedef vnl_vector_fixed < TParametersValueType, NInputDimensions > | InputVnlVectorType |
typedef InverseTransformBaseType::Pointer | InverseTransformBasePointer |
typedef Transform < TParametersValueType, NOutputDimensions, NInputDimensions > | InverseTransformBaseType |
typedef Array2D < ParametersValueType > | JacobianType |
typedef Matrix < TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> | MatrixType |
typedef Superclass::NumberOfParametersType | NumberOfParametersType |
typedef CovariantVector < TParametersValueType, NOutputDimensions > | OutputCovariantVectorType |
typedef DiffusionTensor3D < TParametersValueType > | OutputDiffusionTensor3DType |
typedef Matrix< double, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(OutputSpaceDimension)> | OutputDirectionMatrix |
typedef Point < TParametersValueType, NOutputDimensions > | OutputPointType |
typedef SymmetricSecondRankTensor < TParametersValueType, NOutputDimensions > | OutputSymmetricSecondRankTensorType |
typedef VariableLengthVector < TParametersValueType > | OutputVectorPixelType |
typedef Vector < TParametersValueType, NOutputDimensions > | OutputVectorType |
typedef vnl_vector_fixed < TParametersValueType, NOutputDimensions > | OutputVnlVectorType |
typedef Superclass::ParametersType | ParametersType |
typedef Superclass::ParametersValueType | ParametersValueType |
typedef SmartPointer< Self > | Pointer |
typedef ParametersValueType | ScalarType |
typedef Transform | Self |
typedef TransformBaseTemplate < TParametersValueType > | Superclass |
typedef Superclass::TransformCategoryType | TransformCategoryType |
Public Types inherited from itk::TransformBaseTemplate< TParametersValueType > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef OptimizerParameters < FixedParametersValueType > | FixedParametersType |
typedef double | FixedParametersValueType |
typedef IdentifierType | NumberOfParametersType |
typedef OptimizerParameters < ParametersValueType > | ParametersType |
typedef TParametersValueType | ParametersValueType |
typedef SmartPointer< Self > | Pointer |
typedef TransformBaseTemplate | Self |
typedef Object | Superclass |
enum | TransformCategoryType { UnknownTransformCategory =0, Linear =1, BSpline =2, Spline =3, DisplacementField =4, VelocityField =5 } |
Public Types inherited from itk::Object | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef Object | Self |
typedef LightObject | Superclass |
Public Types inherited from itk::LightObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef LightObject | Self |
Static Public Attributes | |
static const unsigned int | InputSpaceDimension = NInputDimensions |
static const unsigned int | OutputSpaceDimension = NOutputDimensions |
Protected Member Functions | |
virtual LightObject::Pointer | InternalClone () const override |
OutputDiffusionTensor3DType | PreservationOfPrincipalDirectionDiffusionTensor3DReorientation (const InputDiffusionTensor3DType, const JacobianType) const |
Transform () | |
Transform (NumberOfParametersType NumberOfParameters) | |
virtual | ~Transform () |
Protected Member Functions inherited from itk::TransformBaseTemplate< TParametersValueType > | |
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 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 |
FixedParametersType | m_FixedParameters |
ParametersType | m_Parameters |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
Private Member Functions | |
void | operator= (const Self &) ITK_DELETE_FUNCTION |
Transform (const Self &) ITK_DELETE_FUNCTION | |
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 () |
typedef SmartPointer<const Self> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::ConstPointer |
Definition at line 89 of file itkTransform.h.
typedef Array<ParametersValueType> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::DerivativeType |
Definition at line 119 of file itkTransform.h.
typedef Matrix<double, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::DirectionChangeMatrix |
Definition at line 182 of file itkTransform.h.
typedef Superclass::FixedParametersType itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::FixedParametersType |
Type of the input parameters.
Definition at line 115 of file itkTransform.h.
typedef Superclass::FixedParametersValueType itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::FixedParametersValueType |
Definition at line 116 of file itkTransform.h.
typedef CovariantVector<TParametersValueType, NInputDimensions> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputCovariantVectorType |
Standard covariant vector type for this class
Definition at line 148 of file itkTransform.h.
typedef DiffusionTensor3D<TParametersValueType> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputDiffusionTensor3DType |
Definition at line 143 of file itkTransform.h.
typedef Matrix<double, itkGetStaticConstMacro(InputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputDirectionMatrix |
Definition at line 178 of file itkTransform.h.
typedef Point<TParametersValueType, NInputDimensions> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputPointType |
Standard coordinate point type for this class
Definition at line 157 of file itkTransform.h.
typedef SymmetricSecondRankTensor<TParametersValueType,NInputDimensions> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputSymmetricSecondRankTensorType |
Definition at line 138 of file itkTransform.h.
typedef VariableLengthVector<TParametersValueType> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputVectorPixelType |
Standard variable length vector type for this class this provides an interface for the VectorImage class
Definition at line 133 of file itkTransform.h.
typedef Vector<TParametersValueType, NInputDimensions> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputVectorType |
Standard vector type for this class.
Definition at line 128 of file itkTransform.h.
typedef vnl_vector_fixed<TParametersValueType, NInputDimensions> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InputVnlVectorType |
Standard vnl_vector type for this class.
Definition at line 153 of file itkTransform.h.
typedef InverseTransformBaseType::Pointer itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::InverseTransformBasePointer |
Definition at line 165 of file itkTransform.h.
typedef Transform<TParametersValueType, NOutputDimensions, NInputDimensions> itk::Transform< TParametersValueType, 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 163 of file itkTransform.h.
typedef Array2D<ParametersValueType> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::JacobianType |
Type of the Jacobian matrix.
Definition at line 125 of file itkTransform.h.
typedef Matrix<TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::MatrixType |
Definition at line 169 of file itkTransform.h.
typedef Superclass::NumberOfParametersType itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::NumberOfParametersType |
Definition at line 184 of file itkTransform.h.
typedef CovariantVector<TParametersValueType, NOutputDimensions> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputCovariantVectorType |
Definition at line 150 of file itkTransform.h.
typedef DiffusionTensor3D<TParametersValueType> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputDiffusionTensor3DType |
Definition at line 144 of file itkTransform.h.
typedef Matrix<double, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(OutputSpaceDimension)> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputDirectionMatrix |
Definition at line 174 of file itkTransform.h.
typedef Point<TParametersValueType, NOutputDimensions> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputPointType |
Definition at line 158 of file itkTransform.h.
typedef SymmetricSecondRankTensor<TParametersValueType,NOutputDimensions> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputSymmetricSecondRankTensorType |
Definition at line 140 of file itkTransform.h.
typedef VariableLengthVector<TParametersValueType> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputVectorPixelType |
Definition at line 134 of file itkTransform.h.
typedef Vector<TParametersValueType, NOutputDimensions> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputVectorType |
Definition at line 129 of file itkTransform.h.
typedef vnl_vector_fixed<TParametersValueType, NOutputDimensions> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputVnlVectorType |
Definition at line 154 of file itkTransform.h.
typedef Superclass::ParametersType itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::ParametersType |
Definition at line 117 of file itkTransform.h.
typedef Superclass::ParametersValueType itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::ParametersValueType |
Definition at line 118 of file itkTransform.h.
typedef SmartPointer<Self> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::Pointer |
Definition at line 88 of file itkTransform.h.
typedef ParametersValueType itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::ScalarType |
Type of the scalar representing coordinate and vector elements.
Definition at line 122 of file itkTransform.h.
typedef Transform itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::Self |
Standard class typedefs.
Definition at line 86 of file itkTransform.h.
typedef TransformBaseTemplate<TParametersValueType> itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::Superclass |
Definition at line 87 of file itkTransform.h.
typedef Superclass::TransformCategoryType itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::TransformCategoryType |
Definition at line 453 of file itkTransform.h.
|
protected |
|
protected |
|
inlineprotectedvirtual |
Definition at line 563 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< 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 >.
Referenced by itk::Transform< TParametersValueType, NDimensions, NSubDimensions >::ComputeJacobianWithRespectToParametersCachedTemporaries().
|
inlinevirtual |
Definition at line 526 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 538 of file itkTransform.h.
|
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.
|
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.
|
inlineoverridevirtual |
Get the Fixed Parameters.
Implements itk::TransformBaseTemplate< TParametersValueType >.
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >, itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >, itk::CompositeTransform< TParametersValueType, NDimensions >, itk::MultiTransform< TParametersValueType, NDimensions, NSubDimensions >, itk::MultiTransform< TParametersValueType, NDimensions, NDimensions >, itk::IdentityTransform< TParametersValueType, NDimensions >, itk::TranslationTransform< TParametersValueType, NDimensions >, itk::KernelTransform< TParametersValueType, NDimensions >, itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >, itk::CenteredSimilarity2DTransform< TParametersValueType >, and itk::CenteredRigid2DTransform< TParametersValueType >.
Definition at line 386 of file itkTransform.h.
|
inlineoverridevirtual |
Get the size of the input space
Implements itk::TransformBaseTemplate< TParametersValueType >.
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 434 of file itkTransform.h.
|
inlinevirtual |
Return an inverse of this transform. If the inverse has not been implemented, return ITK_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::AffineTransform< TParametersValueType, NDimensions >, itk::CompositeTransform< 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 >, itkv3::Rigid3DTransform< TParametersValueType >, itk::ScalableAffineTransform< TParametersValueType, NDimensions >, itk::CenteredEuler3DTransform< TParametersValueType >, itk::CenteredAffineTransform< TParametersValueType, NDimensions >, and itk::Euler2DTransform< TParametersValueType >.
Definition at line 445 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::MultiTransform< TParametersValueType, NDimensions, NDimensions >, itk::KernelTransform< TParametersValueType, NDimensions >, itk::Rigid3DTransform< TParametersValueType >, itkv3::Rigid3DTransform< TParametersValueType >, 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::Rigid3DPerspectiveTransform< TParametersValueType >, itk::BSplineSmoothingOnUpdateDisplacementFieldTransform< TParametersValueType, NDimensions >, itk::QuaternionRigidTransform< TParametersValueType >, itk::ScaleVersor3DTransform< TParametersValueType >, itk::Euler3DTransform< TParametersValueType >, itk::Similarity3DTransform< 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::FixedCenterOfRotationAffineTransform< TParametersValueType, NDimensions >, itk::ConstantVelocityFieldTransform< TParametersValueType, NDimensions >, itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >, itk::CenteredAffineTransform< TParametersValueType, NDimensions >, itk::ScalableAffineTransform< TParametersValueType, NDimensions >, and itk::VelocityFieldTransform< TParametersValueType, NDimensions >.
Referenced by itk::Transform< TParametersValueType, NDimensions, NSubDimensions >::ComputeJacobianWithRespectToPosition(), itk::Transform< TParametersValueType, NDimensions, NSubDimensions >::TransformCovariantVector(), itk::Transform< TParametersValueType, NDimensions, NSubDimensions >::TransformDiffusionTensor3D(), itk::Transform< TParametersValueType, NDimensions, NSubDimensions >::TransformSymmetricSecondRankTensor(), and itk::Transform< TParametersValueType, NDimensions, NSubDimensions >::TransformVector().
|
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 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::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 409 of file itkTransform.h.
|
inlineoverridevirtual |
Return the number of parameters that completely define the Transfom
Implements itk::TransformBaseTemplate< TParametersValueType >.
Reimplemented in itk::CompositeTransform< TParametersValueType, NDimensions >, itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >, itk::BSplineDeformableTransform< TParametersValueType, NDimensions, VSplineOrder >, itk::MultiTransform< TParametersValueType, NDimensions, NSubDimensions >, itk::MultiTransform< TParametersValueType, NDimensions, NDimensions >, itk::BSplineTransform< TParametersValueType, NDimensions, VSplineOrder >, and itk::TranslationTransform< TParametersValueType, NDimensions >.
Definition at line 415 of file itkTransform.h.
Referenced by itk::Transform< TParametersValueType, NDimensions, NSubDimensions >::GetNumberOfLocalParameters(), itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfParameters(), and itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfParameters().
|
inlineoverridevirtual |
Get the size of the output space
Implements itk::TransformBaseTemplate< TParametersValueType >.
Definition at line 109 of file itkTransform.h.
|
inlineoverridevirtual |
Get the Transformation Parameters.
Implements itk::TransformBaseTemplate< TParametersValueType >.
Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >, itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >, itk::CompositeTransform< TParametersValueType, NDimensions >, itk::MultiTransform< TParametersValueType, NDimensions, NSubDimensions >, itk::MultiTransform< TParametersValueType, NDimensions, NDimensions >, itk::IdentityTransform< TParametersValueType, NDimensions >, itk::Rigid2DTransform< TParametersValueType >, itk::KernelTransform< TParametersValueType, NDimensions >, itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >, itk::Similarity2DTransform< TParametersValueType >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::Rigid3DPerspectiveTransform< TParametersValueType >, itk::CenteredRigid2DTransform< TParametersValueType >, itk::ScaleSkewVersor3DTransform< TParametersValueType >, itk::QuaternionRigidTransform< TParametersValueType >, itk::Similarity3DTransform< TParametersValueType >, itk::TranslationTransform< TParametersValueType, NDimensions >, itk::ScaleVersor3DTransform< TParametersValueType >, itk::ScaleTransform< TParametersValueType, NDimensions >, itk::VersorTransform< TParametersValueType >, itk::VersorRigid3DTransform< TParametersValueType >, itk::CenteredEuler3DTransform< TParametersValueType >, itk::ScaleLogarithmicTransform< TParametersValueType, NDimensions >, itk::Euler3DTransform< TParametersValueType >, and itk::CenteredAffineTransform< TParametersValueType, NDimensions >.
Definition at line 377 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::DisplacementFieldTransform< TParametersValueType, NDimensions >, itk::CompositeTransform< TParametersValueType, NDimensions >, itk::BSplineBaseTransform< TParametersValueType, NDimensions, VSplineOrder >, itk::MultiTransform< TParametersValueType, NDimensions, NSubDimensions >, itk::MultiTransform< TParametersValueType, NDimensions, NDimensions >, itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >, itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >, itk::IdentityTransform< TParametersValueType, NDimensions >, itk::KernelTransform< TParametersValueType, NDimensions >, and itk::TranslationTransform< TParametersValueType, NDimensions >.
Definition at line 458 of file itkTransform.h.
Referenced by itk::Transform< TParametersValueType, NDimensions, NSubDimensions >::IsLinear().
|
overridevirtual |
Generate a platform independent name
Implements itk::TransformBaseTemplate< TParametersValueType >.
|
inlinestaticprivate |
Definition at line 587 of file itkTransform.h.
|
inlinestaticprivate |
Definition at line 594 of file itkTransform.h.
|
inlinestaticprivate |
Definition at line 601 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.
Reimplemented in itk::CompositeTransform< TParametersValueType, NDimensions >, itk::VelocityFieldTransform< TParametersValueType, NDimensions >, itk::ConstantVelocityFieldTransform< TParametersValueType, NDimensions >, itk::BSplineSmoothingOnUpdateDisplacementFieldTransform< TParametersValueType, NDimensions >, and itk::GaussianSmoothingOnUpdateDisplacementFieldTransform< TParametersValueType, NDimensions >.
|
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 463 of file itkTransform.h.
itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >::itkCloneMacro | ( | Self | ) |
define the Clone method
|
private |
|
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 >, and itk::VelocityFieldTransform< TParametersValueType, NDimensions >.
|
overridepure virtual |
Set the transformation parameters and update internal transformation. SetParameters gives the transform the option to set it's parameters by keeping a reference to the parameters, or by copying. To force the transform to copy it's parameters call SetParametersByValue.
Implements itk::TransformBaseTemplate< TParametersValueType >.
Implemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >, itk::DisplacementFieldTransform< TParametersValueType, NDimensions >, itk::MultiTransform< TParametersValueType, NDimensions, NDimensions >, and itk::TranslationTransform< TParametersValueType, NDimensions >.
Referenced by itk::Transform< TParametersValueType, NDimensions, NSubDimensions >::SetParametersByValue().
|
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 itk::TransformBaseTemplate< TParametersValueType >.
Definition at line 357 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 239 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 256 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 273 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 292 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 314 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 323 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 193 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 208 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 223 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 95 of file itkTransform.h.
|
mutableprotected |
Definition at line 579 of file itkTransform.h.
|
mutableprotected |
Definition at line 568 of file itkTransform.h.
Referenced by itk::Transform< TParametersValueType, NDimensions, NSubDimensions >::GetFixedParameters(), and itk::Transform< TParametersValueType, NDimensions, NSubDimensions >::GetNumberOfFixedParameters().
|
mutableprotected |
Definition at line 567 of file itkTransform.h.
Referenced by itk::Transform< TParametersValueType, NDimensions, NSubDimensions >::GetNumberOfParameters(), and itk::Transform< TParametersValueType, NDimensions, NSubDimensions >::GetParameters().
|
static |
Dimension of the domain space.
Definition at line 96 of file itkTransform.h.