FlareSummaryPlotGUI: implement show flares per star function
This commit is contained in:
@@ -27,6 +27,8 @@ class FlareSummaryPlotGUI(QWidget):
|
|||||||
self.buttonGridLayout = QGridLayout()
|
self.buttonGridLayout = QGridLayout()
|
||||||
self.btShowFlaresPerFile = QPushButton("Show Flares/File")
|
self.btShowFlaresPerFile = QPushButton("Show Flares/File")
|
||||||
self.btShowFlaresPerFile.clicked.connect(self.btShowFlaresPerFileClicked)
|
self.btShowFlaresPerFile.clicked.connect(self.btShowFlaresPerFileClicked)
|
||||||
|
self.btShowFlaresPerStar = QPushButton("Show Flares/Star")
|
||||||
|
self.btShowFlaresPerStar.clicked.connect(self.btShowFlaresPerStarClicked)
|
||||||
|
|
||||||
self.cbKepler = QCheckBox("Kepler")
|
self.cbKepler = QCheckBox("Kepler")
|
||||||
self.cbKepler.setChecked(True)
|
self.cbKepler.setChecked(True)
|
||||||
@@ -50,6 +52,7 @@ class FlareSummaryPlotGUI(QWidget):
|
|||||||
|
|
||||||
self.buttonGridLayout.addWidget(QLabel("Plot Types: "), 0, 0)
|
self.buttonGridLayout.addWidget(QLabel("Plot Types: "), 0, 0)
|
||||||
self.buttonGridLayout.addWidget(self.btShowFlaresPerFile, 0, 1)
|
self.buttonGridLayout.addWidget(self.btShowFlaresPerFile, 0, 1)
|
||||||
|
self.buttonGridLayout.addWidget(self.btShowFlaresPerStar, 0, 2)
|
||||||
|
|
||||||
self.buttonGridLayout.addWidget(QLabel("Sources: "), 1, 0)
|
self.buttonGridLayout.addWidget(QLabel("Sources: "), 1, 0)
|
||||||
self.buttonGridLayout.addWidget(self.cbKepler, 1, 1)
|
self.buttonGridLayout.addWidget(self.cbKepler, 1, 1)
|
||||||
@@ -71,15 +74,94 @@ class FlareSummaryPlotGUI(QWidget):
|
|||||||
def btShowFlaresPerFileClicked(self):
|
def btShowFlaresPerFileClicked(self):
|
||||||
data = pd.DataFrame(self.starFLareDictList)
|
data = pd.DataFrame(self.starFLareDictList)
|
||||||
x = np.arange(start=1, stop=len(data)+1, step=1, dtype=int)
|
x = np.arange(start=1, stop=len(data)+1, step=1, dtype=int)
|
||||||
|
showSourceFilter = np.full(np.shape(x), False)
|
||||||
|
|
||||||
if(self.cbKepler.isChecked()):
|
if(self.cbKepler.isChecked()):
|
||||||
showKepler = data["Source"] == "Kepler"
|
showKepler = data["Source"] == "Kepler"
|
||||||
|
showSourceFilter |= showKepler
|
||||||
if(self.cbK2.isChecked()):
|
if(self.cbK2.isChecked()):
|
||||||
showK2 = data["Source"] == "K2"
|
showK2 = data["Source"] == "K2"
|
||||||
|
showSourceFilter |= showK2
|
||||||
if(self.cbTESS.isChecked()):
|
if(self.cbTESS.isChecked()):
|
||||||
showTESS = data["Source"] == "TESS"
|
showTESS = data["Source"] == "TESS"
|
||||||
|
showSourceFilter |= showTESS
|
||||||
|
|
||||||
showSourceFilter = showKepler | showK2 | showTESS
|
#showSourceFilter = showKepler | showK2 | showTESS
|
||||||
|
|
||||||
|
if(self.cbSpTypeL.isChecked()):
|
||||||
|
Lfilter = data["SpType"].str.startswith("L")
|
||||||
|
Lfilter &= showSourceFilter
|
||||||
|
if(self.cbSpTypeM.isChecked()):
|
||||||
|
Mfilter = data["SpType"].str.startswith("M")
|
||||||
|
Mfilter &= showSourceFilter
|
||||||
|
if(self.cbSpTypeK.isChecked()):
|
||||||
|
Kfilter = data["SpType"].str.startswith("K")
|
||||||
|
Kfilter &= showSourceFilter
|
||||||
|
if(self.cbSpTypeG.isChecked()):
|
||||||
|
Gfilter = data["SpType"].str.startswith("G")
|
||||||
|
Gfilter &= showSourceFilter
|
||||||
|
if(self.cbSpTypeF.isChecked()):
|
||||||
|
Ffilter = data["SpType"].str.startswith("F")
|
||||||
|
Ffilter &= showSourceFilter
|
||||||
|
if(self.cbSpTypeUnknown.isChecked()):
|
||||||
|
Unknownfilter = data["SpType"].str.startswith("-")
|
||||||
|
Unknownfilter &= showSourceFilter
|
||||||
|
|
||||||
|
self.figureAxis.clear()
|
||||||
|
if(self.cbSpTypeL.isChecked()):
|
||||||
|
if(np.any(Lfilter)):
|
||||||
|
self.figureAxis.scatter(x[Lfilter], data[Lfilter]["sapPeaksCount"], marker="o", color="brown", label="L SAP Count")
|
||||||
|
self.figureAxis.scatter(x[Lfilter], data[Lfilter]["pdcsapPeaksCount"], marker="x", color="brown", label="L PDCSAP Count")
|
||||||
|
if(self.cbSpTypeM.isChecked()):
|
||||||
|
if(np.any(Mfilter)):
|
||||||
|
self.figureAxis.scatter(x[Mfilter], data[Mfilter]["sapPeaksCount"], marker="o", color="red", label="M SAP Count")
|
||||||
|
self.figureAxis.scatter(x[Mfilter], data[Mfilter]["pdcsapPeaksCount"], marker="x", color="red", label="M PDCSAP Count")
|
||||||
|
if(self.cbSpTypeK.isChecked()):
|
||||||
|
if(np.any(Kfilter)):
|
||||||
|
self.figureAxis.scatter(x[Kfilter], data[Kfilter]["sapPeaksCount"], marker="o", color="orange", label="K SAP Count")
|
||||||
|
self.figureAxis.scatter(x[Kfilter], data[Kfilter]["pdcsapPeaksCount"], marker="x", color="orange", label="K PDCSAP Count")
|
||||||
|
if(self.cbSpTypeG.isChecked()):
|
||||||
|
if(np.any(Gfilter)):
|
||||||
|
self.figureAxis.scatter(x[Gfilter], data[Gfilter]["sapPeaksCount"], marker="o", color="yellow", label="G SAP Count")
|
||||||
|
self.figureAxis.scatter(x[Gfilter], data[Gfilter]["pdcsapPeaksCount"], marker="x", color="yellow", label="G PDCSAP Count")
|
||||||
|
if(self.cbSpTypeF.isChecked()):
|
||||||
|
if(np.any(Ffilter)):
|
||||||
|
self.figureAxis.scatter(x[Ffilter], data[Ffilter]["sapPeaksCount"], marker="o", color="greenyellow", label="F SAP Count")
|
||||||
|
self.figureAxis.scatter(x[Ffilter], data[Ffilter]["pdcsapPeaksCount"], marker="x", color="greenyellow", label="F PDCSAP Count")
|
||||||
|
if(self.cbSpTypeUnknown.isChecked()):
|
||||||
|
if(np.any(Unknownfilter)):
|
||||||
|
self.figureAxis.scatter(x[Unknownfilter], data[Unknownfilter]["sapPeaksCount"], marker="o", color="gray", label="Unknown SAP Count")
|
||||||
|
self.figureAxis.scatter(x[Unknownfilter], data[Unknownfilter]["pdcsapPeaksCount"], marker="x", color="gray", label="Unknown PDCSAP Count")
|
||||||
|
|
||||||
|
self.figureAxis.set_ylabel("Flare count")
|
||||||
|
self.figure.canvas.draw_idle()
|
||||||
|
|
||||||
|
def btShowFlaresPerStarClicked(self):
|
||||||
|
data = pd.DataFrame(self.starFLareDictList).drop(columns=['Distance',
|
||||||
|
'DistanceUnit',
|
||||||
|
'FilePath',
|
||||||
|
'RotVel',
|
||||||
|
'RotVelUnit',
|
||||||
|
'Sequence',
|
||||||
|
'pdcsapFits',
|
||||||
|
'pdcsapPeaks',
|
||||||
|
'sapFits',
|
||||||
|
'sapPeaks'])
|
||||||
|
data = data.groupby(["StarName", "Source", "SpType"],
|
||||||
|
as_index=False).agg({"sapPeaksCount": "sum",
|
||||||
|
"pdcsapPeaksCount": "sum"})
|
||||||
|
x = np.arange(start=1, stop=len(data)+1, step=1, dtype=int)
|
||||||
|
showSourceFilter = np.full(np.shape(x), False)
|
||||||
|
|
||||||
|
if(self.cbKepler.isChecked()):
|
||||||
|
showKepler = data["Source"] == "Kepler"
|
||||||
|
showSourceFilter |= showKepler
|
||||||
|
if(self.cbK2.isChecked()):
|
||||||
|
showK2 = data["Source"] == "K2"
|
||||||
|
showSourceFilter |= showK2
|
||||||
|
if(self.cbTESS.isChecked()):
|
||||||
|
showTESS = data["Source"] == "TESS"
|
||||||
|
showSourceFilter |= showTESS
|
||||||
|
|
||||||
if(self.cbSpTypeL.isChecked()):
|
if(self.cbSpTypeL.isChecked()):
|
||||||
Lfilter = data["SpType"].str.startswith("L")
|
Lfilter = data["SpType"].str.startswith("L")
|
||||||
|
|||||||
Reference in New Issue
Block a user