template<typename TParametersValueType = double>
class itk::v3::Rigid3DTransform< TParametersValueType >
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.
|
using | ConstPointer = SmartPointer<const Self> |
|
typedef vnl_matrix_fixed< ParametersValueType, VInputDimension, VOutputDimension > | InverseJacobianPositionType |
|
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
|
using | InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
|
typedef vnl_matrix_fixed< ParametersValueType, VOutputDimension, VInputDimension > | JacobianPositionType |
|
typedef Array2D< ParametersValueType > | JacobianType |
|
using | Pointer = SmartPointer<Self> |
|
typedef ParametersValueType | ScalarType |
|
using | Self = Rigid3DTransform |
|
using | Superclass = itk::Rigid3DTransform<TParametersValueType> |
|
using | ConstPointer |
|
typedef vnl_matrix_fixed< ParametersValueType, VInputDimension, VOutputDimension > | InverseJacobianPositionType |
|
typedef vnl_matrix_fixed< ParametersValueType, VInputDimension, VOutputDimension > | InverseJacobianPositionType |
|
using | InverseTransformBasePointer |
|
using | InverseTransformBaseType |
|
typedef vnl_matrix_fixed< ParametersValueType, VOutputDimension, VInputDimension > | JacobianPositionType |
|
typedef vnl_matrix_fixed< ParametersValueType, VOutputDimension, VInputDimension > | JacobianPositionType |
|
typedef Array2D< ParametersValueType > | JacobianType |
|
typedef Array2D< ParametersValueType > | JacobianType |
|
using | Pointer |
|
typedef ParametersValueType | ScalarType |
|
typedef ParametersValueType | ScalarType |
|
using | Self |
|
using | Superclass |
|
using | CenterType |
|
using | ConstPointer |
|
using | InputCovariantVectorType |
|
typedef DiffusionTensor3D< double > | InputDiffusionTensor3DType |
|
using | InputDiffusionTensor3DType |
|
using | InputPointType |
|
using | InputPointValueType |
|
typedef SymmetricSecondRankTensor< double, VInputDimension > | InputSymmetricSecondRankTensorType |
|
using | InputSymmetricSecondRankTensorType |
|
using | InputTensorEigenVectorType |
|
typedef VariableLengthVector< double > | InputVectorPixelType |
|
using | InputVectorPixelType |
|
using | InputVectorType |
|
using | InputVnlVectorType |
|
typedef vnl_matrix_fixed< ParametersValueType, VInputDimension, VOutputDimension > | InverseJacobianPositionType |
|
using | InverseJacobianPositionType |
|
using | InverseMatrixType |
|
using | InverseTransformBasePointer |
|
using | InverseTransformBaseType |
|
using | InverseTransformType |
|
typedef vnl_matrix_fixed< ParametersValueType, VOutputDimension, VInputDimension > | JacobianPositionType |
|
using | JacobianPositionType |
|
typedef Array2D< ParametersValueType > | JacobianType |
|
using | JacobianType |
|
using | MatrixType |
|
using | MatrixValueType |
|
using | OffsetType |
|
using | OffsetValueType |
|
using | OutputCovariantVectorType |
|
typedef DiffusionTensor3D< double > | OutputDiffusionTensor3DType |
|
using | OutputDiffusionTensor3DType |
|
using | OutputPointType |
|
using | OutputPointValueType |
|
typedef SymmetricSecondRankTensor< double, VOutputDimension > | OutputSymmetricSecondRankTensorType |
|
using | OutputSymmetricSecondRankTensorType |
|
typedef VariableLengthVector< double > | OutputVectorPixelType |
|
using | OutputVectorPixelType |
|
using | OutputVectorType |
|
using | OutputVectorValueType |
|
using | OutputVnlVectorType |
|
using | Pointer |
|
typedef ParametersValueType | ScalarType |
|
using | ScalarType |
|
using | Self |
|
using | Superclass |
|
using | TranslationType |
|
using | TranslationValueType |
|
using | ConstPointer |
|
using | DerivativeType |
|
using | DirectionChangeMatrix |
|
typedef OptimizerParameters< FixedParametersValueType > | FixedParametersType |
|
using | FixedParametersType |
|
typedef double | FixedParametersValueType |
|
using | FixedParametersValueType |
|
using | InputCovariantVectorType |
|
using | InputDiffusionTensor3DType |
|
using | InputDirectionMatrix |
|
using | InputPointType |
|
using | InputSymmetricSecondRankTensorType |
|
using | InputVectorPixelType |
|
using | InputVectorType |
|
using | InputVnlVectorType |
|
using | InverseJacobianPositionType |
|
using | InverseTransformBasePointer |
|
using | InverseTransformBaseType |
|
using | JacobianPositionType |
|
using | JacobianType |
|
using | MatrixType |
|
typedef IdentifierType | NumberOfParametersType |
|
using | NumberOfParametersType |
|
using | OutputCovariantVectorType |
|
using | OutputDiffusionTensor3DType |
|
using | OutputDirectionMatrix |
|
using | OutputPointType |
|
using | OutputSymmetricSecondRankTensorType |
|
using | OutputVectorPixelType |
|
using | OutputVectorType |
|
using | OutputVnlVectorType |
|
typedef OptimizerParameters< ParametersValueType > | ParametersType |
|
using | ParametersType |
|
typedef double | ParametersValueType |
|
using | ParametersValueType |
|
using | Pointer |
|
using | ScalarType |
|
using | Self |
|
using | Superclass |
|
typedef TransformBaseTemplateEnums::TransformCategory | TransformCategoryEnum |
|
using | TransformCategoryEnum |
|
using | ConstPointer |
|
using | FixedParametersType |
|
using | FixedParametersValueType |
|
using | NumberOfParametersType |
|
using | ParametersType |
|
using | ParametersValueType |
|
using | Pointer |
|
using | Self |
|
using | Superclass |
|
using | TransformCategoryEnum |
|
using | TransformCategoryType |
|
|
virtual::itk::LightObject::Pointer | CreateAnother () const |
|
bool | GetInverse (Self *inverse) const |
|
InverseTransformBasePointer | GetInverseTransform () const override |
|
const char * | GetNameOfClass () const override |
|
virtual::itk::LightObject::Pointer | CreateAnother () const |
|
const char * | GetNameOfClass () const override |
|
bool | MatrixIsOrthogonal (const MatrixType &matrix, const double tolerance=MatrixOrthogonalityTolerance< double >::GetTolerance()) |
|
void | SetMatrix (const MatrixType &matrix) override |
|
virtual void | SetMatrix (const MatrixType &matrix, const double tolerance) |
|
void | SetParameters (const ParametersType ¶meters) override |
|
void | Translate (const OffsetType &offset, bool pre=false) |
|
void | Compose (const Self *other, bool pre=false) |
|
virtual void | ComputeInverseJacobianWithRespectToPosition (const InputPointType &pnt, InverseJacobianPositionType &jacobian) const |
|
virtual void | ComputeInverseJacobianWithRespectToPosition (const InputPointType &pnt, InverseJacobianPositionType &jacobian) const |
|
void | ComputeInverseJacobianWithRespectToPosition (const InputPointType &x, InverseJacobianPositionType &jac) const override |
|
void | ComputeJacobianWithRespectToParameters (const InputPointType &p, JacobianType &jacobian) const override |
|
void | ComputeJacobianWithRespectToPosition (const InputPointType &x, JacobianPositionType &jac) const override |
|
virtual void | ComputeJacobianWithRespectToPosition (const InputPointType &x, JacobianPositionType &jacobian) const |
|
virtual void | ComputeJacobianWithRespectToPosition (const InputPointType &x, JacobianPositionType &jacobian) const |
|
virtual::itk::LightObject::Pointer | CreateAnother () const |
|
const InputPointType & | GetCenter () const |
|
const FixedParametersType & | GetFixedParameters () const override |
|
virtual const MatrixType & | GetMatrix () const |
|
const char * | GetNameOfClass () const override |
|
const OutputVectorType & | GetOffset () const |
|
const ParametersType & | GetParameters () const override |
|
TransformCategoryEnum | GetTransformCategory () const override |
|
const OutputVectorType & | GetTranslation () const |
|
bool | IsLinear () const override |
|
void | SetFixedParameters (const FixedParametersType &) override |
|
virtual void | SetIdentity () |
|
virtual OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &) const |
|
virtual OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &) const |
|
OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &vec) const override |
|
virtual OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &vector, const InputPointType &point) const |
|
virtual OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &vector, const InputPointType &point) const |
|
OutputVectorPixelType | TransformCovariantVector (const InputVectorPixelType &vect) const override |
|
virtual OutputVectorPixelType | TransformCovariantVector (const InputVectorPixelType &vector, const InputPointType &point) const |
|
virtual OutputVectorPixelType | TransformCovariantVector (const InputVectorPixelType &vector, const InputPointType &point) const |
|
virtual OutputDiffusionTensor3DType | TransformDiffusionTensor3D (const InputDiffusionTensor3DType &inputTensor, const InputPointType &point) const |
|
virtual OutputDiffusionTensor3DType | TransformDiffusionTensor3D (const InputDiffusionTensor3DType &inputTensor, const InputPointType &point) const |
|
OutputDiffusionTensor3DType | TransformDiffusionTensor3D (const InputDiffusionTensor3DType &tensor) const override |
|
virtual OutputVectorPixelType | TransformDiffusionTensor3D (const InputVectorPixelType &inputTensor, const InputPointType &point) const |
|
virtual OutputVectorPixelType | TransformDiffusionTensor3D (const InputVectorPixelType &inputTensor, const InputPointType &point) const |
|
OutputVectorPixelType | TransformDiffusionTensor3D (const InputVectorPixelType &tensor) const override |
|
OutputPointType | TransformPoint (const InputPointType &point) const override |
|
OutputSymmetricSecondRankTensorType | TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &inputTensor) const override |
|
virtual OutputSymmetricSecondRankTensorType | TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &inputTensor, const InputPointType &point) const |
|
virtual OutputSymmetricSecondRankTensorType | TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &inputTensor, const InputPointType &point) const |
|
OutputVectorPixelType | TransformSymmetricSecondRankTensor (const InputVectorPixelType &inputTensor) const override |
|
virtual OutputVectorPixelType | TransformSymmetricSecondRankTensor (const InputVectorPixelType &inputTensor, const InputPointType &point) const |
|
virtual OutputVectorPixelType | TransformSymmetricSecondRankTensor (const InputVectorPixelType &inputTensor, const InputPointType &point) const |
|
OutputVectorPixelType | TransformVector (const InputVectorPixelType &vect) const override |
|
virtual OutputVectorPixelType | TransformVector (const InputVectorPixelType &vector, const InputPointType &point) const |
|
virtual OutputVectorPixelType | TransformVector (const InputVectorPixelType &vector, const InputPointType &point) const |
|
virtual OutputVectorType | TransformVector (const InputVectorType &) const |
|
virtual OutputVectorType | TransformVector (const InputVectorType &) const |
|
OutputVectorType | TransformVector (const InputVectorType &vect) const override |
|
virtual OutputVectorType | TransformVector (const InputVectorType &vector, const InputPointType &point) const |
|
virtual OutputVectorType | TransformVector (const InputVectorType &vector, const InputPointType &point) const |
|
virtual OutputVnlVectorType | TransformVector (const InputVnlVectorType &) const |
|
virtual OutputVnlVectorType | TransformVector (const InputVnlVectorType &) const |
|
OutputVnlVectorType | TransformVector (const InputVnlVectorType &vect) const override |
|
virtual OutputVnlVectorType | TransformVector (const InputVnlVectorType &vector, const InputPointType &point) const |
|
virtual OutputVnlVectorType | TransformVector (const InputVnlVectorType &vector, const InputPointType &point) const |
|
void | SetOffset (const OutputVectorType &offset) |
|
void | SetCenter (const InputPointType ¢er) |
|
void | SetTranslation (const OutputVectorType &translation) |
|
bool | GetInverse (InverseTransformType *inverse) const |
|
virtual void | ComputeInverseJacobianWithRespectToPosition (const InputPointType &pnt, InverseJacobianPositionType &jacobian) const |
|
virtual void | ComputeJacobianWithRespectToParametersCachedTemporaries (const InputPointType &p, JacobianType &jacobian, JacobianType &cachedJacobian) const |
|
virtual void | ComputeJacobianWithRespectToPosition (const InputPointType &x, JacobianPositionType &jacobian) const |
|
void | CopyInFixedParameters (const FixedParametersValueType *const begin, const FixedParametersValueType *const end) override |
|
void | CopyInParameters (const ParametersValueType *const begin, const ParametersValueType *const end) override |
|
const FixedParametersType & | GetFixedParameters () const override |
|
unsigned int | GetInputSpaceDimension () const override |
|
bool | GetInverse (Self *inverseTransform) const |
|
const char * | GetNameOfClass () const override |
|
virtual NumberOfParametersType | GetNumberOfFixedParameters () const |
|
virtual NumberOfParametersType | GetNumberOfLocalParameters () const |
|
NumberOfParametersType | GetNumberOfParameters () const override |
|
unsigned int | GetOutputSpaceDimension () const override |
|
const ParametersType & | GetParameters () const override |
|
TransformCategoryEnum | GetTransformCategory () const override |
|
std::string | GetTransformTypeAsString () const override |
|
| itkCloneMacro (Self) |
|
void | SetParametersByValue (const ParametersType &p) override |
|
virtual OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &) const |
|
virtual OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &vector, const InputPointType &point) const |
|
virtual OutputVectorPixelType | TransformCovariantVector (const InputVectorPixelType &vector) const |
|
virtual OutputVectorPixelType | TransformCovariantVector (const InputVectorPixelType &vector, const InputPointType &point) const |
|
virtual OutputDiffusionTensor3DType | TransformDiffusionTensor3D (const InputDiffusionTensor3DType &inputTensor, const InputPointType &point) const |
|
virtual OutputDiffusionTensor3DType | TransformDiffusionTensor3D (const InputDiffusionTensor3DType &tensor) const |
|
virtual OutputVectorPixelType | TransformDiffusionTensor3D (const InputVectorPixelType &inputTensor, const InputPointType &point) const |
|
virtual OutputVectorPixelType | TransformDiffusionTensor3D (const InputVectorPixelType &tensor) const |
|
virtual OutputPointType | TransformPoint (const InputPointType &) const=0 |
|
virtual OutputSymmetricSecondRankTensorType | TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &inputTensor, const InputPointType &point) const |
|
virtual OutputSymmetricSecondRankTensorType | TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &tensor) const |
|
virtual OutputVectorPixelType | TransformSymmetricSecondRankTensor (const InputVectorPixelType &inputTensor, const InputPointType &point) const |
|
virtual OutputVectorPixelType | TransformSymmetricSecondRankTensor (const InputVectorPixelType &tensor) const |
|
virtual OutputVectorPixelType | TransformVector (const InputVectorPixelType &vector) const |
|
virtual OutputVectorPixelType | TransformVector (const InputVectorPixelType &vector, const InputPointType &point) const |
|
virtual OutputVectorType | TransformVector (const InputVectorType &) const |
|
virtual OutputVectorType | TransformVector (const InputVectorType &vector, const InputPointType &point) const |
|
virtual OutputVnlVectorType | TransformVector (const InputVnlVectorType &) const |
|
virtual OutputVnlVectorType | TransformVector (const InputVnlVectorType &vector, const InputPointType &point) const |
|
virtual void | UpdateTransformParameters (const DerivativeType &update, ParametersValueType factor=1.0) |
|
virtual void | ComputeJacobianWithRespectToParameters (const InputPointType &p, JacobianType &jacobian) const=0 |
|
std::enable_if_t< TImage::ImageDimension==VInputDimension &&TImage::ImageDimension==VOutputDimension, void > | ApplyToImageMetadata (TImage *image) const |
|
std::enable_if_t< TImage::ImageDimension==VInputDimension &&TImage::ImageDimension==VOutputDimension, void > | ApplyToImageMetadata (SmartPointer< TImage > image) const |
|
| ITK_DISALLOW_COPY_AND_MOVE (TransformBaseTemplate) |
|
| ITK_DISALLOW_COPY_AND_MOVE (TransformBaseTemplate) |
|
| itkGetConstReferenceMacro (InputSpaceName, std::string) |
|
| itkGetConstReferenceMacro (InputSpaceName, std::string) |
|
| itkGetConstReferenceMacro (OutputSpaceName, std::string) |
|
| itkGetConstReferenceMacro (OutputSpaceName, std::string) |
|
| itkOverrideGetNameOfClassMacro (TransformBaseTemplate) |
|
| itkOverrideGetNameOfClassMacro (TransformBaseTemplate) |
|
| itkSetMacro (InputSpaceName, std::string) |
|
| itkSetMacro (InputSpaceName, std::string) |
|
| itkSetMacro (OutputSpaceName, std::string) |
|
| itkSetMacro (OutputSpaceName, std::string) |
|
virtual void | SetFixedParameters (const FixedParametersType &)=0 |
|
virtual void | SetFixedParameters (const FixedParametersType &)=0 |
|
virtual void | SetParameters (const ParametersType &)=0 |
|
virtual void | SetParameters (const ParametersType &)=0 |
|
virtual void | SetParametersByValue (const ParametersType &p)=0 |
|
virtual void | SetParametersByValue (const ParametersType &p)=0 |
|