ITK
4.6.0
Insight Segmentation and Registration Toolkit
|
#include <itkRigid2DTransform.h>
Rigid2DTransform of a vector space (e.g. space coordinates)
This transform applies a rigid transformation in 2D space. The transform is specified as a rotation around a arbitrary center and is followed by a translation.
The parameters for this transform can be set either using individual Set methods or in serialized form using SetParameters() and SetFixedParameters().
The serialization of the optimizable parameters is an array of 3 elements ordered as follows: p[0] = angle p[1] = x component of the translation p[2] = y component of the translation
The serialization of the fixed parameters is an array of 2 elements ordered as follows: p[0] = x coordinate of the center p[1] = y coordinate of the center
Access methods for the center, translation and underlying matrix offset vectors are documented in the superclass MatrixOffsetTransformBase.
Definition at line 58 of file itkRigid2DTransform.h.
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::InputCovariantVectorType | InputCovariantVectorType |
typedef Superclass::InputPointType | InputPointType |
typedef Superclass::InputVectorType | InputVectorType |
typedef Superclass::InputVnlVectorType | InputVnlVectorType |
typedef InverseTransformBaseType::Pointer | InverseTransformBasePointer |
typedef Superclass::InverseTransformBaseType | InverseTransformBaseType |
typedef Superclass::JacobianType | JacobianType |
typedef Superclass::MatrixType | MatrixType |
typedef Superclass::MatrixValueType | MatrixValueType |
typedef Superclass::OffsetType | OffsetType |
typedef Superclass::OffsetValueType | OffsetValueType |
typedef Superclass::OutputCovariantVectorType | OutputCovariantVectorType |
typedef Superclass::OutputPointType | OutputPointType |
typedef Superclass::OutputVectorType | OutputVectorType |
typedef Superclass::OutputVectorValueType | OutputVectorValueType |
typedef Superclass::OutputVnlVectorType | OutputVnlVectorType |
typedef Superclass::ParametersType | ParametersType |
typedef Superclass::ParametersValueType | ParametersValueType |
typedef SmartPointer< Self > | Pointer |
typedef Superclass::ScalarType | ScalarType |
typedef Rigid2DTransform | Self |
typedef MatrixOffsetTransformBase < TScalar, 2, 2 > | Superclass |
Public Types inherited from itk::MatrixOffsetTransformBase< TScalar, 2, 2 > | |
typedef InputPointType | CenterType |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::InputDiffusionTensor3DType | InputDiffusionTensor3DType |
typedef Superclass::InputSymmetricSecondRankTensorType | InputSymmetricSecondRankTensorType |
typedef CovariantVector < TScalar, InputDiffusionTensor3DType::Dimension > | InputTensorEigenVectorType |
typedef Superclass::InputVectorPixelType | InputVectorPixelType |
typedef Matrix< TScalar, 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< TScalar, NInputDimensions, NOutputDimensions > | Superclass |
typedef Superclass::TransformCategoryType | TransformCategoryType |
typedef OutputVectorType | TranslationType |
typedef TranslationType::ValueType | TranslationValueType |
typedef Vector< TScalar, itkGetStaticConstMacro(InputSpaceDimension)> | InputVectorType |
typedef Vector< TScalar, itkGetStaticConstMacro(OutputSpaceDimension)> | OutputVectorType |
typedef OutputVectorType::ValueType | OutputVectorValueType |
typedef CovariantVector < TScalar, itkGetStaticConstMacro(InputSpaceDimension)> | InputCovariantVectorType |
typedef CovariantVector < TScalar, itkGetStaticConstMacro(OutputSpaceDimension)> | OutputCovariantVectorType |
typedef vnl_vector_fixed < TScalar, itkGetStaticConstMacro(InputSpaceDimension)> | InputVnlVectorType |
typedef vnl_vector_fixed < TScalar, itkGetStaticConstMacro(OutputSpaceDimension)> | OutputVnlVectorType |
typedef Point< TScalar, itkGetStaticConstMacro(InputSpaceDimension)> | InputPointType |
typedef InputPointType::ValueType | InputPointValueType |
typedef Point< TScalar, itkGetStaticConstMacro(OutputSpaceDimension)> | OutputPointType |
typedef OutputPointType::ValueType | OutputPointValueType |
typedef Matrix< TScalar, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> | MatrixType |
typedef MatrixType::ValueType | MatrixValueType |
Public Types inherited from itk::Transform< TScalar, NInputDimensions, NOutputDimensions > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Array < ParametersValueType > | DerivativeType |
typedef Matrix< double, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> | DirectionChangeMatrix |
typedef CovariantVector < TScalar, NInputDimensions > | InputCovariantVectorType |
typedef DiffusionTensor3D < TScalar > | InputDiffusionTensor3DType |
typedef Matrix< double, itkGetStaticConstMacro(InputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> | InputDirectionMatrix |
typedef Point< TScalar, NInputDimensions > | InputPointType |
typedef SymmetricSecondRankTensor < TScalar, NInputDimensions > | InputSymmetricSecondRankTensorType |
typedef VariableLengthVector < TScalar > | InputVectorPixelType |
typedef Vector< TScalar, NInputDimensions > | InputVectorType |
typedef vnl_vector_fixed < TScalar, NInputDimensions > | InputVnlVectorType |
typedef InverseTransformBaseType::Pointer | InverseTransformBasePointer |
typedef Transform< TScalar, NOutputDimensions, NInputDimensions > | InverseTransformBaseType |
typedef Array2D < ParametersValueType > | JacobianType |
typedef Matrix< TScalar, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> | MatrixType |
typedef Superclass::NumberOfParametersType | NumberOfParametersType |
typedef CovariantVector < TScalar, NOutputDimensions > | OutputCovariantVectorType |
typedef DiffusionTensor3D < TScalar > | OutputDiffusionTensor3DType |
typedef Matrix< double, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(OutputSpaceDimension)> | OutputDirectionMatrix |
typedef Point< TScalar, NOutputDimensions > | OutputPointType |
typedef SymmetricSecondRankTensor < TScalar, NOutputDimensions > | OutputSymmetricSecondRankTensorType |
typedef VariableLengthVector < TScalar > | OutputVectorPixelType |
typedef Vector< TScalar, NOutputDimensions > | OutputVectorType |
typedef vnl_vector_fixed < TScalar, NOutputDimensions > | OutputVnlVectorType |
typedef Superclass::ParametersType | ParametersType |
typedef Superclass::ParametersValueType | ParametersValueType |
typedef SmartPointer< Self > | Pointer |
typedef TScalar | ScalarType |
typedef Transform | Self |
typedef TransformBaseTemplate < TScalar > | Superclass |
typedef Superclass::TransformCategoryType | TransformCategoryType |
Public Types inherited from itk::TransformBaseTemplate< TScalar > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef IdentifierType | NumberOfParametersType |
typedef OptimizerParameters < ParametersValueType > | ParametersType |
typedef TScalar | 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::MatrixOffsetTransformBase< TScalar, 2, 2 > | |
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 = 2 |
static const unsigned int | OutputSpaceDimension = 2 |
static const unsigned int | ParametersDimension = 3 |
Static Public Attributes inherited from itk::MatrixOffsetTransformBase< TScalar, 2, 2 > | |
static const unsigned int | InputSpaceDimension |
static const unsigned int | OutputSpaceDimension |
static const unsigned int | ParametersDimension |
Static Public Attributes inherited from itk::Transform< TScalar, NInputDimensions, NOutputDimensions > | |
static const unsigned int | InputSpaceDimension = NInputDimensions |
static const unsigned int | OutputSpaceDimension = NOutputDimensions |
Protected Member Functions | |
virtual void | ComputeMatrix (void) |
virtual void | ComputeMatrixParameters (void) |
void | PrintSelf (std::ostream &os, Indent indent) const |
Rigid2DTransform (unsigned int outputSpaceDimension, unsigned int parametersDimension) | |
Rigid2DTransform (unsigned int parametersDimension) | |
Rigid2DTransform () | |
void | SetVarAngle (TScalar angle) |
~Rigid2DTransform () | |
Protected Member Functions inherited from itk::MatrixOffsetTransformBase< TScalar, 2, 2 > | |
virtual void | ComputeOffset (void) |
virtual void | ComputeTranslation (void) |
const InverseMatrixType & | GetInverseMatrix (void) const |
const InverseMatrixType & | GetVarInverseMatrix (void) const |
bool | InverseMatrixIsOld (void) const |
void | PrintSelf (std::ostream &s, Indent indent) const |
void | SetVarCenter (const InputPointType ¢er) |
void | SetVarInverseMatrix (const InverseMatrixType &matrix) const |
void | SetVarMatrix (const MatrixType &matrix) |
void | SetVarOffset (const OutputVectorType &offset) |
void | SetVarTranslation (const OutputVectorType &translation) |
virtual | ~MatrixOffsetTransformBase () |
MatrixOffsetTransformBase (const MatrixType &matrix, const OutputVectorType &offset) | |
MatrixOffsetTransformBase (unsigned int paramDims) | |
MatrixOffsetTransformBase () | |
Protected Member Functions inherited from itk::Transform< TScalar, NInputDimensions, NOutputDimensions > | |
virtual LightObject::Pointer | InternalClone () const |
OutputDiffusionTensor3DType | PreservationOfPrincipalDirectionDiffusionTensor3DReorientation (const InputDiffusionTensor3DType, const JacobianType) const |
Transform () | |
Transform (NumberOfParametersType NumberOfParameters) | |
virtual | ~Transform () |
Protected Member Functions inherited from itk::TransformBaseTemplate< TScalar > | |
TransformBaseTemplate () | |
virtual | ~TransformBaseTemplate () |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | SetTimeStamp (const TimeStamp &time) |
virtual | ~Object () |
Protected Member Functions inherited from itk::LightObject | |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Private Member Functions | |
void | operator= (const Self &) |
Rigid2DTransform (const Self &) | |
Private Attributes | |
TScalar | m_Angle |
Additional Inherited Members | |
Protected Types inherited from itk::LightObject | |
typedef int | InternalReferenceCountType |
Protected Attributes inherited from itk::Transform< TScalar, NInputDimensions, NOutputDimensions > | |
DirectionChangeMatrix | m_DirectionChange |
ParametersType | m_FixedParameters |
ParametersType | m_Parameters |
Protected Attributes inherited from itk::LightObject | |
InternalReferenceCountType | m_ReferenceCount |
SimpleFastMutexLock | m_ReferenceCountLock |
typedef SmartPointer< const Self > itk::Rigid2DTransform< TScalar >::ConstPointer |
Definition at line 68 of file itkRigid2DTransform.h.
typedef Superclass::InputCovariantVectorType itk::Rigid2DTransform< TScalar >::InputCovariantVectorType |
Definition at line 106 of file itkRigid2DTransform.h.
typedef Superclass::InputPointType itk::Rigid2DTransform< TScalar >::InputPointType |
Definition at line 114 of file itkRigid2DTransform.h.
typedef Superclass::InputVectorType itk::Rigid2DTransform< TScalar >::InputVectorType |
Definition at line 101 of file itkRigid2DTransform.h.
typedef Superclass::InputVnlVectorType itk::Rigid2DTransform< TScalar >::InputVnlVectorType |
Definition at line 110 of file itkRigid2DTransform.h.
typedef InverseTransformBaseType::Pointer itk::Rigid2DTransform< TScalar >::InverseTransformBasePointer |
Definition at line 120 of file itkRigid2DTransform.h.
typedef Superclass::InverseTransformBaseType itk::Rigid2DTransform< TScalar >::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 119 of file itkRigid2DTransform.h.
typedef Superclass::JacobianType itk::Rigid2DTransform< TScalar >::JacobianType |
Jacobian type.
Definition at line 90 of file itkRigid2DTransform.h.
typedef Superclass::MatrixType itk::Rigid2DTransform< TScalar >::MatrixType |
Definition at line 93 of file itkRigid2DTransform.h.
typedef Superclass::MatrixValueType itk::Rigid2DTransform< TScalar >::MatrixValueType |
Definition at line 94 of file itkRigid2DTransform.h.
typedef Superclass::OffsetType itk::Rigid2DTransform< TScalar >::OffsetType |
Definition at line 97 of file itkRigid2DTransform.h.
typedef Superclass::OffsetValueType itk::Rigid2DTransform< TScalar >::OffsetValueType |
Definition at line 98 of file itkRigid2DTransform.h.
typedef Superclass::OutputCovariantVectorType itk::Rigid2DTransform< TScalar >::OutputCovariantVectorType |
Definition at line 107 of file itkRigid2DTransform.h.
typedef Superclass::OutputPointType itk::Rigid2DTransform< TScalar >::OutputPointType |
Definition at line 115 of file itkRigid2DTransform.h.
typedef Superclass::OutputVectorType itk::Rigid2DTransform< TScalar >::OutputVectorType |
Definition at line 102 of file itkRigid2DTransform.h.
typedef Superclass::OutputVectorValueType itk::Rigid2DTransform< TScalar >::OutputVectorValueType |
Definition at line 103 of file itkRigid2DTransform.h.
typedef Superclass::OutputVnlVectorType itk::Rigid2DTransform< TScalar >::OutputVnlVectorType |
Definition at line 111 of file itkRigid2DTransform.h.
typedef Superclass::ParametersType itk::Rigid2DTransform< TScalar >::ParametersType |
Parameters type.
Definition at line 86 of file itkRigid2DTransform.h.
typedef Superclass::ParametersValueType itk::Rigid2DTransform< TScalar >::ParametersValueType |
Definition at line 87 of file itkRigid2DTransform.h.
typedef SmartPointer< Self > itk::Rigid2DTransform< TScalar >::Pointer |
Definition at line 67 of file itkRigid2DTransform.h.
typedef Superclass::ScalarType itk::Rigid2DTransform< TScalar >::ScalarType |
Scalar type.
Definition at line 83 of file itkRigid2DTransform.h.
typedef Rigid2DTransform itk::Rigid2DTransform< TScalar >::Self |
Standard class typedefs.
Definition at line 65 of file itkRigid2DTransform.h.
typedef MatrixOffsetTransformBase< TScalar, 2, 2 > itk::Rigid2DTransform< TScalar >::Superclass |
Definition at line 66 of file itkRigid2DTransform.h.
|
protected |
|
protected |
|
protected |
|
protected |
|
private |
|
inline |
Back transform by an rigid transformation.
The BackTransform() methods are slated to be removed from ITK. Instead, please use GetInverse() or CloneInverseTo() to generate an inverse transform and then perform the transform using that inverted transform.
Definition at line 280 of file itkRigid2DTransform.h.
|
inline |
Definition at line 293 of file itkRigid2DTransform.h.
|
inline |
Definition at line 306 of file itkRigid2DTransform.h.
|
inline |
Definition at line 319 of file itkRigid2DTransform.h.
void itk::Rigid2DTransform< TScalar >::CloneInverseTo | ( | Pointer & | newinverse | ) | const |
This method creates and returns a new Rigid2DTransform object which is the inverse of self.
void itk::Rigid2DTransform< TScalar >::CloneTo | ( | Pointer & | clone | ) | const |
This method creates and returns a new Rigid2DTransform object which has the same parameters.
|
virtual |
Compute the Jacobian Matrix of the transformation at one point, allowing for thread-safety.
Reimplemented in itk::Similarity2DTransform< TScalar >, itk::CenteredSimilarity2DTransform< TScalar >, and itk::CenteredRigid2DTransform< TScalar >.
|
protectedvirtual |
Compute the matrix from angle. This is used in Set methods to update the underlying matrix whenever a transform parameter is changed.
Reimplemented from itk::MatrixOffsetTransformBase< TScalar, 2, 2 >.
Reimplemented in itk::Similarity2DTransform< TScalar >.
|
protectedvirtual |
Compute the angle from the matrix. This is used to compute transform parameters from a given matrix. This is used in MatrixOffsetTransformBase::Compose() and MatrixOffsetTransformBase::GetInverse().
Reimplemented from itk::MatrixOffsetTransformBase< TScalar, 2, 2 >.
Reimplemented in itk::Similarity2DTransform< TScalar >.
Referenced by itk::Euler2DTransform< TScalar >::ComputeAngleFromMatrix().
|
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.
Reimplemented in itk::Similarity2DTransform< TScalar >.
|
virtual |
bool itk::Rigid2DTransform< TScalar >::GetInverse | ( | Self * | inverse | ) | const |
Get an inverse of this transform.
|
virtual |
Return an inverse of this transform.
Reimplemented from itk::MatrixOffsetTransformBase< TScalar, 2, 2 >.
Reimplemented in itk::Similarity2DTransform< TScalar >, itk::CenteredSimilarity2DTransform< TScalar >, itk::CenteredRigid2DTransform< TScalar >, and itk::Euler2DTransform< TScalar >.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::MatrixOffsetTransformBase< TScalar, 2, 2 >.
Reimplemented in itk::Similarity2DTransform< TScalar >, itk::CenteredSimilarity2DTransform< TScalar >, itk::CenteredRigid2DTransform< TScalar >, and itk::Euler2DTransform< TScalar >.
|
virtual |
Get the parameters that uniquely define the transform This is typically used by optimizers. There are 3 parameters. The first one represents the angle or rotation in radians and the last two represents the translation. The center of rotation is fixed.
Reimplemented from itk::Transform< TScalar, NInputDimensions, NOutputDimensions >.
Reimplemented in itk::Similarity2DTransform< TScalar >.
|
inlinevirtual |
Set/Get the angle of rotation in radians. These methods are old and are retained for backward compatibility. Instead, use SetAngle() and GetAngle().
Definition at line 176 of file itkRigid2DTransform.h.
References itk::Rigid2DTransform< TScalar >::m_Angle.
|
static |
New macro for creation of through a Smart Pointer
|
private |
|
protectedvirtual |
Print contents of an Rigid2DTransform
Reimplemented from itk::Object.
Reimplemented in itk::Similarity2DTransform< TScalar >.
void itk::Rigid2DTransform< TScalar >::SetAngle | ( | TScalar | angle | ) |
Set/Get the angle of rotation in radians
Referenced by itk::Rigid2DTransform< TScalar >::SetRotation().
void itk::Rigid2DTransform< TScalar >::SetAngleInDegrees | ( | TScalar | angle | ) |
Set the angle of rotation in degrees.
|
virtual |
Reset the parameters to create and identity transform.
Reimplemented from itk::MatrixOffsetTransformBase< TScalar, 2, 2 >.
Reimplemented in itk::Similarity2DTransform< TScalar >.
|
virtual |
Set the rotation Matrix of a Rigid2D Transform
This method sets the 2x2 matrix representing the rotation in the transform. The Matrix is expected to be orthogonal with a certain tolerance.
Reimplemented in itk::Similarity2DTransform< TScalar >.
|
virtual |
Set the transformation from a container of parameters This is typically used by optimizers. There are 3 parameters. The first one represents the angle of rotation in radians and the last two represents the translation. The center of rotation is fixed.
Implements itk::Transform< TScalar, NInputDimensions, NOutputDimensions >.
Reimplemented in itk::Similarity2DTransform< TScalar >.
|
inline |
Set/Get the angle of rotation in radians. These methods are old and are retained for backward compatibility. Instead, use SetAngle() and GetAngle().
Definition at line 172 of file itkRigid2DTransform.h.
References itk::Rigid2DTransform< TScalar >::SetAngle().
|
inlineprotected |
Update angle without recomputation of other internal variables.
Definition at line 263 of file itkRigid2DTransform.h.
References itk::Rigid2DTransform< TScalar >::m_Angle.
void itk::Rigid2DTransform< TScalar >::Translate | ( | const OffsetType & | offset, |
bool | pre = false |
||
) |
Compose the 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.
|
static |
Dimension of the space.
Definition at line 77 of file itkRigid2DTransform.h.
|
private |
Definition at line 272 of file itkRigid2DTransform.h.
Referenced by itk::Rigid2DTransform< TScalar >::GetRotation(), and itk::Rigid2DTransform< TScalar >::SetVarAngle().
|
static |
Dimension of the space.
Definition at line 78 of file itkRigid2DTransform.h.
|
static |
Dimension of the space.
Definition at line 79 of file itkRigid2DTransform.h.