diff --git a/main/astrodatagui/ui/FlaredetectorWidget.py b/main/astrodatagui/ui/FlaredetectorWidget.py index 4562e98..c6fd3b9 100644 --- a/main/astrodatagui/ui/FlaredetectorWidget.py +++ b/main/astrodatagui/ui/FlaredetectorWidget.py @@ -6,6 +6,8 @@ from matplotlib.backends.backend_qtagg import ( from astropy.io import fits import lightkurve as lk +from ...flaredetector.util import findMaxIndices + class FlaredetectorWidget(QtWidgets.QWidget): def __init__(self, name): super(FlaredetectorWidget, self).__init__() @@ -25,10 +27,20 @@ class FlaredetectorWidget(QtWidgets.QWidget): self.periodogramInfoLayout = QtWidgets.QHBoxLayout() self.periodogramInfoGroupBox.setLayout(self.periodogramInfoLayout) self.periodogramInfoGroupBox.setVisible(False) - self.lbMaxPowerPeriodText = QtWidgets.QLabel("Max Power Period: ") - self.lbMaxPowerPeriod = QtWidgets.QLabel("") - self.periodogramInfoLayout.addWidget(self.lbMaxPowerPeriodText) - self.periodogramInfoLayout.addWidget(self.lbMaxPowerPeriod) + self.lbMaxPowerPeriod1 = QtWidgets.QLabel("") + self.lbMaxPowerPeriod2 = QtWidgets.QLabel("") + self.lbMaxPowerPeriod3 = QtWidgets.QLabel("") + self.lbMaxPowerPeriod4 = QtWidgets.QLabel("") + self.periodogramInfoLayout.addWidget(QtWidgets.QLabel("1. Max Power: ")) + self.periodogramInfoLayout.addWidget(self.lbMaxPowerPeriod1) + self.periodogramInfoLayout.addWidget(QtWidgets.QLabel("2. Max Power: ")) + self.periodogramInfoLayout.addWidget(self.lbMaxPowerPeriod2) + self.periodogramInfoLayout.addWidget(QtWidgets.QLabel("3. Max Power: ")) + self.periodogramInfoLayout.addWidget(self.lbMaxPowerPeriod3) + self.periodogramInfoLayout.addWidget(QtWidgets.QLabel("4. Max Power: ")) + self.periodogramInfoLayout.addWidget(self.lbMaxPowerPeriod4) + sp = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum) + self.periodogramInfoGroupBox.setSizePolicy(sp) self.mainLayout.addWidget(self.periodogramInfoGroupBox) self.fluxType = "sap_flux" @@ -183,7 +195,13 @@ class FlaredetectorWidget(QtWidgets.QWidget): if(self.PeriodogramState["Enabled"]): lc = lc.to_periodogram(method=self.PeriodogramState["Method"]) label = "Periodogram" - self.lbMaxPowerPeriod.setText(str(lc.period_at_max_power)) + + maxPowers = findMaxIndices(lc.power, 4) + print(maxPowers) + self.lbMaxPowerPeriod1.setText(str(lc.period[maxPowers[0]])) + self.lbMaxPowerPeriod2.setText(str(lc.period[maxPowers[1]])) + self.lbMaxPowerPeriod3.setText(str(lc.period[maxPowers[2]])) + self.lbMaxPowerPeriod4.setText(str(lc.period[maxPowers[3]])) self.periodogramInfoGroupBox.setVisible(self.PeriodogramState["Enabled"]) @@ -192,6 +210,10 @@ class FlaredetectorWidget(QtWidgets.QWidget): lc.scatter(label=label, ax=self.figureAxis) elif(self.PeriodogramState["Enabled"]): lc.plot(label=label, ax=self.figureAxis, view=self.PeriodogramState["View"]) + if(self.PeriodogramState["View"] == "period"): + self.figureAxis.plot(lc.period[maxPowers], lc.power[maxPowers], "x") + if(self.PeriodogramState["View"] == "frequency"): + self.figureAxis.plot(lc.frequency[maxPowers], lc.power[maxPowers], "x") else: lc.plot(label=label, ax=self.figureAxis) self.figure.canvas.draw_idle() \ No newline at end of file