From c1c58746e9d9cb291a155e79ddaf0fb50798dfbe Mon Sep 17 00:00:00 2001 From: SGCMarkus Date: Sat, 31 May 2025 16:52:41 +0200 Subject: [PATCH] FlareSummaryPlotGUI: bring up to date --- main/astrodatagui/FlareSummaryPlotGUI.py | 230 +++++++---------------- 1 file changed, 66 insertions(+), 164 deletions(-) diff --git a/main/astrodatagui/FlareSummaryPlotGUI.py b/main/astrodatagui/FlareSummaryPlotGUI.py index 9f9ab67..cd5a988 100644 --- a/main/astrodatagui/FlareSummaryPlotGUI.py +++ b/main/astrodatagui/FlareSummaryPlotGUI.py @@ -120,7 +120,7 @@ class FlareSummaryPlotGUI(QWidget): self.cbSpTypeUnknown.setChecked(False) self.cbShowSAP = QCheckBox("SAP") - self.cbShowSAP.setChecked(True) + self.cbShowSAP.setChecked(False) self.cbShowPDCSAP = QCheckBox("PDCSAP") self.cbShowPDCSAP.setChecked(True) @@ -129,12 +129,12 @@ class FlareSummaryPlotGUI(QWidget): self.buttonGridLayout.addWidget(self.btShowFlaresPerStar, 0, 2) self.buttonGridLayout.addWidget(self.btShowFlaresPerStarNormalized, 0, 3) self.buttonGridLayout.addWidget(self.btShowPeriods, 0, 4) - self.buttonGridLayout.addWidget(self.btNumMinimaMaxima, 0, 5) - self.buttonGridLayout.addWidget(self.btNumMinimaMaximaNorm, 0, 6) - self.buttonGridLayout.addWidget(self.btShowFlaresInMinimaMaxima, 0, 7) - self.buttonGridLayout.addWidget(self.btShowFlaresInMinimaMaximaPerMinimaMaxima, 0, 8) - self.buttonGridLayout.addWidget(self.btShowFlaresBinnedOnPhase, 0, 9) - self.buttonGridLayout.addWidget(self.textNumBins, 0, 10) + #self.buttonGridLayout.addWidget(self.btNumMinimaMaxima, 0, 5) + #self.buttonGridLayout.addWidget(self.btNumMinimaMaximaNorm, 0, 6) + #self.buttonGridLayout.addWidget(self.btShowFlaresInMinimaMaxima, 0, 7) + #self.buttonGridLayout.addWidget(self.btShowFlaresInMinimaMaximaPerMinimaMaxima, 0, 8) + #self.buttonGridLayout.addWidget(self.btShowFlaresBinnedOnPhase, 0, 9) + #self.buttonGridLayout.addWidget(self.textNumBins, 0, 10) self.buttonGridLayout.addWidget(QLabel("Sources: "), 1, 0) self.buttonGridLayout.addWidget(self.cbKepler, 1, 1) @@ -149,7 +149,7 @@ class FlareSummaryPlotGUI(QWidget): self.buttonGridLayout.addWidget(self.cbSpTypeF, 2, 4) #self.buttonGridLayout.addWidget(self.cbSpTypeUnknown, 2, 6) - self.buttonGridLayout.addWidget(self.cbShowSAP, 3, 0) + #self.buttonGridLayout.addWidget(self.cbShowSAP, 3, 0) self.buttonGridLayout.addWidget(self.cbShowPDCSAP, 3, 1) self.mainLayout.addLayout(self.buttonGridLayout) @@ -243,27 +243,7 @@ class FlareSummaryPlotGUI(QWidget): self.figure.canvas.draw_idle() def btShowFlaresPerStarClicked(self): - data = self.starFLareDictList.drop(columns=['Distance', - 'DistanceUnit', - 'FilePath', - 'RotVel', - 'RotVelUnit', - 'Sequence', - 'pdcsapFits', - 'pdcsapPeaks', - 'sapFits', - 'sapPeaks', - 'sapPeriod', - 'sapPeriodMinima', - 'sapPeriodMinimaBoundaries', - 'sapPeriodMaxima', - 'sapPeriodMaximaBoundaries', - 'pdcsapValidTimespans', - 'pdcsapPeriod', - 'pdcsapPeriodMinima', - 'pdcsapPeriodMinimaBoundaries', - 'pdcsapPeriodMaxima', - 'pdcsapPeriodMaximaBoundaries']) + data = self.starFLareDictList showSourceFilter = np.full(len(data), False) @@ -277,9 +257,14 @@ class FlareSummaryPlotGUI(QWidget): showTESS = data["Source"] == "TESS" showSourceFilter |= showTESS + aggDic = {} + if(self.cbShowSAP.isChecked()): + aggDic["sapPeaksCount"] = "sum" + if(self.cbShowPDCSAP.isChecked()): + aggDic["pdcsapPeaksCount"] = "sum" + data = data[showSourceFilter].groupby(["StarName", "SpType"], - as_index=False).agg({"sapPeaksCount": "sum", - "pdcsapPeaksCount": "sum"}) + as_index=False).agg(aggDic) x = np.arange(start=1, stop=len(data)+1, step=1, dtype=int) if(self.cbSpTypeL.isChecked()): @@ -345,28 +330,7 @@ class FlareSummaryPlotGUI(QWidget): self.figure.canvas.draw_idle() def btShowFlaresPerStarNormalizedClicked(self): - data = self.starFLareDictList.drop(columns=['Distance', - 'DistanceUnit', - 'FilePath', - 'RotVel', - 'RotVelUnit', - 'Sequence', - 'pdcsapFits', - 'pdcsapPeaks', - 'sapFits', - 'sapValidTimespans', - 'sapPeaks', - 'sapPeriod', - 'sapPeriodMinima', - 'sapPeriodMinimaBoundaries', - 'sapPeriodMaxima', - 'sapPeriodMaximaBoundaries', - 'pdcsapValidTimespans', - 'pdcsapPeriod', - 'pdcsapPeriodMinima', - 'pdcsapPeriodMinimaBoundaries', - 'pdcsapPeriodMaxima', - 'pdcsapPeriodMaximaBoundaries']) + data = self.starFLareDictList showSourceFilter = np.full(len(data), False) @@ -380,11 +344,16 @@ class FlareSummaryPlotGUI(QWidget): showTESS = data["Source"] == "TESS" showSourceFilter |= showTESS + aggDic = {} + if(self.cbShowSAP.isChecked()): + aggDic["sapPeaksCount"] = "sum" + aggDic["sapValidSeconds"] = "sum" + if(self.cbShowPDCSAP.isChecked()): + aggDic["pdcsapPeaksCount"] = "sum" + aggDic["pdcsapValidSeconds"] = "sum" + data = data[showSourceFilter].groupby(["StarName", "SpType"], - as_index=False).agg({"sapPeaksCount": "sum", - "pdcsapPeaksCount": "sum", - "sapValidSeconds": "sum", - "pdcsapValidSeconds": "sum"}) + as_index=False).agg(aggDic) x = np.arange(start=1, stop=len(data)+1, step=1, dtype=int) if(self.cbSpTypeL.isChecked()): @@ -462,30 +431,7 @@ class FlareSummaryPlotGUI(QWidget): self.figure.canvas.draw_idle() def btShowPeriodsClicked(self): - data = self.starFLareDictList.drop(columns=['Distance', - 'DistanceUnit', - 'FilePath', - 'RotVel', - 'RotVelUnit', - 'Sequence', - 'pdcsapFits', - 'pdcsapPeaks', - 'sapFits', - 'sapValidTimespans', - 'sapPeaks', - 'sapPeriodMinima', - 'sapPeriodMinimaBoundaries', - 'sapPeriodMaxima', - 'sapPeriodMaximaBoundaries', - 'pdcsapValidTimespans', - 'pdcsapPeriodMinima', - 'pdcsapPeriodMinimaBoundaries', - 'pdcsapPeriodMaxima', - 'pdcsapPeriodMaximaBoundaries', - 'sapPeaksCount', - 'pdcsapPeaksCount', - 'sapValidSeconds', - 'pdcsapValidSeconds']) + data = self.starFLareDictList showSourceFilter = np.full(len(data), False) @@ -499,11 +445,14 @@ class FlareSummaryPlotGUI(QWidget): showTESS = data["Source"] == "TESS" showSourceFilter |= showTESS - print(data["sapPeriod"]) + aggDic = {} + if(self.cbShowSAP.isChecked()): + aggDic["sapPeriod"] = "sum" + if(self.cbShowPDCSAP.isChecked()): + aggDic["pdcsapPeriod"] = "sum" data = data[showSourceFilter].groupby(["StarName", "SpType"], - as_index=False).agg({"sapPeriod": "mean", - "pdcsapPeriod": "mean"}) + as_index=False).agg(aggDic) x = np.arange(start=1, stop=len(data)+1, step=1, dtype=int) if(self.cbSpTypeL.isChecked()): @@ -582,20 +531,7 @@ class FlareSummaryPlotGUI(QWidget): pass def btShowNumMinimaMaximaClicked(self): - data = self.starFLareDictList.drop(columns=['Distance', - 'DistanceUnit', - 'FilePath', - 'RotVel', - 'RotVelUnit', - 'Sequence', - 'pdcsapFits', - 'sapFits', - 'sapValidTimespans', - 'pdcsapValidTimespans', - 'sapPeaksCount', - 'pdcsapPeaksCount', - 'sapValidSeconds', - 'pdcsapValidSeconds']) + data = self.starFLareDictList showSourceFilter = np.full(len(data), False) @@ -609,13 +545,15 @@ class FlareSummaryPlotGUI(QWidget): showTESS = data["Source"] == "TESS" showSourceFilter |= showTESS - print(data["sapPeriod"]) - + aggDic = {} + if(self.cbShowSAP.isChecked()): + aggDic["sapPeriodMinima"] = "sum" + aggDic["sapPeriodMaxima"] = "sum" + if(self.cbShowPDCSAP.isChecked()): + aggDic["pdcsapPeriodMinima"] = "sum" + aggDic["pdcsapPeriodMaxima"] = "sum" data = data[showSourceFilter].groupby(["StarName", "SpType"], - as_index=False).agg({"sapPeriodMinima": sumArrayLengths, - "sapPeriodMaxima": sumArrayLengths, - "pdcsapPeriodMinima": sumArrayLengths, - "pdcsapPeriodMaxima": sumArrayLengths}) + as_index=False).agg(aggDic) x = np.arange(start=1, stop=len(data)+1, step=1, dtype=int) if(self.cbSpTypeL.isChecked()): @@ -718,20 +656,7 @@ class FlareSummaryPlotGUI(QWidget): pass def btShowNumMinimaMaximaNormalizedClicked(self): - data = self.starFLareDictList.drop(columns=['Distance', - 'DistanceUnit', - 'FilePath', - 'RotVel', - 'RotVelUnit', - 'Sequence', - 'pdcsapFits', - 'sapFits', - 'sapValidTimespans', - 'pdcsapValidTimespans', - 'sapPeaksCount', - 'pdcsapPeaksCount', - 'sapValidSeconds', - 'pdcsapValidSeconds']) + data = self.starFLareDictList showSourceFilter = np.full(len(data), False) @@ -745,13 +670,15 @@ class FlareSummaryPlotGUI(QWidget): showTESS = data["Source"] == "TESS" showSourceFilter |= showTESS - print(data["sapPeriod"]) - + aggDic = {} + if(self.cbShowSAP.isChecked()): + aggDic["sapPeriodMinima"] = "sum" + aggDic["sapPeriodMaxima"] = "sum" + if(self.cbShowPDCSAP.isChecked()): + aggDic["pdcsapPeriodMinima"] = "sum" + aggDic["pdcsapPeriodMaxima"] = "sum" data = data[showSourceFilter].groupby(["StarName", "SpType"], - as_index=False).agg({"sapPeriodMinima": sumArrayLengthsNorm, - "sapPeriodMaxima": sumArrayLengthsNorm, - "pdcsapPeriodMinima": sumArrayLengthsNorm, - "pdcsapPeriodMaxima": sumArrayLengthsNorm}) + as_index=False).agg(aggDic) x = np.arange(start=1, stop=len(data)+1, step=1, dtype=int) if(self.cbSpTypeL.isChecked()): @@ -854,20 +781,7 @@ class FlareSummaryPlotGUI(QWidget): pass def btShowFlaresInMinimaMaximaClicked(self): - data = self.starFLareDictList.drop(columns=['Distance', - 'DistanceUnit', - 'FilePath', - 'RotVel', - 'RotVelUnit', - 'Sequence', - 'pdcsapFits', - 'sapFits', - 'sapValidTimespans', - 'pdcsapValidTimespans', - 'sapPeaksCount', - 'pdcsapPeaksCount', - 'sapValidSeconds', - 'pdcsapValidSeconds']) + data = self.starFLareDictList showSourceFilter = np.full(len(data), False) @@ -881,8 +795,6 @@ class FlareSummaryPlotGUI(QWidget): showTESS = data["Source"] == "TESS" showSourceFilter |= showTESS - print(data["sapPeriod"]) - finalData = [] #data = data[showSourceFilter].groupby(["StarName", "SpType"], # as_index=False).agg({"sapPeriod": "mean", @@ -1011,20 +923,7 @@ class FlareSummaryPlotGUI(QWidget): pass def btShowFlaresInMinimaMaximaPerMinimaMaximaClicked(self): - data = self.starFLareDictList.drop(columns=['Distance', - 'DistanceUnit', - 'FilePath', - 'RotVel', - 'RotVelUnit', - 'Sequence', - 'pdcsapFits', - 'sapFits', - 'sapValidTimespans', - 'pdcsapValidTimespans', - 'sapPeaksCount', - 'pdcsapPeaksCount', - 'sapValidSeconds', - 'pdcsapValidSeconds']) + data = self.starFLareDictList showSourceFilter = np.full(len(data), False) @@ -1038,8 +937,6 @@ class FlareSummaryPlotGUI(QWidget): showTESS = data["Source"] == "TESS" showSourceFilter |= showTESS - print(data["sapPeriod"]) - finalData = [] for ind, row in data[showSourceFilter].reset_index().iterrows(): minimaCountSAP = getNumFlaresInBounds(row["sapFoldedPeaksPhasePair"], @@ -1056,15 +953,20 @@ class FlareSummaryPlotGUI(QWidget): "minimaCountPDCSAP": minimaCountPDCSAP, "maximaCountPDCSAP": maximaCountPDCSAP, "minimasPDCSAP": len(row["pdcsapPeriodMinima"]), "maximasPDCSAP": len(row["pdcsapPeriodMaxima"])}) + aggDic = {} + if(self.cbShowSAP.isChecked()): + aggDic["minimaCountSAP"] = "sum" + aggDic["maximaCountSAP"] = "sum" + aggDic["minimasSAP"] = "sum" + aggDic["maximasSAP"] = "sum" + if(self.cbShowPDCSAP.isChecked()): + aggDic["minimaCountPDCSAP"] = "sum" + aggDic["maximaCountPDCSAP"] = "sum" + aggDic["minimasPDCSAP"] = "sum" + aggDic["maximasPDCSAP"] = "sum" + data = pd.DataFrame(finalData).groupby(["StarName", "SpType"], - as_index=False).agg({"minimaCountSAP": "sum", - "maximaCountSAP": "sum", - "minimasSAP": "sum", - "maximasSAP": "sum", - "minimaCountPDCSAP": "sum", - "maximaCountPDCSAP": "sum", - "minimasPDCSAP": "sum", - "maximasPDCSAP": "sum"}) + as_index=False).agg(aggDic) x = np.arange(start=1, stop=len(data)+1, step=1, dtype=int) if(self.cbSpTypeL.isChecked()):