Source code for lsst.sims.maf.metrics.fftMetric

from scipy import fftpack
from .baseMetric import BaseMetric

__all__ = ['FftMetric']

[docs]class FftMetric(BaseMetric): """Calculate a truncated FFT of the exposure times.""" def __init__(self, timesCol='expmjd', metricName='Fft', nCoeffs=100, **kwargs): """Instantiate metric. 'timesCol' = column with the time of the visit (default expmjd), 'nCoeffs' = number of coefficients of the (real) FFT to keep.""" self.times = timesCol super(FftMetric, self).__init__(col=[self.times], metricName=metricName, **kwargs) # Set up length of return values. self.nCoeffs = nCoeffs return
[docs] def run(self, dataSlice, slicePoint=None): fft = fftpack.rfft(dataSlice[self.times]) return fft[0:self.nCoeffs]
[docs] def reducePeak(self, fftCoeff): pass