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 
20 #include "itkStackTransform.h"
21 
25 
26 #include "elxIncludes.h"
27 
28 
29 namespace elastix
30 {
31 
106 template < class TElastix >
108  : public
110  typename elx::TransformBase<TElastix>::CoordRepType,
111  elx::TransformBase<TElastix>::FixedImageDimension > ,
112  public
113  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( "BSplineStackTransform" );
137 
139  itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
140  itkStaticConstMacro( ReducedSpaceDimension, unsigned int, Superclass2::FixedImageDimension - 1 );
141 
147  itkGetStaticConstMacro( SpaceDimension ) > BSplineTransformBaseType;
149 
153  itkGetStaticConstMacro( ReducedSpaceDimension ) > ReducedDimensionBSplineTransformBaseType;
155 
157  typedef itk::StackTransform<
159  itkGetStaticConstMacro( SpaceDimension ),
160  itkGetStaticConstMacro( SpaceDimension ) > BSplineStackTransformType;
162 
166  itkGetStaticConstMacro( ReducedSpaceDimension ),
170  itkGetStaticConstMacro( ReducedSpaceDimension ),
174  itkGetStaticConstMacro( ReducedSpaceDimension ),
176 
180 
191 
204 
206  typedef itk::Image< PixelType,
207  itkGetStaticConstMacro( ReducedSpaceDimension )> ReducedDimensionImageType;
208  typedef itk::ImageRegion<
209  itkGetStaticConstMacro( ReducedSpaceDimension ) > ReducedDimensionRegionType;
210  typedef typename ReducedDimensionRegionType::SizeType ReducedDimensionSizeType;
211  typedef typename ReducedDimensionRegionType::IndexType ReducedDimensionIndexType;
212  typedef typename ReducedDimensionImageType::SpacingType ReducedDimensionSpacingType;
213  typedef typename ReducedDimensionImageType::DirectionType ReducedDimensionDirectionType;
214  typedef typename ReducedDimensionImageType::PointType ReducedDimensionOriginType;
215 
218  CoordRepType, ReducedSpaceDimension > GridScheduleComputerType;
220  typedef typename GridScheduleComputerType
225 
231  virtual int BeforeAll( void );
232 
246  virtual void BeforeRegistration( void );
247 
252  virtual void BeforeEachResolution( void );
253 
259  virtual void InitializeTransform( void );
260 
267  virtual void IncreaseScale( void );
268 
270  virtual void ReadFromFile( void );
271 
273  virtual void WriteToFile( const ParametersType & param ) const;
274 
276  virtual void SetOptimizerScales( const unsigned int edgeWidth );
277 
278 protected:
279 
282 
285 
287  virtual void PreComputeGridInformation( void );
288 
289 private:
290 
292  BSplineStackTransform( const Self& ); // purposely not implemented
293  void operator=( const Self& ); // purposely not implemented
294 
299 
303 
305  unsigned int m_SplineOrder;
306 
310 
312  unsigned int InitializeBSplineTransform();
313 
314 }; // end class BSplineStackTransform
315 
316 
317 } // end namespace elastix
318 
319 #ifndef ITK_MANUAL_INSTANTIATION
320 #include "elxBSplineStackTransform.hxx"
321 #endif
322 
323 #endif // end #ifndef __elxBSplineStackTransform_h
324 
This class combines two transforms: an &#39;initial transform&#39; with a &#39;current transform&#39;.
Superclass2::ElastixPointer ElastixPointer
Superclass::RegistrationPointer RegistrationPointer
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
virtual void SetOptimizerScales(const unsigned int edgeWidth)
virtual void IncreaseScale(void)
Deformable transform using a B-spline representation.
BSplineTransformBaseType::SpacingType SpacingType
Image< PixelType, itkGetStaticConstMacro(SpaceDimension)> ImageType
ReducedDimensionRegionType::IndexType ReducedDimensionIndexType
void operator=(const Self &)
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
ImageRegion< itkGetStaticConstMacro(SpaceDimension) > RegionType
std::vector< GridSpacingFactorType > VectorGridSpacingFactorType
BSplineTransformBaseType::PixelType PixelType
BSplineStackTransformType::Pointer BSplineStackTransformPointer
Superclass2::CoordRepType CoordRepType
Superclass2::RegistrationPointer RegistrationPointer
virtual void BeforeRegistration(void)
Implements stack of transforms: one for every last dimension index.
elxClassNameMacro("BSplineStackTransform")
ElastixType::FixedImageType FixedImageType
itk::Image< PixelType, itkGetStaticConstMacro(ReducedSpaceDimension)> ReducedDimensionImageType
elx::TransformBase< TElastix > Superclass2
virtual void PreComputeGridInformation(void)
itk::StackTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SpaceDimension) > BSplineStackTransformType
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
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ReducedSpaceDimension), 2 > BSplineTransformQuadraticType
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
ReducedDimensionBSplineTransformBasePointer m_BSplineDummySubTransform
ReducedDimensionImageType::PointType ReducedDimensionOriginType
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ReducedSpaceDimension), 3 > BSplineTransformCubicType
Superclass1::NumberOfParametersType NumberOfParametersType
GridScheduleComputerPointer m_GridScheduleComputer
itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension) > BSplineTransformBaseType
BSplineTransformBaseType::ImageType ImageType
ElastixType::MovingImageType MovingImageType
Superclass1::ParametersType ParametersType
Superclass::ElastixPointer ElastixPointer
ElastixType::CoordRepType CoordRepType
Superclass::RegistrationType RegistrationType
ReducedDimensionImageType::DirectionType ReducedDimensionDirectionType
itk::ImageRegion< itkGetStaticConstMacro(ReducedSpaceDimension) > ReducedDimensionRegionType
virtual void ReadFromFile(void)
BSplineTransformBaseType::SizeType SizeType
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
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)
itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ReducedSpaceDimension), 1 > BSplineTransformLinearType
GridScheduleComputerType::VectorGridSpacingFactorType GridScheduleType
Base class for deformable transform using a B-spline representation.
ReducedDimensionBSplineTransformBaseType::Pointer ReducedDimensionBSplineTransformBasePointer
itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ReducedSpaceDimension) > ReducedDimensionBSplineTransformBaseType
ReducedDimensionImageType::SpacingType ReducedDimensionSpacingType
itk::SmartPointer< const Self > ConstPointer
Superclass2::FixedImageType FixedImageType
GridScheduleComputerType::Pointer GridScheduleComputerPointer
ReducedDimensionRegionType::SizeType ReducedDimensionSizeType
itk::UpsampleBSplineParametersFilter< ParametersType, ReducedDimensionImageType > GridUpsamplerType
virtual void InitializeTransform(void)


Generated on 04-01-2014 for elastix by doxygen 1.8.5 elastix logo