ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkScaleTransform.h>
Scale transformation of a vector space (e.g. space coordinates)
The same functionality could be obtained by using the Affine tranform, but with a large difference in performace since the affine transform will use a matrix multiplication using a diagonal matrix.
Definition at line 47 of file itkScaleTransform.h.
typedef SmartPointer<const Self> itk::ScaleTransform< TScalarType, NDimensions >::ConstPointer |
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 56 of file itkScaleTransform.h.
typedef CovariantVector<TScalarType, NDimensions> itk::ScaleTransform< TScalarType, NDimensions >::InputCovariantVectorType |
Standard covariant vector type for this class.
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 86 of file itkScaleTransform.h.
typedef Point<TScalarType, NDimensions> itk::ScaleTransform< TScalarType, NDimensions >::InputPointType |
Standard coordinate point type for this class.
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 94 of file itkScaleTransform.h.
typedef Vector<TScalarType, NDimensions> itk::ScaleTransform< TScalarType, NDimensions >::InputVectorType |
Standard vector type for this class.
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 82 of file itkScaleTransform.h.
typedef vnl_vector_fixed<TScalarType, NDimensions> itk::ScaleTransform< TScalarType, NDimensions >::InputVnlVectorType |
Standard vnl_vector type for this class.
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 90 of file itkScaleTransform.h.
typedef InverseTransformBaseType::Pointer itk::ScaleTransform< TScalarType, NDimensions >::InverseTransformBasePointer |
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Definition at line 100 of file itkScaleTransform.h.
typedef Superclass::InverseTransformBaseType itk::ScaleTransform< 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 >.
Definition at line 99 of file itkScaleTransform.h.
typedef Superclass::JacobianType itk::ScaleTransform< TScalarType, NDimensions >::JacobianType |
Jacobian type.
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 76 of file itkScaleTransform.h.
typedef Superclass::MatrixType itk::ScaleTransform< TScalarType, NDimensions >::MatrixType |
Standard matrix type for this class
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Definition at line 102 of file itkScaleTransform.h.
typedef CovariantVector<TScalarType, NDimensions> itk::ScaleTransform< TScalarType, NDimensions >::OutputCovariantVectorType |
Standard covariant vector type for this class
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 87 of file itkScaleTransform.h.
typedef Point<TScalarType, NDimensions> itk::ScaleTransform< TScalarType, NDimensions >::OutputPointType |
Standard coordinate point type for this class
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 95 of file itkScaleTransform.h.
typedef Vector<TScalarType, NDimensions> itk::ScaleTransform< TScalarType, NDimensions >::OutputVectorType |
Standard vector type for this class
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 83 of file itkScaleTransform.h.
typedef vnl_vector_fixed<TScalarType, NDimensions> itk::ScaleTransform< TScalarType, NDimensions >::OutputVnlVectorType |
Standard vnl_vector type for this class
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 91 of file itkScaleTransform.h.
typedef Superclass::ParametersType itk::ScaleTransform< TScalarType, NDimensions >::ParametersType |
Parameters type.
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 73 of file itkScaleTransform.h.
typedef SmartPointer<Self> itk::ScaleTransform< TScalarType, NDimensions >::Pointer |
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 55 of file itkScaleTransform.h.
typedef Superclass::ScalarType itk::ScaleTransform< TScalarType, NDimensions >::ScalarType |
Scalar type.
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 70 of file itkScaleTransform.h.
typedef FixedArray<TScalarType, NDimensions> itk::ScaleTransform< TScalarType, NDimensions >::ScaleType |
Standard vector type for this class.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 79 of file itkScaleTransform.h.
typedef ScaleTransform itk::ScaleTransform< TScalarType, NDimensions >::Self |
Standard class typedefs.
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 53 of file itkScaleTransform.h.
typedef MatrixOffsetTransformBase<TScalarType, NDimensions, NDimensions> itk::ScaleTransform< TScalarType, NDimensions >::Superclass |
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 54 of file itkScaleTransform.h.
itk::ScaleTransform< TScalarType, NDimensions >::ScaleTransform | ( | ) | [protected] |
Construct an ScaleTransform object.
itk::ScaleTransform< TScalarType, NDimensions >::~ScaleTransform | ( | ) | [protected] |
Destroy an ScaleTransform object.
itk::ScaleTransform< TScalarType, NDimensions >::ScaleTransform | ( | const Self & | other | ) | [private] |
ScaleTransform< ScalarType, NDimensions >::InputPointType itk::ScaleTransform< ScalarType, NDimensions >::BackTransform | ( | const OutputPointType & | point | ) | const [inline] |
Back transform by a scale transformation This method finds the point or vector that maps to a given point or vector under the scale transformation defined by self. If no such point exists, an exception is thrown.
Definition at line 243 of file itkScaleTransform.h.
ScaleTransform< ScalarType, NDimensions >::InputVectorType itk::ScaleTransform< ScalarType, NDimensions >::BackTransform | ( | const OutputVectorType & | vector | ) | const [inline] |
Definition at line 258 of file itkScaleTransform.h.
ScaleTransform< ScalarType, NDimensions >::InputVnlVectorType itk::ScaleTransform< ScalarType, NDimensions >::BackTransform | ( | const OutputVnlVectorType & | vector | ) | const [inline] |
Definition at line 273 of file itkScaleTransform.h.
ScaleTransform< ScalarType, NDimensions >::InputCovariantVectorType itk::ScaleTransform< ScalarType, NDimensions >::BackTransform | ( | const OutputCovariantVectorType & | vector | ) | const [inline] |
Definition at line 288 of file itkScaleTransform.h.
void itk::ScaleTransform< TScalarType, NDimensions >::Compose | ( | const Self * | other, |
bool | pre = false |
||
) |
Compose with another ScaleTransform.
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
virtual void itk::ScaleTransform< TScalarType, NDimensions >::ComputeJacobianWithRespectToParameters | ( | const InputPointType & | point, |
JacobianType & | j | ||
) | const [virtual] |
Get the Jacobian matrix.
virtual void itk::ScaleTransform< TScalarType, NDimensions >::ComputeJacobianWithRespectToPosition | ( | const InputPointType & | x, |
JacobianType & | jac | ||
) | const [virtual] |
Get the jacobian with respect to position, which simply is the matrix because the transform is position-invariant. jac will be resized as needed, but it will be more efficient if it is already properly sized.
virtual void itk::ScaleTransform< TScalarType, NDimensions >::ComputeMatrix | ( | void | ) | [virtual] |
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
virtual::itk::LightObject::Pointer itk::ScaleTransform< TScalarType, NDimensions >::CreateAnother | ( | void | ) | const [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::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
virtual const InputPointType& itk::ScaleTransform< TScalarType, NDimensions >::GetCenter | ( | ) | [virtual] |
Set/Get the center used as fixed point for the scaling
virtual const ParametersType& itk::ScaleTransform< TScalarType, NDimensions >::GetFixedParameters | ( | void | ) | const [virtual] |
Get the fixed parameters
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
bool itk::ScaleTransform< TScalarType, NDimensions >::GetInverse | ( | Self * | inverse | ) | const |
Find inverse of a scale transformation This method creates and returns a new ScaleTransform object which is the inverse of self. If self is not invertible, false is returned.
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
virtual InverseTransformBasePointer itk::ScaleTransform< TScalarType, NDimensions >::GetInverseTransform | ( | ) | const [virtual] |
Return an inverse of this transform.
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
virtual const char* itk::ScaleTransform< TScalarType, NDimensions >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
const ParametersType& itk::ScaleTransform< TScalarType, NDimensions >::GetParameters | ( | void | ) | const [virtual] |
Get the parameters that uniquely define the transform This is typically used by optimizers during the process of image registration. The parameters are organized as {scale X, scale Y, scale Z } = { parameter[0], parameter[1], parameter[2] } respectively
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
virtual const ScaleType& itk::ScaleTransform< TScalarType, NDimensions >::GetScale | ( | ) | [virtual] |
Get access to scale values
virtual bool itk::ScaleTransform< TScalarType, NDimensions >::IsLinear | ( | ) | const [inline, virtual] |
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::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Definition at line 214 of file itkScaleTransform.h.
static Pointer itk::ScaleTransform< TScalarType, NDimensions >::New | ( | ) | [static] |
New macro for creation of through a smart pointer.
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
const Self& itk::ScaleTransform< TScalarType, NDimensions >::operator= | ( | const Self & | ) | [private] |
Mutex lock to protect modification to the reference count
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
void itk::ScaleTransform< TScalarType, NDimensions >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Print contents of an ScaleTransform
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
void itk::ScaleTransform< TScalarType, NDimensions >::Scale | ( | const ScaleType & | scale, |
bool | pre = false |
||
) |
Compose this transform transformation with another scaling. The pre argument is irrelevant here since scale transforms are commutative, pre and postcomposition are therefore equivalent.
virtual void itk::ScaleTransform< TScalarType, NDimensions >::SetCenter | ( | InputPointType | _arg | ) | [virtual] |
Set/Get the center used as fixed point for the scaling
virtual void itk::ScaleTransform< TScalarType, NDimensions >::SetFixedParameters | ( | const ParametersType & | ) | [inline, virtual] |
Set the fixed parameters and update internal transformation. This transform has no fixed paramaters
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Definition at line 119 of file itkScaleTransform.h.
void itk::ScaleTransform< TScalarType, NDimensions >::SetIdentity | ( | void | ) | [inline, virtual] |
Set the transformation to an Identity
This sets all the scales to 1.0
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Definition at line 196 of file itkScaleTransform.h.
void itk::ScaleTransform< TScalarType, NDimensions >::SetParameters | ( | const ParametersType & | parameters | ) | [virtual] |
Set parameters. This method sets the parameters for the transform value specified by the user. The parameters are organized as scale[i] = parameter[i]. That means that in 3D the scale parameters for the coordinates {x,y,z} are {parameter[0], parameter[1], parameter[2]} respectively
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
void itk::ScaleTransform< TScalarType, NDimensions >::SetScale | ( | const ScaleType & | scale | ) | [inline] |
Set the factors of an Scale Transform This method sets the factors of an ScaleTransform to a value specified by the user. This method cannot be done with SetMacro because itk::Array has not an operator== defined. The array of scales correspond in order to the factors to be applied to each one of the coordinaates. For example, in 3D, scale[0] corresponds to X, scale[1] corresponds to Y and scale[2] corresponds to Z.
Definition at line 143 of file itkScaleTransform.h.
OutputCovariantVectorType itk::ScaleTransform< TScalarType, NDimensions >::TransformCovariantVector | ( | const InputCovariantVectorType & | ) | const [virtual] |
Method to transform a CovariantVector.
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
OutputPointType itk::ScaleTransform< TScalarType, NDimensions >::TransformPoint | ( | const InputPointType & | point | ) | const |
Transform by a scale transformation This method applies the scale transform given by self to a given point or vector, returning the transformed point or vector.
OutputVectorType itk::ScaleTransform< TScalarType, NDimensions >::TransformVector | ( | const InputVectorType & | vector | ) | const |
OutputVnlVectorType itk::ScaleTransform< TScalarType, NDimensions >::TransformVector | ( | const InputVnlVectorType & | vector | ) | const |
InputPointType itk::ScaleTransform< TScalarType, NDimensions >::m_Center [private] |
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Definition at line 235 of file itkScaleTransform.h.
ParametersType itk::ScaleTransform< TScalarType, NDimensions >::m_FixedParameters [mutable, private] |
Reimplemented from itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 236 of file itkScaleTransform.h.
ScaleType itk::ScaleTransform< TScalarType, NDimensions >::m_Scale [private] |
Definition at line 233 of file itkScaleTransform.h.
const unsigned int itk::ScaleTransform< TScalarType, NDimensions >::ParametersDimension = NDimensions [static] |
Dimension of the domain space.
Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 66 of file itkScaleTransform.h.
const unsigned int itk::ScaleTransform< TScalarType, NDimensions >::SpaceDimension = NDimensions [static] |
Dimension of the domain space.
Reimplemented in itk::ScaleLogarithmicTransform< TScalarType, NDimensions >.
Definition at line 65 of file itkScaleTransform.h.