variance_to_weights(variance, tol=1e-15, dtype='float64')¶
Converts data variances to weights for gridding.
Weights are defined as the inverse of the variance, scaled to the range [0, 1], i.e.
Any variance that is smaller than tol will automatically receive a weight of 1 to avoid zero division or blown up weights.
- variance : array or tuple of arrays
An array with the variance of each point. If there are multiple arrays in a tuple, will calculated weights for each of them separately. Can have NaNs but they will be converted to zeros and therefore receive a weight of 1.
- tol : float
The tolerance, or cutoff threshold, for small variances.
- dtype : str or numpy dtype
The type of the output weights array.
- weights : array or tuple of arrays
Data weights in the range [0, 1] with the same shape as variance. If more than one variance array was provided, then this will be a tuple with the weights corresponding to each variance array.
>>> print(variance_to_weights([0, 2, 0.2, 1e-16])) [1. 0.1 1. 1. ] >>> print(variance_to_weights([0, 0, 0, 0])) [1. 1. 1. 1.] >>> for w in variance_to_weights(([0, 1, 10], [2, 4.0, 8])): ... print(w) [1. 1. 0.1] [1. 0.5 0.25]