Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
Common
Transforms
itkAdvancedRigid3DTransform.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright UMC Utrecht and contributors
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
* http://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
/*=========================================================================
19
20
Program: Insight Segmentation & Registration Toolkit
21
Module: $RCSfile: itkAdvancedRigid3DTransform.h,v $
22
Language: C++
23
Date: $Date: 2007-02-13 21:46:04 $
24
Version: $Revision: 1.38 $
25
26
Copyright (c) Insight Software Consortium. All rights reserved.
27
See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
28
29
This software is distributed WITHOUT ANY WARRANTY; without even
30
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
31
PURPOSE. See the above copyright notices for more information.
32
33
=========================================================================*/
34
#ifndef __itkAdvancedRigid3DTransform_h
35
#define __itkAdvancedRigid3DTransform_h
36
37
#include <iostream>
38
#include "
itkAdvancedMatrixOffsetTransformBase.h
"
39
#include "itkMacro.h"
40
#include "itkMatrix.h"
41
#include "itkVersor.h"
42
43
namespace
itk
44
{
45
65
template
<
class
TScalarType =
double
>
66
// type for scalars (float or double)
67
class
AdvancedRigid3DTransform
:
68
public
AdvancedMatrixOffsetTransformBase
< TScalarType, 3, 3 >
69
{
70
public
:
71
73
typedef
AdvancedRigid3DTransform
Self
;
74
typedef
AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 >
Superclass
;
75
typedef
SmartPointer< Self >
Pointer
;
76
typedef
SmartPointer< const Self >
ConstPointer
;
77
79
itkTypeMacro(
AdvancedRigid3DTransform
,
AdvancedMatrixOffsetTransformBase
);
80
82
itkNewMacro(
Self
);
83
85
itkStaticConstMacro
( SpaceDimension,
unsigned
int
, 3 );
86
itkStaticConstMacro
( InputSpaceDimension,
unsigned
int
, 3 );
87
itkStaticConstMacro
( OutputSpaceDimension,
unsigned
int
, 3 );
88
itkStaticConstMacro
( ParametersDimension,
unsigned
int
, 12 );
89
90
typedef
typename
Superclass::ParametersType
ParametersType
;
91
typedef
typename
Superclass::NumberOfParametersType
NumberOfParametersType
;
92
typedef
typename
Superclass::JacobianType
JacobianType
;
93
typedef
typename
Superclass::ScalarType
ScalarType
;
94
typedef
typename
Superclass::InputVectorType
InputVectorType
;
95
typedef
typename
Superclass::OutputVectorType
OutputVectorType
;
96
typedef
typename
Superclass::InputCovariantVectorType
97
InputCovariantVectorType
;
98
typedef
typename
Superclass::OutputCovariantVectorType
99
OutputCovariantVectorType
;
100
typedef
typename
Superclass::InputVnlVectorType
InputVnlVectorType
;
101
typedef
typename
Superclass::OutputVnlVectorType
OutputVnlVectorType
;
102
typedef
typename
Superclass::InputPointType
InputPointType
;
103
typedef
typename
Superclass::OutputPointType
OutputPointType
;
104
typedef
typename
Superclass::MatrixType
MatrixType
;
105
typedef
typename
Superclass::InverseMatrixType
InverseMatrixType
;
106
typedef
typename
Superclass::CenterType
CenterType
;
107
typedef
typename
Superclass::TranslationType
TranslationType
;
108
typedef
typename
Superclass::OffsetType
OffsetType
;
109
110
typedef
typename
Superclass
111
::NonZeroJacobianIndicesType
NonZeroJacobianIndicesType
;
112
typedef
typename
Superclass::SpatialJacobianType
SpatialJacobianType
;
113
typedef
typename
Superclass
114
::JacobianOfSpatialJacobianType
JacobianOfSpatialJacobianType
;
115
typedef
typename
Superclass::SpatialHessianType
SpatialHessianType
;
116
typedef
typename
Superclass
117
::JacobianOfSpatialHessianType
JacobianOfSpatialHessianType
;
118
typedef
typename
Superclass::InternalMatrixType
InternalMatrixType
;
119
130
void
SetParameters
(
const
ParametersType
& parameters )
override
;
131
137
void
SetMatrix
(
const
MatrixType
& matrix )
override
;
138
147
const
MatrixType
&
GetRotationMatrix
()
148
{
return
this->
GetMatrix
(); }
149
160
virtual
void
SetRotationMatrix
(
const
MatrixType & matrix )
161
{ this->
SetMatrix
( matrix ); }
162
170
void
Translate
(
const
OffsetType
& offset,
bool
pre =
false
);
171
183
InputPointType
BackTransform
(
const
OutputPointType
184
& point )
const
;
185
186
InputVectorType
BackTransform
(
const
OutputVectorType
187
& vector )
const
;
188
189
InputVnlVectorType
BackTransform
(
const
OutputVnlVectorType
190
& vector )
const
;
191
192
InputCovariantVectorType
BackTransform
(
const
OutputCovariantVectorType
193
& vector )
const
;
194
199
bool
MatrixIsOrthogonal
(
const
MatrixType
& matrix,
double
tol = 1e-10 );
200
201
protected
:
202
203
AdvancedRigid3DTransform
(
unsigned
int
paramDim );
204
AdvancedRigid3DTransform
(
const
MatrixType
& matrix,
205
const
OutputVectorType
& offset );
206
AdvancedRigid3DTransform
();
207
~AdvancedRigid3DTransform
()
override
;
208
212
void
PrintSelf
( std::ostream & os, Indent indent )
const override
;
213
214
private
:
215
216
AdvancedRigid3DTransform
(
const
Self
& );
// purposely not implemented
217
void
operator=
(
const
Self
& );
// purposely not implemented
218
219
};
220
221
}
// namespace itk
222
223
#ifndef ITK_MANUAL_INSTANTIATION
224
#include "itkAdvancedRigid3DTransform.hxx"
225
#endif
226
227
#endif
/* __itkAdvancedRigid3DTransform_h */
SmartPointer< Self >
itk::AdvancedMatrixOffsetTransformBase
Definition:
itkAdvancedMatrixOffsetTransformBase.h:99
itk::AdvancedMatrixOffsetTransformBase::OutputVnlVectorType
Superclass::OutputVnlVectorType OutputVnlVectorType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:135
itk::AdvancedMatrixOffsetTransformBase::InverseMatrixType
Matrix< TScalarType, itkGetStaticConstMacro(InputSpaceDimension), itkGetStaticConstMacro(OutputSpaceDimension) > InverseMatrixType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:158
itk::AdvancedMatrixOffsetTransformBase::OutputPointType
Superclass::OutputPointType OutputPointType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:137
itk::AdvancedMatrixOffsetTransformBase::SpatialHessianType
Superclass::SpatialHessianType SpatialHessianType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:145
itk::AdvancedMatrixOffsetTransformBase::InputPointType
Superclass::InputPointType InputPointType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:136
itk::AdvancedMatrixOffsetTransformBase::InputCovariantVectorType
Superclass::InputCovariantVectorType InputCovariantVectorType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:131
itk::AdvancedMatrixOffsetTransformBase::NonZeroJacobianIndicesType
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:141
itk::AdvancedMatrixOffsetTransformBase::OutputVectorType
Superclass::OutputVectorType OutputVectorType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:129
itk::AdvancedMatrixOffsetTransformBase::InputVectorType
Superclass::InputVectorType InputVectorType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:128
itk::AdvancedMatrixOffsetTransformBase::ScalarType
Superclass::ScalarType ScalarType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:122
itk::AdvancedMatrixOffsetTransformBase::JacobianOfSpatialJacobianType
Superclass::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:144
itk::AdvancedMatrixOffsetTransformBase::ParametersType
Superclass::ParametersType ParametersType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:123
itk::AdvancedMatrixOffsetTransformBase::OffsetType
OutputVectorType OffsetType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:162
itk::AdvancedMatrixOffsetTransformBase::SpatialJacobianType
Superclass::SpatialJacobianType SpatialJacobianType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:142
itk::AdvancedMatrixOffsetTransformBase::InputVnlVectorType
Superclass::InputVnlVectorType InputVnlVectorType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:134
itk::AdvancedMatrixOffsetTransformBase::CenterType
InputPointType CenterType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:161
itk::AdvancedMatrixOffsetTransformBase::JacobianOfSpatialHessianType
Superclass::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:147
itk::AdvancedMatrixOffsetTransformBase::OutputCovariantVectorType
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:133
itk::AdvancedMatrixOffsetTransformBase::TranslationType
OutputVectorType TranslationType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:163
itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >::GetMatrix
const MatrixType & GetMatrix(void) const
Definition:
itkAdvancedMatrixOffsetTransformBase.h:199
itk::AdvancedMatrixOffsetTransformBase::MatrixType
Matrix< TScalarType, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension) > MatrixType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:153
itk::AdvancedMatrixOffsetTransformBase::NumberOfParametersType
Superclass::NumberOfParametersType NumberOfParametersType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:126
itk::AdvancedMatrixOffsetTransformBase::JacobianType
Superclass::JacobianType JacobianType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:127
itk::AdvancedMatrixOffsetTransformBase::InternalMatrixType
Superclass::InternalMatrixType InternalMatrixType
Definition:
itkAdvancedMatrixOffsetTransformBase.h:148
itk::AdvancedRigid3DTransform
AdvancedRigid3DTransform of a vector space (e.g. space coordinates)
Definition:
itkAdvancedRigid3DTransform.h:69
itk::AdvancedRigid3DTransform::NonZeroJacobianIndicesType
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Definition:
itkAdvancedRigid3DTransform.h:111
itk::AdvancedRigid3DTransform::BackTransform
InputPointType BackTransform(const OutputPointType &point) const
itk::AdvancedRigid3DTransform::JacobianOfSpatialJacobianType
Superclass::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
Definition:
itkAdvancedRigid3DTransform.h:114
itk::AdvancedRigid3DTransform::MatrixType
Superclass::MatrixType MatrixType
Definition:
itkAdvancedRigid3DTransform.h:104
itk::AdvancedRigid3DTransform::ParametersType
Superclass::ParametersType ParametersType
Definition:
itkAdvancedRigid3DTransform.h:90
itk::AdvancedRigid3DTransform::itkStaticConstMacro
itkStaticConstMacro(ParametersDimension, unsigned int, 12)
itk::AdvancedRigid3DTransform::SetParameters
void SetParameters(const ParametersType ¶meters) override
itk::AdvancedRigid3DTransform::InverseMatrixType
Superclass::InverseMatrixType InverseMatrixType
Definition:
itkAdvancedRigid3DTransform.h:105
itk::AdvancedRigid3DTransform::OutputCovariantVectorType
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Definition:
itkAdvancedRigid3DTransform.h:99
itk::AdvancedRigid3DTransform::InternalMatrixType
Superclass::InternalMatrixType InternalMatrixType
Definition:
itkAdvancedRigid3DTransform.h:118
itk::AdvancedRigid3DTransform::InputVnlVectorType
Superclass::InputVnlVectorType InputVnlVectorType
Definition:
itkAdvancedRigid3DTransform.h:100
itk::AdvancedRigid3DTransform::AdvancedRigid3DTransform
AdvancedRigid3DTransform(const MatrixType &matrix, const OutputVectorType &offset)
itk::AdvancedRigid3DTransform::OffsetType
Superclass::OffsetType OffsetType
Definition:
itkAdvancedRigid3DTransform.h:108
itk::AdvancedRigid3DTransform::SpatialHessianType
Superclass::SpatialHessianType SpatialHessianType
Definition:
itkAdvancedRigid3DTransform.h:115
itk::AdvancedRigid3DTransform::SpatialJacobianType
Superclass::SpatialJacobianType SpatialJacobianType
Definition:
itkAdvancedRigid3DTransform.h:112
itk::AdvancedRigid3DTransform::operator=
void operator=(const Self &)
itk::AdvancedRigid3DTransform::AdvancedRigid3DTransform
AdvancedRigid3DTransform(const Self &)
itk::AdvancedRigid3DTransform::Pointer
SmartPointer< Self > Pointer
Definition:
itkAdvancedRigid3DTransform.h:75
itk::AdvancedRigid3DTransform::NumberOfParametersType
Superclass::NumberOfParametersType NumberOfParametersType
Definition:
itkAdvancedRigid3DTransform.h:91
itk::AdvancedRigid3DTransform::ScalarType
Superclass::ScalarType ScalarType
Definition:
itkAdvancedRigid3DTransform.h:93
itk::AdvancedRigid3DTransform::AdvancedRigid3DTransform
AdvancedRigid3DTransform()
itk::AdvancedRigid3DTransform::itkStaticConstMacro
itkStaticConstMacro(SpaceDimension, unsigned int, 3)
itk::AdvancedRigid3DTransform::Superclass
AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 > Superclass
Definition:
itkAdvancedRigid3DTransform.h:74
itk::AdvancedRigid3DTransform::OutputVnlVectorType
Superclass::OutputVnlVectorType OutputVnlVectorType
Definition:
itkAdvancedRigid3DTransform.h:101
itk::AdvancedRigid3DTransform::OutputVectorType
Superclass::OutputVectorType OutputVectorType
Definition:
itkAdvancedRigid3DTransform.h:95
itk::AdvancedRigid3DTransform::PrintSelf
void PrintSelf(std::ostream &os, Indent indent) const override
itk::AdvancedRigid3DTransform::MatrixIsOrthogonal
bool MatrixIsOrthogonal(const MatrixType &matrix, double tol=1e-10)
itk::AdvancedRigid3DTransform::SetMatrix
void SetMatrix(const MatrixType &matrix) override
itk::AdvancedRigid3DTransform::itkStaticConstMacro
itkStaticConstMacro(InputSpaceDimension, unsigned int, 3)
itk::AdvancedRigid3DTransform::itkStaticConstMacro
itkStaticConstMacro(OutputSpaceDimension, unsigned int, 3)
itk::AdvancedRigid3DTransform::~AdvancedRigid3DTransform
~AdvancedRigid3DTransform() override
itk::AdvancedRigid3DTransform::GetRotationMatrix
const MatrixType & GetRotationMatrix()
Definition:
itkAdvancedRigid3DTransform.h:147
itk::AdvancedRigid3DTransform::Translate
void Translate(const OffsetType &offset, bool pre=false)
itk::AdvancedRigid3DTransform::BackTransform
InputCovariantVectorType BackTransform(const OutputCovariantVectorType &vector) const
itk::AdvancedRigid3DTransform::BackTransform
InputVectorType BackTransform(const OutputVectorType &vector) const
itk::AdvancedRigid3DTransform::Self
AdvancedRigid3DTransform Self
Definition:
itkAdvancedRigid3DTransform.h:73
itk::AdvancedRigid3DTransform::SetRotationMatrix
virtual void SetRotationMatrix(const MatrixType &matrix)
Definition:
itkAdvancedRigid3DTransform.h:160
itk::AdvancedRigid3DTransform::CenterType
Superclass::CenterType CenterType
Definition:
itkAdvancedRigid3DTransform.h:106
itk::AdvancedRigid3DTransform::JacobianType
Superclass::JacobianType JacobianType
Definition:
itkAdvancedRigid3DTransform.h:92
itk::AdvancedRigid3DTransform::TranslationType
Superclass::TranslationType TranslationType
Definition:
itkAdvancedRigid3DTransform.h:107
itk::AdvancedRigid3DTransform::InputVectorType
Superclass::InputVectorType InputVectorType
Definition:
itkAdvancedRigid3DTransform.h:94
itk::AdvancedRigid3DTransform::OutputPointType
Superclass::OutputPointType OutputPointType
Definition:
itkAdvancedRigid3DTransform.h:103
itk::AdvancedRigid3DTransform::BackTransform
InputVnlVectorType BackTransform(const OutputVnlVectorType &vector) const
itk::AdvancedRigid3DTransform::InputCovariantVectorType
Superclass::InputCovariantVectorType InputCovariantVectorType
Definition:
itkAdvancedRigid3DTransform.h:97
itk::AdvancedRigid3DTransform::ConstPointer
SmartPointer< const Self > ConstPointer
Definition:
itkAdvancedRigid3DTransform.h:76
itk::AdvancedRigid3DTransform::JacobianOfSpatialHessianType
Superclass::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
Definition:
itkAdvancedRigid3DTransform.h:117
itk::AdvancedRigid3DTransform::AdvancedRigid3DTransform
AdvancedRigid3DTransform(unsigned int paramDim)
itk::AdvancedRigid3DTransform::InputPointType
Superclass::InputPointType InputPointType
Definition:
itkAdvancedRigid3DTransform.h:102
itkAdvancedMatrixOffsetTransformBase.h
itk
Definition:
itkAdvancedImageToImageMetric.h:42
Generated on 1667476801 for elastix by
1.9.4