labcore.analysis.fit#

Functions

fit_and_add_to_ds(ds, dim_name, fit_class[, ...])

plot_ds_2d_with_fit(ds, dim_name[, x, y, ...])

xr2fitinput(arr)

Classes

Analysis(coordinates, data)

Basic analysis object.

AnalysisResult(parameters)

Fit(coordinates, data)

FitResult(lmfit_result)

Parameter(name[, value])

Parameters

A collection of parameters

class labcore.analysis.fit.Analysis(coordinates: Tuple[ndarray, ...] | ndarray, data: ndarray)[source]#

Bases: object

Basic analysis object.

Parameters:
  • coordinates – may be a single 1d numpy array (for a single coordinate) or a tuple of 1d arrays (for multiple coordinates).

  • data – a 1d array of data

analyze(coordinates: Tuple[ndarray, ...] | ndarray, data: ndarray, *args: Any, **kwargs: Any) AnalysisResult[source]#

Needs to be implemented by each inheriting class.

run(*args: Any, **kwargs: Any) AnalysisResult[source]#
class labcore.analysis.fit.AnalysisResult(parameters: Dict[str, Dict[str, Any] | Any])[source]#

Bases: object

eval(*args: Any, **kwargs: Any) ndarray[source]#

Analysis types that produce data (like filters or fits) should implement this.

params_to_dict() Dict[str, Any][source]#

Get all analysis parameters. Returns a dictionary that contains one key per parameter (its name). Each value contains all attributes of the parameter object, except those whose names start with _ and those that are callable.

class labcore.analysis.fit.Fit(coordinates: Tuple[ndarray, ...] | ndarray, data: ndarray)[source]#

Bases: Analysis

analyze(coordinates: Tuple[ndarray, ...] | ndarray, data: ndarray, dry: bool = False, params: Dict[str, Any] = {}, *args: Any, **fit_kwargs: Any) FitResult[source]#

Needs to be implemented by each inheriting class.

static guess(coordinates: Tuple[ndarray, ...] | ndarray, data: ndarray) Dict[str, Any][source]#
static model(*arg: Any, **kwarg: Any) ndarray[source]#
class labcore.analysis.fit.FitResult(lmfit_result: ModelResult)[source]#

Bases: AnalysisResult

eval(*args: Any, **kwargs: Any) ndarray[source]#

Analysis types that produce data (like filters or fits) should implement this.

class labcore.analysis.fit.Parameter(name: str, value: Any | None = None, **kw: Any)[source]#

Bases: object

class labcore.analysis.fit.Parameters[source]#

Bases: OrderedDict

A collection of parameters

add(name: str, **kw: Any) None[source]#

Add/overwrite a parameter in the collection.

labcore.analysis.fit.fit_and_add_to_ds(ds: Dataset, dim_name: str, fit_class: Type[Fit], dim_order: List[int] | None = None, **run_kwargs: Any) Tuple[Dataset, FitResult][source]#
labcore.analysis.fit.plot_ds_2d_with_fit(ds: Dataset, dim_name: str, x: str | None = None, y: str | None = None, plot_kwargs: Dict[str, Any] = {})[source]#
labcore.analysis.fit.xr2fitinput(arr: DataArray) Tuple[List[ndarray], ndarray][source]#