ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
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:
67
73
74
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
114 using InverseTransformBasePointer = typename InverseTransformBaseType::Pointer;
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 */
OptimizerParameters< FixedParametersValueType > FixedParametersType
TParametersValueType ParametersValueType
OptimizerParameters< ParametersValueType > ParametersType
itkOverrideGetNameOfClassMacro(TransformBaseTemplate)
ITK_DISALLOW_COPY_AND_MOVE(TransformBaseTemplate)
Matrix< TParametersValueType, Self::InputSpaceDimension, Self::OutputSpaceDimension > InverseMatrixType
bool GetInverse(InverseTransformType *inverse) const
Rigid3DTransform of a vector space (e.g. space coordinates)
vnl_matrix_fixed< ParametersValueType, VInputDimension, VOutputDimension > InverseJacobianPositionType
Array2D< ParametersValueType > JacobianType
vnl_matrix_fixed< ParametersValueType, VOutputDimension, VInputDimension > JacobianPositionType
typename Superclass::InverseTransformBaseType InverseTransformBaseType
Implements transparent reference counting.
Matrix< TParametersValueType, Self::OutputSpaceDimension, Self::InputSpaceDimension > MatrixType
Point< TParametersValueType, VOutputDimension > OutputPointType
CovariantVector< TParametersValueType, VOutputDimension > OutputCovariantVectorType
vnl_vector_fixed< TParametersValueType, VInputDimension > InputVnlVectorType
static InverseTransformBasePointer InvertTransform(const TTransform &transform)
Point< TParametersValueType, VInputDimension > InputPointType
CovariantVector< TParametersValueType, VInputDimension > InputCovariantVectorType
Vector< TParametersValueType, VInputDimension > InputVectorType
Vector< TParametersValueType, VOutputDimension > OutputVectorType
vnl_vector_fixed< TParametersValueType, VOutputDimension > OutputVnlVectorType
typename Superclass::InverseTransformBaseType InverseTransformBaseType
static constexpr unsigned int InputSpaceDimension
itk::Rigid3DTransform< TParametersValueType > Superclass
SmartPointer< const Self > ConstPointer
bool GetInverse(Self *inverse) const
InverseTransformBasePointer GetInverseTransform() const override
static constexpr unsigned int ParametersDimension
typename InverseTransformBaseType::Pointer InverseTransformBasePointer
static constexpr unsigned int SpaceDimension
static constexpr unsigned int OutputSpaceDimension
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....