18 #ifndef itkBSplineDeformableTransformInitializer_h
19 #define itkBSplineDeformableTransformInitializer_h
21 #include "itkConfigure.h"
22 #ifdef ITKV3_COMPATIBILITY
50 template<
typename TTransform,
typename TImage >
51 class BSplineDeformableTransformInitializer:
public Object
55 typedef BSplineDeformableTransformInitializer Self;
56 typedef Object Superclass;
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 ITK_OVERRIDE;
116 BSplineDeformableTransformInitializer(
const Self &) ITK_DELETE_FUNCTION;
117 void operator=(const Self &) ITK_DELETE_FUNCTION;
119 TransformPointer m_Transform;
121 ImagePointer m_Image;
123 TransformSizeType m_GridSizeInsideTheImage;
125 unsigned int m_NumberOfGridNodesInsideTheImage;
129 #ifndef ITK_MANUAL_INSTANTIATION
130 #include "itkBSplineDeformableTransformInitializer.hxx"
133 #else // def ITKV3_COMPATIBILITY
134 #error "itkBSplineDeformableTransformInitializer.h should only be included for ITKv3 compatibility. Build with ITKV3_COMPATIBILITY=ON to use this"
135 #endif // def ITKV3_COMPATIBILITY