Ionics Fits

Python data fitting library with an emphasis on Atomic Molecular and Optical Physics.

ionics_fits was inspired by the Oxford Ion Trap Group fitting library originally authored by @tballance.

Overview

There are four main types of object in ionics_fits:

The main source of documentation is the ionics-fits API manual. This has documentation for all classes in ionics_fits, with worked examples.

ionics_fits aims to provide extensive, user-friendly documentation. If you can’t easily find the information you need to use it, we consider that a bug so please open an issue.

Model Parameters

A ModelParameter represents a parameter of the model, along with metadata such as the limits the parameter is allowed to vary over, wheter it is fixed to a constant value or floated during the fit, etc.

Models

A Model represents a fit function along with a dictionary of its parameters and heuristics used to find a good starting point for the fitter. Models are agnostic about the statistics of the datasets they are used to fit.

Model provides a callable interface to make it covenient to use them outside of fits. See ionics_fits.common.Model.__call__() for details.

Transformations are a special class of models which modify the behaviour of other models, for example allowing a model to be reparametrized or combining existing models to create a new model with greater dimensionality.

Fitters

Fitters perform maximum-likelihood parameter estimation to fit datasets to models. A number of Fitters are provided to handle common statistical distributions, such as Normal and Binomial distributions.

Validators

It’s not enough to just fit the data, we want to know if we can trust the fit results before acting on them. This is the job of FitValidators. See the Validators API documentation for details.

Contents

Indices and tables