flaredetector: util: make sure we have 1 minima/maxima if 1 maxima/minima exists

This commit is contained in:
2024-08-13 11:38:52 +02:00
parent b7f25dfba5
commit a4ec9d12b9
+11 -2
View File
@@ -138,8 +138,6 @@ def getFoldedBestFit(foldedLc):
def getFoldedFitPeakValley(sineFit): def getFoldedFitPeakValley(sineFit):
minima = argrelextrema(sineFit, np.less)[0] minima = argrelextrema(sineFit, np.less)[0]
maxima = argrelextrema(sineFit, np.greater)[0] maxima = argrelextrema(sineFit, np.greater)[0]
#print(minima)
#print(maxima)
if(len(minima) > 0 and len(maxima) > 0): if(len(minima) > 0 and len(maxima) > 0):
if(minima[0] < maxima[0] and minima[-1] > maxima[-1]): if(minima[0] < maxima[0] and minima[-1] > maxima[-1]):
if(sineFit[minima[0]] > sineFit[minima[-1]]): if(sineFit[minima[0]] > sineFit[minima[-1]]):
@@ -152,6 +150,17 @@ def getFoldedFitPeakValley(sineFit):
else: else:
maxima = np.delete(maxima, 0) 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 return minima, maxima
def findNearestIndexOfValue(array, value): def findNearestIndexOfValue(array, value):