Source code for tape.analysis.structure_function.basic.calculator
from typing import List
import numpy as np
from tape.analysis.structure_function.base_argument_container import StructureFunctionArgumentContainer
from tape.analysis.structure_function.base_calculator import StructureFunctionCalculator
[docs]
class BasicStructureFunctionCalculator(StructureFunctionCalculator):
"""
SF calculation method that calculates excess variance directly as a
variance of observations with observational errors subtracted.
For reference, please see Equation 12 in https://arxiv.org/abs/1604.05858
"""
[docs]
def calculate(self):
values_to_be_binned = [
np.square(lc.sample_d_fluxes) - lc.sample_sum_squared_error for lc in self._lightcurves
]
dts, sfs = self._calculate_binned_statistics(sample_values=values_to_be_binned)
return dts, sfs
@staticmethod
[docs]
def name_id() -> str:
return "basic"
@staticmethod
[docs]
def expected_argument_container() -> type:
return StructureFunctionArgumentContainer