BaseFitter1D

class glue.core.fitters.BaseFitter1D(**params)[source]

Bases: object

Base class for 1D fitters.

This abstract class must be overwritten.

Attributes Summary

constraints

A dict of the constraints on each parameter in param_names.

label

A short label for the fit, used by the GUI

options

A dictionary of the current setting of each model hyperparameter.

param_names

list of parameter names that support restrictions

Methods Summary

build_and_fit(self, x, y[, dy])

Method which builds the arguments to fit, and calls that method

fit(self, x, y, dy, constraints, \*\*options)

Fit the model to data.

plot(self, fit_result, axes, x[, linewidth, …])

Plot the result of a fit.

predict(self, fit_result, x)

Evaluate the model at a set of locations.

set_constraint(self, parameter_name[, …])

Update a constraint.

summarize(self, fit_result, x, y[, dy])

Return a textual summary of the fit.

Attributes Documentation

constraints

A dict of the constraints on each parameter in param_names. Each value is itself a dict with 3 items:

Key value

The default value

Key fixed

True / False, indicating whether the parameter is fixed

Key bounds

[min, max] or None, indicating lower/upper limits

label = 'Fitter'

A short label for the fit, used by the GUI

options

A dictionary of the current setting of each model hyperparameter.

Hyperparameters are defined in subclasses by creating class-level Option attributes. This attribute dict maps {hyperparameter_name: current_value}

param_names = []

list of parameter names that support restrictions

Methods Documentation

build_and_fit(self, x, y, dy=None)[source]

Method which builds the arguments to fit, and calls that method

fit(self, x, y, dy, constraints, **options)[source]

Fit the model to data.

This must be overriden by a subclass.

Parameters
  • x (numpy.ndarray) – The x values of the data

  • y (numpy.ndarray) – The y values of the data

  • dy (numpy.ndarray) – 1 sigma uncertainties on each datum (optional)

  • constraints – The current value of the constraints property

  • options – kwargs for model hyperparameters.

Returns

An object representing the fit result.

plot(self, fit_result, axes, x, linewidth=None, alpha=None, color=None, normalize=None)[source]

Plot the result of a fit.

Parameters
  • fit_result – The output from fit

  • axes – The Matplotlib axes to add the fit to

  • x – The values of X at which to visualize the model

Returns

A list of matplotlib artists. This is important: plots will not be properly cleared if this isn’t provided

predict(self, fit_result, x)[source]

Evaluate the model at a set of locations.

This must be overridden in a subclass.

Parameters
  • fit_result – The result from the fit method

  • x (numpy.ndarray) – Locations to evaluate model at

Returns

model(x)

Return type

numpy.ndarray

set_constraint(self, parameter_name, value=None, fixed=None, limits=None)[source]

Update a constraint.

Parameters
  • parameter_name (str) – name of the parameter to update

  • value – Set the default value (optional)

  • limits – Set the limits to[min, max] (optional)

  • fixed – Set whether the parameter is fixed (optional)

summarize(self, fit_result, x, y, dy=None)[source]

Return a textual summary of the fit.

Parameters
  • fit_result – The return value from fit()

  • x – The x values passed to fit()

Returns

A description of the fit result

Return type

str