ITK
5.0.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 56 of file itkRigid2DTransform.h.
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | FixedParametersType = typename Superclass::FixedParametersType |
using | FixedParametersValueType = typename Superclass::FixedParametersValueType |
using | InputCovariantVectorType = typename Superclass::InputCovariantVectorType |
using | InputPointType = typename Superclass::InputPointType |
using | InputVectorType = typename Superclass::InputVectorType |
using | InputVnlVectorType = typename Superclass::InputVnlVectorType |
using | InverseJacobianPositionType = typename Superclass::InverseJacobianPositionType |
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
using | InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
using | JacobianPositionType = typename Superclass::JacobianPositionType |
using | JacobianType = typename Superclass::JacobianType |
using | MatrixType = typename Superclass::MatrixType |
using | MatrixValueType = typename Superclass::MatrixValueType |
using | OffsetType = typename Superclass::OffsetType |
using | OffsetValueType = typename Superclass::OffsetValueType |
using | OutputCovariantVectorType = typename Superclass::OutputCovariantVectorType |
using | OutputPointType = typename Superclass::OutputPointType |
using | OutputVectorType = typename Superclass::OutputVectorType |
using | OutputVectorValueType = typename Superclass::OutputVectorValueType |
using | OutputVnlVectorType = typename Superclass::OutputVnlVectorType |
using | ParametersType = typename Superclass::ParametersType |
using | ParametersValueType = typename Superclass::ParametersValueType |
using | Pointer = SmartPointer< Self > |
using | ScalarType = typename Superclass::ScalarType |
using | Self = Rigid2DTransform |
using | Superclass = MatrixOffsetTransformBase< TParametersValueType, 2, 2 > |
Public Types inherited from itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 > | |
using | CenterType = InputPointType |
using | ConstPointer = SmartPointer< const Self > |
using | FixedParametersType = typename Superclass::FixedParametersType |
using | FixedParametersValueType = typename Superclass::FixedParametersValueType |
using | InputCovariantVectorType = CovariantVector< TParametersValueType, Self::InputSpaceDimension > |
using | InputDiffusionTensor3DType = typename Superclass::InputDiffusionTensor3DType |
using | InputPointType = Point< TParametersValueType, Self::InputSpaceDimension > |
using | InputPointValueType = typename InputPointType::ValueType |
using | InputSymmetricSecondRankTensorType = typename Superclass::InputSymmetricSecondRankTensorType |
using | InputTensorEigenVectorType = CovariantVector< TParametersValueType, InputDiffusionTensor3DType::Dimension > |
using | InputVectorPixelType = typename Superclass::InputVectorPixelType |
using | InputVectorType = Vector< TParametersValueType, Self::InputSpaceDimension > |
using | InputVnlVectorType = vnl_vector_fixed< TParametersValueType, Self::InputSpaceDimension > |
using | InverseJacobianPositionType = typename Superclass::InverseJacobianPositionType |
using | InverseMatrixType = Matrix< TParametersValueType, Self::InputSpaceDimension, Self::OutputSpaceDimension > |
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
using | InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
using | JacobianPositionType = typename Superclass::JacobianPositionType |
using | JacobianType = typename Superclass::JacobianType |
using | MatrixType = Matrix< TParametersValueType, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
using | MatrixValueType = typename MatrixType::ValueType |
using | OffsetType = OutputVectorType |
using | OffsetValueType = typename OffsetType::ValueType |
using | OutputCovariantVectorType = CovariantVector< TParametersValueType, Self::OutputSpaceDimension > |
using | OutputDiffusionTensor3DType = typename Superclass::OutputDiffusionTensor3DType |
using | OutputPointType = Point< TParametersValueType, Self::OutputSpaceDimension > |
using | OutputPointValueType = typename OutputPointType::ValueType |
using | OutputSymmetricSecondRankTensorType = typename Superclass::OutputSymmetricSecondRankTensorType |
using | OutputVectorPixelType = typename Superclass::OutputVectorPixelType |
using | OutputVectorType = Vector< TParametersValueType, Self::OutputSpaceDimension > |
using | OutputVectorValueType = typename OutputVectorType::ValueType |
using | OutputVnlVectorType = vnl_vector_fixed< TParametersValueType, Self::OutputSpaceDimension > |
using | ParametersType = typename Superclass::ParametersType |
using | ParametersValueType = typename Superclass::ParametersValueType |
using | Pointer = SmartPointer< Self > |
using | ScalarType = typename Superclass::ScalarType |
using | Self = MatrixOffsetTransformBase |
using | Superclass = Transform< TParametersValueType, NInputDimensions, NOutputDimensions > |
using | TransformCategoryType = typename Superclass::TransformCategoryType |
using | TranslationType = OutputVectorType |
using | TranslationValueType = typename TranslationType::ValueType |
Public Types inherited from itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions > | |
using | ConstPointer = SmartPointer< const Self > |
using | DerivativeType = Array< ParametersValueType > |
using | DirectionChangeMatrix = Matrix< double, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
using | FixedParametersType = typename Superclass::FixedParametersType |
using | FixedParametersValueType = typename Superclass::FixedParametersValueType |
using | InputCovariantVectorType = CovariantVector< TParametersValueType, NInputDimensions > |
using | InputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType > |
using | InputDirectionMatrix = Matrix< double, Self::InputSpaceDimension, Self::InputSpaceDimension > |
using | InputPointType = Point< TParametersValueType, NInputDimensions > |
using | InputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, NInputDimensions > |
using | InputVectorPixelType = VariableLengthVector< TParametersValueType > |
using | InputVectorType = Vector< TParametersValueType, NInputDimensions > |
using | InputVnlVectorType = vnl_vector_fixed< TParametersValueType, NInputDimensions > |
using | InverseJacobianPositionType = vnl_matrix_fixed< ParametersValueType, NInputDimensions, NOutputDimensions > |
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
using | InverseTransformBaseType = Transform< TParametersValueType, NOutputDimensions, NInputDimensions > |
using | JacobianPositionType = vnl_matrix_fixed< ParametersValueType, NOutputDimensions, NInputDimensions > |
using | JacobianType = Array2D< ParametersValueType > |
using | MatrixType = Matrix< TParametersValueType, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
using | NumberOfParametersType = typename Superclass::NumberOfParametersType |
using | OutputCovariantVectorType = CovariantVector< TParametersValueType, NOutputDimensions > |
using | OutputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType > |
using | OutputDirectionMatrix = Matrix< double, Self::OutputSpaceDimension, Self::OutputSpaceDimension > |
using | OutputPointType = Point< TParametersValueType, NOutputDimensions > |
using | OutputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, NOutputDimensions > |
using | OutputVectorPixelType = VariableLengthVector< TParametersValueType > |
using | OutputVectorType = Vector< TParametersValueType, NOutputDimensions > |
using | OutputVnlVectorType = vnl_vector_fixed< TParametersValueType, NOutputDimensions > |
using | ParametersType = typename Superclass::ParametersType |
using | ParametersValueType = typename Superclass::ParametersValueType |
using | Pointer = SmartPointer< Self > |
using | ScalarType = ParametersValueType |
using | Self = Transform |
using | Superclass = TransformBaseTemplate< TParametersValueType > |
using | TransformCategoryType = typename Superclass::TransformCategoryType |
Public Types inherited from itk::TransformBaseTemplate< TParametersValueType > | |
using | ConstPointer = SmartPointer< const Self > |
using | FixedParametersType = OptimizerParameters< FixedParametersValueType > |
using | FixedParametersValueType = double |
using | NumberOfParametersType = IdentifierType |
using | ParametersType = OptimizerParameters< ParametersValueType > |
using | ParametersValueType = TParametersValueType |
using | Pointer = SmartPointer< Self > |
using | Self = TransformBaseTemplate |
using | Superclass = Object |
enum | TransformCategoryType { UnknownTransformCategory =0, Linear =1, BSpline =2, Spline =3, DisplacementField =4, VelocityField =5 } |
Public Types inherited from itk::Object | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = Object |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::MatrixOffsetTransformBase< TParametersValueType, 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 constexpr unsigned int | InputSpaceDimension = 2 |
static constexpr unsigned int | OutputSpaceDimension = 2 |
static constexpr unsigned int | ParametersDimension = 3 |
Static Public Attributes inherited from itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 > | |
static constexpr unsigned int | InputSpaceDimension |
static constexpr unsigned int | OutputSpaceDimension |
static constexpr unsigned int | ParametersDimension |
Static Public Attributes inherited from itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions > | |
static constexpr unsigned int | InputSpaceDimension = NInputDimensions |
static constexpr unsigned int | OutputSpaceDimension = NOutputDimensions |
Protected Member Functions | |
void | ComputeMatrix () override |
void | ComputeMatrixParameters () override |
void | PrintSelf (std::ostream &os, Indent indent) const override |
Rigid2DTransform (unsigned int outputSpaceDimension, unsigned int parametersDimension) | |
Rigid2DTransform (unsigned int parametersDimension) | |
Rigid2DTransform () | |
void | SetVarAngle (TParametersValueType angle) |
~Rigid2DTransform () override=default | |
Protected Member Functions inherited from itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 > | |
virtual void | ComputeOffset () |
virtual void | ComputeTranslation () |
const InverseMatrixType & | GetInverseMatrix () const |
virtual bool | GetSingular () const |
const InverseMatrixType & | GetVarInverseMatrix () const |
bool | InverseMatrixIsOld () const |
void | PrintSelf (std::ostream &s, Indent indent) const override |
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) |
~MatrixOffsetTransformBase () override=default | |
MatrixOffsetTransformBase (const MatrixType &matrix, const OutputVectorType &offset) | |
MatrixOffsetTransformBase (unsigned int paramDims) | |
MatrixOffsetTransformBase () | |
Protected Member Functions inherited from itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions > | |
LightObject::Pointer | InternalClone () const override |
OutputDiffusionTensor3DType | PreservationOfPrincipalDirectionDiffusionTensor3DReorientation (const InputDiffusionTensor3DType &, const InverseJacobianPositionType &) const |
Transform () | |
Transform (NumberOfParametersType NumberOfParameters) | |
~Transform () override=default | |
Protected Member Functions inherited from itk::TransformBaseTemplate< TParametersValueType > | |
TransformBaseTemplate ()=default | |
~TransformBaseTemplate () override=default | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | SetTimeStamp (const TimeStamp &time) |
~Object () override | |
Protected Member Functions inherited from itk::LightObject | |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Private Attributes | |
TParametersValueType | m_Angle |
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 | |
std::atomic< int > | m_ReferenceCount |
using itk::Rigid2DTransform< TParametersValueType >::ConstPointer = SmartPointer<const Self> |
Definition at line 66 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::FixedParametersType = typename Superclass::FixedParametersType |
Definition at line 85 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::FixedParametersValueType = typename Superclass::FixedParametersValueType |
Definition at line 86 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::InputCovariantVectorType = typename Superclass::InputCovariantVectorType |
Definition at line 107 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::InputPointType = typename Superclass::InputPointType |
Definition at line 115 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::InputVectorType = typename Superclass::InputVectorType |
Definition at line 102 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::InputVnlVectorType = typename Superclass::InputVnlVectorType |
Definition at line 111 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::InverseJacobianPositionType = typename Superclass::InverseJacobianPositionType |
Definition at line 91 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
Definition at line 121 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::InverseTransformBaseType = typename Superclass::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 120 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::JacobianPositionType = typename Superclass::JacobianPositionType |
Definition at line 90 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::JacobianType = typename Superclass::JacobianType |
Jacobian type.
Definition at line 89 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::MatrixType = typename Superclass::MatrixType |
Definition at line 94 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::MatrixValueType = typename Superclass::MatrixValueType |
Definition at line 95 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::OffsetType = typename Superclass::OffsetType |
Definition at line 98 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::OffsetValueType = typename Superclass::OffsetValueType |
Definition at line 99 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::OutputCovariantVectorType = typename Superclass::OutputCovariantVectorType |
Definition at line 108 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::OutputPointType = typename Superclass::OutputPointType |
Definition at line 116 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::OutputVectorType = typename Superclass::OutputVectorType |
Definition at line 103 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::OutputVectorValueType = typename Superclass::OutputVectorValueType |
Definition at line 104 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::OutputVnlVectorType = typename Superclass::OutputVnlVectorType |
Definition at line 112 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::ParametersType = typename Superclass::ParametersType |
Parameters type.
Definition at line 83 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::ParametersValueType = typename Superclass::ParametersValueType |
Definition at line 84 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::Pointer = SmartPointer<Self> |
Definition at line 65 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::ScalarType = typename Superclass::ScalarType |
Scalar type.
Definition at line 80 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::Self = Rigid2DTransform |
Standard class type aliases.
Definition at line 63 of file itkRigid2DTransform.h.
using itk::Rigid2DTransform< TParametersValueType >::Superclass = MatrixOffsetTransformBase<TParametersValueType, 2, 2> |
Definition at line 64 of file itkRigid2DTransform.h.
|
protected |
|
protected |
|
protected |
|
overrideprotecteddefault |
|
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< TParametersValueType >::CloneInverseTo | ( | Pointer & | newinverse | ) | const |
This method creates and returns a new Rigid2DTransform object which is the inverse of self.
void itk::Rigid2DTransform< TParametersValueType >::CloneTo | ( | Pointer & | clone | ) | const |
This method creates and returns a new Rigid2DTransform object which has the same parameters.
|
override |
Compute the Jacobian Matrix of the transformation at one point, allowing for thread-safety.
|
overrideprotectedvirtual |
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< TParametersValueType, 2, 2 >.
Reimplemented in itk::Similarity2DTransform< TParametersValueType >.
|
overrideprotectedvirtual |
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< TParametersValueType, 2, 2 >.
Reimplemented in itk::Similarity2DTransform< TParametersValueType >.
|
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< TParametersValueType >.
|
virtual |
bool itk::Rigid2DTransform< TParametersValueType >::GetInverse | ( | Self * | inverse | ) | const |
Get an inverse of this transform.
|
overridevirtual |
Return an inverse of this transform.
Reimplemented from itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >.
Reimplemented in itk::Similarity2DTransform< TParametersValueType >.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >.
Reimplemented in itk::Similarity2DTransform< TParametersValueType >, itk::CenteredSimilarity2DTransform< TParametersValueType >, itk::CenteredRigid2DTransform< TParametersValueType >, and itk::Euler2DTransform< TParametersValueType >.
|
overridevirtual |
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.
Implements itk::TransformBaseTemplate< TParametersValueType >.
Reimplemented in itk::Similarity2DTransform< TParametersValueType >.
|
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 191 of file itkRigid2DTransform.h.
|
static |
New macro for creation of through a Smart Pointer
|
overrideprotectedvirtual |
Print contents of an Rigid2DTransform
Reimplemented from itk::Object.
Reimplemented in itk::Similarity2DTransform< TParametersValueType >.
void itk::Rigid2DTransform< TParametersValueType >::SetAngle | ( | TParametersValueType | angle | ) |
Set/Get the angle of rotation in radians
void itk::Rigid2DTransform< TParametersValueType >::SetAngleInDegrees | ( | TParametersValueType | angle | ) |
Set the angle of rotation in degrees.
|
overridevirtual |
Reset the parameters to create and identity transform.
Reimplemented from itk::MatrixOffsetTransformBase< TParametersValueType, 2, 2 >.
Reimplemented in itk::Similarity2DTransform< TParametersValueType >.
|
override |
|
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< TParametersValueType >.
|
overridevirtual |
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< TParametersValueType, NInputDimensions, NOutputDimensions >.
Reimplemented in itk::Similarity2DTransform< TParametersValueType >.
|
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 187 of file itkRigid2DTransform.h.
|
inlineprotected |
Update angle without recomputation of other internal variables.
Definition at line 266 of file itkRigid2DTransform.h.
void itk::Rigid2DTransform< TParametersValueType >::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 75 of file itkRigid2DTransform.h.
|
private |
Definition at line 272 of file itkRigid2DTransform.h.
|
static |
Definition at line 76 of file itkRigid2DTransform.h.
|
static |
Definition at line 77 of file itkRigid2DTransform.h.