From 51e0d81c2845857e59de41fa07e9aab806d726d9 Mon Sep 17 00:00:00 2001 From: SGCMarkus Date: Mon, 15 Jul 2024 11:51:54 +0200 Subject: [PATCH] FlaredetectorWidget: signal epoch_time and support multiple minima/maxima --- main/astrodatagui/ui/FlaredetectorWidget.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/main/astrodatagui/ui/FlaredetectorWidget.py b/main/astrodatagui/ui/FlaredetectorWidget.py index a1666fd..292517e 100644 --- a/main/astrodatagui/ui/FlaredetectorWidget.py +++ b/main/astrodatagui/ui/FlaredetectorWidget.py @@ -13,6 +13,7 @@ from ...flaredetector.flaredetector import calculateFlareFitsForLightcurve class FlaredetectorWidget(QtWidgets.QWidget): periodsCalculated = pyqtSignal(list) + epochCalculated = pyqtSignal(float) def __init__(self, name): super(FlaredetectorWidget, self).__init__() @@ -197,7 +198,9 @@ class FlaredetectorWidget(QtWidgets.QWidget): self.foldedLC = lc.to_periodogram(method=self.PeriodogramState["Method"]) self.peaks, self.fits = calculateFlareFitsForLightcurve(self.currentFlattenLC, num=100) self.periods = [self.foldedLC.period[i] for i in findMaxIndices(self.foldedLC, num=4, distance=100, sortByHighest=True)] + self.epoch_time = getEpochTime(lc) self.periodsCalculated.emit(self.periods) + self.epochCalculated.emit(self.epoch_time) def updatePlot(self): lc = self.currentLC @@ -253,8 +256,8 @@ class FlaredetectorWidget(QtWidgets.QWidget): lc.flux[lc.cycle == cycle][foldedIndex], "x", color="red") phase, sineFit = getFoldedBestFit(lc) self.figureAxis.plot(phase, sineFit, color="red") - minPhaseBoundsIndices, maxPhaseBoundsIndices = getPhaseRangesNearPeak(getFoldedFitPeakValley(sineFit), phase) - plotPhaseRangesNearPeak((minPhaseBoundsIndices, maxPhaseBoundsIndices), phase, ax=self.figureAxis) + minPhasesBoundsIndices, maxPhasesBoundsIndices = getPhaseRangesNearPeak(getFoldedFitPeakValley(sineFit), phase) + plotPhaseRangesNearPeak((minPhasesBoundsIndices, maxPhasesBoundsIndices), phase, ax=self.figureAxis) elif(self.PeriodogramState["Enabled"]): lc.plot(label=label, ax=self.figureAxis, view=self.PeriodogramState["View"]) if(self.PeriodogramState["View"] == "period"):