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 
123  itkGetStaticConstMacro( SpaceDimension ) > BSplineTransformBaseType;
125 
129  itkGetStaticConstMacro( SpaceDimension ),
133  itkGetStaticConstMacro( SpaceDimension ),
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 
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
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
This transform is a composition of B-spline transformations, allowing sliding motion between differen...
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 27-04-2014 for elastix by doxygen 1.8.6 elastix logo