Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
Loading...
Searching...
No Matches
Components
Transforms
EulerStackTransform
elxEulerStackTransform.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
#ifndef elxEulerStackTransform_h
19
#define elxEulerStackTransform_h
20
21
#include "
elxIncludes.h
"
23
#include "
itkAdvancedCombinationTransform.h
"
24
#include "
itkEulerStackTransform.h
"
25
#include "
itkEulerTransform.h
"
26
27
namespace
elastix
28
{
29
83
template
<
class
TElastix>
84
class
ITK_TEMPLATE_EXPORT
EulerStackTransform
85
:
public
itk::AdvancedCombinationTransform
<typename elx::TransformBase<TElastix>::CoordRepType,
86
elx::TransformBase<TElastix>::FixedImageDimension>
87
,
public
elx::TransformBase
<TElastix>
88
{
89
public
:
90
ITK_DISALLOW_COPY_AND_MOVE
(
EulerStackTransform
);
91
93
using
Self
=
EulerStackTransform
;
94
using
Superclass1
=
itk::AdvancedCombinationTransform<typename elx::TransformBase<TElastix>::CoordRepType
,
95
elx::TransformBase<TElastix>::FixedImageDimension
>;
96
using
Superclass2
=
elx::TransformBase<TElastix>
;
97
using
Pointer
= itk::SmartPointer<Self>;
98
using
ConstPointer
= itk::SmartPointer<const Self>;
99
101
itkNewMacro(
Self
);
102
104
itkTypeMacro(
EulerStackTransform
,
itk::AdvancedCombinationTransform
);
105
110
elxClassNameMacro
(
"EulerStackTransform"
);
111
113
itkStaticConstMacro
(SpaceDimension,
unsigned
int
, Superclass2::FixedImageDimension);
114
itkStaticConstMacro
(ReducedSpaceDimension,
unsigned
int
, Superclass2::FixedImageDimension - 1);
115
119
using
EulerTransformType
=
120
itk::EulerTransform<typename elx::TransformBase<TElastix>::CoordRepType
, Self::SpaceDimension>;
121
using
EulerTransformPointer
=
typename
EulerTransformType::Pointer
;
122
using
InputPointType
=
typename
EulerTransformType::InputPointType;
123
125
using
ReducedDimensionEulerTransformType
=
126
itk::EulerTransform<typename elx::TransformBase<TElastix>::CoordRepType
, Self::ReducedSpaceDimension>;
127
using
ReducedDimensionEulerTransformPointer
=
typename
ReducedDimensionEulerTransformType::Pointer
;
128
129
using
ReducedDimensionOutputVectorType
=
typename
ReducedDimensionEulerTransformType::OutputVectorType;
130
using
ReducedDimensionInputPointType
=
typename
ReducedDimensionEulerTransformType::InputPointType;
131
133
using
typename Superclass1::ParametersType;
134
using
typename Superclass1::NumberOfParametersType;
135
137
using
typename
Superclass2::ElastixType
;
138
using
typename
Superclass2::ParameterMapType
;
139
using
typename
Superclass2::RegistrationType
;
140
using
typename
Superclass2::CoordRepType
;
141
using
typename
Superclass2::FixedImageType
;
142
using
typename
Superclass2::MovingImageType
;
143
using
ITKBaseType
=
typename
Superclass2::ITKBaseType
;
144
using
CombinationTransformType
=
typename
Superclass2::CombinationTransformType
;
145
147
using
PixelType
=
float
;
148
using
ReducedDimensionImageType
= itk::Image<PixelType, Self::ReducedSpaceDimension>;
149
using
ReducedDimensionRegionType
= itk::ImageRegion<Self::ReducedSpaceDimension>;
150
using
ReducedDimensionPointType
=
typename
ReducedDimensionImageType::PointType;
151
using
ReducedDimensionSizeType
=
typename
ReducedDimensionImageType::SizeType;
152
using
ReducedDimensionIndexType
=
typename
ReducedDimensionRegionType::IndexType;
153
using
ReducedDimensionSpacingType
=
typename
ReducedDimensionImageType::SpacingType;
154
using
ReducedDimensionDirectionType
=
typename
ReducedDimensionImageType::DirectionType;
155
using
ReducedDimensionOriginType
=
typename
ReducedDimensionImageType::PointType;
156
158
using
typename
Superclass2::ScalesType
;
159
161
using
IndexType
=
typename
FixedImageType::IndexType;
162
using
SizeType
=
typename
FixedImageType::SizeType;
163
using
PointType
=
typename
FixedImageType::PointType;
164
using
SpacingType
=
typename
FixedImageType::SpacingType;
165
using
RegionType
=
typename
FixedImageType::RegionType;
166
using
DirectionType
=
typename
FixedImageType::DirectionType;
167
using
ReducedDimensionContinuousIndexType
=
typename
itk::ContinuousIndex<CoordRepType, ReducedSpaceDimension>;
168
using
ContinuousIndexType
=
typename
itk::ContinuousIndex<CoordRepType, SpaceDimension>;
169
172
int
173
BeforeAll
()
override
;
174
180
void
181
BeforeRegistration
()
override
;
182
190
virtual
void
191
SetScales
();
192
194
void
195
ReadFromFile
()
override
;
196
198
virtual
void
199
InitialTransformCenter
(
ReducedDimensionInputPointType
& point);
200
201
protected
:
203
EulerStackTransform
() { this->Superclass1::SetCurrentTransform(m_StackTransform); }
204
206
~EulerStackTransform
()
override
=
default
;
207
213
virtual
bool
214
ReadCenterOfRotationPoint
(
ReducedDimensionInputPointType
& rotationPoint)
const
;
215
216
private
:
217
elxOverrideGetSelfMacro
;
218
220
void
221
InitializeTransform
();
222
224
ParameterMapType
225
CreateDerivedTransformParameterMap
()
const override
;
226
229
using
StackTransformType
=
itk::EulerStackTransform<SpaceDimension>
;
230
232
const
typename
StackTransformType::Pointer
m_StackTransform{ StackTransformType::New() };
233
235
ReducedDimensionEulerTransformPointer
m_DummySubTransform
;
236
238
unsigned
int
m_NumberOfSubTransforms
;
239
double
m_StackOrigin
, m_StackSpacing;
240
242
unsigned
int
243
InitializeEulerTransform
();
244
};
245
246
247
}
// end namespace elastix
248
249
#ifndef ITK_MANUAL_INSTANTIATION
250
# include "elxEulerStackTransform.hxx"
251
#endif
252
253
#endif
// end #ifndef elxEulerStackTransform_h
SmartPointer< Self >
double
elastix::BaseComponentSE::ElastixType
TElastix ElastixType
Definition
elxBaseComponentSE.h:57
elastix::EulerStackTransform
A stack transform based on the itk EulerTransforms.
Definition
elxEulerStackTransform.h:88
elastix::EulerStackTransform::ReducedDimensionSpacingType
typename ReducedDimensionImageType::SpacingType ReducedDimensionSpacingType
Definition
elxEulerStackTransform.h:153
elastix::EulerStackTransform::ReadCenterOfRotationPoint
virtual bool ReadCenterOfRotationPoint(ReducedDimensionInputPointType &rotationPoint) const
elastix::EulerStackTransform::CreateDerivedTransformParameterMap
ParameterMapType CreateDerivedTransformParameterMap() const override
elastix::EulerStackTransform::EulerStackTransform
EulerStackTransform()
Definition
elxEulerStackTransform.h:203
elastix::EulerStackTransform::SpacingType
typename FixedImageType::SpacingType SpacingType
Definition
elxEulerStackTransform.h:164
elastix::EulerStackTransform::ReducedDimensionPointType
typename ReducedDimensionImageType::PointType ReducedDimensionPointType
Definition
elxEulerStackTransform.h:150
elastix::EulerStackTransform::m_StackOrigin
double m_StackOrigin
Definition
elxEulerStackTransform.h:239
elastix::EulerStackTransform::ReducedDimensionImageType
itk::Image< PixelType, Self::ReducedSpaceDimension > ReducedDimensionImageType
Definition
elxEulerStackTransform.h:148
elastix::EulerStackTransform::IndexType
typename FixedImageType::IndexType IndexType
Definition
elxEulerStackTransform.h:161
elastix::EulerStackTransform::ReducedDimensionSizeType
typename ReducedDimensionImageType::SizeType ReducedDimensionSizeType
Definition
elxEulerStackTransform.h:151
elastix::EulerStackTransform::CombinationTransformType
typename Superclass2::CombinationTransformType CombinationTransformType
Definition
elxEulerStackTransform.h:144
elastix::EulerStackTransform::RegionType
typename FixedImageType::RegionType RegionType
Definition
elxEulerStackTransform.h:165
elastix::EulerStackTransform::SizeType
typename FixedImageType::SizeType SizeType
Definition
elxEulerStackTransform.h:162
elastix::EulerStackTransform::ITKBaseType
typename Superclass2::ITKBaseType ITKBaseType
Definition
elxEulerStackTransform.h:143
elastix::EulerStackTransform::InputPointType
typename EulerTransformType::InputPointType InputPointType
Definition
elxEulerStackTransform.h:122
elastix::EulerStackTransform::EulerTransformPointer
typename EulerTransformType::Pointer EulerTransformPointer
Definition
elxEulerStackTransform.h:121
elastix::EulerStackTransform::~EulerStackTransform
~EulerStackTransform() override=default
elastix::EulerStackTransform::m_NumberOfSubTransforms
unsigned int m_NumberOfSubTransforms
Definition
elxEulerStackTransform.h:238
elastix::EulerStackTransform::DirectionType
typename FixedImageType::DirectionType DirectionType
Definition
elxEulerStackTransform.h:166
elastix::EulerStackTransform::SetScales
virtual void SetScales()
elastix::EulerStackTransform::InitialTransformCenter
virtual void InitialTransformCenter(ReducedDimensionInputPointType &point)
elastix::EulerStackTransform::BeforeAll
int BeforeAll() override
elastix::EulerStackTransform::PointType
typename FixedImageType::PointType PointType
Definition
elxEulerStackTransform.h:163
elastix::EulerStackTransform::ParameterMapType
typename TElastix::ParameterMapType ParameterMapType
Definition
elxTransformBase.h:199
elastix::EulerStackTransform::ReducedDimensionEulerTransformPointer
typename ReducedDimensionEulerTransformType::Pointer ReducedDimensionEulerTransformPointer
Definition
elxEulerStackTransform.h:127
elastix::EulerStackTransform::elxOverrideGetSelfMacro
elxOverrideGetSelfMacro
Definition
elxEulerStackTransform.h:217
elastix::EulerStackTransform::Pointer
itk::SmartPointer< Self > Pointer
Definition
elxEulerStackTransform.h:97
elastix::EulerStackTransform::ReducedDimensionDirectionType
typename ReducedDimensionImageType::DirectionType ReducedDimensionDirectionType
Definition
elxEulerStackTransform.h:154
elastix::EulerStackTransform::BeforeRegistration
void BeforeRegistration() override
elastix::EulerStackTransform::elxClassNameMacro
elxClassNameMacro("EulerStackTransform")
elastix::EulerStackTransform::ReadFromFile
void ReadFromFile() override
elastix::EulerStackTransform::ReducedDimensionOriginType
typename ReducedDimensionImageType::PointType ReducedDimensionOriginType
Definition
elxEulerStackTransform.h:155
elastix::EulerStackTransform::ReducedDimensionOutputVectorType
typename ReducedDimensionEulerTransformType::OutputVectorType ReducedDimensionOutputVectorType
Definition
elxEulerStackTransform.h:129
elastix::EulerStackTransform::m_DummySubTransform
ReducedDimensionEulerTransformPointer m_DummySubTransform
Definition
elxEulerStackTransform.h:235
elastix::EulerStackTransform::ReducedDimensionInputPointType
typename ReducedDimensionEulerTransformType::InputPointType ReducedDimensionInputPointType
Definition
elxEulerStackTransform.h:130
elastix::EulerStackTransform::ReducedDimensionContinuousIndexType
typename itk::ContinuousIndex< CoordRepType, ReducedSpaceDimension > ReducedDimensionContinuousIndexType
Definition
elxEulerStackTransform.h:167
elastix::EulerStackTransform::ReducedDimensionRegionType
itk::ImageRegion< Self::ReducedSpaceDimension > ReducedDimensionRegionType
Definition
elxEulerStackTransform.h:149
elastix::EulerStackTransform::InitializeTransform
void InitializeTransform()
elastix::EulerStackTransform::ContinuousIndexType
typename itk::ContinuousIndex< CoordRepType, SpaceDimension > ContinuousIndexType
Definition
elxEulerStackTransform.h:168
elastix::EulerStackTransform::ITK_DISALLOW_COPY_AND_MOVE
ITK_DISALLOW_COPY_AND_MOVE(EulerStackTransform)
elastix::EulerStackTransform::itkStaticConstMacro
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
elastix::EulerStackTransform::InitializeEulerTransform
unsigned int InitializeEulerTransform()
elastix::EulerStackTransform::ReducedDimensionIndexType
typename ReducedDimensionRegionType::IndexType ReducedDimensionIndexType
Definition
elxEulerStackTransform.h:152
elastix::EulerStackTransform::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition
elxEulerStackTransform.h:98
elastix::EulerStackTransform::itkStaticConstMacro
itkStaticConstMacro(ReducedSpaceDimension, unsigned int, Superclass2::FixedImageDimension - 1)
elastix::TransformBase
This class is the elastix base class for all Transforms.
Definition
elxTransformBase.h:138
elastix::TransformBase::FixedImageType
typename TElastix::FixedImageType FixedImageType
Definition
elxTransformBase.h:157
elastix::TransformBase::ParameterMapType
typename TElastix::ParameterMapType ParameterMapType
Definition
elxTransformBase.h:199
elastix::TransformBase::MovingImageType
typename TElastix::MovingImageType MovingImageType
Definition
elxTransformBase.h:158
elastix::TransformBase::RegistrationType
typename ElastixType::RegistrationBaseType RegistrationType
Definition
elxBaseComponentSE.h:62
elastix::TransformBase::ScalesType
itk::Optimizer::ScalesType ScalesType
Definition
elxTransformBase.h:190
float
itk::AdvancedCombinationTransform
This class combines two transforms: an 'initial transform' with a 'current transform'.
Definition
itkAdvancedCombinationTransform.h:57
itk::EulerStackTransform
Definition
itkEulerStackTransform.h:30
itk::EulerStackTransform::Pointer
itk::SmartPointer< EulerStackTransform > Pointer
Definition
itkEulerStackTransform.h:39
itk::EulerTransform
This class combines the Euler2DTransform with the Euler3DTransform.
Definition
itkEulerTransform.h:89
elxIncludes.h
itkAdvancedCombinationTransform.h
itkEulerStackTransform.h
itkEulerTransform.h
elastix
Definition
elxDefaultConstruct.h:25
Generated on 1739326392 for elastix by
1.9.8