Source code for ewoksid02.utils.mathutils

import numexpr
import numpy


[docs] def get_variance_from_sigma( dataset_sigma: numpy.ndarray, Dummy: float = 0.0 ) -> numpy.ndarray: return numexpr.evaluate("where(dataset_sigma <= 0.0, Dummy, dataset_sigma ** 2)")
[docs] def is_dataset(dataset: numpy.ndarray) -> bool: if dataset is None: return False if isinstance(dataset, numpy.ndarray): if dataset.size == 0: return False return True
[docs] def calculate_dataset_variance( dataset_signal: numpy.ndarray, variance_formula: str = None, dark: numpy.ndarray = None, ): if not variance_formula: return variance_function = numexpr.NumExpr( variance_formula, [("data", numpy.float64), ("dark", numpy.float64)] ) dataset_variance = variance_function(dataset_signal, 0 if dark is None else dark) return dataset_variance