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
AffineLogStackTransform
elxAffineLogStackTransform.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
#ifndef ELXAFFINELOGSTACKTRANSFORM_H
20
#define ELXAFFINELOGSTACKTRANSFORM_H
21
23
#include "
itkAdvancedCombinationTransform.h
"
24
#include "
itkAffineLogStackTransform.h
"
25
#include "
../AffineLogTransform/itkAffineLogTransform.h
"
26
27
#include "
elxIncludes.h
"
28
29
namespace
elastix
30
{
31
40
template
<
class
TElastix>
41
class
ITK_TEMPLATE_EXPORT
AffineLogStackTransform
42
:
public
itk::AdvancedCombinationTransform
<typename elx::TransformBase<TElastix>::CoordRepType,
43
elx::TransformBase<TElastix>::FixedImageDimension>
44
,
public
elx::TransformBase
<TElastix>
45
{
46
public
:
47
ITK_DISALLOW_COPY_AND_MOVE
(
AffineLogStackTransform
);
48
50
using
Self
=
AffineLogStackTransform
;
51
using
Superclass1
=
itk::AdvancedCombinationTransform<typename elx::TransformBase<TElastix>::CoordRepType
,
52
elx::TransformBase<TElastix>::FixedImageDimension
>;
53
using
Superclass2
=
elx::TransformBase<TElastix>
;
54
using
Pointer
= itk::SmartPointer<Self>;
55
using
ConstPointer
= itk::SmartPointer<const Self>;
56
58
itkNewMacro(
Self
);
59
61
itkTypeMacro(
AffineLogStackTransform
,
itk::AdvancedCombinationTransform
);
62
67
elxClassNameMacro
(
"AffineLogStackTransform"
);
68
70
itkStaticConstMacro
(SpaceDimension,
unsigned
int
, Superclass2::FixedImageDimension);
71
itkStaticConstMacro
(ReducedSpaceDimension,
unsigned
int
, Superclass2::FixedImageDimension - 1);
72
73
using
AffineLogTransformType
=
74
itk::AffineLogTransform<typename elx::TransformBase<TElastix>::CoordRepType
, Self::SpaceDimension>;
75
using
AffineLogTransformPointer
=
typename
AffineLogTransformType::Pointer
;
76
using
InputPointType
=
typename
AffineLogTransformType::InputPointType;
77
79
using
ReducedDimensionAffineLogTransformBaseType
=
80
itk::AffineLogTransform<typename elx::TransformBase<TElastix>::CoordRepType
, Self::ReducedSpaceDimension>;
81
using
ReducedDimensionAffineLogTransformBasePointer
=
typename
ReducedDimensionAffineLogTransformBaseType::Pointer
;
82
83
using
ReducedDimensionOutputVectorType
=
typename
ReducedDimensionAffineLogTransformBaseType::OutputVectorType;
84
using
ReducedDimensionInputPointType
=
typename
ReducedDimensionAffineLogTransformBaseType::InputPointType;
85
87
using
typename Superclass1::ParametersType;
88
using
typename Superclass1::NumberOfParametersType;
89
91
using
typename
Superclass2::ElastixType
;
92
using
typename
Superclass2::ParameterMapType
;
93
using
typename
Superclass2::RegistrationType
;
94
using
typename
Superclass2::CoordRepType
;
95
using
typename
Superclass2::FixedImageType
;
96
using
typename
Superclass2::MovingImageType
;
97
using
ITKBaseType
=
typename
Superclass2::ITKBaseType
;
98
using
CombinationTransformType
=
typename
Superclass2::CombinationTransformType
;
99
101
using
PixelType
=
float
;
102
using
ReducedDimensionImageType
= itk::Image<PixelType, Self::ReducedSpaceDimension>;
103
using
ReducedDimensionRegionType
= itk::ImageRegion<Self::ReducedSpaceDimension>;
104
using
ReducedDimensionPointType
=
typename
ReducedDimensionImageType::PointType;
105
using
ReducedDimensionSizeType
=
typename
ReducedDimensionImageType::SizeType;
106
using
ReducedDimensionIndexType
=
typename
ReducedDimensionRegionType::IndexType;
107
using
ReducedDimensionSpacingType
=
typename
ReducedDimensionImageType::SpacingType;
108
using
ReducedDimensionDirectionType
=
typename
ReducedDimensionImageType::DirectionType;
109
using
ReducedDimensionOriginType
=
typename
ReducedDimensionImageType::PointType;
110
112
using
typename
Superclass2::ScalesType
;
113
115
using
IndexType
=
typename
FixedImageType::IndexType;
116
using
SizeType
=
typename
FixedImageType::SizeType;
117
using
PointType
=
typename
FixedImageType::PointType;
118
using
SpacingType
=
typename
FixedImageType::SpacingType;
119
using
RegionType
=
typename
FixedImageType::RegionType;
120
using
DirectionType
=
typename
FixedImageType::DirectionType;
121
using
ReducedDimensionContinuousIndexType
=
typename
itk::ContinuousIndex<CoordRepType, ReducedSpaceDimension>;
122
using
ContinuousIndexType
=
typename
itk::ContinuousIndex<CoordRepType, SpaceDimension>;
123
126
int
127
BeforeAll
()
override
;
128
134
void
135
BeforeRegistration
()
override
;
136
144
virtual
void
145
SetScales
();
146
148
void
149
ReadFromFile
()
override
;
150
151
protected
:
153
AffineLogStackTransform
() { this->Superclass1::SetCurrentTransform(m_StackTransform); }
154
156
~AffineLogStackTransform
()
override
=
default
;
157
163
virtual
bool
164
ReadCenterOfRotationPoint
(
ReducedDimensionInputPointType
& rotationPoint)
const
;
165
166
private
:
167
elxOverrideGetSelfMacro
;
168
170
void
171
InitializeTransform
();
172
174
ParameterMapType
175
CreateDerivedTransformParameterMap
()
const override
;
176
179
using
StackTransformType
=
itk::AffineLogStackTransform<SpaceDimension>
;
180
182
const
typename
StackTransformType::Pointer
m_StackTransform{ StackTransformType::New() };
183
185
ReducedDimensionAffineLogTransformBasePointer
m_DummySubTransform
;
186
188
unsigned
int
m_NumberOfSubTransforms
;
189
double
m_StackOrigin
, m_StackSpacing;
190
192
unsigned
int
193
InitializeAffineLogTransform
();
194
};
195
196
}
// end namespace elastix
197
198
#ifndef ITK_MANUAL_INSTANTIATION
199
# include "elxAffineLogStackTransform.hxx"
200
#endif
201
202
#endif
// ELXAFFINELOGSTACKTRANSFORM_H
SmartPointer< Self >
double
elastix::AffineLogStackTransform
An affine log transform based on the itkStackTransform.
Definition
elxAffineLogStackTransform.h:45
elastix::AffineLogStackTransform::SetScales
virtual void SetScales()
elastix::AffineLogStackTransform::m_StackOrigin
double m_StackOrigin
Definition
elxAffineLogStackTransform.h:189
elastix::AffineLogStackTransform::SpacingType
typename FixedImageType::SpacingType SpacingType
Definition
elxAffineLogStackTransform.h:118
elastix::AffineLogStackTransform::ReducedDimensionOriginType
typename ReducedDimensionImageType::PointType ReducedDimensionOriginType
Definition
elxAffineLogStackTransform.h:109
elastix::AffineLogStackTransform::ContinuousIndexType
typename itk::ContinuousIndex< CoordRepType, SpaceDimension > ContinuousIndexType
Definition
elxAffineLogStackTransform.h:122
elastix::AffineLogStackTransform::InitializeTransform
void InitializeTransform()
elastix::AffineLogStackTransform::DirectionType
typename FixedImageType::DirectionType DirectionType
Definition
elxAffineLogStackTransform.h:120
elastix::AffineLogStackTransform::BeforeAll
int BeforeAll() override
elastix::AffineLogStackTransform::ReducedDimensionRegionType
itk::ImageRegion< Self::ReducedSpaceDimension > ReducedDimensionRegionType
Definition
elxAffineLogStackTransform.h:103
elastix::AffineLogStackTransform::ReducedDimensionContinuousIndexType
typename itk::ContinuousIndex< CoordRepType, ReducedSpaceDimension > ReducedDimensionContinuousIndexType
Definition
elxAffineLogStackTransform.h:121
elastix::AffineLogStackTransform::CreateDerivedTransformParameterMap
ParameterMapType CreateDerivedTransformParameterMap() const override
elastix::AffineLogStackTransform::ReadFromFile
void ReadFromFile() override
elastix::AffineLogStackTransform::RegionType
typename FixedImageType::RegionType RegionType
Definition
elxAffineLogStackTransform.h:119
elastix::AffineLogStackTransform::m_NumberOfSubTransforms
unsigned int m_NumberOfSubTransforms
Definition
elxAffineLogStackTransform.h:188
elastix::AffineLogStackTransform::ReducedDimensionImageType
itk::Image< PixelType, Self::ReducedSpaceDimension > ReducedDimensionImageType
Definition
elxAffineLogStackTransform.h:102
elastix::AffineLogStackTransform::ReducedDimensionOutputVectorType
typename ReducedDimensionAffineLogTransformBaseType::OutputVectorType ReducedDimensionOutputVectorType
Definition
elxAffineLogStackTransform.h:83
elastix::AffineLogStackTransform::ITKBaseType
typename Superclass2::ITKBaseType ITKBaseType
Definition
elxAffineLogStackTransform.h:97
elastix::AffineLogStackTransform::AffineLogTransformPointer
typename AffineLogTransformType::Pointer AffineLogTransformPointer
Definition
elxAffineLogStackTransform.h:75
elastix::AffineLogStackTransform::ReducedDimensionPointType
typename ReducedDimensionImageType::PointType ReducedDimensionPointType
Definition
elxAffineLogStackTransform.h:104
elastix::AffineLogStackTransform::ParameterMapType
typename TElastix::ParameterMapType ParameterMapType
Definition
elxTransformBase.h:199
elastix::AffineLogStackTransform::Pointer
itk::SmartPointer< Self > Pointer
Definition
elxAffineLogStackTransform.h:54
elastix::AffineLogStackTransform::itkStaticConstMacro
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
elastix::AffineLogStackTransform::ReadCenterOfRotationPoint
virtual bool ReadCenterOfRotationPoint(ReducedDimensionInputPointType &rotationPoint) const
elastix::AffineLogStackTransform::InitializeAffineLogTransform
unsigned int InitializeAffineLogTransform()
elastix::AffineLogStackTransform::InputPointType
typename AffineLogTransformType::InputPointType InputPointType
Definition
elxAffineLogStackTransform.h:76
elastix::AffineLogStackTransform::m_DummySubTransform
ReducedDimensionAffineLogTransformBasePointer m_DummySubTransform
Definition
elxAffineLogStackTransform.h:185
elastix::AffineLogStackTransform::elxOverrideGetSelfMacro
elxOverrideGetSelfMacro
Definition
elxAffineLogStackTransform.h:167
elastix::AffineLogStackTransform::ReducedDimensionSizeType
typename ReducedDimensionImageType::SizeType ReducedDimensionSizeType
Definition
elxAffineLogStackTransform.h:105
elastix::AffineLogStackTransform::elxClassNameMacro
elxClassNameMacro("AffineLogStackTransform")
elastix::AffineLogStackTransform::~AffineLogStackTransform
~AffineLogStackTransform() override=default
elastix::AffineLogStackTransform::ReducedDimensionInputPointType
typename ReducedDimensionAffineLogTransformBaseType::InputPointType ReducedDimensionInputPointType
Definition
elxAffineLogStackTransform.h:84
elastix::AffineLogStackTransform::SizeType
typename FixedImageType::SizeType SizeType
Definition
elxAffineLogStackTransform.h:116
elastix::AffineLogStackTransform::BeforeRegistration
void BeforeRegistration() override
elastix::AffineLogStackTransform::PointType
typename FixedImageType::PointType PointType
Definition
elxAffineLogStackTransform.h:117
elastix::AffineLogStackTransform::CombinationTransformType
typename Superclass2::CombinationTransformType CombinationTransformType
Definition
elxAffineLogStackTransform.h:98
elastix::AffineLogStackTransform::ReducedDimensionIndexType
typename ReducedDimensionRegionType::IndexType ReducedDimensionIndexType
Definition
elxAffineLogStackTransform.h:106
elastix::AffineLogStackTransform::ReducedDimensionSpacingType
typename ReducedDimensionImageType::SpacingType ReducedDimensionSpacingType
Definition
elxAffineLogStackTransform.h:107
elastix::AffineLogStackTransform::ITK_DISALLOW_COPY_AND_MOVE
ITK_DISALLOW_COPY_AND_MOVE(AffineLogStackTransform)
elastix::AffineLogStackTransform::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition
elxAffineLogStackTransform.h:55
elastix::AffineLogStackTransform::AffineLogStackTransform
AffineLogStackTransform()
Definition
elxAffineLogStackTransform.h:153
elastix::AffineLogStackTransform::IndexType
typename FixedImageType::IndexType IndexType
Definition
elxAffineLogStackTransform.h:115
elastix::AffineLogStackTransform::ReducedDimensionDirectionType
typename ReducedDimensionImageType::DirectionType ReducedDimensionDirectionType
Definition
elxAffineLogStackTransform.h:108
elastix::AffineLogStackTransform::ReducedDimensionAffineLogTransformBasePointer
typename ReducedDimensionAffineLogTransformBaseType::Pointer ReducedDimensionAffineLogTransformBasePointer
Definition
elxAffineLogStackTransform.h:81
elastix::AffineLogStackTransform::itkStaticConstMacro
itkStaticConstMacro(ReducedSpaceDimension, unsigned int, Superclass2::FixedImageDimension - 1)
elastix::BaseComponentSE::ElastixType
TElastix ElastixType
Definition
elxBaseComponentSE.h:57
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::AffineLogStackTransform
Definition
itkAffineLogStackTransform.h:30
itk::AffineLogStackTransform::Pointer
itk::SmartPointer< AffineLogStackTransform > Pointer
Definition
itkAffineLogStackTransform.h:39
itk::AffineLogTransform
Definition
itkAffineLogTransform.h:34
elxIncludes.h
itkAdvancedCombinationTransform.h
itkAffineLogStackTransform.h
itkAffineLogTransform.h
elastix
Definition
elxDefaultConstruct.h:25
Generated on 1739326392 for elastix by
1.12.0