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 
142  itkGetStaticConstMacro( SpaceDimension ) > BSplineTransformBaseType;
144 
148  itkGetStaticConstMacro( SpaceDimension ),
152  itkGetStaticConstMacro( SpaceDimension ),
156  itkGetStaticConstMacro( SpaceDimension ),
160  itkGetStaticConstMacro( SpaceDimension ),
164  itkGetStaticConstMacro( SpaceDimension ),
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 
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 27-04-2014 for elastix by doxygen 1.8.6 elastix logo