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);
194 static float opt_rad(
const Eigen::VectorXf &r0,
const fitUserNew user);
utils library export/import macros.
#define UTILSSHARED_EXPORT
int fit_sphere_to_points(const MNESurfaceOrVolume::PointsT &rr, int np, float simplex_size, float *r0, float *R)
Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms).
struct UTILSLIB::fitUserNew fitUserRecNew
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)