18 #ifndef __itkBSplineDeformableTransformInitializer_h
19 #define __itkBSplineDeformableTransformInitializer_h
21 #include "itkConfigure.h"
22 #ifdef ITKV3_COMPATIBILITY
50 template<
class TTransform,
class TImage >
51 class ITK_EXPORT BSplineDeformableTransformInitializer:
public Object
55 typedef BSplineDeformableTransformInitializer Self;
56 typedef Object Superclass;
57 typedef SmartPointer< Self > Pointer;
58 typedef SmartPointer< const Self > ConstPointer;
64 itkTypeMacro(BSplineDeformableTransformInitializer, Object);
67 typedef TTransform TransformType;
70 typedef typename TransformType::Pointer TransformPointer;
71 typedef typename TransformType::RegionType TransformRegionType;
72 typedef typename TransformRegionType::SizeType TransformSizeType;
75 itkStaticConstMacro(SpaceDimension,
unsigned int,
76 TransformType::InputSpaceDimension);
79 typedef TImage ImageType;
80 typedef typename ImageType::ConstPointer ImagePointer;
83 itkSetObjectMacro(Transform, TransformType);
86 itkSetConstObjectMacro(Image, ImageType);
91 itkSetMacro(GridSizeInsideTheImage, TransformSizeType);
99 void SetNumberOfGridNodesInsideTheImage(
unsigned int numberOfNodes)
101 this->m_GridSizeInsideTheImage.Fill(numberOfNodes);
107 virtual void InitializeTransform()
const;
110 BSplineDeformableTransformInitializer();
111 ~BSplineDeformableTransformInitializer(){}
113 void PrintSelf(std::ostream & os, Indent indent)
const;
116 BSplineDeformableTransformInitializer(
const Self &);
118 void operator=(
const Self &);
121 TransformPointer m_Transform;
123 ImagePointer m_Image;
125 TransformSizeType m_GridSizeInsideTheImage;
127 unsigned int m_NumberOfGridNodesInsideTheImage;
131 #ifndef ITK_MANUAL_INSTANTIATION
132 #include "itkBSplineDeformableTransformInitializer.hxx"
135 #else // def ITKV3_COMPATIBILITY
136 #error "itkBSplineDeformableTransformInitializer.h should only be included for ITKv3 compatibility. Build with ITKV3_COMPATIBILITY=ON to use this"
137 #endif // def ITKV3_COMPATIBILITY