ITK
6.0.0
Insight Toolkit
|
#include <itkv3Rigid3DTransform.h>
ITK3.x compatible Rigid3DTransform of a vector space (e.g. space coordinates)
NOTE: In ITK4, the itkNewMacro() was removed from itk::Rigid3DTransform. This class, itkv3::Rigid3DTransform provides the ITK3.x functionality. The purpose of the class is provide ITKv3 functionality with backward compatibility after ITK 5.0 removal of ITKV3_COMPATIBILITY support.
Even though the name Rigid3DTransform is conceptually closer to what a user may expect, the VersorRigid3DTransform is often a much better transform to use during optimization procedures from both a speed perspective (lower dimensional parameter space), and stability standpoint (versors do not suffer from rotational gimble lock).
This transform applies a rotation and translation in 3D space. The transform is specified as a rotation matrix 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 12 elements. The first 9 parameters represents the rotation matrix in row-major order (where the column index varies the fastest). The last 3 parameters defines the translation in each dimension.
The serialization of the fixed parameters is an array of 3 elements defining the center of rotation in each dimension.
Definition at line 63 of file itkv3Rigid3DTransform.h.
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
using | InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
using | Pointer = SmartPointer< Self > |
using | Self = Rigid3DTransform |
using | Superclass = itk::Rigid3DTransform< TParametersValueType > |
Public Types inherited from itk::Rigid3DTransform< TParametersValueType > | |
using | ConstPointer = SmartPointer< const Self > |
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
using | InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
using | Pointer = SmartPointer< Self > |
using | Self = Rigid3DTransform |
using | Superclass = MatrixOffsetTransformBase< TParametersValueType, 3, 3 > |
Public Types inherited from itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 > | |
using | CenterType = InputPointType |
using | ConstPointer = SmartPointer< const Self > |
using | InputCovariantVectorType = CovariantVector< TParametersValueType, Self::InputSpaceDimension > |
using | InputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType > |
using | InputPointType = Point< TParametersValueType, Self::InputSpaceDimension > |
using | InputPointValueType = typename InputPointType::ValueType |
using | InputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, VInputDimension > |
using | InputTensorEigenVectorType = CovariantVector< TParametersValueType, InputDiffusionTensor3DType::Dimension > |
using | InputVectorPixelType = VariableLengthVector< TParametersValueType > |
using | InputVectorType = Vector< TParametersValueType, Self::InputSpaceDimension > |
using | InputVnlVectorType = vnl_vector_fixed< TParametersValueType, Self::InputSpaceDimension > |
using | InverseJacobianPositionType = vnl_matrix_fixed< ParametersValueType, VInputDimension, VOutputDimension > |
using | InverseMatrixType = Matrix< TParametersValueType, Self::InputSpaceDimension, Self::OutputSpaceDimension > |
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
using | InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
using | InverseTransformType = MatrixOffsetTransformBase< TParametersValueType, VOutputDimension, VInputDimension > |
using | JacobianPositionType = vnl_matrix_fixed< ParametersValueType, VOutputDimension, VInputDimension > |
using | JacobianType = Array2D< ParametersValueType > |
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 = DiffusionTensor3D< TParametersValueType > |
using | OutputPointType = Point< TParametersValueType, Self::OutputSpaceDimension > |
using | OutputPointValueType = typename OutputPointType::ValueType |
using | OutputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, VOutputDimension > |
using | OutputVectorPixelType = VariableLengthVector< TParametersValueType > |
using | OutputVectorType = Vector< TParametersValueType, Self::OutputSpaceDimension > |
using | OutputVectorValueType = typename OutputVectorType::ValueType |
using | OutputVnlVectorType = vnl_vector_fixed< TParametersValueType, Self::OutputSpaceDimension > |
using | Pointer = SmartPointer< Self > |
using | ScalarType = ParametersValueType |
using | Self = MatrixOffsetTransformBase |
using | Superclass = Transform< TParametersValueType, VInputDimension, VOutputDimension > |
using | TranslationType = OutputVectorType |
using | TranslationValueType = typename TranslationType::ValueType |
Public Types inherited from itk::Transform< TParametersValueType, VInputDimension, VOutputDimension > | |
using | ConstPointer = SmartPointer< const Self > |
using | DerivativeType = Array< ParametersValueType > |
using | DirectionChangeMatrix = Matrix< double, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
using | InputCovariantVectorType = CovariantVector< TParametersValueType, VInputDimension > |
using | InputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType > |
using | InputDirectionMatrix = Matrix< double, Self::InputSpaceDimension, Self::InputSpaceDimension > |
using | InputPointType = Point< TParametersValueType, VInputDimension > |
using | InputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, VInputDimension > |
using | InputVectorPixelType = VariableLengthVector< TParametersValueType > |
using | InputVectorType = Vector< TParametersValueType, VInputDimension > |
using | InputVnlVectorType = vnl_vector_fixed< TParametersValueType, VInputDimension > |
using | InverseJacobianPositionType = vnl_matrix_fixed< ParametersValueType, VInputDimension, VOutputDimension > |
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
using | InverseTransformBaseType = Transform< TParametersValueType, VOutputDimension, VInputDimension > |
using | JacobianPositionType = vnl_matrix_fixed< ParametersValueType, VOutputDimension, VInputDimension > |
using | JacobianType = Array2D< ParametersValueType > |
using | MatrixType = Matrix< TParametersValueType, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
using | OutputCovariantVectorType = CovariantVector< TParametersValueType, VOutputDimension > |
using | OutputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType > |
using | OutputDirectionMatrix = Matrix< double, Self::OutputSpaceDimension, Self::OutputSpaceDimension > |
using | OutputPointType = Point< TParametersValueType, VOutputDimension > |
using | OutputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, VOutputDimension > |
using | OutputVectorPixelType = VariableLengthVector< TParametersValueType > |
using | OutputVectorType = Vector< TParametersValueType, VOutputDimension > |
using | OutputVnlVectorType = vnl_vector_fixed< TParametersValueType, VOutputDimension > |
using | Pointer = SmartPointer< Self > |
using | ScalarType = ParametersValueType |
using | Self = Transform |
using | Superclass = TransformBaseTemplate< TParametersValueType > |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Rigid3DTransform< TParametersValueType > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 > | |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | InputSpaceDimension = 3 |
static constexpr unsigned int | OutputSpaceDimension = 3 |
static constexpr unsigned int | ParametersDimension = 12 |
static constexpr unsigned int | SpaceDimension = 3 |
Static Public Attributes inherited from itk::Rigid3DTransform< TParametersValueType > | |
static constexpr unsigned int | InputSpaceDimension = 3 |
static constexpr unsigned int | OutputSpaceDimension = 3 |
static constexpr unsigned int | ParametersDimension = 12 |
static constexpr unsigned int | SpaceDimension = 3 |
Static Public Attributes inherited from itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 > | |
static constexpr unsigned int | InputSpaceDimension |
static constexpr unsigned int | OutputSpaceDimension |
static constexpr unsigned int | ParametersDimension |
Static Public Attributes inherited from itk::Transform< TParametersValueType, VInputDimension, VOutputDimension > | |
static constexpr unsigned int | InputSpaceDimension = VInputDimension |
static constexpr unsigned int | OutputSpaceDimension = VOutputDimension |
Additional Inherited Members | |
Public Attributes inherited from itk::Transform< TParametersValueType, VInputDimension, VOutputDimension > | |
InverseJacobianPositionType &jacobian | const |
Static Protected Member Functions inherited from itk::Transform< TParametersValueType, VInputDimension, VOutputDimension > | |
template<typename TTransform > | |
static InverseTransformBasePointer | InvertTransform (const TTransform &transform) |
Protected Attributes inherited from itk::Transform< TParametersValueType, VInputDimension, VOutputDimension > | |
FixedParametersType | m_FixedParameters {} |
ParametersType | m_Parameters {} |
using itk::v3::Rigid3DTransform< TParametersValueType >::ConstPointer = SmartPointer<const Self> |
Definition at line 72 of file itkv3Rigid3DTransform.h.
using itk::v3::Rigid3DTransform< TParametersValueType >::InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
Definition at line 114 of file itkv3Rigid3DTransform.h.
using itk::v3::Rigid3DTransform< 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 113 of file itkv3Rigid3DTransform.h.
using itk::v3::Rigid3DTransform< TParametersValueType >::Pointer = SmartPointer<Self> |
Definition at line 71 of file itkv3Rigid3DTransform.h.
using itk::v3::Rigid3DTransform< TParametersValueType >::Self = Rigid3DTransform |
Standard class type aliases.
Definition at line 69 of file itkv3Rigid3DTransform.h.
using itk::v3::Rigid3DTransform< TParametersValueType >::Superclass = itk::Rigid3DTransform<TParametersValueType> |
Definition at line 70 of file itkv3Rigid3DTransform.h.
|
protecteddefault |
|
inline |
Get an inverse of this transform.
Definition at line 118 of file itkv3Rigid3DTransform.h.
|
inlineoverridevirtual |
Return an inverse of this transform.
Reimplemented from itk::Transform< TParametersValueType, VInputDimension, VOutputDimension >.
Definition at line 125 of file itkv3Rigid3DTransform.h.
|
override |
|
static |
New macro for creation of through a Smart Pointer
|
staticconstexpr |
Definition at line 83 of file itkv3Rigid3DTransform.h.
|
staticconstexpr |
Definition at line 84 of file itkv3Rigid3DTransform.h.
|
staticconstexpr |
Definition at line 85 of file itkv3Rigid3DTransform.h.
|
staticconstexpr |
Dimension of the space.
Definition at line 82 of file itkv3Rigid3DTransform.h.