smlmlp.analysis module

smlmlp.analysis(timeit=True, df_name='detections')[source]

Decorator for analysis functions to read values from Locs or config objects.

Parameter resolution order: 1. kwargs (explicitly provided) 2. locs.{df_name} (if locs provided) 3. config (if locs provided: locs.config, else: provided config) 4. function default

If locs is provided, config must not also be provided.

This decorator works for functions and generators. Computation time is added for each call.

Parameters:
  • timeit (bool, optional) – Whether to record execution time. Default is True.

  • df_name (str, optional) – Name of the Locs dataframe used to fill function arguments. Default is 'detections'.

Returns:

Decorator for an analysis function.

Return type:

function

Examples

>>> from smlmlp import analysis
>>> @analysis(df_name="points")
... def scaled(x, *, scale=1.0, cuda=False, parallel=False):
...     return x * scale, cuda, parallel, {}
>>> import numpy as np
>>> from types import SimpleNamespace
>>> locs = SimpleNamespace(
...     points=SimpleNamespace(x=np.array([1.0, 2.0])),
...     config=SimpleNamespace(scale=3.0),
...     printer=None,
...     times={},
... )
>>> values, cuda, parallel, info = scaled(locs=locs)
>>> list(values)
[3.0, 6.0]

Aggregate

Associate

Calibration

Clustering

Demix

Drift

Image

Lost

Metric

Modloc

Orient

Transform