#include <itkAffineTransform.h>
This class allows the definition and manipulation of affine transformations of an n-dimensional affine space (and its associated vector space) onto itself. One common use is to define and manipulate Euclidean coordinate transformations in two and three dimensions, but other uses are possible as well.
An affine transformation is defined mathematically as a linear transformation plus a constant offset. If A is a constant n x n matrix and b is a constant n-vector, then y = Ax+b defines an affine transformation from the n-vector x to the n-vector y.
The difference between two points is a vector and transforms linearly, using the matrix only. That is, (y1-y2) = A*(x1-x2).
The AffineTransform class determines whether to transform an object as a point or a vector by examining its type. An object of type Point transforms as a point; an object of type Vector transforms as a vector.
One common use of affine transformations is to define coordinate conversions in two- and three-dimensional space. In this application, x is a two- or three-dimensional vector containing the "source" coordinates of a point, y is a vector containing the "target" coordinates, the matrix A defines the scaling and rotation of the coordinate systems from the source to the target, and b defines the translation of the origin from the source to the target. More generally, A can also define anisotropic scaling and shearing transformations. Any good textbook on computer graphics will discuss coordinate transformations in more detail. Several of the methods in this class are designed for this purpose and use the language appropriate to coordinate conversions.
Any two affine transformations may be composed and the result is another affine transformation. However, the order is important. Given two affine transformations T1 and T2, we will say that "precomposing T1 with T2" yields the transformation which applies T1 to the source, and then applies T2 to that result to obtain the target. Conversely, we will say that "postcomposing T1 with T2" yields the transformation which applies T2 to the source, and then applies T1 to that result to obtain the target. (Whether T1 or T2 comes first lexicographically depends on whether you choose to write mappings from right-to-left or vice versa; we avoid the whole problem by referring to the order of application rather than the textual order.)
There are two template parameters for this class:
ScalarT The type to be used for scalar numeric values. Either float or double.
NDimensions The number of dimensions of the vector space.
This class provides several methods for setting the matrix and vector defining the transform. To support the registration framework, the transform parameters can also be set as an Array<double> of size (NDimension + 1) * NDimension using method SetParameters(). The first (NDimension x NDimension) parameters defines the matrix in row-major order (where the column index varies the fastest). The last NDimension parameters defines the translation in each dimensions.
This class also supports the specification of a center of rotation (center) and a translation that is applied with respect to that centered rotation. By default the center of rotation is set to the origin.
Definition at line 109 of file itkAffineTransform.h.
typedef Superclass::CenterType itk::AffineTransform< TScalarType, NDimensions >::CenterType |
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 152 of file itkAffineTransform.h.
typedef SmartPointer<const Self> itk::AffineTransform< TScalarType, NDimensions >::ConstPointer |
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >, itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 119 of file itkAffineTransform.h.
typedef Superclass::InputCovariantVectorType itk::AffineTransform< TScalarType, NDimensions >::InputCovariantVectorType |
Standard covariant vector type for this class
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 147 of file itkAffineTransform.h.
typedef Superclass::InputPointType itk::AffineTransform< TScalarType, NDimensions >::InputPointType |
Standard coordinate point type for this class
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >, itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 140 of file itkAffineTransform.h.
typedef Superclass::InputVectorType itk::AffineTransform< TScalarType, NDimensions >::InputVectorType |
Standard vector type for this class
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 142 of file itkAffineTransform.h.
typedef Superclass::InputVnlVectorType itk::AffineTransform< TScalarType, NDimensions >::InputVnlVectorType |
Standard vnl_vector type for this class
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 144 of file itkAffineTransform.h.
typedef int itk::LightObject::InternalReferenceCountType [protected, inherited] |
Define the type of the reference count according to the target. This allows the use of atomic operations
Definition at line 139 of file itkLightObject.h.
typedef Superclass::InverseMatrixType itk::AffineTransform< TScalarType, NDimensions >::InverseMatrixType |
Standard inverse matrix type for this class
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 151 of file itkAffineTransform.h.
typedef InverseTransformBaseType::Pointer itk::AffineTransform< TScalarType, NDimensions >::InverseTransformBasePointer |
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::CenteredAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 159 of file itkAffineTransform.h.
typedef Superclass::InverseTransformBaseType itk::AffineTransform< TScalarType, NDimensions >::InverseTransformBaseType |
Base inverse transform type. This type should not be changed to the concrete inverse transform type or inheritance would be lost.
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::CenteredAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 158 of file itkAffineTransform.h.
typedef Superclass::JacobianType itk::AffineTransform< TScalarType, NDimensions >::JacobianType |
Jacobian Type
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >, itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 138 of file itkAffineTransform.h.
typedef Superclass::MatrixType itk::AffineTransform< TScalarType, NDimensions >::MatrixType |
Standard matrix type for this class
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >, itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 150 of file itkAffineTransform.h.
typedef Superclass::OffsetType itk::AffineTransform< TScalarType, NDimensions >::OffsetType |
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 153 of file itkAffineTransform.h.
typedef Superclass::OutputCovariantVectorType itk::AffineTransform< TScalarType, NDimensions >::OutputCovariantVectorType |
Standard covariant vector type for this class
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 149 of file itkAffineTransform.h.
typedef Superclass::OutputPointType itk::AffineTransform< TScalarType, NDimensions >::OutputPointType |
Standard coordinate point type for this class
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >, itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 141 of file itkAffineTransform.h.
typedef Superclass::OutputVectorType itk::AffineTransform< TScalarType, NDimensions >::OutputVectorType |
Standard vector type for this class
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 143 of file itkAffineTransform.h.
typedef Superclass::OutputVnlVectorType itk::AffineTransform< TScalarType, NDimensions >::OutputVnlVectorType |
Standard vnl_vector type for this class
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 145 of file itkAffineTransform.h.
typedef Superclass::ParametersType itk::AffineTransform< TScalarType, NDimensions >::ParametersType |
Parameters Type
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >, itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 137 of file itkAffineTransform.h.
typedef SmartPointer<Self> itk::AffineTransform< TScalarType, NDimensions >::Pointer |
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >, itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 118 of file itkAffineTransform.h.
typedef Superclass::ScalarType itk::AffineTransform< TScalarType, NDimensions >::ScalarType |
Standard scalar type for this class
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >, itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 139 of file itkAffineTransform.h.
typedef AffineTransform itk::AffineTransform< TScalarType, NDimensions >::Self |
Standard typedefs
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >, itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 114 of file itkAffineTransform.h.
typedef MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions > itk::AffineTransform< TScalarType, NDimensions >::Superclass |
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >, itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 117 of file itkAffineTransform.h.
typedef Superclass::TranslationType itk::AffineTransform< TScalarType, NDimensions >::TranslationType |
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
Definition at line 154 of file itkAffineTransform.h.
itk::AffineTransform< TScalarType, NDimensions >::AffineTransform | ( | const MatrixType & | matrix, | |
const OutputVectorType & | offset | |||
) | [protected] |
Construct an AffineTransform object
This method constructs a new AffineTransform object and initializes the matrix and offset parts of the transformation to values specified by the caller. If the arguments are omitted, then the AffineTransform is initialized to an identity transformation in the appropriate number of dimensions.
itk::AffineTransform< TScalarType, NDimensions >::AffineTransform | ( | unsigned int | outputDims, | |
unsigned int | paramDims | |||
) | [protected] |
Construct an AffineTransform object
This method constructs a new AffineTransform object and initializes the matrix and offset parts of the transformation to values specified by the caller. If the arguments are omitted, then the AffineTransform is initialized to an identity transformation in the appropriate number of dimensions.
itk::AffineTransform< TScalarType, NDimensions >::AffineTransform | ( | ) | [protected] |
Construct an AffineTransform object
This method constructs a new AffineTransform object and initializes the matrix and offset parts of the transformation to values specified by the caller. If the arguments are omitted, then the AffineTransform is initialized to an identity transformation in the appropriate number of dimensions.
virtual itk::AffineTransform< TScalarType, NDimensions >::~AffineTransform | ( | ) | [protected, virtual] |
Destroy an AffineTransform object
unsigned long itk::Object::AddObserver | ( | const EventObject & | event, | |
Command * | ||||
) | const [inherited] |
Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects
unsigned long itk::Object::AddObserver | ( | const EventObject & | event, | |
Command * | ||||
) | [inherited] |
Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects
AffineTransform< TScalarType, NDimensions >::InputCovariantVectorType itk::AffineTransform< TScalarType, NDimensions >::BackTransform | ( | const OutputCovariantVectorType & | vec | ) | const [inline] |
Back Transform a CovariantVector
Definition at line 359 of file itkAffineTransform.h.
References itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >::GetMatrix(), and itkWarningMacro.
AffineTransform< TScalarType, NDimensions >::InputVnlVectorType itk::AffineTransform< TScalarType, NDimensions >::BackTransform | ( | const OutputVnlVectorType & | vect | ) | const [inline] |
Back transform a vnl_vector
Definition at line 344 of file itkAffineTransform.h.
References itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >::GetInverseMatrix(), and itkWarningMacro.
AffineTransform< TScalarType, NDimensions >::InputVectorType itk::AffineTransform< TScalarType, NDimensions >::BackTransform | ( | const OutputVectorType & | vect | ) | const [inline] |
Back transform a vector
Definition at line 329 of file itkAffineTransform.h.
References itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >::GetInverseMatrix(), and itkWarningMacro.
AffineTransform< TScalarType, NDimensions >::InputPointType itk::AffineTransform< TScalarType, NDimensions >::BackTransform | ( | const OutputPointType & | point | ) | const [inline] |
Back transform by an affine transformation
This method finds the point or vector that maps to a given point or vector under the affine transformation defined by self. If no such point exists, an exception is thrown.
Back transform a point
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >.
Definition at line 394 of file itkAffineTransform.h.
References itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >::GetInverseMatrix(), itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >::GetOffset(), and itkWarningMacro.
Referenced by itk::AffineTransform< TScalarType, NDimensions >::BackTransformPoint().
AffineTransform< TScalarType, NDimensions >::InputPointType itk::AffineTransform< TScalarType, NDimensions >::BackTransformPoint | ( | const OutputPointType & | point | ) | const [inline] |
Back transform a point by an affine transform
This method finds the point that maps to a given point under the affine transformation defined by self. If no such point exists, an exception is thrown. The returned value is (a pointer to) a brand new point created with new.
Back transform a given point which is represented as type PointType
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >.
Definition at line 384 of file itkAffineTransform.h.
References itk::AffineTransform< TScalarType, NDimensions >::BackTransform().
static void itk::LightObject::BreakOnError | ( | ) | [static, inherited] |
This method is called when itkExceptionMacro executes. It allows the debugger to break on error.
void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::Compose | ( | const Self * | other, | |
bool | pre = 0 | |||
) | [inherited] |
Compose with another MatrixOffsetTransformBase
This method composes self with another MatrixOffsetTransformBase of the same dimension, modifying self to be the composition of self and other. If the argument pre is true, then other is precomposed with self; that is, the resulting transformation consists of first applying other to the source, followed by self. If pre is false or omitted, then other is post-composed with self; that is the resulting transformation consists of first applying self to the source, followed by other. This updates the Translation based on current center.
virtual void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::ComputeMatrix | ( | void | ) | [protected, virtual, inherited] |
Reimplemented in itk::ScalableAffineTransform< TScalarType, NDimensions >.
virtual void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::ComputeMatrixParameters | ( | void | ) | [protected, virtual, inherited] |
virtual void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::ComputeOffset | ( | void | ) | [protected, virtual, inherited] |
virtual void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::ComputeTranslation | ( | void | ) | [protected, virtual, inherited] |
virtual LightObject::Pointer itk::Object::CreateAnother | ( | ) | const [virtual, inherited] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::LightObject.
virtual void itk::Object::DebugOff | ( | ) | const [virtual, inherited] |
Turn debugging output off.
virtual void itk::Object::DebugOn | ( | ) | const [virtual, inherited] |
Turn debugging output on.
virtual void itk::LightObject::Delete | ( | ) | [virtual, inherited] |
Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.
const InputPointType& itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetCenter | ( | void | ) | const [inline, inherited] |
Get center of rotation of the MatrixOffsetTransformBase
This method returns the point used as the fixed center of rotation for the MatrixOffsetTransformBase. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset
Definition at line 260 of file itkMatrixOffsetTransformBase.h.
Command* itk::Object::GetCommand | ( | unsigned long | tag | ) | [inherited] |
Get the command associated with the given tag. NOTE: This returns a pointer to a Command, but it is safe to asign this to a Command::Pointer. Since Command inherits from LightObject, at this point in the code, only a pointer or a reference to the Command can be used.
bool itk::Object::GetDebug | ( | ) | const [inherited] |
Get the value of the debug flag.
virtual const ParametersType& itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetFixedParameters | ( | void | ) | const [virtual, inherited] |
Get the Fixed Parameters.
Reimplemented from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >.
static bool itk::Object::GetGlobalWarningDisplay | ( | ) | [static, inherited] |
This is a global flag that controls whether any debug, warning or error messages are displayed.
unsigned int itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::GetInputSpaceDimension | ( | void | ) | const [inline, virtual, inherited] |
Get the size of the input space
Implements itk::TransformBase.
Definition at line 87 of file itkTransform.h.
bool itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetInverse | ( | Self * | inverse | ) | const [inherited] |
Create inverse of an affine transformation
This populates the parameters an affine transform such that the transform is the inverse of self. If self is not invertible, an exception is thrown. Note that by default the inverese transform is centered at the origin. If you need to compute the inverse centered at a point, p,
transform2->SetCenter( p ); transform1->GetInverse( transform2 );
transform2 will now contain the inverse of transform1 and will with its center set to p. Flipping the two statements will produce an incorrect transform.
Reimplemented from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >.
bool itk::AffineTransform< TScalarType, NDimensions >::GetInverse | ( | Self * | inverse | ) | const |
Get an inverse of this transform.
Reimplemented in itk::CenteredAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
const InverseMatrixType& itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetInverseMatrix | ( | void | ) | const [inherited] |
Referenced by itk::AffineTransform< TScalarType, NDimensions >::BackTransform().
virtual InverseTransformBasePointer itk::AffineTransform< TScalarType, NDimensions >::GetInverseTransform | ( | ) | const [virtual] |
Return an inverse of this transform.
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::CenteredAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
virtual const JacobianType& itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::GetJacobian | ( | const InputPointType & | ) | const [inline, virtual, inherited] |
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:
Definition at line 217 of file itkTransform.h.
const JacobianType& itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetJacobian | ( | const InputPointType & | point | ) | const [inherited] |
Compute the Jacobian of the transformation
This method computes the Jacobian matrix of the transformation. given point or vector, returning the transformed point or vector. The rank of the Jacobian will also indicate if the transform is invertible at this point.
Reimplemented in itk::CenteredAffineTransform< TScalarType, NDimensions >.
const MatrixType& itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetMatrix | ( | void | ) | const [inline, inherited] |
Get matrix of an MatrixOffsetTransformBase
This method returns the value of the matrix of the MatrixOffsetTransformBase. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset
Definition at line 199 of file itkMatrixOffsetTransformBase.h.
Referenced by itk::AffineTransform< TScalarType, NDimensions >::BackTransform().
const MetaDataDictionary& itk::Object::GetMetaDataDictionary | ( | void | ) | const [inherited] |
MetaDataDictionary& itk::Object::GetMetaDataDictionary | ( | void | ) | [inherited] |
virtual unsigned long itk::Object::GetMTime | ( | ) | const [virtual, inherited] |
Return this objects modified time.
Reimplemented in itk::ImageRegistrationMethod< TFixedImage, TMovingImage >, itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >, itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >, itk::PointSetToImageRegistrationMethod< TFixedPointSet, TMovingImage >, itk::PointSetToPointSetRegistrationMethod< TFixedPointSet, TMovingPointSet >, itk::DeformationFieldSource< TOutputImage >, itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::BoundingBox< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >, itk::ImageAdaptor< TImage, TAccessor >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::MeshSpatialObject< TMesh >, itk::SceneSpatialObject< TSpaceDimension >, itk::SpatialObject< TDimension >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, PixelAccessor >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageSpatialObject< TDimension, unsigned char >, itk::SpatialObject< 3 >, and itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >.
Referenced by itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >::GetObjectMTime().
virtual const char* itk::AffineTransform< TScalarType, NDimensions >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >, itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
virtual unsigned int itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::GetNumberOfParameters | ( | void | ) | const [inline, virtual, inherited] |
Return the number of parameters that completely define the Transfom
Implements itk::TransformBase.
Definition at line 228 of file itkTransform.h.
const OutputVectorType& itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetOffset | ( | void | ) | const [inline, inherited] |
Get offset of an MatrixOffsetTransformBase
This method returns the offset value of the MatrixOffsetTransformBase. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset
Definition at line 222 of file itkMatrixOffsetTransformBase.h.
Referenced by itk::AffineTransform< TScalarType, NDimensions >::BackTransform().
unsigned int itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::GetOutputSpaceDimension | ( | void | ) | const [inline, virtual, inherited] |
Get the size of the output space
Implements itk::TransformBase.
Definition at line 90 of file itkTransform.h.
const ParametersType& itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetParameters | ( | void | ) | const [virtual, inherited] |
Get the Transformation Parameters.
Reimplemented from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >.
Reimplemented in itk::CenteredAffineTransform< TScalarType, NDimensions >.
virtual int itk::LightObject::GetReferenceCount | ( | ) | const [inline, virtual, inherited] |
Gets the reference count on this object.
Definition at line 106 of file itkLightObject.h.
virtual std::string itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::GetTransformTypeAsString | ( | ) | const [virtual, inherited] |
Generate a platform independant name
Implements itk::TransformBase.
const OutputVectorType& itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetTranslation | ( | void | ) | const [inline, inherited] |
Get translation component of the MatrixOffsetTransformBase
This method returns the translation used after rotation about the center point. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset
Definition at line 282 of file itkMatrixOffsetTransformBase.h.
const InverseMatrixType& itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::GetVarInverseMatrix | ( | void | ) | const [inline, protected, inherited] |
Definition at line 395 of file itkMatrixOffsetTransformBase.h.
static void itk::Object::GlobalWarningDisplayOff | ( | ) | [inline, static, inherited] |
This is a global flag that controls whether any debug, warning or error messages are displayed.
Definition at line 100 of file itkObject.h.
References itk::Object::SetGlobalWarningDisplay().
static void itk::Object::GlobalWarningDisplayOn | ( | ) | [inline, static, inherited] |
This is a global flag that controls whether any debug, warning or error messages are displayed.
Definition at line 98 of file itkObject.h.
References itk::Object::SetGlobalWarningDisplay().
bool itk::Object::HasObserver | ( | const EventObject & | event | ) | const [inherited] |
Return true if an observer is registered for this event.
bool itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::InverseMatrixIsOld | ( | void | ) | const [inline, protected, inherited] |
Definition at line 399 of file itkMatrixOffsetTransformBase.h.
void itk::Object::InvokeEvent | ( | const EventObject & | ) | const [inherited] |
Call Execute on all the Commands observing this event id. The actions triggered by this call doesn't modify this object.
void itk::Object::InvokeEvent | ( | const EventObject & | ) | [inherited] |
Call Execute on all the Commands observing this event id.
virtual bool itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::IsLinear | ( | ) | const [inline, virtual, inherited] |
Indicates that this transform is linear. That is, given two points P and Q, and scalar coefficients a and b, then
T( a*P + b*Q ) = a * T(P) + b * T(Q)
Reimplemented from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 372 of file itkMatrixOffsetTransformBase.h.
itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::itkStaticConstMacro | ( | ParametersDimension | , | |
unsigned | int, | |||
NOutputDimensions * | NInputDimensions+1 | |||
) | [inherited] |
Dimension of the domain space.
itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::itkStaticConstMacro | ( | OutputSpaceDimension | , | |
unsigned | int, | |||
NOutputDimensions | ||||
) | [inherited] |
Dimension of the domain space.
Reimplemented from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >.
itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::itkStaticConstMacro | ( | InputSpaceDimension | , | |
unsigned | int, | |||
NInputDimensions | ||||
) | [inherited] |
Dimension of the domain space.
Reimplemented from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >.
itk::AffineTransform< TScalarType, NDimensions >::itkStaticConstMacro | ( | ParametersDimension | , | |
unsigned | int, | |||
NDimensions * | NDimensions+1 | |||
) |
Dimension of the domain space.
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
itk::AffineTransform< TScalarType, NDimensions >::itkStaticConstMacro | ( | SpaceDimension | , | |
unsigned | int, | |||
NDimensions | ||||
) |
Dimension of the domain space.
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >, itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
itk::AffineTransform< TScalarType, NDimensions >::itkStaticConstMacro | ( | OutputSpaceDimension | , | |
unsigned | int, | |||
NDimensions | ||||
) |
Dimension of the domain space.
Reimplemented in itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
itk::AffineTransform< TScalarType, NDimensions >::itkStaticConstMacro | ( | InputSpaceDimension | , | |
unsigned | int, | |||
NDimensions | ||||
) |
Dimension of the domain space.
Reimplemented in itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
ScalarType itk::AffineTransform< TScalarType, NDimensions >::Metric | ( | void | ) | const |
This method computes the distance from self to the identity transformation, using the same metric as the one-argument form of the Metric() method.
ScalarType itk::AffineTransform< TScalarType, NDimensions >::Metric | ( | const Self * | other | ) | const |
Compute distance between two affine transformations
This method computes a ``distance'' between two affine transformations. This distance is guaranteed to be a metric, but not any particular metric. (At the moment, the algorithm is to collect all the elements of the matrix and offset into a vector, and compute the euclidean (L2) norm of that vector. Some metric which could be used to estimate the distance between two points transformed by the affine transformation would be more useful, but I don't have time right now to work out the mathematical details.)
virtual void itk::Object::Modified | ( | ) | const [virtual, inherited] |
Update the modification time for this object. Many filters rely on the modification time to determine if they need to recompute their data.
Reimplemented in itk::NormalizeImageFilter< TInputImage, TOutputImage >, itk::ImageAdaptor< TImage, TAccessor >, itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >, itk::GrayscaleDilateImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleErodeImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalOpeningImageFilter< TInputImage, TOutputImage, TKernel >, itk::MorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, PixelAccessor >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, and itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, RankImageFilter< TInputImage, TInputImage, FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension > > >.
Referenced by itk::NarrowBandImageFilterBase< TInputImage, TOutputImage >::InsertNarrowBandNode(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetCenter(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetMatrix(), itk::NarrowBandImageFilterBase< TInputImage, TOutputImage >::SetNarrowBand(), itk::NarrowBandImageFilterBase< TInputImage, TOutputImage >::SetNarrowBandInnerRadius(), itk::NarrowBandImageFilterBase< TInputImage, TOutputImage >::SetNarrowBandTotalRadius(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetOffset(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetRealThresholds(), itk::NonUniformBSpline< TDimension >::SetSplineOrder(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetThresholds(), itk::Statistics::GoodnessOfFitFunctionBase< TInputHistogram >::SetTotalObservedScale(), and itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetTranslation().
static Pointer itk::AffineTransform< TScalarType, NDimensions >::New | ( | ) | [static] |
New macro for creation of through a Smart Pointer
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >, itk::CenteredAffineTransform< TScalarType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
void itk::LightObject::Print | ( | std::ostream & | os, | |
Indent | indent = 0 | |||
) | const [inherited] |
Cause the object to print itself out.
Referenced by itk::WeakPointer< ProcessObject >::Print().
virtual void itk::LightObject::PrintHeader | ( | std::ostream & | os, | |
Indent | indent | |||
) | const [protected, virtual, inherited] |
bool itk::Object::PrintObservers | ( | std::ostream & | os, | |
Indent | indent | |||
) | const [protected, inherited] |
void itk::AffineTransform< TScalarType, NDimensions >::PrintSelf | ( | std::ostream & | s, | |
Indent | indent | |||
) | const [protected, virtual] |
Print contents of an AffineTransform
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >, and itk::ScalableAffineTransform< TScalarType, NDimensions >.
virtual void itk::LightObject::PrintTrailer | ( | std::ostream & | os, | |
Indent | indent | |||
) | const [protected, virtual, inherited] |
virtual void itk::Object::Register | ( | ) | const [virtual, inherited] |
Increase the reference count (mark as used by another object).
Reimplemented from itk::LightObject.
void itk::Object::RemoveAllObservers | ( | ) | [inherited] |
Remove all observers .
void itk::Object::RemoveObserver | ( | unsigned long | tag | ) | [inherited] |
Remove the observer with this tag value.
void itk::AffineTransform< TScalarType, NDimensions >::Rotate | ( | int | axis1, | |
int | axis2, | |||
TScalarType | angle, | |||
bool | pre = 0 | |||
) |
Compose affine transformation with an elementary rotation
This method composes self with a rotation that affects two specified axes, replacing the current value of self. The rotation angle is in radians. The axis of rotation goes through the origin. The transformation is given by
y[axis1] = vcl_cos(angle)*x[axis1] + vcl_sin(angle)*x[axis2] y[axis2] = -sin(angle)*x[axis1] + vcl_cos(angle)*x[axis2].
All coordinates other than axis1 and axis2 are unchanged; a rotation of pi/2 radians will carry +axis1 into +axis2. The rotation is precomposed with self if pre is true, and postcomposed otherwise. Note that the rotation is applied centered at the origin.
void itk::AffineTransform< TScalarType, NDimensions >::Rotate2D | ( | TScalarType | angle, | |
bool | pre = 0 | |||
) |
Compose 2D affine transformation with a rotation
This method composes self, which must be a 2D affine transformation, with a clockwise rotation through a given angle in radians. The center of rotation is the origin. The rotation is precomposed with self if pre is true, and postcomposed otherwise. Note that the rotation is applied centered at the origin.
void itk::AffineTransform< TScalarType, NDimensions >::Rotate3D | ( | const OutputVectorType & | axis, | |
TScalarType | angle, | |||
bool | pre = 0 | |||
) |
Compose 3D affine transformation with a rotation
This method composes self, which must be a 3D affine transformation, with a clockwise rotation around a specified axis. The rotation angle is in radians; the axis of rotation goes through the origin. The rotation is precomposed with self if pre is true, and postcomposed otherwise. Note that the rotation is applied centered at the origin.
void itk::AffineTransform< TScalarType, NDimensions >::Scale | ( | const TScalarType & | factor, | |
bool | pre = 0 | |||
) |
Compose affine transformation with a scaling
This method modifies self to magnify the source by a given factor along each axis. If all factors are the same, or only a single factor is given, then the scaling is isotropic; otherwise it is anisotropic. If an odd number of factors are negative, then the parity of the image changes. If any of the factors is zero, then the transformation becomes a projection and is not invertible. The scaling is precomposed with self if pre is true, and postcomposed otherwise. Note that the scaling is applied centered at the origin.
void itk::AffineTransform< TScalarType, NDimensions >::Scale | ( | const OutputVectorType & | factor, | |
bool | pre = 0 | |||
) |
Compose affine transformation with a scaling
This method modifies self to magnify the source by a given factor along each axis. If all factors are the same, or only a single factor is given, then the scaling is isotropic; otherwise it is anisotropic. If an odd number of factors are negative, then the parity of the image changes. If any of the factors is zero, then the transformation becomes a projection and is not invertible. The scaling is precomposed with self if pre is true, and postcomposed otherwise. Note that the scaling is applied centered at the origin.
void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetCenter | ( | const InputPointType & | center | ) | [inline, inherited] |
Set center of rotation of an MatrixOffsetTransformBase
This method sets the center of rotation of an MatrixOffsetTransformBase to a fixed point - for most transforms derived from this class, this point is not a "parameter" of the transform - the exception is that "centered" transforms have center as a parameter during optimization.
This method updates offset wrt to current translation and matrix. That is, changing the center changes the transform!
WARNING: When using the Center, we strongly recommend only changing the matrix and translation to define a transform. Changing a transform's center, changes the mapping between spaces - specifically, translation is not changed with respect to that new center, and so the offset is updated to * maintain the consistency with translation. If a center is not used, or is set before the matrix and the offset, then it is safe to change the offset directly. As a rule of thumb, if you wish to set the center explicitly, set before Offset computations are done.
To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset
Definition at line 247 of file itkMatrixOffsetTransformBase.h.
void itk::Object::SetDebug | ( | bool | debugFlag | ) | const [inherited] |
Set the value of the debug flag. A non-zero value turns debugging on.
virtual void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetFixedParameters | ( | const ParametersType & | ) | [virtual, inherited] |
Set the fixed parameters and update internal transformation.
Reimplemented from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >.
static void itk::Object::SetGlobalWarningDisplay | ( | bool | flag | ) | [static, inherited] |
This is a global flag that controls whether any debug, warning or error messages are displayed.
Referenced by itk::Object::GlobalWarningDisplayOff(), and itk::Object::GlobalWarningDisplayOn().
virtual void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetIdentity | ( | void | ) | [virtual, inherited] |
Set the transformation to an Identity
This sets the matrix to identity and the Offset to null.
Reimplemented in itk::ScalableAffineTransform< TScalarType, NDimensions >.
virtual void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetMatrix | ( | const MatrixType & | matrix | ) | [inline, virtual, inherited] |
Set matrix of an MatrixOffsetTransformBase
This method sets the matrix of an MatrixOffsetTransformBase to a value specified by the user.
This updates the Offset wrt to current translation and center. See the warning regarding offset-versus-translation in the documentation for SetCenter.
To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset
Definition at line 185 of file itkMatrixOffsetTransformBase.h.
void itk::Object::SetMetaDataDictionary | ( | const MetaDataDictionary & | rhs | ) | [inherited] |
void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetOffset | ( | const OutputVectorType & | offset | ) | [inline, inherited] |
Set offset (origin) of an MatrixOffset TransformBase.
This method sets the offset of an MatrixOffsetTransformBase to a value specified by the user. This updates Translation wrt current center. See the warning regarding offset-versus-translation in the documentation for SetCenter. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset
Definition at line 210 of file itkMatrixOffsetTransformBase.h.
void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetParameters | ( | const ParametersType & | parameters | ) | [virtual, inherited] |
Set the transformation from a container of parameters. The first (NOutputDimension x NInputDimension) parameters define the matrix and the last NOutputDimension parameters the translation. Offset is updated based on current center.
Reimplemented from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >.
Reimplemented in itk::CenteredAffineTransform< TScalarType, NDimensions >.
virtual void itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::SetParametersByValue | ( | const ParametersType & | p | ) | [inline, virtual, inherited] |
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::TransformBase.
Definition at line 163 of file itkTransform.h.
virtual void itk::Object::SetReferenceCount | ( | int | ) | [virtual, inherited] |
Sets the reference count (use with care)
Reimplemented from itk::LightObject.
void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetTranslation | ( | const OutputVectorType & | translation | ) | [inline, inherited] |
Set translation of an MatrixOffsetTransformBase
This method sets the translation of an MatrixOffsetTransformBase. This updates Offset to reflect current translation. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset
Definition at line 269 of file itkMatrixOffsetTransformBase.h.
void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetVarCenter | ( | const InputPointType & | center | ) | [inline, protected, inherited] |
Definition at line 425 of file itkMatrixOffsetTransformBase.h.
void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetVarInverseMatrix | ( | const InverseMatrixType & | matrix | ) | const [inline, protected, inherited] |
Definition at line 397 of file itkMatrixOffsetTransformBase.h.
void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetVarMatrix | ( | const MatrixType & | matrix | ) | [inline, protected, inherited] |
Definition at line 414 of file itkMatrixOffsetTransformBase.h.
void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetVarOffset | ( | const OutputVectorType & | offset | ) | [inline, protected, inherited] |
Definition at line 422 of file itkMatrixOffsetTransformBase.h.
void itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::SetVarTranslation | ( | const OutputVectorType & | translation | ) | [inline, protected, inherited] |
Definition at line 418 of file itkMatrixOffsetTransformBase.h.
void itk::AffineTransform< TScalarType, NDimensions >::Shear | ( | int | axis1, | |
int | axis2, | |||
TScalarType | coef, | |||
bool | pre = 0 | |||
) |
Compose affine transformation with a shear
This method composes self with a shear transformation, replacing the original contents of self. The shear is precomposed with self if pre is true, and postcomposed otherwise. The transformation is given by
y[axis1] = x[axis1] + coef*x[axis2] y[axis2] = x[axis2].
Note that the shear is applied centered at the origin.
OutputCovariantVectorType itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::TransformCovariantVector | ( | const InputCovariantVectorType & | vector | ) | const [virtual, inherited] |
Transform by an affine transformation
This method applies the affine transform given by self to a given point or vector, returning the transformed point or vector. The TransformPoint method transforms its argument as an affine point, whereas the TransformVector method transforms its argument as a vector.
Reimplemented from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >.
virtual OutputPointType itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::TransformPoint | ( | const InputPointType & | ) | const [inline, virtual, inherited] |
Method to transform a point.
Definition at line 130 of file itkTransform.h.
OutputPointType itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::TransformPoint | ( | const InputPointType & | point | ) | const [inherited] |
Transform by an affine transformation
This method applies the affine transform given by self to a given point or vector, returning the transformed point or vector. The TransformPoint method transforms its argument as an affine point, whereas the TransformVector method transforms its argument as a vector.
Reimplemented in itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >.
virtual OutputVnlVectorType itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::TransformVector | ( | const InputVnlVectorType & | ) | const [inline, virtual, inherited] |
Method to transform a vnl_vector.
Definition at line 138 of file itkTransform.h.
virtual OutputVectorType itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::TransformVector | ( | const InputVectorType & | ) | const [inline, virtual, inherited] |
Method to transform a vector.
Definition at line 134 of file itkTransform.h.
OutputVnlVectorType itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::TransformVector | ( | const InputVnlVectorType & | vector | ) | const [inherited] |
Transform by an affine transformation
This method applies the affine transform given by self to a given point or vector, returning the transformed point or vector. The TransformPoint method transforms its argument as an affine point, whereas the TransformVector method transforms its argument as a vector.
OutputVectorType itk::MatrixOffsetTransformBase< TScalarType , NInputDimensions, NOutputDimensions >::TransformVector | ( | const InputVectorType & | vector | ) | const [inherited] |
Transform by an affine transformation
This method applies the affine transform given by self to a given point or vector, returning the transformed point or vector. The TransformPoint method transforms its argument as an affine point, whereas the TransformVector method transforms its argument as a vector.
void itk::AffineTransform< TScalarType, NDimensions >::Translate | ( | const OutputVectorType & | offset, | |
bool | pre = 0 | |||
) |
Compose affine transformation with a translation
This method modifies self to include a translation of the origin. The translation is precomposed with self if pre is true, and postcomposed otherwise. This updates Translation based on current center.
virtual void itk::Object::UnRegister | ( | ) | const [virtual, inherited] |
Decrease the reference count (release by another object).
Reimplemented from itk::LightObject.
ParametersType itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::m_FixedParameters [mutable, protected, inherited] |
Definition at line 273 of file itkTransform.h.
JacobianType itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::m_Jacobian [mutable, protected, inherited] |
Definition at line 274 of file itkTransform.h.
ParametersType itk::Transform< TScalarType , NInputDimensions, NOutputDimensions >::m_Parameters [mutable, protected, inherited] |
Definition at line 272 of file itkTransform.h.
InternalReferenceCountType itk::LightObject::m_ReferenceCount [mutable, protected, inherited] |
Number of uses of this object by other objects.
Definition at line 144 of file itkLightObject.h.
SimpleFastMutexLock itk::LightObject::m_ReferenceCountLock [mutable, protected, inherited] |
Mutex lock to protect modification to the reference count
Definition at line 147 of file itkLightObject.h.