# anaflow.tools.mean.annular_pmean

annular_pmean(func, val_arr, p=2.0, ann_dim=2, arg_dict=None, **kwargs)[source]

Calculating the annular p-mean.

Calculating the annular p-mean of a radial symmetric function for given consecutive radii defining annuli by the following formula

$\varphi_i=\left(\frac{d}{r_{i+1}^d-r_i^d} \intop^{r_{i+1}}_{r_i} r^{d-1}\cdot\varphi(r)^p\, dr \right)^{\frac{1}{p}}$
Parameters
• func (callable) – Function that should be used ($$\varphi$$ in the formula). The first argument needs to be the radial variable: func(r, **kwargs)

• val_arr (numpy.ndarray) – Radii defining the annuli.

• p (float, optional) – The potency defining the p-mean. Default: 2.0

• ann_dim (float, optional) – The dimension of the annuli. Default: 2.0

• arg_dict (dict or None, optional) – Keyword-arguments given as a dictionary that are forwarded to the function given in func. Will be merged with **kwargs. This is designed for overlapping keywords in annular_pmean and func. Default: None

• **kwargs – Keyword-arguments that are forwarded to the function given in func. Will be merged with arg_dict

Returns

Array with all calculated p-means

Return type

numpy.ndarray

Raises
• ValueError – If func is not callable.

• ValueError – If val_arr has less than 2 values.

• ValueError – If val_arr is not sorted in incresing order.

Notes

If the last value in val_arr is “inf”, the given function should provide a value for “inf” as input: func(float("inf"))