diff --git a/main/astrodatagui/AstrodataGUI.py b/main/astrodatagui/AstrodataGUI.py index ab16dee..2038677 100644 --- a/main/astrodatagui/AstrodataGUI.py +++ b/main/astrodatagui/AstrodataGUI.py @@ -61,6 +61,8 @@ class AstrodataGUI(QtWidgets.QMainWindow): self.btCountAllFlares.clicked.connect(self.btCountAllFlaresClicked) self.btOpenSavedFlareCountFile.clicked.connect(self.btOpenSavedFlareCountFileClicked) + self.flaredetectorPreview.periodsCalculated.connect(self.updatePeriods) + self.setupCustomSimbadQueries() self.show() self.loadDB() @@ -200,6 +202,9 @@ class AstrodataGUI(QtWidgets.QMainWindow): filePath = self.starDB.getFilePath(mainName, source, seq) self.flaredetectorPreview.setFitsFile(filePath, mainName) + def updatePeriods(self, periods: list): + self.edPlotFoldPeriod.setText(str(periods[0].value)) + def btCombineSeqClicked(self): #self.gbPlotOptionsNormalize.setEnabled(False) mainName = self.listDownloaded.currentItem().text() diff --git a/main/astrodatagui/ui/FlaredetectorWidget.py b/main/astrodatagui/ui/FlaredetectorWidget.py index 789d892..6093a19 100644 --- a/main/astrodatagui/ui/FlaredetectorWidget.py +++ b/main/astrodatagui/ui/FlaredetectorWidget.py @@ -1,4 +1,5 @@ from PyQt5 import QtWidgets +from PyQt5.QtCore import pyqtSignal from matplotlib.figure import Figure from matplotlib.backends.backend_qtagg import ( FigureCanvas, NavigationToolbar2QT as NavigationToolbar) @@ -13,6 +14,9 @@ from ...flaredetector.util import (findMaxIndices, plotFlarePeaks, from ...flaredetector.flaredetector import calculateFlareFitsForLightcurve class FlaredetectorWidget(QtWidgets.QWidget): + + periodsCalculated = pyqtSignal(list) + def __init__(self, name): super(FlaredetectorWidget, self).__init__() @@ -193,7 +197,10 @@ class FlaredetectorWidget(QtWidgets.QWidget): lc.flux_err = lc[self.fluxErrType] self.currentFlattenLC = lc.flatten(window_length=self.FlattenState["WindowLength"], polyorder=self.FlattenState["PolynomialOrder"]) + 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=False)] + self.periodsCalculated.emit(self.periods) def updatePlot(self): lc = self.currentLC