From a4ec9d12b9d9e175d7a90e669caeebd6ad699527 Mon Sep 17 00:00:00 2001 From: SGCMarkus Date: Tue, 13 Aug 2024 11:38:52 +0200 Subject: [PATCH] flaredetector: util: make sure we have 1 minima/maxima if 1 maxima/minima exists --- main/flaredetector/util.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/main/flaredetector/util.py b/main/flaredetector/util.py index 4e2a5b4..f3f56b4 100644 --- a/main/flaredetector/util.py +++ b/main/flaredetector/util.py @@ -138,8 +138,6 @@ def getFoldedBestFit(foldedLc): def getFoldedFitPeakValley(sineFit): minima = argrelextrema(sineFit, np.less)[0] maxima = argrelextrema(sineFit, np.greater)[0] - #print(minima) - #print(maxima) if(len(minima) > 0 and len(maxima) > 0): if(minima[0] < maxima[0] and minima[-1] > maxima[-1]): if(sineFit[minima[0]] > sineFit[minima[-1]]): @@ -152,6 +150,17 @@ def getFoldedFitPeakValley(sineFit): else: maxima = np.delete(maxima, 0) + if(len(minima) == 0 and len(maxima) == 1): + if(sineFit[0] < sineFit[-1]): + minima = np.array((0)) + else: + minima = np.array((len(sineFit)-1)) + elif(len(minima) == 1 and len(maxima) == 0): + if(sineFit[0] > sineFit[-1]): + minima = np.array((0)) + else: + minima = np.array((len(sineFit)-1)) + return minima, maxima def findNearestIndexOfValue(array, value):