flaredetector: util: allow setting min height for peaks

This commit is contained in:
2024-03-28 12:01:39 +01:00
parent fffe94916e
commit 54629bf5cd
+3 -2
View File
@@ -4,14 +4,15 @@ from scipy.signal import find_peaks
from lightkurve.periodogram import Periodogram from lightkurve.periodogram import Periodogram
from lightkurve.lightcurve import LightCurve from lightkurve.lightcurve import LightCurve
def findMaxIndices(lc, num=3, distance=100): def findMaxIndices(lc, num=3, distance=100, height=(None, None)):
if(isinstance(lc, Periodogram)): if(isinstance(lc, Periodogram)):
data = lc.power data = lc.power
elif(isinstance(lc, LightCurve)): elif(isinstance(lc, LightCurve)):
data = lc.flux data = lc.flux
else: else:
return np.zeros(num)-1 return np.zeros(num)-1
peak_indices, peak_dict = find_peaks(data, height=(None, None), distance=distance) peak_indices, peak_dict = find_peaks(data, height=height,
distance=distance)
peak_heights = peak_dict["peak_heights"] peak_heights = peak_dict["peak_heights"]
maxIndices = peak_indices[np.argsort(peak_heights)[-num:][::-1]] maxIndices = peak_indices[np.argsort(peak_heights)[-num:][::-1]]
return maxIndices return maxIndices