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::v3
26{
60template <typename TParametersValueType = double>
61class ITK_TEMPLATE_EXPORT Rigid3DTransform : public itk::Rigid3DTransform<TParametersValueType>
62{
63public:
64 ITK_DISALLOW_COPY_AND_MOVE(Rigid3DTransform);
65
71
72
74 itkOverrideGetNameOfClassMacro(Rigid3DTransform);
75
77 itkNewMacro(Self);
78
80 static constexpr unsigned int SpaceDimension = 3;
81 static constexpr unsigned int InputSpaceDimension = 3;
82 static constexpr unsigned int OutputSpaceDimension = 3;
83 static constexpr unsigned int ParametersDimension = 12;
84
85 using typename Superclass::ParametersType;
89 using typename Superclass::JacobianType;
92 using typename Superclass::ScalarType;
93 using typename Superclass::InputVectorType;
94 using typename Superclass::OutputVectorType;
98 using typename Superclass::InputVnlVectorType;
100 using typename Superclass::InputPointType;
101 using typename Superclass::OutputPointType;
102 using typename Superclass::MatrixType;
103 using typename Superclass::InverseMatrixType;
104 using typename Superclass::MatrixValueType;
105 using typename Superclass::CenterType;
106 using typename Superclass::TranslationType;
107 using typename Superclass::OffsetType;
108
112 using InverseTransformBasePointer = typename InverseTransformBaseType::Pointer;
113
115 bool
116 GetInverse(Self * inverse) const
117 {
118 return this->Superclass::GetInverse(inverse);
119 }
120
122 InverseTransformBasePointer
123 GetInverseTransform() const override
124 {
125 return Superclass::InvertTransform(*this);
126 }
127
128protected:
129 Rigid3DTransform() = default;
130}; // class Rigid3DTransform
131} // namespace itk::v3
132
133
134#if !defined(ITK_LEGACY_REMOVE)
135# define itkv3 itk::v3
136#endif
137
138#endif /* itkv3Rigid3DTransform_h */
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.
OptimizerParameters< ParametersValueType > ParametersType
TParametersValueType ParametersValueType
OptimizerParameters< FixedParametersValueType > FixedParametersType
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