#include <itkAdvancedEuler3DTransform.h>
AdvancedEuler3DTransform of a vector space (e.g. space coordinates)
This transform applies a rotation and translation to the space given 3 euler angles and a 3D translation. Rotation is about a user specified center.
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 6 elements. The first 3 represents three euler angle of rotation respectively about the X, Y and Z axis. 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.
Definition at line 64 of file itkAdvancedEuler3DTransform.h.
Public Member Functions | |
virtual ScalarType | GetAngleX () const |
virtual ScalarType | GetAngleY () const |
virtual ScalarType | GetAngleZ () const |
virtual const char * | GetClassName () const |
virtual bool | GetComputeZYX () const |
const FixedParametersType & | GetFixedParameters () const override |
void | GetJacobian (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const override |
const ParametersType & | GetParameters () const override |
ITK_DISALLOW_COPY_AND_MOVE (AdvancedEuler3DTransform) | |
itkStaticConstMacro (InputSpaceDimension, unsigned int, 3) | |
itkStaticConstMacro (OutputSpaceDimension, unsigned int, 3) | |
itkStaticConstMacro (ParametersDimension, unsigned int, 6) | |
itkStaticConstMacro (SpaceDimension, unsigned int, 3) | |
virtual void | SetComputeZYX (const bool flag) |
void | SetFixedParameters (const FixedParametersType ¶meters) override |
void | SetIdentity () override |
void | SetParameters (const ParametersType ¶meters) override |
void | SetRotation (ScalarType angleX, ScalarType angleY, ScalarType angleZ) |
Public Member Functions inherited from itk::AdvancedRigid3DTransform< double > | |
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< double, 3, 3 > | |
const InputPointType & | GetCenter () const |
const FixedParametersType & | GetFixedParameters () const override |
void | GetJacobian (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) 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< double, 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< double > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 > | |
static Pointer | New () |
Protected Member Functions | |
AdvancedEuler3DTransform () | |
void | ComputeMatrix () override |
void | ComputeMatrixParameters () override |
virtual void | PrecomputeJacobianOfSpatialJacobian () |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~AdvancedEuler3DTransform () override=default | |
Protected Member Functions inherited from itk::AdvancedRigid3DTransform< double > | |
AdvancedRigid3DTransform () | |
AdvancedRigid3DTransform (unsigned int paramDim) | |
void | PrintSelf (std::ostream &s, Indent indent) const override |
~AdvancedRigid3DTransform () override=default | |
Protected Member Functions inherited from itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 > | |
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< double, NInputDimensions, NOutputDimensions > | |
AdvancedTransform ()=default | |
~AdvancedTransform () override=default | |
Private Attributes | |
ScalarType | m_AngleX {} |
ScalarType | m_AngleY {} |
ScalarType | m_AngleZ {} |
bool | m_ComputeZYX {} |
Additional Inherited Members | |
Protected Attributes inherited from itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 > | |
JacobianOfSpatialHessianType | m_JacobianOfSpatialHessian |
JacobianOfSpatialJacobianType | m_JacobianOfSpatialJacobian |
NonZeroJacobianIndicesType | m_NonZeroJacobianIndices |
SpatialHessianType | m_SpatialHessian |
Protected Attributes inherited from itk::AdvancedTransform< double, NInputDimensions, NOutputDimensions > | |
bool | m_HasNonZeroJacobianOfSpatialHessian |
bool | m_HasNonZeroSpatialHessian |
using itk::AdvancedEuler3DTransform< TScalarType >::AngleType = typename Superclass::ScalarType |
Definition at line 105 of file itkAdvancedEuler3DTransform.h.
using itk::AdvancedEuler3DTransform< TScalarType >::ConstPointer = SmartPointer<const Self> |
Definition at line 73 of file itkAdvancedEuler3DTransform.h.
using itk::AdvancedEuler3DTransform< TScalarType >::Pointer = SmartPointer<Self> |
Definition at line 72 of file itkAdvancedEuler3DTransform.h.
using itk::AdvancedEuler3DTransform< TScalarType >::Self = AdvancedEuler3DTransform |
Standard class typedefs.
Definition at line 70 of file itkAdvancedEuler3DTransform.h.
using itk::AdvancedEuler3DTransform< TScalarType >::Superclass = AdvancedRigid3DTransform<TScalarType> |
Definition at line 71 of file itkAdvancedEuler3DTransform.h.
|
protected |
|
overrideprotecteddefault |
|
overrideprotectedvirtual |
Compute the components of the rotation matrix in the superclass.
Reimplemented from itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >.
|
overrideprotectedvirtual |
Reimplemented from itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::AdvancedRigid3DTransform< double >.
Reimplemented in itk::GPUAdvancedEuler3DTransform< TScalarType, TParentTransform >.
|
virtual |
|
override |
|
overridevirtual |
Compute the Jacobian of the transformation.
Implements itk::AdvancedTransform< double, NInputDimensions, NOutputDimensions >.
|
override |
itk::AdvancedEuler3DTransform< TScalarType >::ITK_DISALLOW_COPY_AND_MOVE | ( | AdvancedEuler3DTransform< TScalarType > | ) |
itk::AdvancedEuler3DTransform< TScalarType >::itkStaticConstMacro | ( | InputSpaceDimension | , |
unsigned int | , | ||
3 | ) |
itk::AdvancedEuler3DTransform< TScalarType >::itkStaticConstMacro | ( | OutputSpaceDimension | , |
unsigned int | , | ||
3 | ) |
itk::AdvancedEuler3DTransform< TScalarType >::itkStaticConstMacro | ( | ParametersDimension | , |
unsigned int | , | ||
6 | ) |
itk::AdvancedEuler3DTransform< TScalarType >::itkStaticConstMacro | ( | SpaceDimension | , |
unsigned int | , | ||
3 | ) |
Dimension of the space.
|
static |
New macro for creation of through a Smart Pointer.
|
protectedvirtual |
Update the m_JacobianOfSpatialJacobian.
|
overrideprotected |
|
virtual |
The Euler angle representation of a rotation is not unique and depends on the order of rotations. In general there are 12 options. This class supports two of them, ZXY and ZYX. The default is ZXY. These functions set and get the value which indicates whether the rotation is ZYX or ZXY.
|
override |
|
overridevirtual |
Reimplemented from itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >.
|
override |
Set/Get the transformation from a container of parameters This is typically used by optimizers. There are 6 parameters. The first three represent the angles to rotate around the coordinate axis, and the last three represents the offset.
void itk::AdvancedEuler3DTransform< TScalarType >::SetRotation | ( | ScalarType | angleX, |
ScalarType | angleY, | ||
ScalarType | angleZ ) |
Set the rotational part of the transform.
|
private |
Definition at line 175 of file itkAdvancedEuler3DTransform.h.
|
private |
Definition at line 176 of file itkAdvancedEuler3DTransform.h.
|
private |
Definition at line 177 of file itkAdvancedEuler3DTransform.h.
|
private |
Definition at line 178 of file itkAdvancedEuler3DTransform.h.
Generated on 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |