calix.common.algorithms

Provides algorithms for running calibrations. Those algorithms need a Calib instance which, among other settings, yields instructions for configuring parameters and measuring results.

Classes

BinarySearch()

Perform a binary search within the parameter range of a calibration.

LinearPrediction(probe_parameters, …)

Class implementing a first degree polynomial.

LinearSearch(initial_parameters, …)

Perform a linear search within the given parameter range to calibrate.

NoisyBinarySearch(noise_amplitude)

Perform binary search with noisy start parameters.

PolynomialPrediction(probe_parameters, …)

Class implementing a polynomial predictive model.

PredictiveModel(probe_parameters, numpy.ndarray])

Base class for predictive models, which calculate the ideal parameters to achieve a target result based on a model.

Functions

calix.common.algorithms.abstractmethod(funcobj)

A decorator indicating abstract methods.

Requires that the metaclass is ABCMeta or derived from it. A class that has a metaclass derived from ABCMeta cannot be instantiated unless all of its abstract methods are overridden. The abstract methods can be called using any of the normal ‘super’ call mechanisms. abstractmethod() may be used to declare abstract methods for properties and descriptors.

Usage:

class C(metaclass=ABCMeta):

@abstractmethod def my_abstract_method(self, …):