ITK  5.3.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Private Member Functions | Private Attributes | List of all members
itk::Transform< TParametersValueType, VInputDimension, VOutputDimension > Class Template Referenceabstract

#include <itkTransform.h>

+ Inheritance diagram for itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >:
+ Collaboration diagram for itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >:

Public Types

using ConstPointer = SmartPointer< const Self >
 
using DerivativeType = Array< ParametersValueType >
 
using DirectionChangeMatrix = Matrix< double, Self::OutputSpaceDimension, Self::InputSpaceDimension >
 
using InputCovariantVectorType = CovariantVector< TParametersValueType, VInputDimension >
 
using InputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType >
 
using InputDirectionMatrix = Matrix< double, Self::InputSpaceDimension, Self::InputSpaceDimension >
 
using InputPointType = Point< TParametersValueType, VInputDimension >
 
using InputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, VInputDimension >
 
using InputVectorPixelType = VariableLengthVector< TParametersValueType >
 
using InputVectorType = Vector< TParametersValueType, VInputDimension >
 
using InputVnlVectorType = vnl_vector_fixed< TParametersValueType, VInputDimension >
 
using InverseJacobianPositionType = vnl_matrix_fixed< ParametersValueType, VInputDimension, VOutputDimension >
 
using InverseTransformBasePointer = typename InverseTransformBaseType::Pointer
 
using InverseTransformBaseType = Transform< TParametersValueType, VOutputDimension, VInputDimension >
 
using JacobianPositionType = vnl_matrix_fixed< ParametersValueType, VOutputDimension, VInputDimension >
 
using JacobianType = Array2D< ParametersValueType >
 
using MatrixType = Matrix< TParametersValueType, Self::OutputSpaceDimension, Self::InputSpaceDimension >
 
using OutputCovariantVectorType = CovariantVector< TParametersValueType, VOutputDimension >
 
using OutputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType >
 
using OutputDirectionMatrix = Matrix< double, Self::OutputSpaceDimension, Self::OutputSpaceDimension >
 
using OutputPointType = Point< TParametersValueType, VOutputDimension >
 
using OutputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, VOutputDimension >
 
using OutputVectorPixelType = VariableLengthVector< TParametersValueType >
 
using OutputVectorType = Vector< TParametersValueType, VOutputDimension >
 
using OutputVnlVectorType = vnl_vector_fixed< TParametersValueType, VOutputDimension >
 
using Pointer = SmartPointer< Self >
 
using ScalarType = ParametersValueType
 
using Self = Transform
 
using Superclass = TransformBaseTemplate< TParametersValueType >
 
- Public Types inherited from itk::TransformBaseTemplate< TParametersValueType >
using ConstPointer = SmartPointer< const Self >
 
using FixedParametersType = OptimizerParameters< FixedParametersValueType >
 
using FixedParametersValueType = double
 
using NumberOfParametersType = IdentifierType
 
using ParametersType = OptimizerParameters< ParametersValueType >
 
using ParametersValueType = TParametersValueType
 
using Pointer = SmartPointer< Self >
 
using Self = TransformBaseTemplate
 
using Superclass = Object
 
using TransformCategoryEnum = TransformBaseTemplateEnums::TransformCategory
 
- Public Types inherited from itk::Object
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = Object
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

virtual void ComputeJacobianWithRespectToParametersCachedTemporaries (const InputPointType &p, JacobianType &jacobian, JacobianType &) const
 
void CopyInFixedParameters (const FixedParametersValueType *const begin, const FixedParametersValueType *const end) override
 
void CopyInParameters (const ParametersValueType *const begin, const ParametersValueType *const end) override
 
const FixedParametersTypeGetFixedParameters () const override
 
unsigned int GetInputSpaceDimension () const override
 
virtual const std::string & GetInputSpaceName () const
 
bool GetInverse (Self *) const
 
virtual InverseTransformBasePointer GetInverseTransform () const
 
virtual const char * GetNameOfClass () const
 
virtual NumberOfParametersType GetNumberOfFixedParameters () const
 
virtual NumberOfParametersType GetNumberOfLocalParameters () const
 
NumberOfParametersType GetNumberOfParameters () const override
 
unsigned int GetOutputSpaceDimension () const override
 
virtual const std::string & GetOutputSpaceName () const
 
const ParametersTypeGetParameters () const override
 
TransformCategoryEnum GetTransformCategory () const override
 
std::string GetTransformTypeAsString () const override
 
virtual bool IsLinear () const
 
 itkCloneMacro (Self)
 
void SetFixedParameters (const FixedParametersType &) override=0
 
virtual void SetInputSpaceName (std::string _arg)
 
virtual void SetOutputSpaceName (std::string _arg)
 
void SetParameters (const ParametersType &) override=0
 
void SetParametersByValue (const ParametersType &p) override
 
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const
 
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &vector, const InputPointType &point) const
 
virtual OutputVectorPixelType TransformCovariantVector (const InputVectorPixelType &) const
 
virtual OutputVectorPixelType TransformCovariantVector (const InputVectorPixelType &vector, const InputPointType &point) const
 
virtual OutputDiffusionTensor3DType TransformDiffusionTensor3D (const InputDiffusionTensor3DType &) const
 
virtual OutputDiffusionTensor3DType TransformDiffusionTensor3D (const InputDiffusionTensor3DType &inputTensor, const InputPointType &point) const
 
virtual OutputVectorPixelType TransformDiffusionTensor3D (const InputVectorPixelType &) const
 
virtual OutputVectorPixelType TransformDiffusionTensor3D (const InputVectorPixelType &inputTensor, const InputPointType &point) const
 
virtual OutputPointType TransformPoint (const InputPointType &) const =0
 
virtual OutputSymmetricSecondRankTensorType TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &) const
 
virtual OutputSymmetricSecondRankTensorType TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &inputTensor, const InputPointType &point) const
 
virtual OutputVectorPixelType TransformSymmetricSecondRankTensor (const InputVectorPixelType &) const
 
virtual OutputVectorPixelType TransformSymmetricSecondRankTensor (const InputVectorPixelType &inputTensor, const InputPointType &point) const
 
virtual OutputVectorPixelType TransformVector (const InputVectorPixelType &) const
 
virtual OutputVectorPixelType TransformVector (const InputVectorPixelType &vector, const InputPointType &point) const
 
virtual OutputVectorType TransformVector (const InputVectorType &) const
 
virtual OutputVectorType TransformVector (const InputVectorType &vector, const InputPointType &point) const
 
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
 
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &vector, const InputPointType &point) const
 
virtual void UpdateTransformParameters (const DerivativeType &update, ParametersValueType factor=1.0)
 
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const =0
 
virtual void ComputeJacobianWithRespectToPosition (const InputPointType &, JacobianPositionType &) const
 
 itkLegacyMacro (virtual void ComputeJacobianWithRespectToPosition(const InputPointType &x, JacobianType &jacobian) const)
 
virtual void ComputeInverseJacobianWithRespectToPosition (const InputPointType &pnt, InverseJacobianPositionType &jacobian) const
 
 itkLegacyMacro (virtual void ComputeInverseJacobianWithRespectToPosition(const InputPointType &x, JacobianType &jacobian) const)
 
template<typename TImage >
std::enable_if_t< TImage::ImageDimension==VInputDimension &&TImage::ImageDimension==VOutputDimension, void > ApplyToImageMetadata (TImage *image) const
 
template<typename TImage >
std::enable_if_t< TImage::ImageDimension==VInputDimension &&TImage::ImageDimension==VOutputDimension, void > ApplyToImageMetadata (SmartPointer< TImage > image) const
 
- Public Member Functions inherited from itk::TransformBaseTemplate< TParametersValueType >
virtual void SetFixedParameters (const FixedParametersType &)=0
 
virtual void SetParameters (const ParametersType &)=0
 
virtual void SetParametersByValue (const ParametersType &p)=0
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
unsigned long AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const
 
LightObject::Pointer CreateAnother () const override
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetReferenceCount (int) override
 
void UnRegister () const noexcept override
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
void SetMetaDataDictionary (MetaDataDictionary &&rrhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
Pointer Clone () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Attributes

static constexpr unsigned int InputSpaceDimension = VInputDimension
 
static constexpr unsigned int OutputSpaceDimension = VOutputDimension
 

Protected Member Functions

LightObject::Pointer InternalClone () const override
 
OutputDiffusionTensor3DType PreservationOfPrincipalDirectionDiffusionTensor3DReorientation (const InputDiffusionTensor3DType &, const InverseJacobianPositionType &) const
 
 Transform ()=default
 
 Transform (NumberOfParametersType numberOfParameters)
 
 ~Transform () override=default
 
- Protected Member Functions inherited from 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 &timeStamp)
 
 ~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

FixedParametersType m_FixedParameters
 
ParametersType m_Parameters
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount
 

Static Private Member Functions

static std::string GetTransformTypeAsString (double *)
 
static std::string GetTransformTypeAsString (float *)
 
template<typename TType >
static std::string GetTransformTypeAsString (TType *)
 

Private Attributes

std::string m_InputSpaceName
 
std::string m_OutputSpaceName
 

Additional Inherited Members

- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool val)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Detailed Description

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
class itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >

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.

Registration Framework Support
Typically a Transform class has several methods for setting its parameters. For use in the registration framework, the parameters must also be represented by an array of doubles to allow communication with generic optimizers. The Array of transformation parameters is set using the SetParameters() method.

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.

Member Typedef Documentation

◆ ConstPointer

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::ConstPointer = SmartPointer<const Self>

Definition at line 93 of file itkTransform.h.

◆ DerivativeType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::DerivativeType = Array<ParametersValueType>

Definition at line 138 of file itkTransform.h.

◆ DirectionChangeMatrix

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::DirectionChangeMatrix = Matrix<double, Self::OutputSpaceDimension, Self::InputSpaceDimension>

Definition at line 187 of file itkTransform.h.

◆ InputCovariantVectorType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InputCovariantVectorType = CovariantVector<TParametersValueType, VInputDimension>

Standard covariant vector type for this class

Definition at line 166 of file itkTransform.h.

◆ InputDiffusionTensor3DType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InputDiffusionTensor3DType = DiffusionTensor3D<TParametersValueType>

Definition at line 162 of file itkTransform.h.

◆ InputDirectionMatrix

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InputDirectionMatrix = Matrix<double, Self::InputSpaceDimension, Self::InputSpaceDimension>

Definition at line 186 of file itkTransform.h.

◆ InputPointType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InputPointType = Point<TParametersValueType, VInputDimension>

Standard coordinate point type for this class

Definition at line 174 of file itkTransform.h.

◆ InputSymmetricSecondRankTensorType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InputSymmetricSecondRankTensorType = SymmetricSecondRankTensor<TParametersValueType, VInputDimension>

Definition at line 158 of file itkTransform.h.

◆ InputVectorPixelType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InputVectorPixelType = VariableLengthVector<TParametersValueType>

Standard variable length vector type for this class this provides an interface for the VectorImage class

Definition at line 154 of file itkTransform.h.

◆ InputVectorType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InputVectorType = Vector<TParametersValueType, VInputDimension>

Standard vector type for this class.

Definition at line 149 of file itkTransform.h.

◆ InputVnlVectorType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InputVnlVectorType = vnl_vector_fixed<TParametersValueType, VInputDimension>

Standard vnl_vector type for this class.

Definition at line 170 of file itkTransform.h.

◆ InverseJacobianPositionType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InverseJacobianPositionType = vnl_matrix_fixed<ParametersValueType, VInputDimension, VOutputDimension>

Definition at line 146 of file itkTransform.h.

◆ InverseTransformBasePointer

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InverseTransformBasePointer = typename InverseTransformBaseType::Pointer

Definition at line 181 of file itkTransform.h.

◆ InverseTransformBaseType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InverseTransformBaseType = Transform<TParametersValueType, VOutputDimension, VInputDimension>

Base inverse transform type. This type should not be changed to the concrete inverse transform type or inheritance would be lost.

Definition at line 179 of file itkTransform.h.

◆ JacobianPositionType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::JacobianPositionType = vnl_matrix_fixed<ParametersValueType, VOutputDimension, VInputDimension>

Definition at line 145 of file itkTransform.h.

◆ JacobianType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::JacobianType = Array2D<ParametersValueType>

Type of the Jacobian matrix.

Definition at line 144 of file itkTransform.h.

◆ MatrixType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::MatrixType = Matrix<TParametersValueType, Self::OutputSpaceDimension, Self::InputSpaceDimension>

Definition at line 183 of file itkTransform.h.

◆ OutputCovariantVectorType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::OutputCovariantVectorType = CovariantVector<TParametersValueType, VOutputDimension>

Definition at line 167 of file itkTransform.h.

◆ OutputDiffusionTensor3DType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::OutputDiffusionTensor3DType = DiffusionTensor3D<TParametersValueType>

Definition at line 163 of file itkTransform.h.

◆ OutputDirectionMatrix

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::OutputDirectionMatrix = Matrix<double, Self::OutputSpaceDimension, Self::OutputSpaceDimension>

Definition at line 185 of file itkTransform.h.

◆ OutputPointType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::OutputPointType = Point<TParametersValueType, VOutputDimension>

Definition at line 175 of file itkTransform.h.

◆ OutputSymmetricSecondRankTensorType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::OutputSymmetricSecondRankTensorType = SymmetricSecondRankTensor<TParametersValueType, VOutputDimension>

Definition at line 159 of file itkTransform.h.

◆ OutputVectorPixelType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::OutputVectorPixelType = VariableLengthVector<TParametersValueType>

Definition at line 155 of file itkTransform.h.

◆ OutputVectorType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::OutputVectorType = Vector<TParametersValueType, VOutputDimension>

Definition at line 150 of file itkTransform.h.

◆ OutputVnlVectorType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::OutputVnlVectorType = vnl_vector_fixed<TParametersValueType, VOutputDimension>

Definition at line 171 of file itkTransform.h.

◆ Pointer

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::Pointer = SmartPointer<Self>

Definition at line 92 of file itkTransform.h.

◆ ScalarType

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::ScalarType = ParametersValueType

Type of the scalar representing coordinate and vector elements.

Definition at line 141 of file itkTransform.h.

◆ Self

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::Self = Transform

Standard class type aliases.

Definition at line 90 of file itkTransform.h.

◆ Superclass

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
using itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::Superclass = TransformBaseTemplate<TParametersValueType>

Definition at line 91 of file itkTransform.h.

Constructor & Destructor Documentation

◆ Transform() [1/2]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::Transform ( )
protecteddefault

Default-constructor. Creates a transform, having empty Parameters and FixedParameters.

◆ Transform() [2/2]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::Transform ( NumberOfParametersType  numberOfParameters)
protected

◆ ~Transform()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::~Transform ( )
overrideprotecteddefault

Member Function Documentation

◆ ApplyToImageMetadata() [1/2]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
template<typename TImage >
std::enable_if_t<TImage::ImageDimension == VInputDimension && TImage::ImageDimension == VOutputDimension, void> itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::ApplyToImageMetadata ( SmartPointer< TImage >  image) const
inline

Apply this transform to an image without resampling.

Updates image metadata (origin, spacing, direction cosines matrix) in place.

Only available when input and output space are of the same dimension.
Only works properly for linear transforms.

The image parameter may be either a SmartPointer or a raw pointer.

Definition at line 579 of file itkTransform.h.

◆ ApplyToImageMetadata() [2/2]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
template<typename TImage >
std::enable_if_t<TImage::ImageDimension == VInputDimension && TImage::ImageDimension == VOutputDimension, void> itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::ApplyToImageMetadata ( TImage *  image) const

Apply this transform to an image without resampling.

Updates image metadata (origin, spacing, direction cosines matrix) in place.

Only available when input and output space are of the same dimension.
Only works properly for linear transforms.

The image parameter may be either a SmartPointer or a raw pointer.

◆ ComputeInverseJacobianWithRespectToPosition()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual void itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::ComputeInverseJacobianWithRespectToPosition ( const InputPointType pnt,
InverseJacobianPositionType jacobian 
) const
virtual

This provides the ability to get a local jacobian value in a dense/local transform, e.g. DisplacementFieldTransform. For such transforms it would be unclear what parameters would refer to. Generally, global transforms should return an identity jacobian since there is no change with respect to position.

Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, VDimension, VDimension >, and itk::DisplacementFieldTransform< TParametersValueType, VDimension >.

◆ ComputeJacobianWithRespectToParameters()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual void itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::ComputeJacobianWithRespectToParameters ( const InputPointType ,
JacobianType  
) const
pure virtual

Compute the Jacobian of the transformation

This method computes the Jacobian matrix of the transformation at a given input point. The rank of the Jacobian will also indicate if the transform is invertible at this point.

The Jacobian is be expressed as a matrix of partial derivatives of the output point components with respect to the parameters that defined the transform:

\[ J=\left[ \begin{array}{cccc} \frac{\partial x_{1}}{\partial p_{1}} & \frac{\partial x_{1}}{\partial p_{2}} & \cdots & \frac{\partial x_{1}}{\partial p_{m}}\\ \frac{\partial x_{2}}{\partial p_{1}} & \frac{\partial x_{2}}{\partial p_{2}} & \cdots & \frac{\partial x_{2}}{\partial p_{m}}\\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial x_{n}}{\partial p_{1}} & \frac{\partial x_{n}}{\partial p_{2}} & \cdots & \frac{\partial x_{n}}{\partial p_{m}} \end{array}\right] \]

This is also used for efficient computation of a point-local jacobian for dense transforms. jacobian is assumed to be thread-local variable, otherwise memory corruption will most likely occur during multi-threading. To avoid repetitive memory allocation, pass in 'jacobian' with its size already set.

Implemented in itk::CompositeTransform< TParametersValueType, VDimension >, itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, VDimension, VDimension >, itk::KernelTransform< TParametersValueType, VDimension >, itk::Similarity2DTransform< TParametersValueType >, itk::ScaleSkewVersor3DTransform< TParametersValueType >, itk::ComposeScaleSkewVersor3DTransform< TParametersValueType >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::Similarity3DTransform< TParametersValueType >, itk::ScaleVersor3DTransform< TParametersValueType >, itk::CenteredRigid2DTransform< TParametersValueType >, itk::QuaternionRigidTransform< TParametersValueType >, itk::VersorTransform< TParametersValueType >, itk::VersorRigid3DTransform< TParametersValueType >, itk::Euler3DTransform< TParametersValueType >, itk::CenteredEuler3DTransform< TParametersValueType >, itk::CenteredAffineTransform< TParametersValueType, VDimension >, itk::Rigid2DTransform< TParametersValueType >, and itk::DisplacementFieldTransform< TParametersValueType, VDimension >.

◆ ComputeJacobianWithRespectToParametersCachedTemporaries()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual void itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::ComputeJacobianWithRespectToParametersCachedTemporaries ( const InputPointType p,
JacobianType jacobian,
JacobianType  
) const
inlinevirtual

◆ ComputeJacobianWithRespectToPosition()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual void itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::ComputeJacobianWithRespectToPosition ( const InputPointType ,
JacobianPositionType  
) const
inlinevirtual

This provides the ability to get a local jacobian value in a dense/local transform, e.g. DisplacementFieldTransform. For such transforms it would be unclear what parameters would refer to. Generally, global transforms should return an identity jacobian since there is no change with respect to position.

Reimplemented in itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, VDimension, VDimension >, itk::DisplacementFieldTransform< TParametersValueType, VDimension >, and itk::KernelTransform< TParametersValueType, VDimension >.

Definition at line 542 of file itkTransform.h.

◆ CopyInFixedParameters()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
void itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::CopyInFixedParameters ( const FixedParametersValueType *const  begin,
const FixedParametersValueType *const  end 
)
overridevirtual

This function allow copying a range of values into the FixedParameters The range of values must conform to std::copy(begin, end, m_FixedParameters) requirements.

Implements itk::TransformBaseTemplate< TParametersValueType >.

◆ CopyInParameters()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
void itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::CopyInParameters ( const ParametersValueType *const  begin,
const ParametersValueType *const  end 
)
overridevirtual

This function allow copying a range of values into the Parameters The range of values must conform to std::copy(begin, end, m_Parameters) requirements.

Implements itk::TransformBaseTemplate< TParametersValueType >.

◆ GetFixedParameters()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
const FixedParametersType& itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::GetFixedParameters ( ) const
inlineoverridevirtual

◆ GetInputSpaceDimension()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
unsigned int itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::GetInputSpaceDimension ( ) const
inlineoverridevirtual

Get the size of the input space

Implements itk::TransformBaseTemplate< TParametersValueType >.

Definition at line 107 of file itkTransform.h.

◆ GetInputSpaceName()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual const std::string& itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::GetInputSpaceName ( ) const
virtual

◆ GetInverse()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
bool itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::GetInverse ( Self ) const
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 449 of file itkTransform.h.

◆ GetInverseTransform()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual InverseTransformBasePointer itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::GetInverseTransform ( ) const
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, VInputDimension, VOutputDimension >, itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, VDimension, VDimension >, itk::DisplacementFieldTransform< TParametersValueType, VDimension >, itk::CompositeTransform< TParametersValueType, VDimension >, itk::AffineTransform< TParametersValueType, VDimension >, itk::Rigid2DTransform< TParametersValueType >, itk::IdentityTransform< TParametersValueType, VDimension >, itk::ScaleTransform< TParametersValueType, VDimension >, itk::TranslationTransform< TParametersValueType, VDimension >, itk::Similarity2DTransform< TParametersValueType >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::VelocityFieldTransform< TParametersValueType, VDimension >, itk::CenteredRigid2DTransform< TParametersValueType >, itk::ConstantVelocityFieldTransform< TParametersValueType, VDimension >, itk::ScalableAffineTransform< TParametersValueType, VDimension >, itk::v3::Rigid3DTransform< TParametersValueType >, itk::CenteredEuler3DTransform< TParametersValueType >, itk::CenteredAffineTransform< TParametersValueType, VDimension >, and itk::Euler2DTransform< TParametersValueType >.

Definition at line 461 of file itkTransform.h.

◆ GetNameOfClass()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual const char* itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::TransformBaseTemplate< TParametersValueType >.

Reimplemented in itk::BSplineDeformableTransform< TParametersValueType, VDimension, VSplineOrder >, itk::MatrixOffsetTransformBase< TParametersValueType, VInputDimension, VOutputDimension >, itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >, itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >, itk::MatrixOffsetTransformBase< TParametersValueType, VDimension, VDimension >, itk::BSplineTransform< TParametersValueType, VDimension, VSplineOrder >, itk::AffineTransform< TParametersValueType, VDimension >, itk::AzimuthElevationToCartesianTransform< TParametersValueType, VDimension >, itk::CompositeTransform< TParametersValueType, VDimension >, itk::DisplacementFieldTransform< TParametersValueType, VDimension >, itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >, itk::Similarity2DTransform< TParametersValueType >, itk::v3::Rigid3DTransform< TParametersValueType >, itk::MultiTransform< TParametersValueType, VDimension, VSubDimensions >, itk::MultiTransform< TParametersValueType, VDimension, VDimension >, itk::KernelTransform< TParametersValueType, VDimension >, itk::Rigid3DTransform< TParametersValueType >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::ScaleSkewVersor3DTransform< TParametersValueType >, itk::BSplineExponentialDiffeomorphicTransform< TParametersValueType, VDimension >, itk::GaussianExponentialDiffeomorphicTransform< TParametersValueType, VDimension >, itk::ComposeScaleSkewVersor3DTransform< TParametersValueType >, itk::Rigid2DTransform< TParametersValueType >, itk::CenteredRigid2DTransform< TParametersValueType >, itk::TimeVaryingVelocityFieldTransform< TParametersValueType, VDimension >, itk::IdentityTransform< TParametersValueType, VDimension >, itk::BSplineSmoothingOnUpdateDisplacementFieldTransform< TParametersValueType, VDimension >, itk::QuaternionRigidTransform< TParametersValueType >, itk::ScaleVersor3DTransform< TParametersValueType >, itk::Euler3DTransform< TParametersValueType >, itk::Similarity3DTransform< TParametersValueType >, itk::VersorRigid3DTransform< TParametersValueType >, itk::Rigid3DPerspectiveTransform< TParametersValueType >, itk::VersorTransform< TParametersValueType >, itk::GaussianSmoothingOnUpdateDisplacementFieldTransform< TParametersValueType, VDimension >, itk::TranslationTransform< TParametersValueType, VDimension >, itk::ScaleTransform< TParametersValueType, VDimension >, itk::Euler2DTransform< TParametersValueType >, itk::ElasticBodySplineKernelTransform< TParametersValueType, VDimension >, itk::ThinPlateR2LogRSplineKernelTransform< TParametersValueType, VDimension >, itk::CenteredEuler3DTransform< TParametersValueType >, itk::ElasticBodyReciprocalSplineKernelTransform< TParametersValueType, VDimension >, itk::GaussianSmoothingOnUpdateTimeVaryingVelocityFieldTransform< TParametersValueType, VDimension >, itk::ScaleLogarithmicTransform< TParametersValueType, VDimension >, itk::ThinPlateSplineKernelTransform< TParametersValueType, VDimension >, itk::VolumeSplineKernelTransform< TParametersValueType, VDimension >, itk::ConstantVelocityFieldTransform< TParametersValueType, VDimension >, itk::FixedCenterOfRotationAffineTransform< TParametersValueType, VDimension >, itk::VelocityFieldTransform< TParametersValueType, VDimension >, itk::BSplineBaseTransform< TParametersValueType, VDimension, VSplineOrder >, itk::CenteredAffineTransform< TParametersValueType, VDimension >, and itk::ScalableAffineTransform< TParametersValueType, VDimension >.

◆ GetNumberOfFixedParameters()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual NumberOfParametersType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::GetNumberOfFixedParameters ( ) const
inlinevirtual

◆ GetNumberOfLocalParameters()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual NumberOfParametersType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::GetNumberOfLocalParameters ( ) const
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, VDimension >, itk::CompositeTransform< TParametersValueType, VDimension >, itk::BSplineBaseTransform< TParametersValueType, VDimension, VSplineOrder >, itk::MultiTransform< TParametersValueType, VDimension, VSubDimensions >, and itk::MultiTransform< TParametersValueType, VDimension, VDimension >.

Definition at line 421 of file itkTransform.h.

◆ GetNumberOfParameters()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
NumberOfParametersType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::GetNumberOfParameters ( ) const
inlineoverridevirtual

Return the number of parameters that completely define the Transfom

Implements itk::TransformBaseTemplate< TParametersValueType >.

Definition at line 428 of file itkTransform.h.

◆ GetOutputSpaceDimension()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
unsigned int itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::GetOutputSpaceDimension ( ) const
inlineoverridevirtual

Get the size of the output space

Implements itk::TransformBaseTemplate< TParametersValueType >.

Definition at line 114 of file itkTransform.h.

◆ GetOutputSpaceName()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual const std::string& itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::GetOutputSpaceName ( ) const
virtual

◆ GetParameters()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
const ParametersType& itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::GetParameters ( ) const
inlineoverridevirtual

◆ GetTransformCategory()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
TransformCategoryEnum itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::GetTransformCategory ( ) const
inlineoverridevirtual

◆ GetTransformTypeAsString() [1/4]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
std::string itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::GetTransformTypeAsString ( ) const
overridevirtual

Generate a platform independent name

Implements itk::TransformBaseTemplate< TParametersValueType >.

◆ GetTransformTypeAsString() [2/4]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
static std::string itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::GetTransformTypeAsString ( double *  )
inlinestaticprivate

Definition at line 637 of file itkTransform.h.

◆ GetTransformTypeAsString() [3/4]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
static std::string itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::GetTransformTypeAsString ( float *  )
inlinestaticprivate

Definition at line 629 of file itkTransform.h.

◆ GetTransformTypeAsString() [4/4]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
template<typename TType >
static std::string itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::GetTransformTypeAsString ( TType *  )
inlinestaticprivate

Definition at line 621 of file itkTransform.h.

◆ InternalClone()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
LightObject::Pointer itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InternalClone ( ) const
overrideprotectedvirtual

Clone the current transform. This does a complete copy of the transform state to the new transform

Reimplemented from itk::LightObject.

◆ IsLinear()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual bool itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::IsLinear ( ) const
inlinevirtual

◆ itkCloneMacro()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::itkCloneMacro ( Self  )

define the Clone method

◆ itkLegacyMacro() [1/2]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::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 identity jacobian since there is no change with respect to position.

◆ itkLegacyMacro() [2/2]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::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 identity jacobian since there is no change with respect to position.

◆ PreservationOfPrincipalDirectionDiffusionTensor3DReorientation()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
OutputDiffusionTensor3DType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::PreservationOfPrincipalDirectionDiffusionTensor3DReorientation ( const InputDiffusionTensor3DType ,
const InverseJacobianPositionType  
) const
protected

◆ SetFixedParameters()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
void itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::SetFixedParameters ( const FixedParametersType )
overridepure virtual

Set the fixed parameters and update internal transformation.

◆ SetInputSpaceName()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual void itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::SetInputSpaceName ( std::string  _arg)
virtual

◆ SetOutputSpaceName()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual void itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::SetOutputSpaceName ( std::string  _arg)
virtual

For storing the name of InputSpace/OutputSpace.

InputSpaceName, OutputSpaceName provide identifiers for the world spaces that the transform applied to and the direction of the spatial transformation. The direction of the transform goes from the input space to output space. Typical values include the names of an atlas or a dataset.

◆ SetParameters()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
void itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::SetParameters ( const ParametersType )
overridepure virtual

Set the transformation parameters and update internal transformation. SetParameters gives the transform the option to set it's parameters by keeping a reference to the parameters, or by copying. To force the transform to copy its parameters call SetParametersByValue.

See also
SetParametersByValue

◆ SetParametersByValue()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
void itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::SetParametersByValue ( const ParametersType p)
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.

See also
SetParameters

Definition at line 364 of file itkTransform.h.

◆ TransformCovariantVector() [1/4]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputCovariantVectorType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformCovariantVector ( const InputCovariantVectorType ) const
inlinevirtual

◆ TransformCovariantVector() [2/4]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputCovariantVectorType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformCovariantVector ( const InputCovariantVectorType vector,
const InputPointType point 
) const
virtual

Method to transform a CovariantVector, using a point. Global transforms can ignore the point parameter. Local transforms (e.g. deformation field transform) must override and provide required behavior. By default, point is ignored and TransformCovariantVector(vector) is called

Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.

◆ TransformCovariantVector() [3/4]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputVectorPixelType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformCovariantVector ( const InputVectorPixelType ) const
inlinevirtual

◆ TransformCovariantVector() [4/4]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputVectorPixelType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformCovariantVector ( const InputVectorPixelType vector,
const InputPointType point 
) const
virtual

Method to transform a CovariantVector, using a point. Global transforms can ignore the point parameter. Local transforms (e.g. deformation field transform) must override and provide required behavior. By default, point is ignored and TransformCovariantVector(vector) is called

Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.

◆ TransformDiffusionTensor3D() [1/4]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputDiffusionTensor3DType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformDiffusionTensor3D ( const InputDiffusionTensor3DType ) const
inlinevirtual

◆ TransformDiffusionTensor3D() [2/4]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputDiffusionTensor3DType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformDiffusionTensor3D ( const InputDiffusionTensor3DType inputTensor,
const InputPointType point 
) const
virtual

Method to transform a diffusion tensor at a point. Global transforms can ignore the point parameter. Local transforms (e.g. deformation field transform) must override and provide required behavior. By default, point is ignored and TransformDiffusionTensor(tensor) is called

Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.

◆ TransformDiffusionTensor3D() [3/4]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputVectorPixelType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformDiffusionTensor3D ( const InputVectorPixelType ) const
inlinevirtual

◆ TransformDiffusionTensor3D() [4/4]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputVectorPixelType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformDiffusionTensor3D ( const InputVectorPixelType inputTensor,
const InputPointType point 
) const
virtual

◆ TransformPoint()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputPointType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformPoint ( const InputPointType ) const
pure virtual

◆ TransformSymmetricSecondRankTensor() [1/4]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputSymmetricSecondRankTensorType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformSymmetricSecondRankTensor ( const InputSymmetricSecondRankTensorType ) const
inlinevirtual

◆ TransformSymmetricSecondRankTensor() [2/4]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputSymmetricSecondRankTensorType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformSymmetricSecondRankTensor ( const InputSymmetricSecondRankTensorType inputTensor,
const InputPointType point 
) const
virtual

Method to transform a diffusion tensor at a point. Global transforms can ignore the point parameter. Local transforms (e.g. deformation field transform) must override and provide required behavior. By default, point is ignored and TransformSymmetricSecondRankTensor(tensor) is called

Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.

◆ TransformSymmetricSecondRankTensor() [3/4]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputVectorPixelType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformSymmetricSecondRankTensor ( const InputVectorPixelType ) const
inlinevirtual

◆ TransformSymmetricSecondRankTensor() [4/4]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputVectorPixelType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformSymmetricSecondRankTensor ( const InputVectorPixelType inputTensor,
const InputPointType point 
) const
virtual

Method to transform a diffusion tensor stored in a VectorImage, at a point. Global transforms can ignore the point parameter. Local transforms (e.g. deformation field transform) must override and provide required behavior. By default, point is ignored and TransformDiffusionTensor(tensor) is called

Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.

◆ TransformVector() [1/6]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputVectorPixelType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformVector ( const InputVectorPixelType ) const
inlinevirtual

◆ TransformVector() [2/6]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputVectorPixelType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformVector ( const InputVectorPixelType vector,
const InputPointType point 
) const
virtual

Method to transform a vector stored in a VectorImage, at a point. For global transforms, point is ignored and TransformVector( vector ) is called. Local transforms (e.g. deformation field transform) must override and provide required behavior.

Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.

◆ TransformVector() [3/6]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputVectorType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformVector ( const InputVectorType ) const
inlinevirtual

◆ TransformVector() [4/6]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputVectorType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformVector ( const InputVectorType vector,
const InputPointType point 
) const
virtual

Method to transform a vector at a given location. For global transforms, point is ignored and TransformVector( vector ) is called. Local transforms (e.g. deformation field transform) must override and provide required behavior.

Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.

◆ TransformVector() [5/6]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputVnlVectorType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformVector ( const InputVnlVectorType ) const
inlinevirtual

◆ TransformVector() [6/6]

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual OutputVnlVectorType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::TransformVector ( const InputVnlVectorType vector,
const InputPointType point 
) const
virtual

Method to transform a vnl_vector, at a point. For global transforms, point is ignored and TransformVector( vector ) is called. Local transforms (e.g. deformation field transform) must override and provide required behavior.

Reimplemented in itk::CompositeTransform< TParametersValueType, VDimension >.

◆ UpdateTransformParameters()

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
virtual void itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::UpdateTransformParameters ( const DerivativeType update,
ParametersValueType  factor = 1.0 
)
virtual

Member Data Documentation

◆ InputSpaceDimension

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
constexpr unsigned int itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::InputSpaceDimension = VInputDimension
staticconstexpr

Dimension of the domain space.

Definition at line 99 of file itkTransform.h.

◆ m_FixedParameters

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
FixedParametersType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::m_FixedParameters
mutableprotected

Definition at line 609 of file itkTransform.h.

◆ m_InputSpaceName

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
std::string itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::m_InputSpaceName
private

Definition at line 616 of file itkTransform.h.

◆ m_OutputSpaceName

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
std::string itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::m_OutputSpaceName
private

Definition at line 617 of file itkTransform.h.

◆ m_Parameters

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
ParametersType itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::m_Parameters
mutableprotected

Definition at line 608 of file itkTransform.h.

◆ OutputSpaceDimension

template<typename TParametersValueType, unsigned int VInputDimension = 3, unsigned int VOutputDimension = 3>
constexpr unsigned int itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >::OutputSpaceDimension = VOutputDimension
staticconstexpr

Definition at line 100 of file itkTransform.h.


The documentation for this class was generated from the following file: