18 #ifndef sitkBSplineTransform_h
19 #define sitkBSplineTransform_h
53 explicit BSplineTransform(
const std::vector<Image> &coefficientImages,
unsigned int order=3 );
62 std::string
GetName()
const override {
return std::string (
"BSplineTransform"); }
67 SITK_RETURN_SELF_TYPE_HEADER SetTransformDomainDirection(
const std::vector<double> &);
68 std::vector<double> GetTransformDomainDirection()
const;
69 SITK_RETURN_SELF_TYPE_HEADER SetTransformDomainMeshSize(
const std::vector<unsigned int>&);
70 std::vector<unsigned int> GetTransformDomainMeshSize()
const;
71 SITK_RETURN_SELF_TYPE_HEADER SetTransformDomainOrigin(
const std::vector<double>&);
72 std::vector<double> GetTransformDomainOrigin()
const;
73 SITK_RETURN_SELF_TYPE_HEADER SetTransformDomainPhysicalDimensions(
const std::vector<double> &);
74 std::vector<double> GetTransformDomainPhysicalDimensions()
const;
85 std::vector<Image> GetCoefficientImages ()
const;
87 unsigned int GetOrder()
const;
91 void SetPimpleTransform(std::unique_ptr<PimpleTransformBase> && pimpleTransform )
override;
99 template<
typename TransformType >
100 void operator() ( )
const
102 TransformType *t =
dynamic_cast<TransformType*
>(transform);
103 if (t && (
typeid(*t) ==
typeid(TransformType)))
112 template <
typename TransformType>
113 void InternalInitialization(TransformType *transform);
115 static PimpleTransformBase *CreateBSplinePimpleTransform(
unsigned int dimension,
unsigned int order);
117 template <
unsigned int ND>
118 static PimpleTransformBase *CreateBSplinePimpleTransform(
unsigned int order);
138 #endif // sitkBSplineTransform_h