18 #ifndef itkBSplineDeformableTransformInitializer_h
19 #define itkBSplineDeformableTransformInitializer_h
21 #include "itkConfigure.h"
22 #ifdef ITKV3_COMPATIBILITY
50 template<
typename TTransform,
typename TImage >
51 class ITK_TEMPLATE_EXPORT 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;
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 ITK_DISALLOW_COPY_AND_ASSIGN(BSplineDeformableTransformInitializer);
118 TransformPointer m_Transform;
120 ImagePointer m_Image;
122 TransformSizeType m_GridSizeInsideTheImage;
124 unsigned int m_NumberOfGridNodesInsideTheImage;
128 #ifndef ITK_MANUAL_INSTANTIATION
129 #include "itkBSplineDeformableTransformInitializer.hxx"
132 #else // def ITKV3_COMPATIBILITY
133 #error "itkBSplineDeformableTransformInitializer.h should only be included for ITKv3 compatibility. Build with ITKV3_COMPATIBILITY=ON to use this"
134 #endif // def ITKV3_COMPATIBILITY
ImageBaseType::SizeType SizeType