ITK
4.6.0
Insight Segmentation and Registration 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 while allowing the user to turn off ITKV3_COMPATIBILITY.
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 proceedures 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 62 of file itkv3Rigid3DTransform.h.
Public Types | |
typedef Superclass::CenterType | CenterType |
typedef itk::SmartPointer < const Self > | ConstPointer |
typedef Superclass::InputCovariantVectorType | InputCovariantVectorType |
typedef Superclass::InputPointType | InputPointType |
typedef Superclass::InputVectorType | InputVectorType |
typedef Superclass::InputVnlVectorType | InputVnlVectorType |
typedef Superclass::InverseMatrixType | InverseMatrixType |
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::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 itk::SmartPointer< Self > | Pointer |
typedef Superclass::ScalarType | ScalarType |
typedef Rigid3DTransform | Self |
typedef itk::Rigid3DTransform < TScalar > | Superclass |
typedef Superclass::TranslationType | TranslationType |
Public Types inherited from itk::Rigid3DTransform< TScalar > | |
typedef Superclass::CenterType | CenterType |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::InputCovariantVectorType | InputCovariantVectorType |
typedef Superclass::InputPointType | InputPointType |
typedef Superclass::InputVectorType | InputVectorType |
typedef Superclass::InputVnlVectorType | InputVnlVectorType |
typedef Superclass::InverseMatrixType | InverseMatrixType |
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::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 Rigid3DTransform | Self |
typedef MatrixOffsetTransformBase < TScalar, 3, 3 > | Superclass |
typedef Superclass::TranslationType | TranslationType |
Public Types inherited from itk::MatrixOffsetTransformBase< TScalar, 3, 3 > | |
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, 3, 3 > | |
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 | SpaceDimension = 3 |
static const unsigned int | InputSpaceDimension = 3 |
static const unsigned int | OutputSpaceDimension = 3 |
static const unsigned int | ParametersDimension = 12 |
Static Public Attributes inherited from itk::Rigid3DTransform< TScalar > | |
static const unsigned int | SpaceDimension = 3 |
static const unsigned int | InputSpaceDimension = 3 |
static const unsigned int | OutputSpaceDimension = 3 |
static const unsigned int | ParametersDimension = 12 |
Static Public Attributes inherited from itk::MatrixOffsetTransformBase< TScalar, 3, 3 > | |
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 |
Private Member Functions | |
void | operator= (const Self &) |
Rigid3DTransform (const Self &) | |
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 Superclass::CenterType itkv3::Rigid3DTransform< TScalar >::CenterType |
Definition at line 102 of file itkv3Rigid3DTransform.h.
typedef itk::SmartPointer< const Self > itkv3::Rigid3DTransform< TScalar >::ConstPointer |
Definition at line 70 of file itkv3Rigid3DTransform.h.
typedef Superclass::InputCovariantVectorType itkv3::Rigid3DTransform< TScalar >::InputCovariantVectorType |
Definition at line 93 of file itkv3Rigid3DTransform.h.
typedef Superclass::InputPointType itkv3::Rigid3DTransform< TScalar >::InputPointType |
Definition at line 97 of file itkv3Rigid3DTransform.h.
typedef Superclass::InputVectorType itkv3::Rigid3DTransform< TScalar >::InputVectorType |
Definition at line 90 of file itkv3Rigid3DTransform.h.
typedef Superclass::InputVnlVectorType itkv3::Rigid3DTransform< TScalar >::InputVnlVectorType |
Definition at line 95 of file itkv3Rigid3DTransform.h.
typedef Superclass::InverseMatrixType itkv3::Rigid3DTransform< TScalar >::InverseMatrixType |
Definition at line 100 of file itkv3Rigid3DTransform.h.
typedef InverseTransformBaseType::Pointer itkv3::Rigid3DTransform< TScalar >::InverseTransformBasePointer |
Definition at line 109 of file itkv3Rigid3DTransform.h.
typedef Superclass::InverseTransformBaseType itkv3::Rigid3DTransform< 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 108 of file itkv3Rigid3DTransform.h.
typedef Superclass::JacobianType itkv3::Rigid3DTransform< TScalar >::JacobianType |
Definition at line 88 of file itkv3Rigid3DTransform.h.
typedef Superclass::MatrixType itkv3::Rigid3DTransform< TScalar >::MatrixType |
Definition at line 99 of file itkv3Rigid3DTransform.h.
typedef Superclass::MatrixValueType itkv3::Rigid3DTransform< TScalar >::MatrixValueType |
Definition at line 101 of file itkv3Rigid3DTransform.h.
typedef Superclass::OffsetType itkv3::Rigid3DTransform< TScalar >::OffsetType |
Definition at line 104 of file itkv3Rigid3DTransform.h.
typedef Superclass::OutputCovariantVectorType itkv3::Rigid3DTransform< TScalar >::OutputCovariantVectorType |
Definition at line 94 of file itkv3Rigid3DTransform.h.
typedef Superclass::OutputPointType itkv3::Rigid3DTransform< TScalar >::OutputPointType |
Definition at line 98 of file itkv3Rigid3DTransform.h.
typedef Superclass::OutputVectorType itkv3::Rigid3DTransform< TScalar >::OutputVectorType |
Definition at line 91 of file itkv3Rigid3DTransform.h.
typedef Superclass::OutputVectorValueType itkv3::Rigid3DTransform< TScalar >::OutputVectorValueType |
Definition at line 92 of file itkv3Rigid3DTransform.h.
typedef Superclass::OutputVnlVectorType itkv3::Rigid3DTransform< TScalar >::OutputVnlVectorType |
Definition at line 96 of file itkv3Rigid3DTransform.h.
typedef Superclass::ParametersType itkv3::Rigid3DTransform< TScalar >::ParametersType |
Definition at line 86 of file itkv3Rigid3DTransform.h.
typedef Superclass::ParametersValueType itkv3::Rigid3DTransform< TScalar >::ParametersValueType |
Definition at line 87 of file itkv3Rigid3DTransform.h.
typedef itk::SmartPointer< Self > itkv3::Rigid3DTransform< TScalar >::Pointer |
Definition at line 69 of file itkv3Rigid3DTransform.h.
typedef Superclass::ScalarType itkv3::Rigid3DTransform< TScalar >::ScalarType |
Definition at line 89 of file itkv3Rigid3DTransform.h.
typedef Rigid3DTransform itkv3::Rigid3DTransform< TScalar >::Self |
Standard class typedefs.
Definition at line 67 of file itkv3Rigid3DTransform.h.
typedef itk::Rigid3DTransform< TScalar > itkv3::Rigid3DTransform< TScalar >::Superclass |
Definition at line 68 of file itkv3Rigid3DTransform.h.
typedef Superclass::TranslationType itkv3::Rigid3DTransform< TScalar >::TranslationType |
Definition at line 103 of file itkv3Rigid3DTransform.h.
|
inlineprotected |
Definition at line 126 of file itkv3Rigid3DTransform.h.
|
private |
|
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 an inverse of this transform.
Definition at line 112 of file itkv3Rigid3DTransform.h.
References itk::MatrixOffsetTransformBase< TScalar, 3, 3 >::GetInverse().
Referenced by itkv3::Rigid3DTransform< TScalar >::GetInverseTransform().
|
inlinevirtual |
Return an inverse of this transform.
Reimplemented from itk::MatrixOffsetTransformBase< TScalar, 3, 3 >.
Definition at line 118 of file itkv3Rigid3DTransform.h.
References itkv3::Rigid3DTransform< TScalar >::GetInverse(), itk::SmartPointer< TObjectType >::GetPointer(), and itkv3::Rigid3DTransform< TScalar >::New().
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::Rigid3DTransform< TScalar >.
|
static |
New macro for creation of through a Smart Pointer
Referenced by itkv3::Rigid3DTransform< TScalar >::GetInverseTransform().
|
private |
|
static |
Dimension of the space.
Definition at line 81 of file itkv3Rigid3DTransform.h.
|
static |
Dimension of the space.
Definition at line 82 of file itkv3Rigid3DTransform.h.
|
static |
Dimension of the space.
Definition at line 83 of file itkv3Rigid3DTransform.h.
|
static |
Dimension of the space.
Definition at line 80 of file itkv3Rigid3DTransform.h.