113 Eigen::Vector3f&
center() {
return m_center; }
134 static bool fit_sphere_to_points(
const Eigen::MatrixXf &rr,
float simplex_size, Eigen::VectorXf &r0,
float &R);
138 Eigen::Vector3f m_center;
149 static void calculate_cm_ave_dist(
const Eigen::MatrixXf &rr, Eigen::VectorXf &cm,
float &avep);
160 static Eigen::MatrixXf make_initial_simplex(
const Eigen::VectorXf &pars,
float size);
171 static float fit_eval(
const Eigen::VectorXf &fitpar,
const void *user_data);
183 static bool report_func(
int loop,
const Eigen::VectorXf &fitpar,
double fval_lo,
double fval_hi,
double par_diff);
194 static float opt_rad(
const Eigen::VectorXf &r0,
const FitUser* user);
math library export/import macros.
#define MATHSHARED_EXPORT
Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms).
Workspace for sphere-fitting optimisation, holding 3-D point coordinates and a report flag.
static bool fit_sphere_to_points(const Eigen::MatrixXf &rr, float simplex_size, Eigen::VectorXf &r0, float &R)
static Sphere fit_sphere_simplex(const Eigen::MatrixX3f &points, double simplex_size=2e-2)
Eigen::Vector3f & center()
static Sphere fit_sphere(const Eigen::MatrixX3f &points)
Sphere(const Eigen::Vector3f ¢er, float radius)