go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
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
24#include "itkStackTransform.h"
25#include "../AffineLogTransform/itkAffineLogTransform.h"
26
27#include "elxIncludes.h"
28
29namespace elastix
30{
31
40template< class TElastix >
43 typename elx::TransformBase< TElastix >::CoordRepType,
44 elx::TransformBase< TElastix >::FixedImageDimension >,
45 public elx::TransformBase< TElastix >
46{
47public:
48
55 typedef itk::SmartPointer< Self > Pointer;
56 typedef itk::SmartPointer< const Self > ConstPointer;
57
59 itkNewMacro( Self );
60
63
68 elxClassNameMacro( "AffineLogStackTransform" );
69
71 itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
72 itkStaticConstMacro( ReducedSpaceDimension, unsigned int, Superclass2::FixedImageDimension - 1 );
73
75 itkGetStaticConstMacro( SpaceDimension ) > AffineLogTransformType;
78
81 itkGetStaticConstMacro( ReducedSpaceDimension ) > ReducedDimensionAffineLogTransformBaseType;
83
86
88 typedef itk::StackTransform<
90 itkGetStaticConstMacro( SpaceDimension ),
91 itkGetStaticConstMacro( SpaceDimension ) > AffineLogStackTransformType;
93
97
110
112 typedef float PixelType;
113 typedef itk::Image< PixelType,
114 itkGetStaticConstMacro( ReducedSpaceDimension ) > ReducedDimensionImageType;
115 typedef itk::ImageRegion<
116 itkGetStaticConstMacro( ReducedSpaceDimension ) > ReducedDimensionRegionType;
117 typedef typename ReducedDimensionImageType::PointType ReducedDimensionPointType;
118 typedef typename ReducedDimensionImageType::SizeType ReducedDimensionSizeType;
119 typedef typename ReducedDimensionRegionType::IndexType ReducedDimensionIndexType;
120 typedef typename ReducedDimensionImageType::SpacingType ReducedDimensionSpacingType;
121 typedef typename ReducedDimensionImageType::DirectionType ReducedDimensionDirectionType;
122 typedef typename ReducedDimensionImageType::PointType ReducedDimensionOriginType;
123
126
128 typedef typename FixedImageType::IndexType IndexType;
129 typedef typename FixedImageType::SizeType SizeType;
130 typedef typename FixedImageType::PointType PointType;
131 typedef typename FixedImageType::SpacingType SpacingType;
132 typedef typename FixedImageType::RegionType RegionType;
133 typedef typename FixedImageType::DirectionType DirectionType;
134 typedef typename itk::ContinuousIndex< CoordRepType, ReducedSpaceDimension > ReducedDimensionContinuousIndexType;
135 typedef typename itk::ContinuousIndex< CoordRepType, SpaceDimension > ContinuousIndexType;
136
139 int BeforeAll( void ) override;
140
146 void BeforeRegistration( void ) override;
147
149 virtual void InitializeTransform( void );
150
158 virtual void SetScales( void );
159
161 void ReadFromFile( void ) override;
162
164 void WriteToFile( const ParametersType & param ) const override;
165
166protected:
167
170
173
179 virtual bool ReadCenterOfRotationPoint( ReducedDimensionInputPointType & rotationPoint ) const;
180
181private:
182
184 AffineLogStackTransform( const Self & ); // purposely not implemented
185 void operator=( const Self & ); // purposely not implemented
186
189
192
196
199
200};
201
202} // end namespace elastix
203
204#ifndef ITK_MANUAL_INSTANTIATION
205#include "elxAffineLogStackTransform.hxx"
206#endif
207
208#endif // ELXAFFINELOGSTACKTRANSFORM_H
An affine log transform based on the itkStackTransform.
itk::Image< PixelType, itkGetStaticConstMacro(ReducedSpaceDimension) > ReducedDimensionImageType
AffineLogTransformType::InputPointType InputPointType
itk::SmartPointer< const Self > ConstPointer
Superclass2::MovingImageType MovingImageType
itk::ImageRegion< itkGetStaticConstMacro(ReducedSpaceDimension) > ReducedDimensionRegionType
ReducedDimensionImageType::PointType ReducedDimensionOriginType
AffineLogTransformType::Pointer AffineLogTransformPointer
Superclass1::NumberOfParametersType NumberOfParametersType
Superclass1::ParametersType ParametersType
itk::AffineLogTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension) > AffineLogTransformType
virtual void InitializeTransform(void)
Superclass2::FixedImageType FixedImageType
void BeforeRegistration(void) override
ReducedDimensionAffineLogTransformBaseType::Pointer ReducedDimensionAffineLogTransformBasePointer
Superclass2::RegistrationType RegistrationType
itk::AffineLogTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ReducedSpaceDimension) > ReducedDimensionAffineLogTransformBaseType
void WriteToFile(const ParametersType &param) const override
Superclass2::CombinationTransformType CombinationTransformType
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
virtual bool ReadCenterOfRotationPoint(ReducedDimensionInputPointType &rotationPoint) const
unsigned int InitializeAffineLogTransform()
ReducedDimensionImageType::DirectionType ReducedDimensionDirectionType
itk::ContinuousIndex< CoordRepType, ReducedSpaceDimension > ReducedDimensionContinuousIndexType
ReducedDimensionImageType::SpacingType ReducedDimensionSpacingType
FixedImageType::DirectionType DirectionType
itk::ContinuousIndex< CoordRepType, SpaceDimension > ContinuousIndexType
itk::StackTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SpaceDimension) > AffineLogStackTransformType
ReducedDimensionImageType::SizeType ReducedDimensionSizeType
elxClassNameMacro("AffineLogStackTransform")
elx::TransformBase< TElastix > Superclass2
ReducedDimensionAffineLogTransformBasePointer m_AffineLogDummySubTransform
Superclass2::RegistrationPointer RegistrationPointer
ReducedDimensionRegionType::IndexType ReducedDimensionIndexType
ReducedDimensionImageType::PointType ReducedDimensionPointType
void ReadFromFile(void) override
Superclass2::ElastixPointer ElastixPointer
ReducedDimensionAffineLogTransformBaseType::InputPointType ReducedDimensionInputPointType
Superclass2::ConfigurationPointer ConfigurationPointer
AffineLogStackTransformType::Pointer AffineLogStackTransformPointer
AffineLogStackTransformPointer m_AffineLogStackTransform
itkStaticConstMacro(ReducedSpaceDimension, unsigned int, Superclass2::FixedImageDimension - 1)
ReducedDimensionAffineLogTransformBaseType::OutputVectorType ReducedDimensionOutputVectorType
Superclass2::ConfigurationType ConfigurationType
A class that deals with user given parameters and command line arguments.
This class is the elastix base class for all Transforms.
Configuration::Pointer ConfigurationPointer
ElastixType::FixedImageType FixedImageType
itk::WeakPointer< ElastixType > ElastixPointer
OptimizerType::ScalesType ScalesType
RegistrationType * RegistrationPointer
ElastixType::MovingImageType MovingImageType
ElastixType::CoordRepType CoordRepType
ElastixType::RegistrationBaseType RegistrationType
This class combines two transforms: an 'initial transform' with a 'current transform'.
Superclass::NumberOfParametersType NumberOfParametersType
Transform maps points, vectors and covariant vectors from an input space to an output space.
Superclass::OutputVectorType OutputVectorType
Superclass::InputPointType InputPointType
Implements stack of transforms: one for every last dimension index.


Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo