18 #ifndef sitkBSplineTransform_h
19 #define sitkBSplineTransform_h
55 explicit BSplineTransform(
const std::vector<Image> &coefficientImages,
unsigned int order=3 );
64 std::string
GetName()
const override {
return std::string (
"BSplineTransform"); }
69 SITK_RETURN_SELF_TYPE_HEADER SetTransformDomainDirection(
const std::vector<double> &);
70 std::vector<double> GetTransformDomainDirection()
const;
71 SITK_RETURN_SELF_TYPE_HEADER SetTransformDomainMeshSize(
const std::vector<unsigned int>&);
72 std::vector<unsigned int> GetTransformDomainMeshSize()
const;
73 SITK_RETURN_SELF_TYPE_HEADER SetTransformDomainOrigin(
const std::vector<double>&);
74 std::vector<double> GetTransformDomainOrigin()
const;
75 SITK_RETURN_SELF_TYPE_HEADER SetTransformDomainPhysicalDimensions(
const std::vector<double> &);
76 std::vector<double> GetTransformDomainPhysicalDimensions()
const;
87 std::vector<Image> GetCoefficientImages ()
const;
89 unsigned int GetOrder()
const;
93 void SetPimpleTransform( PimpleTransformBase *pimpleTransform )
override;
101 template<
typename TransformType >
102 void operator() ( )
const
104 TransformType *t =
dynamic_cast<TransformType*
>(transform);
105 if (t && (
typeid(*t) ==
typeid(TransformType)))
114 template <
typename TransformType>
115 void InternalInitialization(TransformType *transform);
117 static PimpleTransformBase *CreateBSplinePimpleTransform(
unsigned int dimension,
unsigned int order);
119 template <
unsigned int ND>
120 static PimpleTransformBase *CreateBSplinePimpleTransform(
unsigned int order);
141 #endif // sitkBSplineTransform_h