ITK  6.0.0
Insight Toolkit
itkv3Rigid3DTransform.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef itkv3Rigid3DTransform_h
19#define itkv3Rigid3DTransform_h
20
21#include <iostream>
22#include "itkRigid3DTransform.h"
23#include "itkVersor.h"
24
25namespace itk
26{
27namespace v3
28{
62template <typename TParametersValueType = double>
63class ITK_TEMPLATE_EXPORT Rigid3DTransform : public itk::Rigid3DTransform<TParametersValueType>
64{
65public:
66 ITK_DISALLOW_COPY_AND_MOVE(Rigid3DTransform);
67
73
74
76 itkOverrideGetNameOfClassMacro(Rigid3DTransform);
77
79 itkNewMacro(Self);
80
82 static constexpr unsigned int SpaceDimension = 3;
83 static constexpr unsigned int InputSpaceDimension = 3;
84 static constexpr unsigned int OutputSpaceDimension = 3;
85 static constexpr unsigned int ParametersDimension = 12;
86
87 using typename Superclass::ParametersType;
91 using typename Superclass::JacobianType;
94 using typename Superclass::ScalarType;
95 using typename Superclass::InputVectorType;
96 using typename Superclass::OutputVectorType;
100 using typename Superclass::InputVnlVectorType;
101 using typename Superclass::OutputVnlVectorType;
102 using typename Superclass::InputPointType;
103 using typename Superclass::OutputPointType;
104 using typename Superclass::MatrixType;
105 using typename Superclass::InverseMatrixType;
106 using typename Superclass::MatrixValueType;
107 using typename Superclass::CenterType;
108 using typename Superclass::TranslationType;
109 using typename Superclass::OffsetType;
110
115
117 bool
118 GetInverse(Self * inverse) const
119 {
120 return this->Superclass::GetInverse(inverse);
121 }
122
124 InverseTransformBasePointer
125 GetInverseTransform() const override
126 {
127 return Superclass::InvertTransform(*this);
128 }
129
130protected:
131 Rigid3DTransform() = default;
132}; // class Rigid3DTransform
133} // namespace v3
134} // namespace itk
135
136#if !defined(ITK_LEGACY_REMOVE)
137# define itkv3 itk::v3
138#endif
139
140#endif /* itkv3Rigid3DTransform_h */
Array2D class representing a 2D array.
Definition: itkArray2D.h:43
A templated class holding a n-Dimensional covariant vector.
A templated class holding a M x N size Matrix.
Definition: itkMatrix.h:53
Class to hold and manage different parameter types used during optimization.
A templated class holding a geometric point in n-Dimensional space.
Definition: itkPoint.h:54
Rigid3DTransform of a vector space (e.g. space coordinates)
vnl_vector_fixed< TParametersValueType, Self::InputSpaceDimension > InputVnlVectorType
typename MatrixType::ValueType MatrixValueType
vnl_vector_fixed< TParametersValueType, Self::OutputSpaceDimension > OutputVnlVectorType
typename OutputVectorType::ValueType OutputVectorValueType
vnl_matrix_fixed< ParametersValueType, VOutputDimension, VInputDimension > JacobianPositionType
Definition: itkTransform.h:131
vnl_matrix_fixed< ParametersValueType, VInputDimension, VOutputDimension > InverseJacobianPositionType
Definition: itkTransform.h:132
typename Superclass::InverseTransformBaseType InverseTransformBaseType
ParametersValueType ScalarType
Definition: itkTransform.h:127
A templated class holding a n-Dimensional vector.
Definition: itkVector.h:63
ITK3.x compatible Rigid3DTransform of a vector space (e.g. space coordinates)
typename Superclass::InverseTransformBaseType InverseTransformBaseType
bool GetInverse(Self *inverse) const
InverseTransformBasePointer GetInverseTransform() const override
typename InverseTransformBaseType::Pointer InverseTransformBasePointer
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....