colour.continuous.AbstractContinuousFunction

class colour.continuous.AbstractContinuousFunction(name=None)[source]

Bases: object

Defines the base class for abstract continuous function.

This is an ABCMeta abstract class that must be inherited by sub-classes.

The sub-classes are expected to implement the colour.continuous.AbstractContinuousFunction.function() method so that evaluating the function for any independent domain \(x \in\mathbb{R}\) variable returns a corresponding range \(y \in\mathbb{R}\) variable. A conventional implementation adopts an interpolating function encapsulated inside an extrapolating function. The resulting function independent domain, stored as discrete values in the colour.continuous.AbstractContinuousFunction.domain attribute corresponds with the function dependent and already known range stored in the colour.continuous.AbstractContinuousFunction.range attribute.

Parameters

name (unicode, optional) – Continuous function name.

name
domain
range
interpolator
interpolator_args
extrapolator
extrapolator_args
function
__str__()[source]
__repr__()[source]
__hash__()[source]
__getitem__()[source]
__setitem__()[source]
__contains__()[source]
__len__()[source]
__eq__()[source]
__ne__()[source]
__iadd__()[source]
__add__()[source]
__isub__()[source]
__sub__()[source]
__imul__()[source]
__mul__()[source]
__idiv__()[source]
__div__()[source]
__ipow__()[source]
__pow__()[source]
arithmetical_operation()[source]
fill_nan()[source]
domain_distance()[source]
is_uniform()[source]
copy()[source]
abstract arithmetical_operation(a, operation, in_place=False)[source]

Performs given arithmetical operation with \(a\) operand, the operation can be either performed on a copy or in-place, must be reimplemented by sub-classes.

Parameters
Returns

Abstract continuous function.

Return type

AbstractContinuousFunction

copy()[source]

Returns a copy of the sub-class instance.

Returns

Abstract continuous function copy.

Return type

AbstractContinuousFunction

abstract property domain

Getter and setter property for the abstract continuous function independent domain \(x\) variable, must be reimplemented by sub-classes.

Parameters

value (array_like) – Value to set the abstract continuous function independent domain \(x\) variable with.

Returns

Abstract continuous function independent domain \(x\) variable.

Return type

ndarray

domain_distance(a)[source]

Returns the euclidean distance between given array and independent domain \(x\) closest element.

Parameters

a (numeric or array_like) – \(a\) variable to compute the euclidean distance with independent domain \(x\) variable.

Returns

Euclidean distance between independent domain \(x\) variable and given \(a\) variable.

Return type

numeric or array_like

abstract property extrapolator

Getter and setter property for the abstract continuous function extrapolator type, must be reimplemented by sub-classes.

Parameters

value (type) – Value to set the abstract continuous function extrapolator type with.

Returns

Abstract continuous function extrapolator type.

Return type

type

abstract property extrapolator_args

Getter and setter property for the abstract continuous function extrapolator instantiation time arguments, must be reimplemented by sub-classes.

Parameters

value (dict) – Value to set the abstract continuous function extrapolator instantiation time arguments to.

Returns

Abstract continuous function extrapolator instantiation time arguments.

Return type

dict

abstract fill_nan(method='Interpolation', default=0)[source]

Fill NaNs in independent domain \(x\) variable and corresponding range \(y\) variable using given method, must be reimplemented by sub-classes.

Parameters
  • method (unicode, optional) – {‘Interpolation’, ‘Constant’}, Interpolation method linearly interpolates through the NaNs, Constant method replaces NaNs with default.

  • default (numeric, optional) – Value to use with the Constant method.

Returns

NaNs filled abstract continuous function.

Return type

AbstractContinuousFunction

abstract property function

Getter and setter property for the abstract continuous function callable, must be reimplemented by sub-classes.

Parameters

value (object) – Attribute value.

Returns

Abstract continuous function callable.

Return type

callable

Notes

  • This property is read only.

abstract property interpolator

Getter and setter property for the abstract continuous function interpolator type, must be reimplemented by sub-classes.

Parameters

value (type) – Value to set the abstract continuous function interpolator type with.

Returns

Abstract continuous function interpolator type.

Return type

type

abstract property interpolator_args

Getter and setter property for the abstract continuous function interpolator instantiation time arguments, must be reimplemented by sub-classes.

Parameters

value (dict) – Value to set the abstract continuous function interpolator instantiation time arguments to.

Returns

Abstract continuous function interpolator instantiation time arguments.

Return type

dict

is_uniform()[source]

Returns if independent domain \(x\) variable is uniform.

Returns

Is independent domain \(x\) variable uniform.

Return type

bool

property name

Getter and setter property for the abstract continuous function name.

Parameters

value (unicode) – Value to set the abstract continuous function name with.

Returns

Abstract continuous function name.

Return type

unicode

abstract property range

Getter and setter property for the abstract continuous function corresponding range \(y\) variable, must be reimplemented by sub-classes.

Parameters

value (array_like) – Value to set the abstract continuous function corresponding range \(y\) variable with.

Returns

Abstract continuous function corresponding range \(y\) variable.

Return type

ndarray