ITK
5.0.0
Insight Segmentation and Registration Toolkit
|
#include <itkVersorTransform.h>
VersorTransform of a vector space (e.g. space coordinates)
This transform applies a rotation to the space. Rotation is about a user specified center.
The serialization of the optimizable parameters is an array of 3 elements representing the right part of the versor.
The serialization of the fixed parameters is an array of 3 elements defining the center of rotation.
TODO: Need to make sure that the translation parameters in the baseclass cannot be set to non-zero values.
Definition at line 47 of file itkVersorTransform.h.
Public Types | |
using | AngleType = typename VersorType::ValueType |
using | AxisType = typename VersorType::VectorType |
using | AxisValueType = typename AxisType::ValueType |
using | CenterType = typename Superclass::CenterType |
using | ConstPointer = SmartPointer< const Self > |
using | FixedParametersType = typename Superclass::FixedParametersType |
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 | InverseMatrixType = typename Superclass::InverseMatrixType |
using | JacobianPositionType = typename Superclass::JacobianPositionType |
using | JacobianType = typename Superclass::JacobianType |
using | MatrixType = typename Superclass::MatrixType |
using | OffsetType = typename Superclass::OffsetType |
using | OutputCovariantVectorType = typename Superclass::OutputCovariantVectorType |
using | OutputPointType = typename Superclass::OutputPointType |
using | OutputVectorType = typename Superclass::OutputVectorType |
using | OutputVnlVectorType = typename Superclass::OutputVnlVectorType |
using | ParametersType = typename Superclass::ParametersType |
using | ParametersValueType = typename ParametersType::ValueType |
using | Pointer = SmartPointer< Self > |
using | ScalarType = typename Superclass::ScalarType |
using | Self = VersorTransform |
using | Superclass = Rigid3DTransform< TParametersValueType > |
using | VersorType = Versor< TParametersValueType > |
using | VnlQuaternionType = vnl_quaternion< TParametersValueType > |
Public Types inherited from itk::Rigid3DTransform< TParametersValueType > | |
using | CenterType = typename Superclass::CenterType |
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 | InverseMatrixType = typename Superclass::InverseMatrixType |
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 | 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 = Rigid3DTransform |
using | Superclass = MatrixOffsetTransformBase< TParametersValueType, 3, 3 > |
using | TranslationType = typename Superclass::TranslationType |
Public Types inherited from itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 > | |
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::Rigid3DTransform< TParametersValueType > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::MatrixOffsetTransformBase< TParametersValueType, 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 constexpr unsigned int | InputSpaceDimension = 3 |
static constexpr unsigned int | OutputSpaceDimension = 3 |
static constexpr unsigned int | ParametersDimension = 3 |
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, NInputDimensions, NOutputDimensions > | |
static constexpr unsigned int | InputSpaceDimension = NInputDimensions |
static constexpr unsigned int | OutputSpaceDimension = NOutputDimensions |
Private Attributes | |
VersorType | m_Versor |
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::VersorTransform< TParametersValueType >::AngleType = typename VersorType::ValueType |
Definition at line 96 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::AxisType = typename VersorType::VectorType |
Definition at line 95 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::AxisValueType = typename AxisType::ValueType |
Definition at line 97 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::CenterType = typename Superclass::CenterType |
Definition at line 87 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::ConstPointer = SmartPointer<const Self> |
Definition at line 56 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::FixedParametersType = typename Superclass::FixedParametersType |
Definition at line 73 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::InputCovariantVectorType = typename Superclass::InputCovariantVectorType |
Definition at line 83 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::InputPointType = typename Superclass::InputPointType |
Definition at line 77 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::InputVectorType = typename Superclass::InputVectorType |
Definition at line 79 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::InputVnlVectorType = typename Superclass::InputVnlVectorType |
Definition at line 81 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::InverseJacobianPositionType = typename Superclass::InverseJacobianPositionType |
Definition at line 76 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::InverseMatrixType = typename Superclass::InverseMatrixType |
Definition at line 86 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::JacobianPositionType = typename Superclass::JacobianPositionType |
Definition at line 75 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::JacobianType = typename Superclass::JacobianType |
Definition at line 74 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::MatrixType = typename Superclass::MatrixType |
Definition at line 85 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::OffsetType = typename Superclass::OffsetType |
Definition at line 88 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::OutputCovariantVectorType = typename Superclass::OutputCovariantVectorType |
Definition at line 84 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::OutputPointType = typename Superclass::OutputPointType |
Definition at line 78 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::OutputVectorType = typename Superclass::OutputVectorType |
Definition at line 80 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::OutputVnlVectorType = typename Superclass::OutputVnlVectorType |
Definition at line 82 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::ParametersType = typename Superclass::ParametersType |
Definition at line 72 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::ParametersValueType = typename ParametersType::ValueType |
Definition at line 98 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::Pointer = SmartPointer<Self> |
Definition at line 55 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::ScalarType = typename Superclass::ScalarType |
Parameters Type
Definition at line 71 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::Self = VersorTransform |
Standard Self Typedef
Definition at line 53 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::Superclass = Rigid3DTransform<TParametersValueType> |
Definition at line 54 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::VersorType = Versor<TParametersValueType> |
Versor Type
Definition at line 94 of file itkVersorTransform.h.
using itk::VersorTransform< TParametersValueType >::VnlQuaternionType = vnl_quaternion<TParametersValueType> |
VnlQuaternion Type
Definition at line 91 of file itkVersorTransform.h.
|
protected |
Construct an VersorTransform object
|
protected |
Construct an VersorTransform object
|
protected |
Construct an VersorTransform object
|
overrideprotecteddefault |
Destroy an VersorTransform object
|
override |
Compute the Jacobian of the transformation This method computes the Jacobian matrix of the transformation. given point or vector, returning the transformed point or vector. The rank of the Jacobian will also indicate if the transform is invertible at this point.
|
overrideprotectedvirtual |
Compute Matrix Compute the components of the rotation matrix in the superclass
Reimplemented from itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >.
|
overrideprotectedvirtual |
Reimplemented from itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >.
|
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::Rigid3DTransform< TParametersValueType >.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::Rigid3DTransform< TParametersValueType >.
Reimplemented in itk::ScaleSkewVersor3DTransform< TParametersValueType >, itk::ScaleVersor3DTransform< TParametersValueType >, itk::Similarity3DTransform< TParametersValueType >, and itk::VersorRigid3DTransform< TParametersValueType >.
|
overridevirtual |
Get the Transformation Parameters.
Reimplemented from itk::Transform< TParametersValueType, NInputDimensions, NOutputDimensions >.
|
virtual |
|
static |
New macro for creation of through a Smart Pointer
|
overrideprotectedvirtual |
Print contents of a VersorTransform
Reimplemented from itk::Rigid3DTransform< TParametersValueType >.
|
overridevirtual |
Set the parameters to the IdentityTransform
Reimplemented from itk::MatrixOffsetTransformBase< TParametersValueType, 3, 3 >.
|
overridevirtual |
Set the transformation from a container of parameters This is typically used by optimizers.
There are 3 parameters. They represent the components of the right part of the versor. This can be seen as the components of the vector parallel to the rotation axis and multiplied by std::sin( angle / 2 ).
Reimplemented from itk::Rigid3DTransform< TParametersValueType >.
void itk::VersorTransform< TParametersValueType >::SetRotation | ( | const VersorType & | versor | ) |
Set the rotational part of the transform
void itk::VersorTransform< TParametersValueType >::SetRotation | ( | const AxisType & | axis, |
AngleType | angle | ||
) |
|
inlineprotected |
Definition at line 141 of file itkVersorTransform.h.
|
static |
Definition at line 66 of file itkVersorTransform.h.
|
private |
Versor containing the rotation
Definition at line 157 of file itkVersorTransform.h.
|
static |
Definition at line 67 of file itkVersorTransform.h.
|
static |
Definition at line 68 of file itkVersorTransform.h.
|
static |
Dimension of parameters
Definition at line 65 of file itkVersorTransform.h.