18#ifndef sitkTransform_h
19#define sitkTransform_h
31template <
typename TScalar>
36template <
typename TScalar,
unsigned int NDimension>
43class PimpleTransformBase;
99 template <
unsigned int NDimension>
103 static_assert(NDimension == 2 || NDimension == 3,
"Only 2D and 3D transforms are supported");
104 if (compositeTransform ==
nullptr)
215 TransformVector(
const std::vector<double> & vector,
const std::vector<double> & point)
const;
296 explicit Transform(PimpleTransformBase * pimpleTransform);
305 template <
unsigned int VDimension>
313 template <
typename TransformType>
317 TransformType * t =
dynamic_cast<TransformType *
>(
transform);
320 that->InternalInitialization<TransformType>(t);
326 template <
class TransformType>
333 template <
unsigned int>
337 template <
typename TDisplacementType>
341 template <
class TMemberFunctionPo
inter>
344 using ObjectType = typename ::detail::FunctionTraits<TMemberFunctionPointer>::ClassType;
346 template <
typename TImageType>
347 constexpr TMemberFunctionPointer
The Image class for SimpleITK.
@ sitkComposeScaleSkewVersor
SITKCommon_EXPORT void WriteTransform(const Transform &transform, const PathType &filename)
SITKCommon_EXPORT Transform ReadTransform(const PathType &filename)
TransformBaseTemplate< double > TransformBase
#define SITKCommon_EXPORT
#define sitkExceptionMacro(x)