astrodatagui: wire up checkbox changed events for new FlaredetectionWidget
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
from PyQt5 import QtWidgets, uic
|
from PyQt5 import QtWidgets, uic, Qt
|
||||||
|
from PyQt5 import QtCore
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from astroquery.simbad import Simbad
|
from astroquery.simbad import Simbad
|
||||||
@@ -22,19 +23,22 @@ class AstrodataGUI(QtWidgets.QMainWindow):
|
|||||||
self.listDownloaded.itemClicked.connect(self.starSelected)
|
self.listDownloaded.itemClicked.connect(self.starSelected)
|
||||||
self.listSequences.itemClicked.connect(self.sequenceSelected)
|
self.listSequences.itemClicked.connect(self.sequenceSelected)
|
||||||
|
|
||||||
self.cbEnableNormalize.stateChanged.connect(self.plotOptionsCBChecked)
|
self.cbPlotNormalizeEnable.stateChanged.connect(self.plotOptionsCBChecked)
|
||||||
self.cbEnableFlattenPlot.stateChanged.connect(self.plotOptionsCBChecked)
|
self.cbPlotRemoveOutliersEnable.stateChanged.connect(self.plotOptionsCBChecked)
|
||||||
self.cbEnableRemoveOutliers.stateChanged.connect(self.plotOptionsCBChecked)
|
self.cbPlotRemoveNansEnable.stateChanged.connect(self.plotOptionsCBChecked)
|
||||||
self.cbEnableRemoveNans.stateChanged.connect(self.plotOptionsCBChecked)
|
self.cbPlotBinEnable.stateChanged.connect(self.plotOptionsCBChecked)
|
||||||
self.cbEnableFold.stateChanged.connect(self.plotOptionsCBChecked)
|
self.cbPlotFlattenPlotEnable.stateChanged.connect(self.plotOptionsExclusiveCBChecked)
|
||||||
self.cbEnableBin.stateChanged.connect(self.plotOptionsCBChecked)
|
self.cbPlotFoldEnable.stateChanged.connect(self.plotOptionsExclusiveCBChecked)
|
||||||
|
self.cbPlotPeriodogramEnable.stateChanged.connect(self.plotOptionsExclusiveCBChecked)
|
||||||
|
|
||||||
|
#plotExclusiveButtonGroup = Qt.QButtonGroup(self)
|
||||||
|
#plotExclusiveButtonGroup.addButton(self.cbPlotFlattenPlotEnable)
|
||||||
|
#plotExclusiveButtonGroup.addButton(self.cbPlotFoldEnable)
|
||||||
|
#plotExclusiveButtonGroup.addButton(self.cbPlotPeriodogramEnable)
|
||||||
|
|
||||||
self.setupCustomSimbadQueries()
|
self.setupCustomSimbadQueries()
|
||||||
|
|
||||||
self.show()
|
self.show()
|
||||||
|
|
||||||
self.loadDB()
|
self.loadDB()
|
||||||
|
|
||||||
self.updateStarList()
|
self.updateStarList()
|
||||||
|
|
||||||
def setupCustomSimbadQueries(self):
|
def setupCustomSimbadQueries(self):
|
||||||
@@ -166,34 +170,85 @@ class AstrodataGUI(QtWidgets.QMainWindow):
|
|||||||
source = seqText[0]
|
source = seqText[0]
|
||||||
seq = seqText[1]
|
seq = seqText[1]
|
||||||
filePath = self.starDB.getFilePath(mainName, source, seq)
|
filePath = self.starDB.getFilePath(mainName, source, seq)
|
||||||
self.flaredetectorPreview.plotFitsFile(filePath, mainName)
|
self.flaredetectorPreview.setFitsFile(filePath, mainName)
|
||||||
|
|
||||||
def plotOptionsCBChecked(self, state):
|
def plotOptionsCBChecked(self, state):
|
||||||
normalize = self.cbEnableNormalize.isChecked()
|
match(self.sender()):
|
||||||
flatten = self.cbEnableFlattenPlot.isChecked()
|
case self.cbPlotNormalizeEnable:
|
||||||
remOutliers = self.cbEnableRemoveOutliers.isChecked()
|
self.updateFlaredetectioWidgetNormalize()
|
||||||
remNans = self.cbEnableRemoveNans.isChecked()
|
|
||||||
fold = self.cbEnableFold.isChecked()
|
|
||||||
binC = self.cbEnableBin.isChecked()
|
|
||||||
if(fold):
|
|
||||||
try:
|
|
||||||
period = float(self.edFoldPeriod.text())
|
|
||||||
epoch = float(self.edFoldEpochTime.text())
|
|
||||||
except:
|
|
||||||
fold = False
|
|
||||||
if(binC):
|
|
||||||
try:
|
|
||||||
binSize = float(self.edBinSize.text())
|
|
||||||
except:
|
|
||||||
binC = False
|
|
||||||
foldList = [fold, 0, 0]
|
|
||||||
if(fold):
|
|
||||||
foldList[1] = period
|
|
||||||
foldList[2] = epoch
|
|
||||||
|
|
||||||
binList = [binC, 0]
|
case self.cbPlotRemoveOutliersEnable:
|
||||||
if(binC):
|
self.updateFlaredetectioWidgetRemoveOutliers()
|
||||||
binList[1] = binSize
|
|
||||||
|
|
||||||
self.flaredetectorPreview.updatePlot(normalize, flatten, remOutliers,
|
case self.cbPlotRemoveNansEnable:
|
||||||
remNans, foldList, binList)
|
self.updateFlaredetectioWidgetRemoveNans()
|
||||||
|
|
||||||
|
case self.cbPlotBinEnable:
|
||||||
|
self.updateFlaredetectioWidgetBin()
|
||||||
|
|
||||||
|
def plotOptionsExclusiveCBChecked(self, state):
|
||||||
|
print(f"{self.sender().objectName()} is set to {state}")
|
||||||
|
if(state == QtCore.Qt.Checked):
|
||||||
|
match(self.sender()):
|
||||||
|
case self.cbPlotFlattenPlotEnable:
|
||||||
|
self.cbPlotFoldEnable.blockSignals(True)
|
||||||
|
self.cbPlotFoldEnable.setChecked(False)
|
||||||
|
self.cbPlotFoldEnable.blockSignals(False)
|
||||||
|
self.cbPlotPeriodogramEnable.blockSignals(True)
|
||||||
|
self.cbPlotPeriodogramEnable.setChecked(False)
|
||||||
|
self.cbPlotPeriodogramEnable.blockSignals(False)
|
||||||
|
self.updateFlaredetectioWidgetFlatten()
|
||||||
|
|
||||||
|
case self.cbPlotFoldEnable:
|
||||||
|
self.cbPlotFlattenPlotEnable.blockSignals(True)
|
||||||
|
self.cbPlotFlattenPlotEnable.setChecked(False)
|
||||||
|
self.cbPlotFlattenPlotEnable.blockSignals(False)
|
||||||
|
self.cbPlotPeriodogramEnable.blockSignals(True)
|
||||||
|
self.cbPlotPeriodogramEnable.setChecked(False)
|
||||||
|
self.cbPlotPeriodogramEnable.blockSignals(False)
|
||||||
|
self.updateFlaredetectioWidgetFold()
|
||||||
|
|
||||||
|
case self.cbPlotPeriodogramEnable:
|
||||||
|
self.cbPlotFoldEnable.blockSignals(True)
|
||||||
|
self.cbPlotFoldEnable.setChecked(False)
|
||||||
|
self.cbPlotFoldEnable.blockSignals(False)
|
||||||
|
self.cbPlotFoldEnable.blockSignals(True)
|
||||||
|
self.cbPlotFoldEnable.setChecked(False)
|
||||||
|
self.cbPlotFoldEnable.blockSignals(False)
|
||||||
|
self.updateFlaredetectioWidgetPeriodogram()
|
||||||
|
|
||||||
|
def updateFlaredetectioWidgetNormalize(self):
|
||||||
|
normalizeEnabled = self.cbPlotNormalizeEnable.isChecked()
|
||||||
|
normalizeUnit = self.comboPlotNormalizeUnit.currentText()
|
||||||
|
self.flaredetectorPreview.setNormalizeState(normalizeEnabled, normalizeUnit)
|
||||||
|
|
||||||
|
def updateFlaredetectioWidgetRemoveOutliers(self):
|
||||||
|
remOutliersEnabled = self.cbPlotRemoveOutliersEnable.isChecked()
|
||||||
|
remOutliersSigma = float(self.sbRemoveOutliersSigma.value())
|
||||||
|
self.flaredetectorPreview.setRemoveOutliersState(remOutliersEnabled, remOutliersSigma)
|
||||||
|
|
||||||
|
def updateFlaredetectioWidgetRemoveNans(self):
|
||||||
|
remNansEnabled = self.cbPlotRemoveNansEnable.isChecked()
|
||||||
|
self.flaredetectorPreview.setRemoveNansState(remNansEnabled)
|
||||||
|
|
||||||
|
def updateFlaredetectioWidgetBin(self):
|
||||||
|
binEnabled = self.cbPlotBinEnable.isChecked()
|
||||||
|
binSize = int(self.edBinSize.text())
|
||||||
|
self.flaredetectorPreview.setBinState(binEnabled, binSize)
|
||||||
|
|
||||||
|
def updateFlaredetectioWidgetFlatten(self):
|
||||||
|
flattenEnabled = self.cbPlotFlattenPlotEnable.isChecked()
|
||||||
|
windowLength = int(self.edPlotFlattenWL.text())
|
||||||
|
po = int(self.edPlotFlattenPO.text())
|
||||||
|
self.flaredetectorPreview.setFlattenState(flattenEnabled, windowLength, po)
|
||||||
|
|
||||||
|
def updateFlaredetectioWidgetFold(self):
|
||||||
|
foldEnabled = self.cbPlotFoldEnable.isChecked()
|
||||||
|
period = float(self.edPlotFoldPeriod.text())
|
||||||
|
epoch = float(self.edPlotFoldEpochTime.text())
|
||||||
|
self.flaredetectorPreview.setFoldState(foldEnabled, period, epoch)
|
||||||
|
|
||||||
|
def updateFlaredetectioWidgetPeriodogram(self):
|
||||||
|
periodogramEnabled = self.cbPlotPeriodogramEnable.isChecked()
|
||||||
|
method = self.comboPlotPeriodogramMethod.currentText()
|
||||||
|
self.flaredetectorPreview.setPeriodogramState(periodogramEnabled, method)
|
||||||
Reference in New Issue
Block a user