mantidimaging.core.fitting.fitting_functions module#

exception mantidimaging.core.fitting.fitting_functions.BadFittingRoiError(message: str = 'A fit could not be found within the given ROI, please try widening the ROI.')[source]#

Bases: Exception

class mantidimaging.core.fitting.fitting_functions.BaseFittingFunction[source]#

Bases: ABC

abstract evaluate(xdata: ndarray, params: list[float]) ndarray[source]#
function_name: str#
abstract get_init_params_from_roi(region: FittingRegion) dict[str, float][source]#
get_parameter_names() list[str][source]#
parameter_names: list[str]#
abstract prefitting(xdata: ndarray, ydata: ndarray, params: list[float]) list[float][source]#
class mantidimaging.core.fitting.fitting_functions.ErfStepFunction[source]#

Bases: BaseFittingFunction

evaluate(xdata: ndarray, params: list[float]) ndarray[source]#
function_name: str = 'Error function'#
get_init_params_from_roi(region: FittingRegion) dict[str, float][source]#
parameter_names: list[str] = ['mu', 'sigma', 'h', 'a']#
prefitting(_, __, ___) list[float][source]#
class mantidimaging.core.fitting.fitting_functions.FittingRegion(x_min, x_max, y_min, y_max)[source]#

Bases: NamedTuple

x_max: float#

Alias for field number 1

x_min: float#

Alias for field number 0

y_max: float#

Alias for field number 3

y_min: float#

Alias for field number 2

class mantidimaging.core.fitting.fitting_functions.SantistebanFunction[source]#

Bases: BaseFittingFunction

Fitting algorithm for fitting Bragg Edges to the forumulas given by Santisteban: https://www.researchgate.net/publication/42793067_Time-of-flight_Neutron_Transmission_Diffraction

calculate_line_profile(xdata: ndarray, params: list[float]) ndarray[source]#
evaluate(xdata: ndarray, params: list[float]) ndarray[source]#
function_name: str = 'Santisteban'#
get_init_params_from_roi(region: FittingRegion) dict[str, float][source]#
left_side_fitting(xdata, ydata, a_0, b_0) list[float][source]#
parameter_names: list[str] = ['t_hkl', 'sigma', 'tau', 'h', 'a', 'a_0', 'b_0', 'a_hkl', 'b_hkl']#
prefitting(xdata: ndarray, ydata: ndarray, params: list[float]) list[float][source]#
right_side_fitting(xdata, ydata) list[float][source]#