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
locsis provided,configmust 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]