go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxAdvancedBSplineTransform.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 __elxAdvancedBSplineTransform_h
19 #define __elxAdvancedBSplineTransform_h
20 
21 #include "elxIncludes.h" // include first to avoid MSVS warning
24 
29 
30 namespace elastix
31 {
108 template< class TElastix >
110  public
112  typename elx::TransformBase< TElastix >::CoordRepType,
113  elx::TransformBase< TElastix >::FixedImageDimension >,
114  public
115  TransformBase< TElastix >
116 {
117 public:
118 
125  typedef itk::SmartPointer< Self > Pointer;
126  typedef itk::SmartPointer< const Self > ConstPointer;
127 
129  itkNewMacro( Self );
130 
133 
138  elxClassNameMacro( "BSplineTransform" );
139 
141  itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
142 
148  itkGetStaticConstMacro( SpaceDimension ) > BSplineTransformBaseType;
150 
154  itkGetStaticConstMacro( SpaceDimension ),
158  itkGetStaticConstMacro( SpaceDimension ),
162  itkGetStaticConstMacro( SpaceDimension ),
166  itkGetStaticConstMacro( SpaceDimension ),
170  itkGetStaticConstMacro( SpaceDimension ),
174  itkGetStaticConstMacro( SpaceDimension ),
176 
190 
201  typedef typename
203  typedef typename
205 
218 
225  typedef typename GridScheduleComputerType
230 
233 
238  virtual int BeforeAll( void );
239 
251  virtual void BeforeRegistration( void );
252 
257  virtual void BeforeEachResolution( void );
258 
264  virtual void InitializeTransform( void );
265 
271  virtual void IncreaseScale( void );
272 
274  virtual void ReadFromFile( void );
275 
277  virtual void WriteToFile( const ParametersType & param ) const;
278 
284  const ParametersType & param, ParameterMapType * paramsMap ) const;
285 
287  virtual void SetOptimizerScales( const unsigned int edgeWidth );
288 
289 protected:
290 
293 
296 
298  virtual void PreComputeGridInformation( void );
299 
300 private:
301 
303  AdvancedBSplineTransform( const Self & ); // purposely not implemented
305  void operator=( const Self & ); // purposely not implemented
306 
311 
313  unsigned int m_SplineOrder;
314  bool m_Cyclic;
315 
318 
319 };
320 
321 } // end namespace elastix
322 
323 #ifndef ITK_MANUAL_INSTANTIATION
324 #include "elxAdvancedBSplineTransform.hxx"
325 #endif
326 
327 #endif // end #ifndef __elxAdvancedBSplineTransform_h
itk::AdvancedCombinationTransform::JacobianType
Superclass::JacobianType JacobianType
Definition: itkAdvancedCombinationTransform.h:84
itk::GridScheduleComputer
This class computes all information about the B-spline grid, given the image information and the desi...
Definition: itkGridScheduleComputer.h:42
elastix::AdvancedBSplineTransform::JacobianType
Superclass1::JacobianType JacobianType
Definition: elxAdvancedBSplineTransform.h:181
itkCyclicBSplineDeformableTransform.h
elastix::AdvancedBSplineTransform::CombinationTransformType
Superclass2::CombinationTransformType CombinationTransformType
Definition: elxAdvancedBSplineTransform.h:217
elastix::AdvancedBSplineTransform::PreComputeGridInformation
virtual void PreComputeGridInformation(void)
elastix::AdvancedBSplineTransform::SetOptimizerScales
virtual void SetOptimizerScales(const unsigned int edgeWidth)
elastix::AdvancedBSplineTransform::~AdvancedBSplineTransform
virtual ~AdvancedBSplineTransform()
Definition: elxAdvancedBSplineTransform.h:295
itk::AdvancedCombinationTransform::OutputCovariantVectorType
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Definition: itkAdvancedCombinationTransform.h:88
elastix::AdvancedBSplineTransform::elxClassNameMacro
elxClassNameMacro("BSplineTransform")
elastix::AdvancedBSplineTransform::InputVnlVectorType
Superclass1::InputVnlVectorType InputVnlVectorType
Definition: elxAdvancedBSplineTransform.h:186
elastix::AdvancedBSplineTransform::BSplineTransformCubicType
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 3 > BSplineTransformCubicType
Definition: elxAdvancedBSplineTransform.h:163
elastix::AdvancedBSplineTransform::CoordRepType
Superclass2::CoordRepType CoordRepType
Definition: elxAdvancedBSplineTransform.h:213
elastix::TransformBase::FixedImageType
ElastixType::FixedImageType FixedImageType
Definition: elxTransformBase.h:157
elastix::AdvancedBSplineTransform::m_GridUpsampler
GridUpsamplerPointer m_GridUpsampler
Definition: elxAdvancedBSplineTransform.h:310
SmartPointer< Self >
elastix::AdvancedBSplineTransform::BeforeAll
virtual int BeforeAll(void)
elastix::AdvancedBSplineTransform::AdvancedBSplineTransform
AdvancedBSplineTransform()
elastix::TransformBase::CoordRepType
ElastixType::CoordRepType CoordRepType
Definition: elxTransformBase.h:156
elastix::AdvancedBSplineTransform::InputPointType
Superclass1::InputPointType InputPointType
Definition: elxAdvancedBSplineTransform.h:188
itk::AdvancedBSplineDeformableTransformBase::SpacingType
ImageType::SpacingType SpacingType
Definition: itkAdvancedBSplineDeformableTransformBase.h:191
elastix::AdvancedBSplineTransform::OutputCovariantVectorType
Superclass1::OutputCovariantVectorType OutputCovariantVectorType
Definition: elxAdvancedBSplineTransform.h:185
elastix::AdvancedBSplineTransform::ElastixPointer
Superclass2::ElastixPointer ElastixPointer
Definition: elxAdvancedBSplineTransform.h:208
elastix::TransformBase::RegistrationPointer
Superclass::RegistrationPointer RegistrationPointer
Definition: elxTransformBase.h:153
elastix::AdvancedBSplineTransform::Superclass2
elx::TransformBase< TElastix > Superclass2
Definition: elxAdvancedBSplineTransform.h:124
elastix::AdvancedBSplineTransform::AdvancedBSplineTransform
AdvancedBSplineTransform(const Self &)
elastix::AdvancedBSplineTransform::WriteToFile
virtual void WriteToFile(const ParametersType &param) const
itkAdvancedCombinationTransform.h
elastix::AdvancedBSplineTransform::GridUpsamplerPointer
GridUpsamplerType::Pointer GridUpsamplerPointer
Definition: elxAdvancedBSplineTransform.h:229
itk::CyclicBSplineDeformableTransform
Deformable transform using a B-spline representation in which the B-spline grid is formulated in a cy...
Definition: itkCyclicBSplineDeformableTransform.h:47
elastix::AdvancedBSplineTransform::CreateTransformParametersMap
virtual void CreateTransformParametersMap(const ParametersType &param, ParameterMapType *paramsMap) const
elastix::AdvancedBSplineTransform::GridUpsamplerType
itk::UpsampleBSplineParametersFilter< ParametersType, ImageType > GridUpsamplerType
Definition: elxAdvancedBSplineTransform.h:228
elastix::AdvancedBSplineTransform::OutputVnlVectorType
Superclass1::OutputVnlVectorType OutputVnlVectorType
Definition: elxAdvancedBSplineTransform.h:187
elastix::AdvancedBSplineTransform::OutputVectorType
Superclass1::OutputVectorType OutputVectorType
Definition: elxAdvancedBSplineTransform.h:183
itkUpsampleBSplineParametersFilter.h
elastix::AdvancedBSplineTransform::BSplineTransformBasePointer
BSplineTransformBaseType::Pointer BSplineTransformBasePointer
Definition: elxAdvancedBSplineTransform.h:149
elastix::AdvancedBSplineTransform::ImagePointer
BSplineTransformBaseType::ImagePointer ImagePointer
Definition: elxAdvancedBSplineTransform.h:194
elastix::AdvancedBSplineTransform::DirectionType
BSplineTransformBaseType::DirectionType DirectionType
Definition: elxAdvancedBSplineTransform.h:200
elastix::AdvancedBSplineTransform::Self
AdvancedBSplineTransform Self
Definition: elxAdvancedBSplineTransform.h:120
itk::AdvancedBSplineDeformableTransformBase::ParameterIndexArrayType
Array< unsigned long > ParameterIndexArrayType
Definition: itkAdvancedBSplineDeformableTransformBase.h:218
elastix::AdvancedBSplineTransform::SizeType
BSplineTransformBaseType::SizeType SizeType
Definition: elxAdvancedBSplineTransform.h:197
ContinuousIndex< ScalarType, SpaceDimension >
itk::GridScheduleComputer::VectorGridSpacingFactorType
std::vector< GridSpacingFactorType > VectorGridSpacingFactorType
Definition: itkGridScheduleComputer.h:76
itk::AdvancedBSplineDeformableTransform
Deformable transform using a B-spline representation.
Definition: itkAdvancedBSplineDeformableTransform.h:135
Image
elastix::AdvancedBSplineTransform::RegistrationPointer
Superclass2::RegistrationPointer RegistrationPointer
Definition: elxAdvancedBSplineTransform.h:212
itkCyclicGridScheduleComputer.h
itkGridScheduleComputer.h
itk::AdvancedCombinationTransform::OutputVectorType
Superclass::OutputVectorType OutputVectorType
Definition: itkAdvancedCombinationTransform.h:86
elastix::AdvancedBSplineTransform::CyclicBSplineTransformCubicType
itk::CyclicBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 3 > CyclicBSplineTransformCubicType
Definition: elxAdvancedBSplineTransform.h:175
elastix::AdvancedBSplineTransform::PixelType
BSplineTransformBaseType::PixelType PixelType
Definition: elxAdvancedBSplineTransform.h:192
elastix::AdvancedBSplineTransform::ReadFromFile
virtual void ReadFromFile(void)
itk::AdvancedBSplineDeformableTransformBase::PixelType
ParametersType::ValueType PixelType
Definition: itkAdvancedBSplineDeformableTransformBase.h:164
elastix::AdvancedBSplineTransform::Pointer
itk::SmartPointer< Self > Pointer
Definition: elxAdvancedBSplineTransform.h:125
ImageRegion< itkGetStaticConstMacro(SpaceDimension) >
itk::UpsampleBSplineParametersFilter
Convenience class for upsampling a B-spline coefficient image.
Definition: itkUpsampleBSplineParametersFilter.h:41
itk::AdvancedCombinationTransform::ParametersType
Superclass::ParametersType ParametersType
Definition: itkAdvancedCombinationTransform.h:79
itk::AdvancedCombinationTransform
This class combines two transforms: an 'initial transform' with a 'current transform'.
Definition: itkAdvancedCombinationTransform.h:58
elastix::AdvancedBSplineTransform::InputCovariantVectorType
Superclass1::InputCovariantVectorType InputCovariantVectorType
Definition: elxAdvancedBSplineTransform.h:184
elastix::AdvancedBSplineTransform::ConfigurationPointer
Superclass2::ConfigurationPointer ConfigurationPointer
Definition: elxAdvancedBSplineTransform.h:210
elastix::AdvancedBSplineTransform::GridScheduleComputerPointer
GridScheduleComputerType::Pointer GridScheduleComputerPointer
Definition: elxAdvancedBSplineTransform.h:224
elastix::TransformBase::MovingImageType
ElastixType::MovingImageType MovingImageType
Definition: elxTransformBase.h:158
itk::AdvancedCombinationTransform::ScalarType
Superclass::ScalarType ScalarType
Definition: itkAdvancedCombinationTransform.h:78
elastix::AdvancedBSplineTransform::ImageType
BSplineTransformBaseType::ImageType ImageType
Definition: elxAdvancedBSplineTransform.h:193
elastix::TransformBase::ElastixType
Superclass::ElastixType ElastixType
Definition: elxTransformBase.h:141
itk::AdvancedBSplineDeformableTransformBase::OriginType
ImageType::PointType OriginType
Definition: itkAdvancedBSplineDeformableTransformBase.h:193
elastix::AdvancedBSplineTransform::m_GridScheduleComputer
GridScheduleComputerPointer m_GridScheduleComputer
Definition: elxAdvancedBSplineTransform.h:309
itk::AdvancedCombinationTransform::OutputPointType
Superclass::OutputPointType OutputPointType
Definition: itkAdvancedCombinationTransform.h:92
elastix::AdvancedBSplineTransform::IndexType
BSplineTransformBaseType::IndexType IndexType
Definition: elxAdvancedBSplineTransform.h:196
elastix::AdvancedBSplineTransform::ScalarType
Superclass1::ScalarType ScalarType
Definition: elxAdvancedBSplineTransform.h:178
elastix::AdvancedBSplineTransform::ParameterMapType
Superclass2::ParameterMapType ParameterMapType
Definition: elxAdvancedBSplineTransform.h:232
elastix::AdvancedBSplineTransform::BSplineTransformBaseType
itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension) > BSplineTransformBaseType
Definition: elxAdvancedBSplineTransform.h:148
itk::AdvancedTransform
Transform maps points, vectors and covariant vectors from an input space to an output space.
Definition: itkAdvancedTransform.h:87
elastix::AdvancedBSplineTransform::ContinuousIndexType
BSplineTransformBaseType::ContinuousIndexType ContinuousIndexType
Definition: elxAdvancedBSplineTransform.h:202
elastix::AdvancedBSplineTransform::m_BSplineTransform
BSplineTransformBasePointer m_BSplineTransform
Definition: elxAdvancedBSplineTransform.h:308
elastix::AdvancedBSplineTransform::InitializeTransform
virtual void InitializeTransform(void)
elastix::AdvancedBSplineTransform::NumberOfParametersType
Superclass1::NumberOfParametersType NumberOfParametersType
Definition: elxAdvancedBSplineTransform.h:180
elastix::AdvancedBSplineTransform::SpacingType
BSplineTransformBaseType::SpacingType SpacingType
Definition: elxAdvancedBSplineTransform.h:198
elastix::TransformBase::ElastixPointer
Superclass::ElastixPointer ElastixPointer
Definition: elxTransformBase.h:145
elastix::AdvancedBSplineTransform::CyclicBSplineTransformQuadraticType
itk::CyclicBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 2 > CyclicBSplineTransformQuadraticType
Definition: elxAdvancedBSplineTransform.h:171
itk::AdvancedCombinationTransform::OutputVnlVectorType
Superclass::OutputVnlVectorType OutputVnlVectorType
Definition: itkAdvancedCombinationTransform.h:90
elastix::AdvancedBSplineTransform::InputVectorType
Superclass1::InputVectorType InputVectorType
Definition: elxAdvancedBSplineTransform.h:182
itk::AdvancedCombinationTransform::InputVectorType
Superclass::InputVectorType InputVectorType
Definition: itkAdvancedCombinationTransform.h:85
elastix::AdvancedBSplineTransform::ParametersType
Superclass1::ParametersType ParametersType
Definition: elxAdvancedBSplineTransform.h:179
elxIncludes.h
elastix::AdvancedBSplineTransform::operator=
void operator=(const Self &)
itk::AdvancedCombinationTransform::InputVnlVectorType
Superclass::InputVnlVectorType InputVnlVectorType
Definition: itkAdvancedCombinationTransform.h:89
elastix::AdvancedBSplineTransform::CyclicBSplineTransformLinearType
itk::CyclicBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 1 > CyclicBSplineTransformLinearType
Definition: elxAdvancedBSplineTransform.h:167
itk::AdvancedCombinationTransform::NumberOfParametersType
Superclass::NumberOfParametersType NumberOfParametersType
Definition: itkAdvancedCombinationTransform.h:82
elastix::AdvancedBSplineTransform::BSplineTransformLinearType
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 1 > BSplineTransformLinearType
Definition: elxAdvancedBSplineTransform.h:155
itk::AdvancedBSplineDeformableTransformBase::IndexType
RegionType::IndexType IndexType
Definition: itkAdvancedBSplineDeformableTransformBase.h:189
elastix::AdvancedBSplineTransform::ParameterIndexArrayType
BSplineTransformBaseType::ParameterIndexArrayType ParameterIndexArrayType
Definition: elxAdvancedBSplineTransform.h:204
elastix::AdvancedBSplineTransform::m_Cyclic
bool m_Cyclic
Definition: elxAdvancedBSplineTransform.h:314
elastix::AdvancedBSplineTransform::OutputPointType
Superclass1::OutputPointType OutputPointType
Definition: elxAdvancedBSplineTransform.h:189
elastix::AdvancedBSplineTransform::BSplineTransformQuadraticType
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 2 > BSplineTransformQuadraticType
Definition: elxAdvancedBSplineTransform.h:159
elastix::AdvancedBSplineTransform::itkStaticConstMacro
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
elastix::AdvancedBSplineTransform::m_SplineOrder
unsigned int m_SplineOrder
Definition: elxAdvancedBSplineTransform.h:313
itk::AdvancedCombinationTransform::InputPointType
Superclass::InputPointType InputPointType
Definition: itkAdvancedCombinationTransform.h:91
elastix::AdvancedBSplineTransform::CyclicGridScheduleComputerType
itk::CyclicGridScheduleComputer< CoordRepType, SpaceDimension > CyclicGridScheduleComputerType
Definition: elxAdvancedBSplineTransform.h:223
elastix::AdvancedBSplineTransform::ConfigurationType
Superclass2::ConfigurationType ConfigurationType
Definition: elxAdvancedBSplineTransform.h:209
elastix::TransformBase::ConfigurationType
Superclass::ConfigurationType ConfigurationType
Definition: elxTransformBase.h:146
elastix::AdvancedBSplineTransform::BeforeRegistration
virtual void BeforeRegistration(void)
elastix::AdvancedBSplineTransform::GridScheduleComputerType
itk::GridScheduleComputer< CoordRepType, SpaceDimension > GridScheduleComputerType
Definition: elxAdvancedBSplineTransform.h:221
elastix::AdvancedBSplineTransform::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: elxAdvancedBSplineTransform.h:126
elastix::AdvancedBSplineTransform
A transform based on the itkAdvancedBSplineTransform.
Definition: elxAdvancedBSplineTransform.h:116
elastix::AdvancedBSplineTransform::InitializeBSplineTransform
unsigned int InitializeBSplineTransform()
itk::AdvancedCombinationTransform::InputCovariantVectorType
Superclass::InputCovariantVectorType InputCovariantVectorType
Definition: itkAdvancedCombinationTransform.h:87
elastix::TransformBase::ConfigurationPointer
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxTransformBase.h:147
elastix::AdvancedBSplineTransform::RegistrationType
Superclass2::RegistrationType RegistrationType
Definition: elxAdvancedBSplineTransform.h:211
itk::CyclicGridScheduleComputer
This class computes all information about the B-spline grid.
Definition: itkCyclicGridScheduleComputer.h:43
itk::AdvancedBSplineDeformableTransformBase
Base class for deformable transform using a B-spline representation.
Definition: itkAdvancedBSplineDeformableTransformBase.h:44
itk::AdvancedBSplineDeformableTransformBase::SizeType
RegionType::SizeType SizeType
Definition: itkAdvancedBSplineDeformableTransformBase.h:190
elastix::AdvancedBSplineTransform::IncreaseScale
virtual void IncreaseScale(void)
elastix::AdvancedBSplineTransform::Superclass1
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
Definition: elxAdvancedBSplineTransform.h:123
elastix::TransformBase::ParameterMapType
ElastixType::ParameterMapType ParameterMapType
Definition: elxTransformBase.h:207
elastix::AdvancedBSplineTransform::FixedImageType
Superclass2::FixedImageType FixedImageType
Definition: elxAdvancedBSplineTransform.h:214
elastix::AdvancedBSplineTransform::OriginType
BSplineTransformBaseType::OriginType OriginType
Definition: elxAdvancedBSplineTransform.h:199
elastix::AdvancedBSplineTransform::GridScheduleType
GridScheduleComputerType ::VectorGridSpacingFactorType GridScheduleType
Definition: elxAdvancedBSplineTransform.h:226
elastix::AdvancedBSplineTransform::MovingImageType
Superclass2::MovingImageType MovingImageType
Definition: elxAdvancedBSplineTransform.h:215
elastix::TransformBase
This class is the elastix base class for all Transforms.
Definition: elxTransformBase.h:133
elastix::AdvancedBSplineTransform::ElastixType
Superclass2::ElastixType ElastixType
Definition: elxAdvancedBSplineTransform.h:207
elastix
Definition: elxFixedGenericPyramid.h:25
itk::AdvancedBSplineDeformableTransformBase::ImagePointer
ImageType::Pointer ImagePointer
Definition: itkAdvancedBSplineDeformableTransformBase.h:167
elastix::AdvancedBSplineTransform::ITKBaseType
Superclass2::ITKBaseType ITKBaseType
Definition: elxAdvancedBSplineTransform.h:216
elastix::AdvancedBSplineTransform::RegionType
BSplineTransformBaseType::RegionType RegionType
Definition: elxAdvancedBSplineTransform.h:195
itk::AdvancedBSplineDeformableTransformBase::DirectionType
ImageType::DirectionType DirectionType
Definition: itkAdvancedBSplineDeformableTransformBase.h:192
elastix::AdvancedBSplineTransform::BeforeEachResolution
virtual void BeforeEachResolution(void)
itkAdvancedBSplineDeformableTransform.h
elastix::TransformBase::RegistrationType
Superclass::RegistrationType RegistrationType
Definition: elxTransformBase.h:152


Generated on OURCE_DATE_EPOCH for elastix by doxygen 1.8.18 elastix logo