go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxRecursiveBSplineTransform.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 __elxRecursiveBSplineTransform_h
19 #define __elxRecursiveBSplineTransform_h
20 
21 #include "elxIncludes.h" // include first to avoid MSVS warning
24 
29 
30 namespace elastix
31 {
108 template< class TElastix >
111  typename elx::TransformBase< TElastix >::CoordRepType,
112  elx::TransformBase< TElastix >::FixedImageDimension >,
113  public TransformBase< TElastix >
114 {
115 public:
116 
123  typedef itk::SmartPointer< Self > Pointer;
124  typedef itk::SmartPointer< const Self > ConstPointer;
125 
127  itkNewMacro( Self );
128 
131 
136  elxClassNameMacro( "RecursiveBSplineTransform" );
137 
139  itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
140 
146  itkGetStaticConstMacro( SpaceDimension ) > BSplineTransformBaseType;
148 
152  itkGetStaticConstMacro( SpaceDimension ),
156  itkGetStaticConstMacro( SpaceDimension ),
160  itkGetStaticConstMacro( SpaceDimension ),
164  itkGetStaticConstMacro( SpaceDimension ),
168  itkGetStaticConstMacro( SpaceDimension ),
172  itkGetStaticConstMacro( SpaceDimension ),
174 
188 
199  typedef typename
201  typedef typename
203 
216 
223  typedef typename GridScheduleComputerType
228 
231 
236  virtual int BeforeAll( void );
237 
249  virtual void BeforeRegistration( void );
250 
255  virtual void BeforeEachResolution( void );
256 
262  virtual void InitializeTransform( void );
263 
269  virtual void IncreaseScale( void );
270 
272  virtual void ReadFromFile( void );
273 
275  virtual void WriteToFile( const ParametersType & param ) const;
276 
282  const ParametersType & param, ParameterMapType * paramsMap ) const;
283 
285  virtual void SetOptimizerScales( const unsigned int edgeWidth );
286 
287 protected:
288 
291 
294 
296  virtual void PreComputeGridInformation( void );
297 
298 private:
299 
301  RecursiveBSplineTransform( const Self & ); // purposely not implemented
303  void operator=( const Self & ); // purposely not implemented
304 
309 
311  unsigned int m_SplineOrder;
312  bool m_Cyclic;
313 
316 
317 };
318 
319 } // end namespace elastix
320 
321 #ifndef ITK_MANUAL_INSTANTIATION
322 #include "elxRecursiveBSplineTransform.hxx"
323 #endif
324 
325 #endif // end #ifndef __elxRecursiveBSplineTransform_h
elastix::RecursiveBSplineTransform::FixedImageType
Superclass2::FixedImageType FixedImageType
Definition: elxRecursiveBSplineTransform.h:212
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
itkCyclicBSplineDeformableTransform.h
elastix::RecursiveBSplineTransform::Superclass1
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
Definition: elxRecursiveBSplineTransform.h:121
itk::AdvancedCombinationTransform::OutputCovariantVectorType
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Definition: itkAdvancedCombinationTransform.h:88
elastix::RecursiveBSplineTransform::BSplineTransformBaseType
itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension) > BSplineTransformBaseType
Definition: elxRecursiveBSplineTransform.h:146
elastix::TransformBase::FixedImageType
ElastixType::FixedImageType FixedImageType
Definition: elxTransformBase.h:157
SmartPointer< Self >
elastix::TransformBase::CoordRepType
ElastixType::CoordRepType CoordRepType
Definition: elxTransformBase.h:156
itk::AdvancedBSplineDeformableTransformBase::SpacingType
ImageType::SpacingType SpacingType
Definition: itkAdvancedBSplineDeformableTransformBase.h:191
itkRecursiveBSplineTransform.h
elastix::TransformBase::RegistrationPointer
Superclass::RegistrationPointer RegistrationPointer
Definition: elxTransformBase.h:153
elastix::RecursiveBSplineTransform::RecursiveBSplineTransform
RecursiveBSplineTransform(const Self &)
itkAdvancedCombinationTransform.h
elastix::RecursiveBSplineTransform::BSplineTransformBasePointer
BSplineTransformBaseType::Pointer BSplineTransformBasePointer
Definition: elxRecursiveBSplineTransform.h:147
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::RecursiveBSplineTransform::InitializeTransform
virtual void InitializeTransform(void)
elastix::RecursiveBSplineTransform::ContinuousIndexType
BSplineTransformBaseType::ContinuousIndexType ContinuousIndexType
Definition: elxRecursiveBSplineTransform.h:200
elastix::RecursiveBSplineTransform::OutputVectorType
Superclass1::OutputVectorType OutputVectorType
Definition: elxRecursiveBSplineTransform.h:181
elastix::RecursiveBSplineTransform::elxClassNameMacro
elxClassNameMacro("RecursiveBSplineTransform")
elastix::RecursiveBSplineTransform::BeforeAll
virtual int BeforeAll(void)
elastix::RecursiveBSplineTransform::BSplineTransformQuadraticType
itk::RecursiveBSplineTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 2 > BSplineTransformQuadraticType
Definition: elxRecursiveBSplineTransform.h:157
itkUpsampleBSplineParametersFilter.h
elastix::RecursiveBSplineTransform::PixelType
BSplineTransformBaseType::PixelType PixelType
Definition: elxRecursiveBSplineTransform.h:190
itk::AdvancedBSplineDeformableTransformBase::ParameterIndexArrayType
Array< unsigned long > ParameterIndexArrayType
Definition: itkAdvancedBSplineDeformableTransformBase.h:218
elastix::RecursiveBSplineTransform::IncreaseScale
virtual void IncreaseScale(void)
ContinuousIndex< ScalarType, SpaceDimension >
itk::GridScheduleComputer::VectorGridSpacingFactorType
std::vector< GridSpacingFactorType > VectorGridSpacingFactorType
Definition: itkGridScheduleComputer.h:76
itk::RecursiveBSplineTransform::ParametersType
Superclass::ParametersType ParametersType
Definition: itkRecursiveBSplineTransform.h:65
Image
elastix::RecursiveBSplineTransform::SpacingType
BSplineTransformBaseType::SpacingType SpacingType
Definition: elxRecursiveBSplineTransform.h:196
itkCyclicGridScheduleComputer.h
elastix::RecursiveBSplineTransform::BSplineTransformLinearType
itk::RecursiveBSplineTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 1 > BSplineTransformLinearType
Definition: elxRecursiveBSplineTransform.h:153
itkGridScheduleComputer.h
elastix::RecursiveBSplineTransform::MovingImageType
Superclass2::MovingImageType MovingImageType
Definition: elxRecursiveBSplineTransform.h:213
elastix::RecursiveBSplineTransform::ImagePointer
BSplineTransformBaseType::ImagePointer ImagePointer
Definition: elxRecursiveBSplineTransform.h:192
itk::AdvancedCombinationTransform::OutputVectorType
Superclass::OutputVectorType OutputVectorType
Definition: itkAdvancedCombinationTransform.h:86
elastix::RecursiveBSplineTransform::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: elxRecursiveBSplineTransform.h:124
itk::AdvancedBSplineDeformableTransformBase::PixelType
ParametersType::ValueType PixelType
Definition: itkAdvancedBSplineDeformableTransformBase.h:164
ImageRegion< itkGetStaticConstMacro(SpaceDimension) >
itk::UpsampleBSplineParametersFilter
Convenience class for upsampling a B-spline coefficient image.
Definition: itkUpsampleBSplineParametersFilter.h:41
elastix::RecursiveBSplineTransform::GridScheduleComputerPointer
GridScheduleComputerType::Pointer GridScheduleComputerPointer
Definition: elxRecursiveBSplineTransform.h:222
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::RecursiveBSplineTransform::m_SplineOrder
unsigned int m_SplineOrder
Definition: elxRecursiveBSplineTransform.h:311
elastix::RecursiveBSplineTransform::m_BSplineTransform
BSplineTransformBasePointer m_BSplineTransform
Definition: elxRecursiveBSplineTransform.h:306
elastix::RecursiveBSplineTransform::RecursiveBSplineTransform
RecursiveBSplineTransform()
elastix::RecursiveBSplineTransform::CyclicBSplineTransformCubicType
itk::CyclicBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 3 > CyclicBSplineTransformCubicType
Definition: elxRecursiveBSplineTransform.h:173
elastix::RecursiveBSplineTransform::m_Cyclic
bool m_Cyclic
Definition: elxRecursiveBSplineTransform.h:312
elastix::TransformBase::MovingImageType
ElastixType::MovingImageType MovingImageType
Definition: elxTransformBase.h:158
itk::AdvancedCombinationTransform::ScalarType
Superclass::ScalarType ScalarType
Definition: itkAdvancedCombinationTransform.h:78
elastix::RecursiveBSplineTransform::CombinationTransformType
Superclass2::CombinationTransformType CombinationTransformType
Definition: elxRecursiveBSplineTransform.h:215
elastix::RecursiveBSplineTransform::ImageType
BSplineTransformBaseType::ImageType ImageType
Definition: elxRecursiveBSplineTransform.h:191
elastix::RecursiveBSplineTransform::GridScheduleComputerType
itk::GridScheduleComputer< CoordRepType, SpaceDimension > GridScheduleComputerType
Definition: elxRecursiveBSplineTransform.h:219
elastix::TransformBase::ElastixType
Superclass::ElastixType ElastixType
Definition: elxTransformBase.h:141
elastix::RecursiveBSplineTransform::OutputCovariantVectorType
Superclass1::OutputCovariantVectorType OutputCovariantVectorType
Definition: elxRecursiveBSplineTransform.h:183
itk::AdvancedBSplineDeformableTransformBase::OriginType
ImageType::PointType OriginType
Definition: itkAdvancedBSplineDeformableTransformBase.h:193
elastix::RecursiveBSplineTransform::InputPointType
Superclass1::InputPointType InputPointType
Definition: elxRecursiveBSplineTransform.h:186
itk::AdvancedCombinationTransform::OutputPointType
Superclass::OutputPointType OutputPointType
Definition: itkAdvancedCombinationTransform.h:92
elastix::RecursiveBSplineTransform::m_GridScheduleComputer
GridScheduleComputerPointer m_GridScheduleComputer
Definition: elxRecursiveBSplineTransform.h:307
elastix::RecursiveBSplineTransform::ParametersType
Superclass1::ParametersType ParametersType
Definition: elxRecursiveBSplineTransform.h:177
elastix::RecursiveBSplineTransform::OutputVnlVectorType
Superclass1::OutputVnlVectorType OutputVnlVectorType
Definition: elxRecursiveBSplineTransform.h:185
elastix::RecursiveBSplineTransform::m_GridUpsampler
GridUpsamplerPointer m_GridUpsampler
Definition: elxRecursiveBSplineTransform.h:308
itk::AdvancedTransform
Transform maps points, vectors and covariant vectors from an input space to an output space.
Definition: itkAdvancedTransform.h:87
elastix::RecursiveBSplineTransform::InputVnlVectorType
Superclass1::InputVnlVectorType InputVnlVectorType
Definition: elxRecursiveBSplineTransform.h:184
elastix::RecursiveBSplineTransform::ParameterMapType
Superclass2::ParameterMapType ParameterMapType
Definition: elxRecursiveBSplineTransform.h:230
elastix::RecursiveBSplineTransform::GridUpsamplerType
itk::UpsampleBSplineParametersFilter< ParametersType, ImageType > GridUpsamplerType
Definition: elxRecursiveBSplineTransform.h:226
elastix::RecursiveBSplineTransform::ParameterIndexArrayType
BSplineTransformBaseType::ParameterIndexArrayType ParameterIndexArrayType
Definition: elxRecursiveBSplineTransform.h:202
elastix::RecursiveBSplineTransform::CyclicGridScheduleComputerType
itk::CyclicGridScheduleComputer< CoordRepType, SpaceDimension > CyclicGridScheduleComputerType
Definition: elxRecursiveBSplineTransform.h:221
elastix::RecursiveBSplineTransform::InputCovariantVectorType
Superclass1::InputCovariantVectorType InputCovariantVectorType
Definition: elxRecursiveBSplineTransform.h:182
elastix::TransformBase::ElastixPointer
Superclass::ElastixPointer ElastixPointer
Definition: elxTransformBase.h:145
elastix::RecursiveBSplineTransform::operator=
void operator=(const Self &)
itk::AdvancedCombinationTransform::OutputVnlVectorType
Superclass::OutputVnlVectorType OutputVnlVectorType
Definition: itkAdvancedCombinationTransform.h:90
elastix::RecursiveBSplineTransform::RegistrationType
Superclass2::RegistrationType RegistrationType
Definition: elxRecursiveBSplineTransform.h:209
elastix::RecursiveBSplineTransform::RegistrationPointer
Superclass2::RegistrationPointer RegistrationPointer
Definition: elxRecursiveBSplineTransform.h:210
itk::AdvancedCombinationTransform::InputVectorType
Superclass::InputVectorType InputVectorType
Definition: itkAdvancedCombinationTransform.h:85
elastix::RecursiveBSplineTransform::ElastixPointer
Superclass2::ElastixPointer ElastixPointer
Definition: elxRecursiveBSplineTransform.h:206
elastix::RecursiveBSplineTransform::InitializeBSplineTransform
unsigned int InitializeBSplineTransform()
elastix::RecursiveBSplineTransform::Pointer
itk::SmartPointer< Self > Pointer
Definition: elxRecursiveBSplineTransform.h:123
elastix::RecursiveBSplineTransform::NumberOfParametersType
Superclass1::NumberOfParametersType NumberOfParametersType
Definition: elxRecursiveBSplineTransform.h:178
itk::RecursiveBSplineTransform
A recursive implementation of the B-spline transform.
Definition: itkRecursiveBSplineTransform.h:41
elastix::RecursiveBSplineTransform::ITKBaseType
Superclass2::ITKBaseType ITKBaseType
Definition: elxRecursiveBSplineTransform.h:214
elastix::RecursiveBSplineTransform::BeforeEachResolution
virtual void BeforeEachResolution(void)
elastix::RecursiveBSplineTransform::InputVectorType
Superclass1::InputVectorType InputVectorType
Definition: elxRecursiveBSplineTransform.h:180
elastix::RecursiveBSplineTransform::ConfigurationType
Superclass2::ConfigurationType ConfigurationType
Definition: elxRecursiveBSplineTransform.h:207
elastix::RecursiveBSplineTransform::ElastixType
Superclass2::ElastixType ElastixType
Definition: elxRecursiveBSplineTransform.h:205
elxIncludes.h
elastix::RecursiveBSplineTransform::RegionType
BSplineTransformBaseType::RegionType RegionType
Definition: elxRecursiveBSplineTransform.h:193
itk::AdvancedCombinationTransform::InputVnlVectorType
Superclass::InputVnlVectorType InputVnlVectorType
Definition: itkAdvancedCombinationTransform.h:89
itk::AdvancedCombinationTransform::NumberOfParametersType
Superclass::NumberOfParametersType NumberOfParametersType
Definition: itkAdvancedCombinationTransform.h:82
elastix::RecursiveBSplineTransform::GridUpsamplerPointer
GridUpsamplerType::Pointer GridUpsamplerPointer
Definition: elxRecursiveBSplineTransform.h:227
elastix::RecursiveBSplineTransform::CoordRepType
Superclass2::CoordRepType CoordRepType
Definition: elxRecursiveBSplineTransform.h:211
elastix::RecursiveBSplineTransform::IndexType
BSplineTransformBaseType::IndexType IndexType
Definition: elxRecursiveBSplineTransform.h:194
itk::AdvancedBSplineDeformableTransformBase::IndexType
RegionType::IndexType IndexType
Definition: itkAdvancedBSplineDeformableTransformBase.h:189
elastix::RecursiveBSplineTransform::Self
RecursiveBSplineTransform Self
Definition: elxRecursiveBSplineTransform.h:118
elastix::RecursiveBSplineTransform::GridScheduleType
GridScheduleComputerType ::VectorGridSpacingFactorType GridScheduleType
Definition: elxRecursiveBSplineTransform.h:224
elastix::RecursiveBSplineTransform::CyclicBSplineTransformQuadraticType
itk::CyclicBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 2 > CyclicBSplineTransformQuadraticType
Definition: elxRecursiveBSplineTransform.h:169
elastix::RecursiveBSplineTransform::JacobianType
Superclass1::JacobianType JacobianType
Definition: elxRecursiveBSplineTransform.h:179
elastix::RecursiveBSplineTransform::Superclass2
elx::TransformBase< TElastix > Superclass2
Definition: elxRecursiveBSplineTransform.h:122
elastix::RecursiveBSplineTransform::itkStaticConstMacro
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
elastix::RecursiveBSplineTransform::OriginType
BSplineTransformBaseType::OriginType OriginType
Definition: elxRecursiveBSplineTransform.h:197
itk::AdvancedCombinationTransform::InputPointType
Superclass::InputPointType InputPointType
Definition: itkAdvancedCombinationTransform.h:91
elastix::TransformBase::ConfigurationType
Superclass::ConfigurationType ConfigurationType
Definition: elxTransformBase.h:146
elastix::RecursiveBSplineTransform::ReadFromFile
virtual void ReadFromFile(void)
elastix::RecursiveBSplineTransform::CyclicBSplineTransformLinearType
itk::CyclicBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 1 > CyclicBSplineTransformLinearType
Definition: elxRecursiveBSplineTransform.h:165
elastix::RecursiveBSplineTransform::PreComputeGridInformation
virtual void PreComputeGridInformation(void)
elastix::RecursiveBSplineTransform::ScalarType
Superclass1::ScalarType ScalarType
Definition: elxRecursiveBSplineTransform.h:176
elastix::RecursiveBSplineTransform::WriteToFile
virtual void WriteToFile(const ParametersType &param) const
itk::AdvancedCombinationTransform::InputCovariantVectorType
Superclass::InputCovariantVectorType InputCovariantVectorType
Definition: itkAdvancedCombinationTransform.h:87
elastix::TransformBase::ConfigurationPointer
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxTransformBase.h:147
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::RecursiveBSplineTransform::BeforeRegistration
virtual void BeforeRegistration(void)
elastix::TransformBase::ParameterMapType
ElastixType::ParameterMapType ParameterMapType
Definition: elxTransformBase.h:207
elastix::RecursiveBSplineTransform::BSplineTransformCubicType
itk::RecursiveBSplineTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 3 > BSplineTransformCubicType
Definition: elxRecursiveBSplineTransform.h:161
elastix::RecursiveBSplineTransform::DirectionType
BSplineTransformBaseType::DirectionType DirectionType
Definition: elxRecursiveBSplineTransform.h:198
elastix::TransformBase
This class is the elastix base class for all Transforms.
Definition: elxTransformBase.h:133
elastix::RecursiveBSplineTransform::OutputPointType
Superclass1::OutputPointType OutputPointType
Definition: elxRecursiveBSplineTransform.h:187
elastix::RecursiveBSplineTransform::ConfigurationPointer
Superclass2::ConfigurationPointer ConfigurationPointer
Definition: elxRecursiveBSplineTransform.h:208
elastix
Definition: elxFixedGenericPyramid.h:25
itk::AdvancedBSplineDeformableTransformBase::ImagePointer
ImageType::Pointer ImagePointer
Definition: itkAdvancedBSplineDeformableTransformBase.h:167
elastix::RecursiveBSplineTransform::CreateTransformParametersMap
virtual void CreateTransformParametersMap(const ParametersType &param, ParameterMapType *paramsMap) const
itk::AdvancedBSplineDeformableTransformBase::DirectionType
ImageType::DirectionType DirectionType
Definition: itkAdvancedBSplineDeformableTransformBase.h:192
elastix::RecursiveBSplineTransform::SizeType
BSplineTransformBaseType::SizeType SizeType
Definition: elxRecursiveBSplineTransform.h:195
elastix::RecursiveBSplineTransform::SetOptimizerScales
virtual void SetOptimizerScales(const unsigned int edgeWidth)
elastix::TransformBase::RegistrationType
Superclass::RegistrationType RegistrationType
Definition: elxTransformBase.h:152
elastix::RecursiveBSplineTransform::~RecursiveBSplineTransform
virtual ~RecursiveBSplineTransform()
Definition: elxRecursiveBSplineTransform.h:293


Generated on OURCE_DATE_EPOCH for elastix by doxygen 1.8.18 elastix logo