add hodge fit
This commit is contained in:
@ -27,19 +27,46 @@ class TgCalculator(QtWidgets.QDialog, Ui_Dialog):
|
||||
self._plots = {}
|
||||
self._tg_value = {}
|
||||
self._fit = {}
|
||||
self._lines = {}
|
||||
self._hodge = {
|
||||
'onset': (PlotItem(x=[], y=[], pen=None, symbol='o', symbolBrush=Tab10.TabBlue.rgb(), name='Onset'), None),
|
||||
'midpoint': (PlotItem(x=[], y=[], pen=None, symbol='s', symbolBrush=Tab10.TabOrange.rgb(), name='Midpoint'), None),
|
||||
'end': (PlotItem(x=[], y=[], pen=None, symbol='t', symbolBrush=Tab10.TabGreen.rgb(), name='End'), None),
|
||||
'inflection': (PlotItem(x=[], y=[], pen=None, symbol='d', symbolBrush=Tab10.TabRed.rgb(), name='Inflection'), None),
|
||||
'onset': (
|
||||
PlotItem(x=[], y=[], pen=None, symbol='o', symbolBrush=Tab10.TabBlue.rgb(), name='Onset'),
|
||||
None,
|
||||
(PlotItem(x=[], y=[], pen=mkPen({'color': Tab10.TabBlue.rgb()})),
|
||||
PlotItem(x=[], y=[], pen=None, symbol='o', symbolBrush=Tab10.TabBlue.rgb())),
|
||||
None,
|
||||
),
|
||||
'midpoint': (
|
||||
PlotItem(x=[], y=[], pen=None, symbol='s', symbolBrush=Tab10.TabOrange.rgb(), name='Midpoint'),
|
||||
None,
|
||||
(PlotItem(x=[], y=[], pen=mkPen({'color': Tab10.TabOrange.rgb()})),
|
||||
PlotItem(x=[], y=[], pen=None, symbol='s', symbolBrush=Tab10.TabOrange.rgb())),
|
||||
None,
|
||||
),
|
||||
'end': (
|
||||
PlotItem(x=[], y=[], pen=None, symbol='t', symbolBrush=Tab10.TabGreen.rgb(), name='End'),
|
||||
None,
|
||||
(PlotItem(x=[], y=[], pen=mkPen({'color': Tab10.TabGreen.rgb()})),
|
||||
PlotItem(x=[], y=[], pen=None, symbol='t', symbolBrush=Tab10.TabGreen.rgb())),
|
||||
None,
|
||||
),
|
||||
'inflection': (
|
||||
PlotItem(x=[], y=[], pen=None, symbol='d', symbolBrush=Tab10.TabRed.rgb(), name='Inflection'),
|
||||
None,
|
||||
(PlotItem(x=[], y=[], pen=mkPen({'color': Tab10.TabRed.rgb()})),
|
||||
PlotItem(x=[], y=[], pen=None, symbol='d', symbolBrush=Tab10.TabRed.rgb())),
|
||||
None,
|
||||
),
|
||||
# 'fictive': PlotItem(x=[], y=[], pen=None, symbol='t1', symbolBrush=Tab10.TabPurple.rgb(), name='Fictive'),
|
||||
# 'TNMH': PlotItem(x=[], y=[], pen=None, symbol='star', symbolBrush=Tab10.TabPurple.rgb(), name='TNMH'),
|
||||
}
|
||||
self._lines = {}
|
||||
self.tau_plot.getPlotItem().addLegend()
|
||||
for plt, _ in self._hodge.values():
|
||||
for plt, _, fitplt, _ in self._hodge.values():
|
||||
self.tau_plot.addItem(plt)
|
||||
self.tghodge_graph.addItem(fitplt[0])
|
||||
self.tghodge_graph.addItem(fitplt[1])
|
||||
self.tau_plot.setLogMode(y=True)
|
||||
self.tghodge_graph.setLogMode(y=True)
|
||||
|
||||
self.limits = RegionItem(), RegionItem()
|
||||
for lim in self.limits:
|
||||
@ -69,7 +96,9 @@ class TgCalculator(QtWidgets.QDialog, Ui_Dialog):
|
||||
|
||||
for key, plt in self._hodge.items():
|
||||
plt[0].setData(x=[], y=[])
|
||||
self._hodge[key] = (plt[0], None)
|
||||
plt[2][0].setData(x=[], y=[])
|
||||
plt[2][1].setData(x=[], y=[])
|
||||
self._hodge[key] = (plt[0], None, plt[2], None)
|
||||
|
||||
self._dsc = {}
|
||||
self._plots = {}
|
||||
@ -242,7 +271,7 @@ class TgCalculator(QtWidgets.QDialog, Ui_Dialog):
|
||||
plot[-1].setData(res.x, res.y)
|
||||
|
||||
def hodge(self):
|
||||
for tg_type, (plot, data) in self._hodge.items():
|
||||
for tg_type, (plot, data, fitplots, fit) in self._hodge.items():
|
||||
|
||||
m = []
|
||||
for idx in range(self.listWidget.count()):
|
||||
@ -260,11 +289,13 @@ class TgCalculator(QtWidgets.QDialog, Ui_Dialog):
|
||||
m.append([tg_value, data.value])
|
||||
|
||||
if len(m) > 1:
|
||||
data = tau_hodge(*array(m).T)
|
||||
data, fit = tau_hodge(*array(m).T)
|
||||
data.name = f'{data.name} ({tg_type.capitalize()})'
|
||||
plot.setData(data.x, data.y)
|
||||
fitplots[0].setData(1000/fit.x, fit.y)
|
||||
fitplots[1].setData(1000/fit.x_data, fit.y_data)
|
||||
|
||||
self._hodge[tg_type] = (plot, data)
|
||||
self._hodge[tg_type] = (plot, data, fitplots, fit)
|
||||
|
||||
def close(self) -> bool:
|
||||
self.clear()
|
||||
|
Reference in New Issue
Block a user