21 #ifndef MIRTK_MultiLevelFreeFormTransformation_H 22 #define MIRTK_MultiLevelFreeFormTransformation_H 24 #include "mirtk/MultiLevelTransformation.h" 76 int &,
int &,
int &,
double = 1)
const;
89 int = 1,
double = .0);
98 virtual double Approximate(
const double *,
const double *,
const double *,
99 double *,
double *,
double *,
int,
100 int = 1,
double = .0);
109 virtual double Approximate(
const double *,
const double *,
const double *,
const double *,
110 double *,
double *,
double *,
int,
111 int = 1,
double = .0);
121 int = 1,
double = .0);
130 virtual double ApproximateAsNew(
const double *,
const double *,
const double *,
131 double *,
double *,
double *,
int,
132 int = 1,
double = .0);
141 virtual double ApproximateAsNew(
const double *,
const double *,
const double *,
const double *,
142 double *,
double *,
double *,
int,
143 int = 1,
double = .0);
148 virtual void ApproximateDOFs(
const double *,
const double *,
const double *,
const double *,
149 const double *,
const double *,
const double *,
int);
156 const double *,
const double *,
const double *,
int,
157 double *,
double = 1.0)
const;
169 virtual void LocalTransform(
int,
int,
double &,
double &,
double &,
double = 0,
double = NaN)
const;
172 virtual void Transform(
int,
int,
double &,
double &,
double &,
double = 0,
double = NaN)
const;
206 double t,
double t0 = -1,
242 virtual void Jacobian(
int,
int,
Matrix &,
double,
double,
double,
double = 0,
double = NaN)
const;
245 virtual void Hessian(
int,
int,
Matrix [3],
double,
double,
double,
double = 0,
double = NaN)
const;
268 double = NaN,
double = 1)
const;
273 double *,
double = 0,
double = NaN,
double = 1)
const;
288 double Bending(
double,
double,
double)
const;
303 int &i2,
int &j2,
int &k2,
double fraction)
const 306 DOFIndexToLocalTransformation(
this, dof, ffd, dof);
307 return ffd->
DOFBoundingBox(image, dof, i1, j1, k1, i2, j2, k2, fraction);
313 #endif // MIRTK_MultiLevelFreeFormTransformation_H