mantidimaging.core.fitting.fitting_engine module#

class mantidimaging.core.fitting.fitting_engine.FittingEngine(model: BaseFittingFunction)[source]#

Bases: object

find_best_fit(xdata: ndarray, ydata: ndarray, initial_params: list[float], params_bounds: list[tuple[float | None, float | None]] | None = None) tuple[dict[str, float], float, float][source]#

Fit the model to the given spectrum using unweighted least squares.

Returns:
  • fit_params: dictionary of parameter names → fitted values

  • rss: residual sum of squares (Σ(residual²))

  • reduced_rss: rss / degrees of freedom, where DoF = N - p

Notes:

Uses the Nelder–Mead minimizer on the unweighted residuals.

get_init_params_from_roi(region: FittingRegion) dict[str, float][source]#
get_parameter_names() list[str][source]#
set_fitting_model(model: BaseFittingFunction) None[source]#