go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxBSplineStackTransform.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 __elxBSplineStackTransform_h
15 #define __elxBSplineStackTransform_h
16 
17 #include "elxIncludes.h" // include first to avoid MSVS warning
18 
22 #include "itkStackTransform.h"
23 
27 
28 namespace elastix
29 {
30 
105 template< class TElastix >
107  public
109  typename elx::TransformBase< TElastix >::CoordRepType,
110  elx::TransformBase< TElastix >::FixedImageDimension >,
111  public
112  TransformBase< TElastix >
113 {
114 public:
115 
122  typedef itk::SmartPointer< Self > Pointer;
123  typedef itk::SmartPointer< const Self > ConstPointer;
124 
126  itkNewMacro( Self );
127 
130 
135  elxClassNameMacro( "BSplineStackTransform" );
136 
138  itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
139  itkStaticConstMacro( ReducedSpaceDimension, unsigned int, Superclass2::FixedImageDimension - 1 );
140 
146  itkGetStaticConstMacro( SpaceDimension ) > BSplineTransformBaseType;
148 
152  itkGetStaticConstMacro( ReducedSpaceDimension ) > ReducedDimensionBSplineTransformBaseType;
154 
156  typedef itk::StackTransform<
158  itkGetStaticConstMacro( SpaceDimension ),
159  itkGetStaticConstMacro( SpaceDimension ) > BSplineStackTransformType;
161 
165  itkGetStaticConstMacro( ReducedSpaceDimension ),
169  itkGetStaticConstMacro( ReducedSpaceDimension ),
173  itkGetStaticConstMacro( ReducedSpaceDimension ),
175 
179 
190 
203 
205  typedef itk::Image< PixelType,
206  itkGetStaticConstMacro( ReducedSpaceDimension ) > ReducedDimensionImageType;
207  typedef itk::ImageRegion<
208  itkGetStaticConstMacro( ReducedSpaceDimension ) > ReducedDimensionRegionType;
209  typedef typename ReducedDimensionRegionType::SizeType ReducedDimensionSizeType;
210  typedef typename ReducedDimensionRegionType::IndexType ReducedDimensionIndexType;
211  typedef typename ReducedDimensionImageType::SpacingType ReducedDimensionSpacingType;
212  typedef typename ReducedDimensionImageType::DirectionType ReducedDimensionDirectionType;
213  typedef typename ReducedDimensionImageType::PointType ReducedDimensionOriginType;
214 
217  CoordRepType, ReducedSpaceDimension > GridScheduleComputerType;
219  typedef typename GridScheduleComputerType
224 
230  virtual int BeforeAll( void );
231 
245  virtual void BeforeRegistration( void );
246 
251  virtual void BeforeEachResolution( void );
252 
258  virtual void InitializeTransform( void );
259 
266  virtual void IncreaseScale( void );
267 
269  virtual void ReadFromFile( void );
270 
272  virtual void WriteToFile( const ParametersType & param ) const;
273 
275  virtual void SetOptimizerScales( const unsigned int edgeWidth );
276 
277 protected:
278 
281 
284 
286  virtual void PreComputeGridInformation( void );
287 
288 private:
289 
291  BSplineStackTransform( const Self & ); // purposely not implemented
292  void operator=( const Self & ); // purposely not implemented
293 
298 
302 
304  unsigned int m_SplineOrder;
305 
309 
311  unsigned int InitializeBSplineTransform();
312 
313 };
314 
315 } // end namespace elastix
316 
317 #ifndef ITK_MANUAL_INSTANTIATION
318 #include "elxBSplineStackTransform.hxx"
319 #endif
320 
321 #endif // end #ifndef __elxBSplineStackTransform_h
This class combines two transforms: an 'initial transform' with a 'current transform'.
Superclass2::ElastixPointer ElastixPointer
Superclass::RegistrationPointer RegistrationPointer
itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ReducedSpaceDimension) > ReducedDimensionBSplineTransformBaseType
virtual void SetOptimizerScales(const unsigned int edgeWidth)
virtual void IncreaseScale(void)
Deformable transform using a B-spline representation.
BSplineTransformBaseType::SpacingType SpacingType
ReducedDimensionRegionType::IndexType ReducedDimensionIndexType
elx::TransformBase< TElastix > Superclass2
void operator=(const Self &)
itk::Image< PixelType, itkGetStaticConstMacro(ReducedSpaceDimension) > ReducedDimensionImageType
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ReducedSpaceDimension), 2 > BSplineTransformQuadraticType
BSplineTransformBaseType::ImagePointer ImagePointer
BSplineTransformBaseType::RegionType RegionType
itk::GridScheduleComputer< CoordRepType, ReducedSpaceDimension > GridScheduleComputerType
A B-spline transform based on the itkStackTransform.
Superclass2::ConfigurationType ConfigurationType
Superclass2::MovingImageType MovingImageType
SmartPointer< Self > Pointer
itk::SmartPointer< const Self > ConstPointer
ImageRegion< itkGetStaticConstMacro(SpaceDimension) > RegionType
std::vector< GridSpacingFactorType > VectorGridSpacingFactorType
BSplineTransformBaseType::PixelType PixelType
BSplineStackTransformType::Pointer BSplineStackTransformPointer
Superclass2::CoordRepType CoordRepType
Superclass2::RegistrationPointer RegistrationPointer
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ReducedSpaceDimension), 1 > BSplineTransformLinearType
virtual void BeforeRegistration(void)
Implements stack of transforms: one for every last dimension index.
elxClassNameMacro("BSplineStackTransform")
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ReducedSpaceDimension), 3 > BSplineTransformCubicType
ElastixType::FixedImageType FixedImageType
virtual void PreComputeGridInformation(void)
virtual void WriteToFile(void) const
This class computes all information about the B-spline grid, given the image information and the desi...
BSplineTransformBaseType::Pointer BSplineTransformBasePointer
Superclass::ElastixType ElastixType
Transform maps points, vectors and covariant vectors from an input space to an output space...
unsigned int InitializeBSplineTransform()
Superclass2::ConfigurationPointer ConfigurationPointer
BSplineTransformBaseType::DirectionType DirectionType
BSplineTransformBaseType::OriginType OriginType
itk::StackTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SpaceDimension) > BSplineStackTransformType
ReducedDimensionBSplineTransformBasePointer m_BSplineDummySubTransform
ReducedDimensionImageType::PointType ReducedDimensionOriginType
Superclass1::NumberOfParametersType NumberOfParametersType
GridScheduleComputerPointer m_GridScheduleComputer
BSplineTransformBaseType::ImageType ImageType
ElastixType::MovingImageType MovingImageType
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
Superclass1::ParametersType ParametersType
Superclass::ElastixPointer ElastixPointer
ElastixType::CoordRepType CoordRepType
Superclass::RegistrationType RegistrationType
ReducedDimensionImageType::DirectionType ReducedDimensionDirectionType
itk::ImageRegion< itkGetStaticConstMacro(ReducedSpaceDimension) > ReducedDimensionRegionType
virtual void ReadFromFile(void)
Image< PixelType, itkGetStaticConstMacro(SpaceDimension) > ImageType
BSplineTransformBaseType::SizeType SizeType
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension) > BSplineTransformBaseType
BSplineStackTransformPointer m_BSplineStackTransform
Superclass::NumberOfParametersType NumberOfParametersType
Superclass2::RegistrationType RegistrationType
BSplineTransformBaseType::IndexType IndexType
This class is the elastix base class for all Transforms.
Superclass::ConfigurationType ConfigurationType
GridUpsamplerType::Pointer GridUpsamplerPointer
Superclass2::CombinationTransformType CombinationTransformType
Convenience class for upsampling a B-spline coefficient image.
Superclass::ConfigurationPointer ConfigurationPointer
virtual void BeforeEachResolution(void)
GridScheduleComputerType::VectorGridSpacingFactorType GridScheduleType
Base class for deformable transform using a B-spline representation.
ReducedDimensionBSplineTransformBaseType::Pointer ReducedDimensionBSplineTransformBasePointer
ReducedDimensionImageType::SpacingType ReducedDimensionSpacingType
Superclass2::FixedImageType FixedImageType
GridScheduleComputerType::Pointer GridScheduleComputerPointer
ReducedDimensionRegionType::SizeType ReducedDimensionSizeType
itk::UpsampleBSplineParametersFilter< ParametersType, ReducedDimensionImageType > GridUpsamplerType
virtual void InitializeTransform(void)


Generated on 11-03-2014 for elastix by doxygen 1.8.6 elastix logo