astrodatagui: FlaredetectorWidget: only generate fits when new fits file is selected
This commit is contained in:
@@ -60,6 +60,7 @@ class FlaredetectorWidget(QtWidgets.QWidget):
|
||||
self.currentLC = lk.read(fitsFilePath)
|
||||
self.currentLCCollection = None
|
||||
self.currentMainName = mainName
|
||||
self.updateFit()
|
||||
self.updatePlot()
|
||||
|
||||
def setFitsFiles(self, mainName: str, fitsFilePaths: list[str]):
|
||||
@@ -80,6 +81,7 @@ class FlaredetectorWidget(QtWidgets.QWidget):
|
||||
self.currentLCCollection = lk.LightCurveCollection(lcList)
|
||||
self.currentLC = self.currentLCCollection.stitch()
|
||||
self.currentMainName = mainName
|
||||
self.updateFit()
|
||||
self.updatePlot()
|
||||
|
||||
def setFluxType(self, fluxType: str):
|
||||
@@ -130,6 +132,7 @@ class FlaredetectorWidget(QtWidgets.QWidget):
|
||||
if(self.FlattenState["Enabled"]):
|
||||
self.FoldState["Enabled"] = False
|
||||
self.PeriodogramState["Enabled"] = False
|
||||
self.updateFit()
|
||||
self.updatePlot()
|
||||
|
||||
def setFoldState(self, enabled: bool, period: float, epoch: float):
|
||||
@@ -166,6 +169,10 @@ class FlaredetectorWidget(QtWidgets.QWidget):
|
||||
lc.flux = lc[self.fluxType]
|
||||
return lc.normalize(unit=self.NormalizeState["Scale"])
|
||||
|
||||
def updateFit(self):
|
||||
self.peaks, self.fits = calculateFlareFitsForLightcurve(self.currentLC.flatten(window_length=self.FlattenState["WindowLength"],
|
||||
polyorder=self.FlattenState["PolynomialOrder"]), num=100)
|
||||
|
||||
def updatePlot(self):
|
||||
lc = self.currentLC
|
||||
label = f"{self.currentMainName}"
|
||||
@@ -193,7 +200,7 @@ class FlaredetectorWidget(QtWidgets.QWidget):
|
||||
polyorder=self.FlattenState["PolynomialOrder"])
|
||||
label += " - flattened"
|
||||
|
||||
maxPowers = findMaxIndices(lc, 100, height=1.005, distance=1)
|
||||
#maxPowers = findMaxIndices(lc, 100, height=1.005, distance=1)
|
||||
if(self.FoldState["Enabled"]):
|
||||
lc = lc.fold(period=self.FoldState["Period"],
|
||||
epoch_time=self.FoldState["EpochTime"])
|
||||
@@ -211,14 +218,6 @@ class FlaredetectorWidget(QtWidgets.QWidget):
|
||||
|
||||
self.periodogramInfoGroupBox.setVisible(self.PeriodogramState["Enabled"])
|
||||
|
||||
if(not self.FlattenState["Enabled"] and
|
||||
not self.FoldState["Enabled"] and
|
||||
not self.PeriodogramState["Enabled"]):
|
||||
peaks, fits = calculateFlareFitsForLightcurve(lc.flatten(window_length=self.FlattenState["WindowLength"],
|
||||
polyorder=self.FlattenState["PolynomialOrder"]), num=100)
|
||||
elif(self.FlattenState["Enabled"]):
|
||||
peaks, fits = calculateFlareFitsForLightcurve(lc, num=100)
|
||||
|
||||
self.figureAxis.clear()
|
||||
time_support()
|
||||
if(self.FoldState["Enabled"]):
|
||||
@@ -231,8 +230,8 @@ class FlaredetectorWidget(QtWidgets.QWidget):
|
||||
self.figureAxis.plot(lc.frequency[maxPowers], lc.power[maxPowers], "x")
|
||||
else:
|
||||
lc.plot(label=label, ax=self.figureAxis)
|
||||
plotFlarePeaks(self.figureAxis, peaks, lc.flux)
|
||||
markFlare(self.figureAxis, fits, lc.flux)
|
||||
plotFlarePeaks(self.figureAxis, self.peaks, lc.flux)
|
||||
markFlare(self.figureAxis, self.fits, lc.flux)
|
||||
if(self.FlattenState["Enabled"]):
|
||||
plotFlareFits(self.figureAxis, fits)
|
||||
plotFlareFits(self.figureAxis, self.fits)
|
||||
self.figure.canvas.draw_idle()
|
||||
Reference in New Issue
Block a user