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  This file is part of the elastix software.
4 
5  Copyright (c) University Medical Center Utrecht. All rights reserved.
6  See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7  details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notices for more information.
12 
13 ======================================================================*/
14 #ifndef __elxAdvancedBSplineTransform_h
15 #define __elxAdvancedBSplineTransform_h
16 
17 #include "elxIncludes.h" // include first to avoid MSVS warning
20 
25 
26 namespace elastix
27 {
102 template< class TElastix >
104  public
106  typename elx::TransformBase< TElastix >::CoordRepType,
107  elx::TransformBase< TElastix >::FixedImageDimension >,
108  public
109  TransformBase< TElastix >
110 {
111 public:
112 
119  typedef itk::SmartPointer< Self > Pointer;
120  typedef itk::SmartPointer< const Self > ConstPointer;
121 
123  itkNewMacro( Self );
124 
127 
132  elxClassNameMacro( "BSplineTransform" );
133 
135  itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
136 
141  typename elx::TransformBase< TElastix >::CoordRepType,
142  itkGetStaticConstMacro( SpaceDimension ) > BSplineTransformBaseType;
144 
147  typename elx::TransformBase< TElastix >::CoordRepType,
148  itkGetStaticConstMacro( SpaceDimension ),
151  typename elx::TransformBase< TElastix >::CoordRepType,
152  itkGetStaticConstMacro( SpaceDimension ),
155  typename elx::TransformBase< TElastix >::CoordRepType,
156  itkGetStaticConstMacro( SpaceDimension ),
159  typename elx::TransformBase< TElastix >::CoordRepType,
160  itkGetStaticConstMacro( SpaceDimension ),
163  typename elx::TransformBase< TElastix >::CoordRepType,
164  itkGetStaticConstMacro( SpaceDimension ),
167  typename elx::TransformBase< TElastix >::CoordRepType,
168  itkGetStaticConstMacro( SpaceDimension ),
170 
184 
195  typedef typename
197  typedef typename
199 
212 
219  typedef typename GridScheduleComputerType
224 
227 
232  virtual int BeforeAll( void );
233 
245  virtual void BeforeRegistration( void );
246 
251  virtual void BeforeEachResolution( void );
252 
258  virtual void InitializeTransform( void );
259 
265  virtual void IncreaseScale( void );
266 
268  virtual void ReadFromFile( void );
269 
271  virtual void WriteToFile( const ParametersType & param ) const;
272 
277  virtual void CreateTransformParametersMap(
278  const ParametersType & param, ParameterMapType * paramsMap ) const;
279 
281  virtual void SetOptimizerScales( const unsigned int edgeWidth );
282 
283 protected:
284 
287 
290 
292  virtual void PreComputeGridInformation( void );
293 
294 private:
295 
297  AdvancedBSplineTransform( const Self & ); // purposely not implemented
299  void operator=( const Self & ); // purposely not implemented
300 
302  BSplineTransformBasePointer m_BSplineTransform;
303  GridScheduleComputerPointer m_GridScheduleComputer;
304  GridUpsamplerPointer m_GridUpsampler;
305 
307  unsigned int m_SplineOrder;
308  bool m_Cyclic;
309 
311  unsigned int InitializeBSplineTransform();
312 
313 };
314 
315 } // end namespace elastix
316 
317 #ifndef ITK_MANUAL_INSTANTIATION
318 #include "elxAdvancedBSplineTransform.hxx"
319 #endif
320 
321 #endif // end #ifndef __elxAdvancedBSplineTransform_h
unsigned int InitializeBSplineTransform()
This class combines two transforms: an 'initial transform' with a 'current transform'.
virtual void PreComputeGridInformation(void)
Superclass::InputCovariantVectorType InputCovariantVectorType
Superclass1::InputVnlVectorType InputVnlVectorType
Superclass::RegistrationPointer RegistrationPointer
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Deformable transform using a B-spline representation.
BSplineTransformBaseType::ImagePointer ImagePointer
Superclass1::OutputCovariantVectorType OutputCovariantVectorType
BSplineTransformBaseType::SizeType SizeType
virtual void SetOptimizerScales(const unsigned int edgeWidth)
GridUpsamplerType::Pointer GridUpsamplerPointer
ElastixType::ParameterMapType ParameterMapType
Superclass1::OutputVectorType OutputVectorType
Superclass1::InputCovariantVectorType InputCovariantVectorType
Superclass2::RegistrationPointer RegistrationPointer
itk::UpsampleBSplineParametersFilter< ParametersType, ImageType > GridUpsamplerType
ImageRegion< itkGetStaticConstMacro(SpaceDimension) > RegionType
GridScheduleComputerPointer m_GridScheduleComputer
std::vector< GridSpacingFactorType > VectorGridSpacingFactorType
Superclass1::OutputVnlVectorType OutputVnlVectorType
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 3 > BSplineTransformCubicType
BSplineTransformBaseType::Pointer BSplineTransformBasePointer
elx::TransformBase< TElastix > Superclass2
itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension) > BSplineTransformBaseType
BSplineTransformBaseType::ContinuousIndexType ContinuousIndexType
BSplineTransformBaseType::ImageType ImageType
BSplineTransformBasePointer m_BSplineTransform
itk::CyclicBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 3 > CyclicBSplineTransformCubicType
BSplineTransformBaseType::PixelType PixelType
ElastixType::FixedImageType FixedImageType
itk::CyclicBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 2 > CyclicBSplineTransformQuadraticType
BSplineTransformBaseType::DirectionType DirectionType
Superclass1::InputVectorType InputVectorType
virtual void WriteToFile(void) const
Deformable transform using a B-spline representation in which the B-spline grid is formulated in a cy...
This class computes all information about the B-spline grid, given the image information and the desi...
Superclass::ElastixType ElastixType
Transform maps points, vectors and covariant vectors from an input space to an output space...
BSplineTransformBaseType::SpacingType SpacingType
Superclass2::ConfigurationPointer ConfigurationPointer
GridScheduleComputerType::Pointer GridScheduleComputerPointer
BSplineTransformBaseType::IndexType IndexType
Superclass2::ParameterMapType ParameterMapType
virtual void InitializeTransform(void)
Superclass1::OutputPointType OutputPointType
ElastixType::MovingImageType MovingImageType
Superclass2::ConfigurationType ConfigurationType
Superclass::ElastixPointer ElastixPointer
ElastixType::CoordRepType CoordRepType
Superclass::RegistrationType RegistrationType
Superclass1::NumberOfParametersType NumberOfParametersType
Image< PixelType, itkGetStaticConstMacro(SpaceDimension) > ImageType
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
This class computes all information about the B-spline grid.
itk::CyclicGridScheduleComputer< CoordRepType, SpaceDimension > CyclicGridScheduleComputerType
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
Superclass2::MovingImageType MovingImageType
virtual void BeforeRegistration(void)
Superclass::NumberOfParametersType NumberOfParametersType
ContinuousIndex< ScalarType, SpaceDimension > ContinuousIndexType
itk::SmartPointer< const Self > ConstPointer
This class is the elastix base class for all Transforms.
A transform based on the itkAdvancedBSplineTransform.
BSplineTransformBaseType::RegionType RegionType
Superclass::ConfigurationType ConfigurationType
Superclass::OutputVnlVectorType OutputVnlVectorType
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 1 > BSplineTransformLinearType
itk::CyclicBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 1 > CyclicBSplineTransformLinearType
BSplineTransformBaseType::ParameterIndexArrayType ParameterIndexArrayType
Convenience class for upsampling a B-spline coefficient image.
Superclass::ConfigurationPointer ConfigurationPointer
Superclass::InputVnlVectorType InputVnlVectorType
Superclass2::CombinationTransformType CombinationTransformType
Base class for deformable transform using a B-spline representation.
Superclass2::RegistrationType RegistrationType
virtual void CreateTransformParametersMap(const ParametersType &param, ParameterMapType *paramsMap) const
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 2 > BSplineTransformQuadraticType
elxClassNameMacro("BSplineTransform")
virtual void IncreaseScale(void)
virtual void BeforeEachResolution(void)
BSplineTransformBaseType::OriginType OriginType
GridScheduleComputerType::VectorGridSpacingFactorType GridScheduleType
itk::GridScheduleComputer< CoordRepType, SpaceDimension > GridScheduleComputerType


Generated on 12-09-2014 for elastix by doxygen 1.8.8 elastix logo