class UpDown(): def __init__(self, slth, var, f, miss=-1): self._pts, self._nframe = None, None self._miss = miss self._pd = FindPeaks(slth, var, f) def run(self, pts): self._pts = pts[1] if len(pts) == 2 else pts self._nframe = np.arange(self._pts.shape[0]) self.__remove_non_detect() y = self._pts[:, 1] ud = self._pd.run(y - y.mean()) return ud, self._nframe def __remove_non_detect(self): idx = ((self._pts[:, 0] != self._miss) & (self._pts[:, 1] != self._miss)) self._pts = self._pts[idx, :] self._nframe = self._nframe[idx]
def __init__(self, slth, var, f, miss=-1): self._pts, self._nframe = None, None self._miss = miss self._pd = FindPeaks(slth, var, f)