ITK
4.9.0
Insight Segmentation and Registration Toolkit
|
#include <itkMatrixOffsetTransformBase.h>
Matrix and Offset transformation of a vector space (e.g. space coordinates)
This class serves as a base class for transforms that can be expressed as a linear transformation plus a constant offset (e.g., affine, similarity and rigid transforms). This base class also provides the concept of using a center of rotation and a translation instead of an offset.
As derived instances of this class are specializations of an affine transform, any two of these transformations may be composed and the result is an 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.)
TParametersValueType | The type to be used for scalar numeric values. Either float or double. |
NInputDimensions | The number of dimensions of the input vector space. |
NOutputDimensions | The number of dimensions of the output vector space. |
This class provides several methods for setting the matrix and offset defining the transform. To support the registration framework, the transform parameters can also be set as an Array<TParametersValueType> of size (NInputDimension + 1) * NOutputDimension using method SetParameters(). The first (NOutputDimension x NInputDimension) parameters defines the matrix in row-major order (where the column index varies the fastest). The last NOutputDimension parameters defines the translation in each dimensions.
Definition at line 99 of file itkMatrixOffsetTransformBase.h.
Public Types | |
typedef InputPointType | CenterType |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::FixedParametersType | FixedParametersType |
typedef Superclass::FixedParametersValueType | FixedParametersValueType |
typedef Superclass::InputDiffusionTensor3DType | InputDiffusionTensor3DType |
typedef Superclass::InputSymmetricSecondRankTensorType | InputSymmetricSecondRankTensorType |
typedef CovariantVector < TParametersValueType, InputDiffusionTensor3DType::Dimension > | InputTensorEigenVectorType |
typedef Superclass::InputVectorPixelType | InputVectorPixelType |
typedef Matrix < TParametersValueType, itkGetStaticConstMacro(InputSpaceDimension), itkGetStaticConstMacro(OutputSpaceDimension)> | InverseMatrixType |
typedef InverseTransformBaseType::Pointer | InverseTransformBasePointer |
typedef Superclass::InverseTransformBaseType | InverseTransformBaseType |
typedef Superclass::JacobianType | JacobianType |
typedef OutputVectorType | OffsetType |
typedef OffsetType::ValueType | OffsetValueType |
typedef Superclass::OutputDiffusionTensor3DType | OutputDiffusionTensor3DType |
typedef Superclass::OutputSymmetricSecondRankTensorType | OutputSymmetricSecondRankTensorType |
typedef Superclass::OutputVectorPixelType | OutputVectorPixelType |
typedef Superclass::ParametersType | ParametersType |
typedef Superclass::ParametersValueType | ParametersValueType |
typedef SmartPointer< Self > | Pointer |
typedef Superclass::ScalarType | ScalarType |
typedef MatrixOffsetTransformBase | Self |
typedef Transform < TParametersValueType, NInputDimensions, NOutputDimensions > | Superclass |
typedef Superclass::TransformCategoryType | TransformCategoryType |
typedef OutputVectorType | TranslationType |
typedef TranslationType::ValueType | TranslationValueType |
typedef Vector < TParametersValueType, itkGetStaticConstMacro(InputSpaceDimension)> | InputVectorType |
typedef Vector < TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension)> | OutputVectorType |
typedef OutputVectorType::ValueType | OutputVectorValueType |
typedef CovariantVector < TParametersValueType, itkGetStaticConstMacro(InputSpaceDimension)> | InputCovariantVectorType |
typedef CovariantVector < TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension)> | OutputCovariantVectorType |
typedef vnl_vector_fixed < TParametersValueType, itkGetStaticConstMacro(InputSpaceDimension)> | InputVnlVectorType |
typedef vnl_vector_fixed < TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension)> | OutputVnlVectorType |
typedef Point < TParametersValueType, itkGetStaticConstMacro(InputSpaceDimension)> | InputPointType |
typedef InputPointType::ValueType | InputPointValueType |
typedef Point < TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension)> | OutputPointType |
typedef OutputPointType::ValueType | OutputPointValueType |
typedef Matrix < TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> | MatrixType |
typedef MatrixType::ValueType | MatrixValueType |
Public Types inherited from itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Array < ParametersValueType > | DerivativeType |
typedef Matrix< double, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> | DirectionChangeMatrix |
typedef Superclass::FixedParametersType | FixedParametersType |
typedef Superclass::FixedParametersValueType | FixedParametersValueType |
typedef CovariantVector < TParametersValueType, NInputDimensions > | InputCovariantVectorType |
typedef DiffusionTensor3D < TParametersValueType > | InputDiffusionTensor3DType |
typedef Matrix< double, itkGetStaticConstMacro(InputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> | InputDirectionMatrix |
typedef Point < TParametersValueType, NInputDimensions > | InputPointType |
typedef SymmetricSecondRankTensor < TParametersValueType, NInputDimensions > | InputSymmetricSecondRankTensorType |
typedef VariableLengthVector < TParametersValueType > | InputVectorPixelType |
typedef Vector < TParametersValueType, NInputDimensions > | InputVectorType |
typedef vnl_vector_fixed < TParametersValueType, NInputDimensions > | InputVnlVectorType |
typedef InverseTransformBaseType::Pointer | InverseTransformBasePointer |
typedef Transform < TParametersValueType, NOutputDimensions, NInputDimensions > | InverseTransformBaseType |
typedef Array2D < ParametersValueType > | JacobianType |
typedef Matrix < TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> | MatrixType |
typedef Superclass::NumberOfParametersType | NumberOfParametersType |
typedef CovariantVector < TParametersValueType, NOutputDimensions > | OutputCovariantVectorType |
typedef DiffusionTensor3D < TParametersValueType > | OutputDiffusionTensor3DType |
typedef Matrix< double, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(OutputSpaceDimension)> | OutputDirectionMatrix |
typedef Point < TParametersValueType, NOutputDimensions > | OutputPointType |
typedef SymmetricSecondRankTensor < TParametersValueType, NOutputDimensions > | OutputSymmetricSecondRankTensorType |
typedef VariableLengthVector < TParametersValueType > | OutputVectorPixelType |
typedef Vector < TParametersValueType, NOutputDimensions > | OutputVectorType |
typedef vnl_vector_fixed < TParametersValueType, NOutputDimensions > | OutputVnlVectorType |
typedef Superclass::ParametersType | ParametersType |
typedef Superclass::ParametersValueType | ParametersValueType |
typedef SmartPointer< Self > | Pointer |
typedef ParametersValueType | ScalarType |
typedef Transform | Self |
typedef TransformBaseTemplate < TParametersValueType > | Superclass |
typedef Superclass::TransformCategoryType | TransformCategoryType |
Public Types inherited from itk::TransformBaseTemplate< TParametersValueType > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef OptimizerParameters < FixedParametersValueType > | FixedParametersType |
typedef double | FixedParametersValueType |
typedef IdentifierType | NumberOfParametersType |
typedef OptimizerParameters < ParametersValueType > | ParametersType |
typedef TParametersValueType | ParametersValueType |
typedef SmartPointer< Self > | Pointer |
typedef TransformBaseTemplate | Self |
typedef Object | Superclass |
enum | TransformCategoryType { UnknownTransformCategory =0, Linear =1, BSpline =2, Spline =3, DisplacementField =4, VelocityField =5 } |
Public Types inherited from itk::Object | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef Object | Self |
typedef LightObject | Superclass |
Public Types inherited from itk::LightObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef LightObject | Self |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | InputSpaceDimension = NInputDimensions |
static const unsigned int | OutputSpaceDimension = NOutputDimensions |
static const unsigned int | ParametersDimension = NOutputDimensions * ( NInputDimensions + 1 ) |
Static Public Attributes inherited from itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions > | |
static const unsigned int | InputSpaceDimension = NInputDimensions |
static const unsigned int | OutputSpaceDimension = NOutputDimensions |
Private Member Functions | |
MatrixOffsetTransformBase (const Self &other) | |
const Self & | operator= (const Self &) |
Additional Inherited Members | |
Protected Attributes inherited from itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions > | |
DirectionChangeMatrix | m_DirectionChange |
FixedParametersType | m_FixedParameters |
ParametersType | m_Parameters |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
typedef InputPointType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::CenterType |
Definition at line 207 of file itkMatrixOffsetTransformBase.h.
typedef SmartPointer<const Self> itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::ConstPointer |
Definition at line 110 of file itkMatrixOffsetTransformBase.h.
typedef Superclass::FixedParametersType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::FixedParametersType |
Parameters Type
Definition at line 126 of file itkMatrixOffsetTransformBase.h.
typedef Superclass::FixedParametersValueType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::FixedParametersValueType |
Definition at line 127 of file itkMatrixOffsetTransformBase.h.
typedef CovariantVector<TParametersValueType, itkGetStaticConstMacro(InputSpaceDimension)> itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::InputCovariantVectorType |
Standard covariant vector type for this class
Definition at line 151 of file itkMatrixOffsetTransformBase.h.
typedef Superclass::InputDiffusionTensor3DType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::InputDiffusionTensor3DType |
Standard diffusion tensor type for this class
Definition at line 162 of file itkMatrixOffsetTransformBase.h.
typedef Point<TParametersValueType, itkGetStaticConstMacro(InputSpaceDimension)> itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::InputPointType |
Standard coordinate point type for this class
Definition at line 187 of file itkMatrixOffsetTransformBase.h.
typedef InputPointType::ValueType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::InputPointValueType |
Standard coordinate point type for this class
Definition at line 188 of file itkMatrixOffsetTransformBase.h.
typedef Superclass::InputSymmetricSecondRankTensorType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::InputSymmetricSecondRankTensorType |
Standard tensor type for this class
Definition at line 168 of file itkMatrixOffsetTransformBase.h.
typedef CovariantVector<TParametersValueType, InputDiffusionTensor3DType::Dimension> itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::InputTensorEigenVectorType |
Definition at line 173 of file itkMatrixOffsetTransformBase.h.
typedef Superclass::InputVectorPixelType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::InputVectorPixelType |
Definition at line 157 of file itkMatrixOffsetTransformBase.h.
typedef Vector<TParametersValueType, itkGetStaticConstMacro(InputSpaceDimension)> itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::InputVectorType |
Standard vector type for this class
Definition at line 142 of file itkMatrixOffsetTransformBase.h.
typedef vnl_vector_fixed<TParametersValueType, itkGetStaticConstMacro(InputSpaceDimension)> itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::InputVnlVectorType |
Standard vnl_vector type for this class
Definition at line 178 of file itkMatrixOffsetTransformBase.h.
typedef Matrix<TParametersValueType, itkGetStaticConstMacro(InputSpaceDimension), itkGetStaticConstMacro(OutputSpaceDimension)> itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::InverseMatrixType |
Standard inverse matrix type for this class
Definition at line 205 of file itkMatrixOffsetTransformBase.h.
typedef InverseTransformBaseType::Pointer itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::InverseTransformBasePointer |
Definition at line 219 of file itkMatrixOffsetTransformBase.h.
typedef Superclass::InverseTransformBaseType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::InverseTransformBaseType |
Base inverse transform type. This type should not be changed to the concrete inverse transform type or inheritance would be lost.
Definition at line 218 of file itkMatrixOffsetTransformBase.h.
typedef Superclass::JacobianType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::JacobianType |
Jacobian Type
Definition at line 132 of file itkMatrixOffsetTransformBase.h.
typedef Matrix<TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::MatrixType |
Standard matrix type for this class
Definition at line 198 of file itkMatrixOffsetTransformBase.h.
typedef MatrixType::ValueType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::MatrixValueType |
Standard matrix type for this class
Definition at line 199 of file itkMatrixOffsetTransformBase.h.
typedef OutputVectorType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::OffsetType |
Definition at line 209 of file itkMatrixOffsetTransformBase.h.
typedef OffsetType::ValueType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::OffsetValueType |
Definition at line 210 of file itkMatrixOffsetTransformBase.h.
typedef CovariantVector<TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension)> itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputCovariantVectorType |
Standard covariant vector type for this class
Definition at line 154 of file itkMatrixOffsetTransformBase.h.
typedef Superclass::OutputDiffusionTensor3DType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputDiffusionTensor3DType |
Definition at line 164 of file itkMatrixOffsetTransformBase.h.
typedef Point<TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension)> itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputPointType |
Standard coordinate point type for this class
Definition at line 191 of file itkMatrixOffsetTransformBase.h.
typedef OutputPointType::ValueType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputPointValueType |
Standard coordinate point type for this class
Definition at line 192 of file itkMatrixOffsetTransformBase.h.
typedef Superclass::OutputSymmetricSecondRankTensorType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputSymmetricSecondRankTensorType |
Definition at line 170 of file itkMatrixOffsetTransformBase.h.
typedef Superclass::OutputVectorPixelType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputVectorPixelType |
Definition at line 158 of file itkMatrixOffsetTransformBase.h.
typedef Vector<TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension)> itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputVectorType |
Standard vector type for this class
Definition at line 144 of file itkMatrixOffsetTransformBase.h.
typedef OutputVectorType::ValueType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputVectorValueType |
Standard vector type for this class
Definition at line 145 of file itkMatrixOffsetTransformBase.h.
typedef vnl_vector_fixed<TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension)> itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::OutputVnlVectorType |
Standard vnl_vector type for this class
Definition at line 181 of file itkMatrixOffsetTransformBase.h.
typedef Superclass::ParametersType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::ParametersType |
Definition at line 128 of file itkMatrixOffsetTransformBase.h.
typedef Superclass::ParametersValueType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::ParametersValueType |
Definition at line 129 of file itkMatrixOffsetTransformBase.h.
typedef SmartPointer<Self> itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::Pointer |
Definition at line 109 of file itkMatrixOffsetTransformBase.h.
typedef Superclass::ScalarType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::ScalarType |
Standard scalar type for this class
Definition at line 138 of file itkMatrixOffsetTransformBase.h.
typedef MatrixOffsetTransformBase itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::Self |
Standard typedefs
Definition at line 104 of file itkMatrixOffsetTransformBase.h.
typedef Transform<TParametersValueType, NInputDimensions, NOutputDimensions> itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::Superclass |
Definition at line 107 of file itkMatrixOffsetTransformBase.h.
typedef Superclass::TransformCategoryType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::TransformCategoryType |
Transform category type.
Definition at line 135 of file itkMatrixOffsetTransformBase.h.
typedef OutputVectorType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::TranslationType |
Definition at line 212 of file itkMatrixOffsetTransformBase.h.
typedef TranslationType::ValueType itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::TranslationValueType |
Definition at line 214 of file itkMatrixOffsetTransformBase.h.
|
protected |
Construct an MatrixOffsetTransformBase object
This method constructs a new MatrixOffsetTransformBase object and initializes the matrix and offset parts of the transformation to values specified by the caller. If the arguments are omitted, then the MatrixOffsetTransformBase is initialized to an identity transformation in the appropriate number of dimensions.
|
protected |
Construct an MatrixOffsetTransformBase object
This method constructs a new MatrixOffsetTransformBase object and initializes the matrix and offset parts of the transformation to values specified by the caller. If the arguments are omitted, then the MatrixOffsetTransformBase is initialized to an identity transformation in the appropriate number of dimensions.
|
protected |
Construct an MatrixOffsetTransformBase object
This method constructs a new MatrixOffsetTransformBase object and initializes the matrix and offset parts of the transformation to values specified by the caller. If the arguments are omitted, then the MatrixOffsetTransformBase is initialized to an identity transformation in the appropriate number of dimensions.
|
protectedvirtual |
Destroy an MatrixOffsetTransformBase object
|
private |
void itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::Compose | ( | const Self * | other, |
bool | pre = 0 |
||
) |
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.
|
overridevirtual |
Get the jacobian with respect to position. This simply returns the inverse of the current Matrix. jac will be resized as needed, but it's more efficient if it's already properly sized.
|
overridevirtual |
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. Get local Jacobian for the given point j
will sized properly as needed.
|
overridevirtual |
Get the jacobian with respect to position. This simply returns the current Matrix. jac will be resized as needed, but it's more efficient if it's already properly sized.
|
protectedvirtual |
Reimplemented in itk::Rigid2DTransform< TParametersValueType >, itk::Similarity2DTransform< TParametersValueType >, itk::ScaleSkewVersor3DTransform< TParametersValueType >, itk::VersorTransform< TParametersValueType >, itk::ScalableAffineTransform< TParametersValueType, NDimensions >, itk::ScaleTransform< TParametersValueType, NDimensions >, itk::ScaleVersor3DTransform< TParametersValueType >, itk::Similarity3DTransform< TParametersValueType >, itk::QuaternionRigidTransform< TParametersValueType >, and itk::Euler3DTransform< TParametersValueType >.
|
protectedvirtual |
Reimplemented in itk::Rigid2DTransform< TParametersValueType >, itk::Similarity2DTransform< TParametersValueType >, itk::ScaleSkewVersor3DTransform< TParametersValueType >, itk::VersorTransform< TParametersValueType >, itk::ScaleVersor3DTransform< TParametersValueType >, itk::Similarity3DTransform< TParametersValueType >, itk::QuaternionRigidTransform< TParametersValueType >, and itk::Euler3DTransform< TParametersValueType >.
Referenced by itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::SetMatrix().
|
protectedvirtual |
Referenced by itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::SetCenter(), itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::SetMatrix(), and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::SetTranslation().
|
protectedvirtual |
|
virtual |
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::Object.
|
inline |
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 325 of file itkMatrixOffsetTransformBase.h.
|
overridevirtual |
Get the Fixed Parameters.
Reimplemented from itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >.
Reimplemented in itk::CenteredSimilarity2DTransform< TParametersValueType >, and itk::CenteredRigid2DTransform< TParametersValueType >.
bool itk::MatrixOffsetTransformBase< TParametersValueType, NInputDimensions, NOutputDimensions >::GetInverse | ( | Self * | inverse | ) | const |
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 will now contain the inverse of transform1 and will with its center set to p. Flipping the two statements will produce an incorrect transform.
|
protected |
|
overridevirtual |
Return an inverse of this transform.
Reimplemented from itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >.
Reimplemented in itk::AffineTransform< TParametersValueType, NDimensions >, itk::Rigid2DTransform< TParametersValueType >, itk::ScaleTransform< TParametersValueType, NDimensions >, itk::Similarity2DTransform< TParametersValueType >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::CenteredRigid2DTransform< TParametersValueType >, itkv3::Rigid3DTransform< TParametersValueType >, itk::ScalableAffineTransform< TParametersValueType, NDimensions >, itk::CenteredEuler3DTransform< TParametersValueType >, itk::CenteredAffineTransform< TParametersValueType, NDimensions >, and itk::Euler2DTransform< TParametersValueType >.
|
inlinevirtual |
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 260 of file itkMatrixOffsetTransformBase.h.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >.
Reimplemented in itk::AffineTransform< TParametersValueType, NDimensions >, itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >, itk::Similarity2DTransform< TParametersValueType >, itk::Rigid3DTransform< TParametersValueType >, itkv3::Rigid3DTransform< TParametersValueType >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::ScaleSkewVersor3DTransform< TParametersValueType >, itk::Rigid2DTransform< TParametersValueType >, itk::CenteredRigid2DTransform< TParametersValueType >, itk::QuaternionRigidTransform< TParametersValueType >, itk::ScaleVersor3DTransform< TParametersValueType >, itk::Euler3DTransform< TParametersValueType >, itk::Similarity3DTransform< TParametersValueType >, itk::VersorRigid3DTransform< TParametersValueType >, itk::ScaleTransform< TParametersValueType, NDimensions >, itk::VersorTransform< TParametersValueType >, itk::Euler2DTransform< TParametersValueType >, itk::CenteredEuler3DTransform< TParametersValueType >, itk::ScaleLogarithmicTransform< TParametersValueType, NDimensions >, itk::FixedCenterOfRotationAffineTransform< TParametersValueType, NDimensions >, itk::CenteredAffineTransform< TParametersValueType, NDimensions >, and itk::ScalableAffineTransform< TParametersValueType, NDimensions >.
|
inline |
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 285 of file itkMatrixOffsetTransformBase.h.
|
overridevirtual |
Get the Transformation Parameters.
Reimplemented from itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >.
|
inlineoverridevirtual |
Indicates the category transform. e.g. an affine transform, or a local one, e.g. a deformation field.
Reimplemented from itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >.
Definition at line 229 of file itkMatrixOffsetTransformBase.h.
|
inline |
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 349 of file itkMatrixOffsetTransformBase.h.
|
inlineprotected |
Definition at line 502 of file itkMatrixOffsetTransformBase.h.
|
inlineprotected |
Definition at line 510 of file itkMatrixOffsetTransformBase.h.
|
inlineoverridevirtual |
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< TParametersValueType, NInputDimensions, NOutputDimensions >.
Definition at line 467 of file itkMatrixOffsetTransformBase.h.
|
static |
New macro for creation of through a Smart Pointer
|
private |
|
overrideprotectedvirtual |
Print contents of an MatrixOffsetTransformBase
Reimplemented from itk::Object.
Reimplemented in itk::AffineTransform< TParametersValueType, NDimensions >, itk::Rigid2DTransform< TParametersValueType >, itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >, itk::Rigid3DTransform< TParametersValueType >, itk::Similarity2DTransform< TParametersValueType >, itk::ScaleTransform< TParametersValueType, NDimensions >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::CenteredRigid2DTransform< TParametersValueType >, itk::ScalableAffineTransform< TParametersValueType, NDimensions >, itk::ScaleSkewVersor3DTransform< TParametersValueType >, itk::VersorTransform< TParametersValueType >, itk::QuaternionRigidTransform< TParametersValueType >, itk::Similarity3DTransform< TParametersValueType >, itk::ScaleVersor3DTransform< TParametersValueType >, itk::VersorRigid3DTransform< TParametersValueType >, itk::Euler3DTransform< TParametersValueType >, itk::CenteredEuler3DTransform< TParametersValueType >, itk::Euler2DTransform< TParametersValueType >, and itk::ScaleLogarithmicTransform< TParametersValueType, NDimensions >.
|
inline |
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 312 of file itkMatrixOffsetTransformBase.h.
|
overridevirtual |
Set the fixed parameters and update internal transformation.
Implements itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >.
Reimplemented in itk::CenteredSimilarity2DTransform< TParametersValueType >, and itk::CenteredRigid2DTransform< TParametersValueType >.
|
virtual |
Set the transformation to an Identity
This sets the matrix to identity and the Offset to null.
Reimplemented in itk::Rigid2DTransform< TParametersValueType >, itk::ScaleTransform< TParametersValueType, NDimensions >, itk::Similarity2DTransform< TParametersValueType >, itk::ScaleSkewVersor3DTransform< TParametersValueType >, itk::ScaleVersor3DTransform< TParametersValueType >, itk::VersorTransform< TParametersValueType >, itk::Euler3DTransform< TParametersValueType >, itk::QuaternionRigidTransform< TParametersValueType >, itk::Similarity3DTransform< TParametersValueType >, and itk::ScalableAffineTransform< TParametersValueType, NDimensions >.
|
inlinevirtual |
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 245 of file itkMatrixOffsetTransformBase.h.
|
inline |
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 273 of file itkMatrixOffsetTransformBase.h.
|
override |
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.
|
inline |
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 336 of file itkMatrixOffsetTransformBase.h.
|
inlineprotected |
Definition at line 545 of file itkMatrixOffsetTransformBase.h.
|
inlineprotected |
Definition at line 506 of file itkMatrixOffsetTransformBase.h.
|
inlineprotected |
Definition at line 526 of file itkMatrixOffsetTransformBase.h.
|
inlineprotected |
Definition at line 540 of file itkMatrixOffsetTransformBase.h.
|
inlineprotected |
Definition at line 533 of file itkMatrixOffsetTransformBase.h.
|
override |
|
override |
|
override |
|
override |
|
override |
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.
|
override |
|
override |
|
override |
|
override |
|
override |
|
static |
Dimension of the domain space.
Definition at line 119 of file itkMatrixOffsetTransformBase.h.
|
private |
Definition at line 560 of file itkMatrixOffsetTransformBase.h.
Referenced by itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::GetCenter(), itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::SetCenter(), and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::SetVarCenter().
|
mutableprivate |
|
mutableprivate |
|
private |
Definition at line 555 of file itkMatrixOffsetTransformBase.h.
Referenced by itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::GetMatrix(), itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::SetMatrix(), and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::SetVarMatrix().
|
private |
To avoid recomputation of the inverse if not needed
Definition at line 564 of file itkMatrixOffsetTransformBase.h.
Referenced by itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::InverseMatrixIsOld(), itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::SetMatrix(), and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::SetVarMatrix().
|
private |
Definition at line 556 of file itkMatrixOffsetTransformBase.h.
Referenced by itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::GetOffset(), itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::SetOffset(), and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::SetVarOffset().
|
mutableprivate |
Definition at line 558 of file itkMatrixOffsetTransformBase.h.
|
private |
Definition at line 561 of file itkMatrixOffsetTransformBase.h.
Referenced by itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::GetTranslation(), itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::SetTranslation(), and itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >::SetVarTranslation().
|
static |
Dimension of the domain space.
Definition at line 120 of file itkMatrixOffsetTransformBase.h.
|
static |
Dimension of the domain space.
Definition at line 122 of file itkMatrixOffsetTransformBase.h.