|
|
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <itkAdvancedVersorTransform.h>
AdvancedVersorTransform 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.
NB: SK: this class is just to have the AdvancedSimilarity3DTransform. It is not complete.
Definition at line 67 of file itkAdvancedVersorTransform.h.
Inheritance diagram for itk::AdvancedVersorTransform< TScalarType >:Public Types | |
| using | AngleType = typename VersorType::ValueType |
| using | AxisType = typename VersorType::VectorType |
| using | CenterType = InputPointType |
| using | ConstPointer = SmartPointer< const Self > |
| using | InverseMatrixType = Matrix< TScalarType, Self::InputSpaceDimension, Self::OutputSpaceDimension > |
| using | MatrixType = Matrix< TScalarType, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
| using | OffsetType = OutputVectorType |
| using | Pointer = SmartPointer< Self > |
| using | Self = AdvancedVersorTransform |
| using | Superclass = AdvancedRigid3DTransform< TScalarType > |
| using | VersorType = Versor< TScalarType > |
| using | VnlQuaternionType = vnl_quaternion< TScalarType > |
Public Types inherited from itk::AdvancedRigid3DTransform< TScalarType > | |
| using | CenterType = InputPointType |
| using | ConstPointer = SmartPointer< const Self > |
| using | InverseMatrixType = Matrix< TScalarType, Self::InputSpaceDimension, Self::OutputSpaceDimension > |
| using | MatrixType = Matrix< TScalarType, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
| using | OffsetType = OutputVectorType |
| using | Pointer = SmartPointer< Self > |
| using | Self = AdvancedRigid3DTransform |
| using | Superclass = AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 > |
| using | TranslationType = OutputVectorType |
Public Types inherited from itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions > | |
| using | CenterType = InputPointType |
| using | ConstPointer = SmartPointer< const Self > |
| using | InverseMatrixType = Matrix< TScalarType, Self::InputSpaceDimension, Self::OutputSpaceDimension > |
| using | MatrixType = Matrix< TScalarType, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
| using | OffsetType = OutputVectorType |
| using | Pointer = SmartPointer< Self > |
| using | Self = AdvancedMatrixOffsetTransformBase |
| using | Superclass = AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions > |
| using | TranslationType = OutputVectorType |
Public Types inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions > | |
| using | ConstPointer = SmartPointer< const Self > |
| using | InternalMatrixType = typename SpatialJacobianType::InternalMatrixType |
| using | InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
| using | JacobianOfSpatialHessianType = std::vector< SpatialHessianType > |
| using | JacobianOfSpatialJacobianType = std::vector< SpatialJacobianType > |
| using | MovingImageGradientType = OutputCovariantVectorType |
| using | MovingImageGradientValueType = typename MovingImageGradientType::ValueType |
| using | NonZeroJacobianIndicesType = std::vector< unsigned long > |
| using | Pointer = SmartPointer< Self > |
| using | Self = AdvancedTransform |
| using | SpatialHessianType = FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > |
| using | SpatialJacobianType = Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > |
| using | Superclass = Transform< TScalarType, NInputDimensions, NOutputDimensions > |
| using | TransformType = Transform< TScalarType, NInputDimensions, NOutputDimensions > |
| using | TransformTypeConstPointer = typename TransformType::ConstPointer |
| using | TransformTypePointer = typename TransformType::Pointer |
Public Member Functions | |
| virtual const char * | GetClassName () const |
| void | GetJacobian (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const override |
| const ParametersType & | GetParameters () const override |
| virtual const VersorType & | GetVersor () |
| itkStaticConstMacro (InputSpaceDimension, unsigned int, 3) | |
| itkStaticConstMacro (OutputSpaceDimension, unsigned int, 3) | |
| itkStaticConstMacro (ParametersDimension, unsigned int, 3) | |
| itkStaticConstMacro (SpaceDimension, unsigned int, 3) | |
| void | SetIdentity () override |
| void | SetParameters (const ParametersType ¶meters) override |
| void | SetRotation (const AxisType &axis, AngleType angle) |
| void | SetRotation (const VersorType &versor) |
Public Member Functions inherited from itk::AdvancedRigid3DTransform< TScalarType > | |
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedRigid3DTransform) | |
| itkStaticConstMacro (InputSpaceDimension, unsigned int, 3) | |
| itkStaticConstMacro (OutputSpaceDimension, unsigned int, 3) | |
| itkStaticConstMacro (ParametersDimension, unsigned int, 12) | |
| itkStaticConstMacro (SpaceDimension, unsigned int, 3) | |
| bool | MatrixIsOrthogonal (const MatrixType &matrix, double tol=1e-10) |
| void | SetMatrix (const MatrixType &matrix) override |
| void | SetParameters (const ParametersType ¶meters) override |
Public Member Functions inherited from itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions > | |
| const InputPointType & | GetCenter () const |
| const FixedParametersType & | GetFixedParameters () const override |
| void | GetJacobianOfSpatialHessian (const InputPointType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const override |
| void | GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override |
| void | GetJacobianOfSpatialJacobian (const InputPointType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const override |
| void | GetJacobianOfSpatialJacobian (const InputPointType &, SpatialJacobianType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const override |
| const MatrixType & | GetMatrix () const |
| const ParametersType & | GetParameters () const override |
| void | GetSpatialHessian (const InputPointType &, SpatialHessianType &) const override |
| void | GetSpatialJacobian (const InputPointType &, SpatialJacobianType &) const override |
| TransformCategoryEnum | GetTransformCategory () const override |
| const OutputVectorType & | GetTranslation () const |
| bool | IsLinear () const override |
| itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions) | |
| itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions) | |
| itkStaticConstMacro (ParametersDimension, unsigned int, NOutputDimensions *(NInputDimensions+1)) | |
| void | SetCenter (const InputPointType ¢er) |
| void | SetFixedParameters (const FixedParametersType &) override |
| void | SetParameters (const ParametersType ¶meters) override |
| void | SetTranslation (const OutputVectorType &translation) |
| OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &vector) const override |
| OutputPointType | TransformPoint (const InputPointType &point) const override |
| OutputVectorType | TransformVector (const InputVectorType &vector) const override |
| OutputVnlVectorType | TransformVector (const InputVnlVectorType &vector) const override |
Public Member Functions inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions > | |
| void | ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override |
| virtual void | EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const |
| virtual bool | GetHasNonZeroJacobianOfSpatialHessian () const |
| virtual bool | GetHasNonZeroSpatialHessian () const |
| virtual NumberOfParametersType | GetNumberOfNonZeroJacobianIndices () const |
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform) | |
| itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions) | |
| itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions) | |
Static Public Member Functions | |
| static Pointer | New () |
Static Public Member Functions inherited from itk::AdvancedRigid3DTransform< TScalarType > | |
| static Pointer | New () |
Static Public Member Functions inherited from itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions > | |
| static Pointer | New () |
Protected Member Functions | |
| AdvancedVersorTransform () | |
| AdvancedVersorTransform (const MatrixType &matrix, const OutputVectorType &offset) | |
| AdvancedVersorTransform (unsigned int paramDims) | |
| void | ComputeMatrix () override |
| void | ComputeMatrixParameters () override |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| void | SetVarVersor (const VersorType &newVersor) |
| ~AdvancedVersorTransform () override=default | |
Protected Member Functions inherited from itk::AdvancedRigid3DTransform< TScalarType > | |
| AdvancedRigid3DTransform () | |
| AdvancedRigid3DTransform (unsigned int paramDim) | |
| void | PrintSelf (std::ostream &s, Indent indent) const override |
| ~AdvancedRigid3DTransform () override=default | |
Protected Member Functions inherited from itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions > | |
| AdvancedMatrixOffsetTransformBase (const unsigned int paramDims=ParametersDimension) | |
| virtual void | ComputeOffset () |
| void | ComputeTranslation () |
| const OutputVectorType & | GetOffset () const |
| void | PrintSelf (std::ostream &s, Indent indent) const override |
| void | SetVarMatrix (const MatrixType &matrix) |
| void | SetVarTranslation (const OutputVectorType &translation) |
| ~AdvancedMatrixOffsetTransformBase () override=default | |
Protected Member Functions inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions > | |
| AdvancedTransform ()=default | |
| ~AdvancedTransform () override=default | |
Private Member Functions | |
| AdvancedVersorTransform (const Self &other) | |
| const Self & | operator= (const Self &) |
Private Attributes | |
| VersorType | m_Versor {} |
Additional Inherited Members | |
Protected Attributes inherited from itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions > | |
| JacobianOfSpatialHessianType | m_JacobianOfSpatialHessian {} |
| JacobianOfSpatialJacobianType | m_JacobianOfSpatialJacobian {} |
| NonZeroJacobianIndicesType | m_NonZeroJacobianIndices {} |
| SpatialHessianType | m_SpatialHessian {} |
Protected Attributes inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions > | |
| bool | m_HasNonZeroJacobianOfSpatialHessian { true } |
| bool | m_HasNonZeroSpatialHessian { true } |
| using itk::AdvancedVersorTransform< TScalarType >::AngleType = typename VersorType::ValueType |
Definition at line 119 of file itkAdvancedVersorTransform.h.
| using itk::AdvancedVersorTransform< TScalarType >::AxisType = typename VersorType::VectorType |
Definition at line 118 of file itkAdvancedVersorTransform.h.
| using itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::CenterType = InputPointType |
Typedefs.
Definition at line 103 of file itkAdvancedMatrixOffsetTransformBase.h.
| using itk::AdvancedVersorTransform< TScalarType >::ConstPointer = SmartPointer<const Self> |
Definition at line 74 of file itkAdvancedVersorTransform.h.
| using itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::InverseMatrixType = Matrix<TScalarType, Self::InputSpaceDimension, Self::OutputSpaceDimension> |
Standard inverse matrix type for this class.
Definition at line 102 of file itkAdvancedMatrixOffsetTransformBase.h.
| using itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::MatrixType = Matrix<TScalarType, Self::OutputSpaceDimension, Self::InputSpaceDimension> |
Standard matrix type for this class.
Definition at line 101 of file itkAdvancedMatrixOffsetTransformBase.h.
| using itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::OffsetType = OutputVectorType |
Definition at line 105 of file itkAdvancedMatrixOffsetTransformBase.h.
| using itk::AdvancedVersorTransform< TScalarType >::Pointer = SmartPointer<Self> |
Definition at line 73 of file itkAdvancedVersorTransform.h.
| using itk::AdvancedVersorTransform< TScalarType >::Self = AdvancedVersorTransform |
Standard Self Typedef
Definition at line 71 of file itkAdvancedVersorTransform.h.
| using itk::AdvancedVersorTransform< TScalarType >::Superclass = AdvancedRigid3DTransform<TScalarType> |
Definition at line 72 of file itkAdvancedVersorTransform.h.
| using itk::AdvancedVersorTransform< TScalarType >::VersorType = Versor<TScalarType> |
Versor Type
Definition at line 117 of file itkAdvancedVersorTransform.h.
| using itk::AdvancedVersorTransform< TScalarType >::VnlQuaternionType = vnl_quaternion<TScalarType> |
VnlQuaternion Type
Definition at line 114 of file itkAdvancedVersorTransform.h.
|
protected |
Construct an AdvancedVersorTransform object
|
protected |
|
protected |
|
overrideprotecteddefault |
Destroy an AdvancedVersorTransform object
|
private |
Copy a AdvancedVersorTransform object
|
overrideprotectedvirtual |
Compute Matrix Compute the components of the rotation matrix in the superclass
Reimplemented from itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >.
|
overrideprotectedvirtual |
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::AdvancedRigid3DTransform< TScalarType >.
Reimplemented in itk::GPUAdvancedSimilarity3DTransform< TScalarType, TParentTransform >, itk::AdvancedSimilarity3DTransform< float >, itk::AdvancedSimilarity3DTransform< TScalarType >, itk::AdvancedVersorRigid3DTransform< double >, itk::AdvancedVersorRigid3DTransform< float >, and itk::AdvancedVersorRigid3DTransform< TScalarType >.
|
overridevirtual |
This method computes the Jacobian matrix of the transformation.
Reimplemented from itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >.
|
override |
Get the Transformation Parameters.
|
virtual |
| itk::AdvancedVersorTransform< TScalarType >::itkStaticConstMacro | ( | InputSpaceDimension | , |
| unsigned int | , | ||
| 3 | |||
| ) |
| itk::AdvancedVersorTransform< TScalarType >::itkStaticConstMacro | ( | OutputSpaceDimension | , |
| unsigned int | , | ||
| 3 | |||
| ) |
| itk::AdvancedVersorTransform< TScalarType >::itkStaticConstMacro | ( | ParametersDimension | , |
| unsigned int | , | ||
| 3 | |||
| ) |
| itk::AdvancedVersorTransform< TScalarType >::itkStaticConstMacro | ( | SpaceDimension | , |
| unsigned int | , | ||
| 3 | |||
| ) |
Dimension of parameters
|
static |
New macro for creation of through a Smart Pointer
|
private |
Assignment operator
|
overrideprotected |
Print contents of a AdvancedVersorTransform
|
overridevirtual |
Set the parameters to the IdentityTransform
Reimplemented from itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >.
|
override |
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 ).
| void itk::AdvancedVersorTransform< TScalarType >::SetRotation | ( | const AxisType & | axis, |
| AngleType | angle | ||
| ) |
| void itk::AdvancedVersorTransform< TScalarType >::SetRotation | ( | const VersorType & | versor | ) |
Set the rotational part of the transform
|
inlineprotected |
Definition at line 163 of file itkAdvancedVersorTransform.h.
|
private |
Versor containing the rotation
Definition at line 189 of file itkAdvancedVersorTransform.h.
Generated on 1739326392 for elastix by 1.9.8 |