go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxMultiBSplineTransformWithNormal.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 __elxMultiBSplineTransformWithNormal_h
15 #define __elxMultiBSplineTransformWithNormal_h
16 
17 #include "elxIncludes.h" // include first to avoid MSVS warning
21 
24 
25 namespace elastix
26 {
27 
83 template< class TElastix >
85  public
87  typename elx::TransformBase< TElastix >::CoordRepType,
88  elx::TransformBase< TElastix >::FixedImageDimension >,
89  public
90  TransformBase< TElastix >
91 {
92 public:
93 
100  typedef itk::SmartPointer< Self > Pointer;
101  typedef itk::SmartPointer< const Self > ConstPointer;
102 
104  itkNewMacro( Self );
105 
108 
113  elxClassNameMacro( "MultiBSplineTransformWithNormal" );
114 
116  itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
117 
122  typename elx::TransformBase< TElastix >::CoordRepType,
123  itkGetStaticConstMacro( SpaceDimension ) > BSplineTransformBaseType;
125 
128  typename elx::TransformBase< TElastix >::CoordRepType,
129  itkGetStaticConstMacro( SpaceDimension ),
132  typename elx::TransformBase< TElastix >::CoordRepType,
133  itkGetStaticConstMacro( SpaceDimension ),
136  typename elx::TransformBase< TElastix >::CoordRepType,
137  itkGetStaticConstMacro( SpaceDimension ),
139 
153 
164  typedef typename
166  typedef typename
168 
181 
186  typedef typename GridScheduleComputerType
191 
193  typedef itk::Image< unsigned char,
194  itkGetStaticConstMacro( SpaceDimension ) > ImageLabelType;
195  typedef typename ImageLabelType::Pointer ImageLabelPointer;
196 
201  virtual int BeforeAll( void );
202 
214  virtual void BeforeRegistration( void );
215 
220  virtual void BeforeEachResolution( void );
221 
227  virtual void InitializeTransform( void );
228 
234  virtual void IncreaseScale( void );
235 
237  virtual void ReadFromFile( void );
238 
240  virtual void WriteToFile( const ParametersType & param ) const;
241 
243  virtual void SetOptimizerScales( const unsigned int edgeWidth );
244 
245 protected:
246 
249 
252 
254  virtual void PreComputeGridInformation( void );
255 
256 private:
257 
259  MultiBSplineTransformWithNormal( const Self & ); // purposely not implemented
261  void operator=( const Self & ); // purposely not implemented
262 
265  GridScheduleComputerPointer m_GridScheduleComputer;
266  GridUpsamplerPointer m_GridUpsampler;
267  ImageLabelPointer m_Labels;
268  std::string m_LabelsPath;
269 
271  unsigned int m_SplineOrder;
272 
274  unsigned int InitializeBSplineTransform();
275 
276 };
277 
278 } // end namespace elastix
279 
280 #ifndef ITK_MANUAL_INSTANTIATION
281 #include "elxMultiBSplineTransformWithNormal.hxx"
282 #endif
283 
284 #endif // end #ifndef __elxMultiBSplineTransformWithNormal_h
This class combines two transforms: an 'initial transform' with a 'current transform'.
BSplineTransformBaseType::ImagePointer ImagePointer
Superclass::InputCovariantVectorType InputCovariantVectorType
Superclass::RegistrationPointer RegistrationPointer
elxClassNameMacro("MultiBSplineTransformWithNormal")
Superclass::OutputCovariantVectorType OutputCovariantVectorType
itk::Image< unsigned char, itkGetStaticConstMacro(SpaceDimension) > ImageLabelType
A transform based on the itkMultiBSplineDeformableTransformWithNormal.
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
Superclass1::NumberOfParametersType NumberOfParametersType
This transform is a composition of B-spline transformations, allowing sliding motion between differen...
ImageRegion< itkGetStaticConstMacro(SpaceDimension) > RegionType
BSplineTransformBaseType::Pointer BSplineTransformBasePointer
Superclass2::CombinationTransformType CombinationTransformType
std::vector< GridSpacingFactorType > VectorGridSpacingFactorType
GridScheduleComputerType::VectorGridSpacingFactorType GridScheduleType
MultiBSplineTransformWithNormalCubicType::Pointer m_MultiBSplineTransformWithNormal
BSplineTransformBaseType::ContinuousIndexType ContinuousIndexType
ElastixType::FixedImageType FixedImageType
BSplineTransformBaseType::ParameterIndexArrayType ParameterIndexArrayType
virtual void WriteToFile(void) const
virtual void SetOptimizerScales(const unsigned int edgeWidth)
This class computes all information about the B-spline grid, given the image information and the desi...
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
Superclass::ElastixType ElastixType
Transform maps points, vectors and covariant vectors from an input space to an output space...
GridScheduleComputerType::Pointer GridScheduleComputerPointer
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 2 > MultiBSplineTransformWithNormalQuadraticType
Superclass1::InputCovariantVectorType InputCovariantVectorType
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 1 > MultiBSplineTransformWithNormalLinearType
ElastixType::MovingImageType MovingImageType
Superclass::ElastixPointer ElastixPointer
ElastixType::CoordRepType CoordRepType
Superclass::RegistrationType RegistrationType
Image< PixelType, itkGetStaticConstMacro(SpaceDimension) > ImageType
itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension) > BSplineTransformBaseType
Superclass::NumberOfParametersType NumberOfParametersType
ContinuousIndex< ScalarType, SpaceDimension > ContinuousIndexType
This class is the elastix base class for all Transforms.
Superclass::ConfigurationType ConfigurationType
Superclass::OutputVnlVectorType OutputVnlVectorType
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), 3 > MultiBSplineTransformWithNormalCubicType
Convenience class for upsampling a B-spline coefficient image.
itk::UpsampleBSplineParametersFilter< ParametersType, ImageType > GridUpsamplerType
Superclass::ConfigurationPointer ConfigurationPointer
Superclass::InputVnlVectorType InputVnlVectorType
itk::GridScheduleComputer< CoordRepType, SpaceDimension > GridScheduleComputerType
Base class for deformable transform using a B-spline representation.
BSplineTransformBaseType::DirectionType DirectionType
Superclass1::OutputCovariantVectorType OutputCovariantVectorType


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