This commit is contained in:
Dominik Demuth 2023-06-26 19:57:23 +02:00
parent c9ea32629d
commit 8a96e0472d
7 changed files with 390 additions and 266 deletions

View File

@ -372,6 +372,8 @@ class Ui_BaseWindow(object):
self.actionTNMH_model.setObjectName("actionTNMH_model")
self.actionBinning = QtWidgets.QAction(BaseWindow)
self.actionBinning.setObjectName("actionBinning")
self.actionTNMH = QtWidgets.QAction(BaseWindow)
self.actionTNMH.setObjectName("actionTNMH")
self.menuSave.addAction(self.actionSave)
self.menuSave.addAction(self.actionExportGraphic)
self.menuSave.addAction(self.action_save_fit_parameter)
@ -470,6 +472,7 @@ class Ui_BaseWindow(object):
self.menuStuff.addAction(self.actionTetris)
self.menuStuff.addAction(self.actionMine)
self.menuDSC.addAction(self.actionTNMH_model)
self.menuDSC.addAction(self.actionTNMH)
self.menubar.addAction(self.menuFile.menuAction())
self.menubar.addAction(self.menuWindow.menuAction())
self.menubar.addAction(self.menuData.menuAction())
@ -639,6 +642,7 @@ class Ui_BaseWindow(object):
self.actionAbout.setText(_translate("BaseWindow", "About..."))
self.actionTNMH_model.setText(_translate("BaseWindow", "Tg determination,,,"))
self.actionBinning.setText(_translate("BaseWindow", "Binning..."))
self.actionTNMH.setText(_translate("BaseWindow", "TNMH..."))
from ..data.datawidget.datawidget import DataWidget
from ..data.integral_widget import IntegralWidget
from ..data.point_select import PointSelectWidget

View File

@ -14,12 +14,12 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(1042, 683)
Dialog.resize(1041, 773)
self.gridLayout = QtWidgets.QGridLayout(Dialog)
self.gridLayout.setObjectName("gridLayout")
self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Close|QtWidgets.QDialogButtonBox.Save)
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Close)
self.buttonBox.setObjectName("buttonBox")
self.gridLayout.addWidget(self.buttonBox, 5, 1, 1, 1)
self.verticalLayout = QtWidgets.QVBoxLayout()
@ -53,81 +53,6 @@ class Ui_Dialog(object):
self.label_5.setObjectName("label_5")
self.verticalLayout.addWidget(self.label_5)
self.gridLayout.addLayout(self.verticalLayout, 0, 0, 5, 1)
self.stackedWidget = QtWidgets.QStackedWidget(Dialog)
self.stackedWidget.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.stackedWidget.setFrameShadow(QtWidgets.QFrame.Raised)
self.stackedWidget.setObjectName("stackedWidget")
self.stackedWidgetPage1 = QtWidgets.QWidget()
self.stackedWidgetPage1.setObjectName("stackedWidgetPage1")
self.gridLayout_3 = QtWidgets.QGridLayout(self.stackedWidgetPage1)
self.gridLayout_3.setObjectName("gridLayout_3")
self.hodge_selection = CheckCombobox(self.stackedWidgetPage1)
self.hodge_selection.setObjectName("hodge_selection")
self.hodge_selection.addItem("")
self.hodge_selection.addItem("")
self.hodge_selection.addItem("")
self.hodge_selection.addItem("")
self.gridLayout_3.addWidget(self.hodge_selection, 4, 2, 1, 1)
self.tau_plot = PlotWidget(self.stackedWidgetPage1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.tau_plot.sizePolicy().hasHeightForWidth())
self.tau_plot.setSizePolicy(sizePolicy)
self.tau_plot.setObjectName("tau_plot")
self.gridLayout_3.addWidget(self.tau_plot, 0, 0, 7, 1)
self.tg_export_check = QtWidgets.QCheckBox(self.stackedWidgetPage1)
self.tg_export_check.setChecked(True)
self.tg_export_check.setObjectName("tg_export_check")
self.gridLayout_3.addWidget(self.tg_export_check, 2, 1, 1, 1)
self.tglines_export_check = QtWidgets.QCheckBox(self.stackedWidgetPage1)
self.tglines_export_check.setChecked(True)
self.tglines_export_check.setObjectName("tglines_export_check")
self.gridLayout_3.addWidget(self.tglines_export_check, 2, 2, 1, 1)
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout_3.addItem(spacerItem, 6, 2, 1, 1)
self.new_graph_tau_combo = QtWidgets.QComboBox(self.stackedWidgetPage1)
self.new_graph_tau_combo.setObjectName("new_graph_tau_combo")
self.gridLayout_3.addWidget(self.new_graph_tau_combo, 5, 2, 1, 1)
self.label_6 = QtWidgets.QLabel(self.stackedWidgetPage1)
self.label_6.setObjectName("label_6")
self.gridLayout_3.addWidget(self.label_6, 4, 1, 1, 1)
self.new_graph_tau_check = QtWidgets.QCheckBox(self.stackedWidgetPage1)
self.new_graph_tau_check.setChecked(True)
self.new_graph_tau_check.setObjectName("new_graph_tau_check")
self.gridLayout_3.addWidget(self.new_graph_tau_check, 5, 1, 1, 1)
self.line = QtWidgets.QFrame(self.stackedWidgetPage1)
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.gridLayout_3.addWidget(self.line, 3, 1, 1, 2)
self.stackedWidget.addWidget(self.stackedWidgetPage1)
self.page = QtWidgets.QWidget()
self.page.setObjectName("page")
self.gridLayout_2 = QtWidgets.QGridLayout(self.page)
self.gridLayout_2.setObjectName("gridLayout_2")
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.label_2 = QtWidgets.QLabel(self.page)
self.label_2.setObjectName("label_2")
self.horizontalLayout.addWidget(self.label_2)
self.comboBox = QtWidgets.QComboBox(self.page)
self.comboBox.setObjectName("comboBox")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.horizontalLayout.addWidget(self.comboBox)
self.gridLayout_2.addLayout(self.horizontalLayout, 1, 1, 1, 1)
self.pushButton_3 = QtWidgets.QPushButton(self.page)
self.pushButton_3.setObjectName("pushButton_3")
self.gridLayout_2.addWidget(self.pushButton_3, 2, 1, 1, 1)
self.graphicsView_2 = PlotWidget(self.page)
self.graphicsView_2.setObjectName("graphicsView_2")
self.gridLayout_2.addWidget(self.graphicsView_2, 0, 0, 3, 1)
self.stackedWidget.addWidget(self.page)
self.gridLayout.addWidget(self.stackedWidget, 4, 1, 1, 1)
self.dsc_plot = PlotWidget(Dialog)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
@ -154,12 +79,114 @@ class Ui_Dialog(object):
self.pushButton_2.setSizePolicy(sizePolicy)
self.pushButton_2.setObjectName("pushButton_2")
self.horizontalLayout_2.addWidget(self.pushButton_2)
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_2.addItem(spacerItem1)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_2.addItem(spacerItem)
self.gridLayout.addLayout(self.horizontalLayout_2, 2, 1, 1, 1)
self.tabWidget = QtWidgets.QTabWidget(Dialog)
self.tabWidget.setTabPosition(QtWidgets.QTabWidget.East)
self.tabWidget.setObjectName("tabWidget")
self.tabWidgetPage1 = QtWidgets.QWidget()
self.tabWidgetPage1.setObjectName("tabWidgetPage1")
self.gridLayout_3 = QtWidgets.QGridLayout(self.tabWidgetPage1)
self.gridLayout_3.setObjectName("gridLayout_3")
self.tg_export_check = QtWidgets.QCheckBox(self.tabWidgetPage1)
self.tg_export_check.setChecked(True)
self.tg_export_check.setObjectName("tg_export_check")
self.gridLayout_3.addWidget(self.tg_export_check, 2, 1, 1, 1)
self.tglines_export_check = QtWidgets.QCheckBox(self.tabWidgetPage1)
self.tglines_export_check.setChecked(True)
self.tglines_export_check.setObjectName("tglines_export_check")
self.gridLayout_3.addWidget(self.tglines_export_check, 2, 2, 1, 1)
self.label_6 = QtWidgets.QLabel(self.tabWidgetPage1)
self.label_6.setObjectName("label_6")
self.gridLayout_3.addWidget(self.label_6, 4, 1, 1, 1)
self.new_graph_tau_combo = QtWidgets.QComboBox(self.tabWidgetPage1)
self.new_graph_tau_combo.setObjectName("new_graph_tau_combo")
self.gridLayout_3.addWidget(self.new_graph_tau_combo, 5, 2, 1, 1)
self.new_graph_tau_check = QtWidgets.QCheckBox(self.tabWidgetPage1)
self.new_graph_tau_check.setChecked(True)
self.new_graph_tau_check.setObjectName("new_graph_tau_check")
self.gridLayout_3.addWidget(self.new_graph_tau_check, 5, 1, 1, 1)
self.line = QtWidgets.QFrame(self.tabWidgetPage1)
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.gridLayout_3.addWidget(self.line, 3, 1, 1, 2)
self.hodge_selection = CheckCombobox(self.tabWidgetPage1)
self.hodge_selection.setObjectName("hodge_selection")
self.hodge_selection.addItem("")
self.hodge_selection.addItem("")
self.hodge_selection.addItem("")
self.hodge_selection.addItem("")
self.hodge_selection.addItem("")
self.gridLayout_3.addWidget(self.hodge_selection, 4, 2, 1, 1)
self.tau_plot = PlotWidget(self.tabWidgetPage1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.tau_plot.sizePolicy().hasHeightForWidth())
self.tau_plot.setSizePolicy(sizePolicy)
self.tau_plot.setObjectName("tau_plot")
self.gridLayout_3.addWidget(self.tau_plot, 0, 0, 8, 1)
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout_3.addItem(spacerItem1, 7, 2, 1, 1)
self.pushButton_4 = QtWidgets.QPushButton(self.tabWidgetPage1)
self.pushButton_4.setObjectName("pushButton_4")
self.gridLayout_3.addWidget(self.pushButton_4, 6, 1, 1, 2)
self.tabWidget.addTab(self.tabWidgetPage1, "")
self.tabWidgetPage2 = QtWidgets.QWidget()
self.tabWidgetPage2.setObjectName("tabWidgetPage2")
self.gridLayout_2 = QtWidgets.QGridLayout(self.tabWidgetPage2)
self.gridLayout_2.setObjectName("gridLayout_2")
self.pushButton_3 = QtWidgets.QPushButton(self.tabWidgetPage2)
self.pushButton_3.setObjectName("pushButton_3")
self.gridLayout_2.addWidget(self.pushButton_3, 1, 1, 1, 2)
self.graphicsView_2 = PlotWidget(self.tabWidgetPage2)
self.graphicsView_2.setObjectName("graphicsView_2")
self.gridLayout_2.addWidget(self.graphicsView_2, 0, 0, 9, 1)
self.checkBox = QtWidgets.QCheckBox(self.tabWidgetPage2)
self.checkBox.setChecked(True)
self.checkBox.setObjectName("checkBox")
self.gridLayout_2.addWidget(self.checkBox, 5, 1, 1, 1)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.label_2 = QtWidgets.QLabel(self.tabWidgetPage2)
self.label_2.setObjectName("label_2")
self.horizontalLayout.addWidget(self.label_2)
self.comboBox = QtWidgets.QComboBox(self.tabWidgetPage2)
self.comboBox.setObjectName("comboBox")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.horizontalLayout.addWidget(self.comboBox)
self.gridLayout_2.addLayout(self.horizontalLayout, 0, 1, 1, 2)
self.comboBox_2 = QtWidgets.QComboBox(self.tabWidgetPage2)
self.comboBox_2.setObjectName("comboBox_2")
self.gridLayout_2.addWidget(self.comboBox_2, 5, 2, 1, 1)
self.line_2 = QtWidgets.QFrame(self.tabWidgetPage2)
self.line_2.setMinimumSize(QtCore.QSize(0, 0))
self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_2.setObjectName("line_2")
self.gridLayout_2.addWidget(self.line_2, 2, 1, 1, 2)
self.checkBox_2 = QtWidgets.QCheckBox(self.tabWidgetPage2)
self.checkBox_2.setObjectName("checkBox_2")
self.gridLayout_2.addWidget(self.checkBox_2, 3, 1, 1, 2)
self.checkBox_3 = QtWidgets.QCheckBox(self.tabWidgetPage2)
self.checkBox_3.setObjectName("checkBox_3")
self.gridLayout_2.addWidget(self.checkBox_3, 4, 1, 1, 2)
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout_2.addItem(spacerItem2, 8, 1, 1, 1)
self.pushButton = QtWidgets.QPushButton(self.tabWidgetPage2)
self.pushButton.setObjectName("pushButton")
self.gridLayout_2.addWidget(self.pushButton, 7, 1, 1, 2)
self.tabWidget.addTab(self.tabWidgetPage2, "")
self.gridLayout.addWidget(self.tabWidget, 4, 1, 1, 1)
self.retranslateUi(Dialog)
self.stackedWidget.setCurrentIndex(0)
self.tabWidget.setCurrentIndex(0)
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Dialog)
@ -169,22 +196,30 @@ class Ui_Dialog(object):
Dialog.setWindowTitle(_translate("Dialog", "SImba, everything the light touches is our kingdom"))
self.label.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-weight:600;\">Tg values:</span></p></body></html>"))
self.label_4.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-weight:600;\">TNMH parameter:</span></p></body></html>"))
self.calctg_button.setText(_translate("Dialog", "Calculate Tg"))
self.pushButton_2.setText(_translate("Dialog", "Calculate fictive Cp"))
self.tg_export_check.setText(_translate("Dialog", "Export Tg"))
self.tglines_export_check.setText(_translate("Dialog", "Export lines"))
self.label_6.setText(_translate("Dialog", "Export Hodge:"))
self.new_graph_tau_check.setText(_translate("Dialog", "New graph"))
self.hodge_selection.setItemText(0, _translate("Dialog", "Onset"))
self.hodge_selection.setItemText(1, _translate("Dialog", "Midpoint"))
self.hodge_selection.setItemText(2, _translate("Dialog", "End"))
self.hodge_selection.setItemText(3, _translate("Dialog", "Inflection"))
self.tg_export_check.setText(_translate("Dialog", "Export Tg"))
self.tglines_export_check.setText(_translate("Dialog", "Export lines"))
self.label_6.setText(_translate("Dialog", "Hodge:"))
self.new_graph_tau_check.setText(_translate("Dialog", "New graph"))
self.hodge_selection.setItemText(4, _translate("Dialog", "Fictive"))
self.pushButton_4.setText(_translate("Dialog", "Save"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabWidgetPage1), _translate("Dialog", "Tg / Hodge"))
self.pushButton_3.setText(_translate("Dialog", "Fit TNMH model"))
self.checkBox.setText(_translate("Dialog", "New graph"))
self.label_2.setText(_translate("Dialog", "Tg for TNMH"))
self.comboBox.setItemText(0, _translate("Dialog", "Fictive"))
self.comboBox.setItemText(1, _translate("Dialog", "Onset"))
self.comboBox.setItemText(2, _translate("Dialog", "Midpoint"))
self.comboBox.setItemText(3, _translate("Dialog", "End"))
self.comboBox.setItemText(4, _translate("Dialog", "Inflection"))
self.pushButton_3.setText(_translate("Dialog", "Fit TNMH model"))
self.calctg_button.setText(_translate("Dialog", "Calculate Tg"))
self.pushButton_2.setText(_translate("Dialog", "Calculate fictive Cp"))
self.checkBox_2.setText(_translate("Dialog", "Export dTf / dT"))
self.checkBox_3.setText(_translate("Dialog", "Export fit"))
self.pushButton.setText(_translate("Dialog", "Save"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabWidgetPage2), _translate("Dialog", "TNMH"))
from ..lib.forms import CheckCombobox
from pyqtgraph import PlotWidget

View File

@ -40,9 +40,6 @@ class TgCalculator(QtWidgets.QDialog, Ui_Dialog):
for plt, _ in self._hodge.values():
self.tau_plot.addItem(plt)
self.tau_plot.setLogMode(y=True)
self.pushButton_2.hide()
self.label_4.hide()
self.label_5.hide()
self.limits = RegionItem(), RegionItem()
for lim in self.limits:
@ -129,7 +126,13 @@ class TgCalculator(QtWidgets.QDialog, Ui_Dialog):
self.graphicsView_2.addItem(tnmh_fit)
self._plots[key] = (data_plot, tg_plot, glass, liquid, tangent, fictive_cp, tnmh_fit)
self._tg_value[key] = {'onset': (nan, nan), 'mid': (nan, nan), 'end': (nan, nan), 'inflection': (nan, nan)} # , 'fictive': (nan, nan)}
self._tg_value[key] = {
'onset': (nan, nan),
'mid': (nan, nan),
'end': (nan, nan),
'inflection': (nan, nan),
# 'fictive': (nan, nan),
}
if self._limitless:
dist = max_x - min_x
@ -216,7 +219,7 @@ class TgCalculator(QtWidgets.QDialog, Ui_Dialog):
self._update_tg_plots()
@QtCore.pyqtSlot(name='on_pushButton_3_clicked')
@QtCore.pyqtSlot(name='on_fit_tnhm_fitbutton_clicked')
def make_tnmh(self):
baselines = tuple(lim.getRegion() for lim in self.limits)
if baselines[0][0] > baselines[1][0]:
@ -247,10 +250,12 @@ class TgCalculator(QtWidgets.QDialog, Ui_Dialog):
key = item.data(QtCore.Qt.UserRole)
data, _ = self._dsc[key]
try:
tg_value = self._tg_value[key][tg_type][0]
if isnan(tg_value):
continue
except KeyError:
continue
m.append([tg_value, data.value])

View File

@ -1139,6 +1139,7 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow):
QtWidgets.QMessageBox.about(self, 'Version', f'Build date of AppImage: {__version__}')
@QtCore.pyqtSlot(name='on_actionTNMH_model_triggered')
@QtCore.pyqtSlot(name='on_actionTNMH_triggered')
def show_tg_dialog(self):
if self._tg_dialog is None:
self._tg_dialog = TgCalculator(self.management, parent=self)

View File

@ -46,8 +46,6 @@ class DSC(Points):
regress2 = linregress(region.x[liquid_regime], region.y[liquid_regime])
region.y -= glass_extrapolation
plt.plot(region.x, regress2.slope * region.x + regress2.intercept)
real_area = cumulative_trapezoid(region.y, region.x, initial=0)
real_area -= real_area[-1]

View File

@ -332,6 +332,7 @@
<string>DSC</string>
</property>
<addaction name="actionTNMH_model"/>
<addaction name="actionTNMH"/>
</widget>
<addaction name="menuFile"/>
<addaction name="menuWindow"/>
@ -1040,6 +1041,11 @@
<string>Binning...</string>
</property>
</action>
<action name="actionTNMH">
<property name="text">
<string>TNMH...</string>
</property>
</action>
</widget>
<customwidgets>
<customwidget>

View File

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>1042</width>
<height>683</height>
<width>1041</width>
<height>773</height>
</rect>
</property>
<property name="windowTitle">
@ -20,7 +20,7 @@
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Close|QDialogButtonBox::Save</set>
<set>QDialogButtonBox::Close</set>
</property>
</widget>
</item>
@ -75,171 +75,6 @@
</item>
</layout>
</item>
<item row="4" column="1">
<widget class="QStackedWidget" name="stackedWidget">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="stackedWidgetPage1">
<layout class="QGridLayout" name="gridLayout_3">
<item row="4" column="2">
<widget class="CheckCombobox" name="hodge_selection">
<item>
<property name="text">
<string>Onset</string>
</property>
</item>
<item>
<property name="text">
<string>Midpoint</string>
</property>
</item>
<item>
<property name="text">
<string>End</string>
</property>
</item>
<item>
<property name="text">
<string>Inflection</string>
</property>
</item>
</widget>
</item>
<item row="0" column="0" rowspan="7">
<widget class="PlotWidget" name="tau_plot">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QCheckBox" name="tg_export_check">
<property name="text">
<string>Export Tg</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QCheckBox" name="tglines_export_check">
<property name="text">
<string>Export lines</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="6" column="2">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="5" column="2">
<widget class="QComboBox" name="new_graph_tau_combo"/>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Hodge:</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QCheckBox" name="new_graph_tau_check">
<property name="text">
<string>New graph</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="1" colspan="2">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page">
<layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="1">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Tg for TNMH</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox">
<item>
<property name="text">
<string>Fictive</string>
</property>
</item>
<item>
<property name="text">
<string>Onset</string>
</property>
</item>
<item>
<property name="text">
<string>Midpoint</string>
</property>
</item>
<item>
<property name="text">
<string>End</string>
</property>
</item>
<item>
<property name="text">
<string>Inflection</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="pushButton_3">
<property name="text">
<string>Fit TNMH model</string>
</property>
</widget>
</item>
<item row="0" column="0" rowspan="3">
<widget class="PlotWidget" name="graphicsView_2"/>
</item>
</layout>
</widget>
</widget>
</item>
<item row="0" column="1">
<widget class="PlotWidget" name="dsc_plot">
<property name="sizePolicy">
@ -293,6 +128,246 @@
</item>
</layout>
</item>
<item row="4" column="1">
<widget class="QTabWidget" name="tabWidget">
<property name="tabPosition">
<enum>QTabWidget::East</enum>
</property>
<property name="currentIndex">
<number>1</number>
</property>
<widget class="QWidget" name="tabWidgetPage1">
<attribute name="title">
<string>Tg / Hodge</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_3">
<item row="2" column="1">
<widget class="QCheckBox" name="tg_export_check">
<property name="text">
<string>Export Tg</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QCheckBox" name="tglines_export_check">
<property name="text">
<string>Export lines</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Export Hodge:</string>
</property>
</widget>
</item>
<item row="5" column="2">
<widget class="QComboBox" name="new_graph_tau_combo"/>
</item>
<item row="5" column="1">
<widget class="QCheckBox" name="new_graph_tau_check">
<property name="text">
<string>New graph</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="1" colspan="2">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="CheckCombobox" name="hodge_selection">
<item>
<property name="text">
<string>Onset</string>
</property>
</item>
<item>
<property name="text">
<string>Midpoint</string>
</property>
</item>
<item>
<property name="text">
<string>End</string>
</property>
</item>
<item>
<property name="text">
<string>Inflection</string>
</property>
</item>
<item>
<property name="text">
<string>Fictive</string>
</property>
</item>
</widget>
</item>
<item row="0" column="0" rowspan="8">
<widget class="PlotWidget" name="tau_plot">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="7" column="2">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="6" column="1" colspan="2">
<widget class="QPushButton" name="pushButton_4">
<property name="text">
<string>Save</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabWidgetPage2">
<attribute name="title">
<string>TNMH</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="1" colspan="2">
<widget class="QPushButton" name="fit_tnhm_fitbutton">
<property name="text">
<string>Fit TNMH model</string>
</property>
</widget>
</item>
<item row="0" column="0" rowspan="9">
<widget class="PlotWidget" name="graphicsView_2"/>
</item>
<item row="5" column="1">
<widget class="QCheckBox" name="new_graph_tnmh_check">
<property name="text">
<string>New graph</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Tg for TNMH</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="tnmh_tg_combo">
<item>
<property name="text">
<string>Fictive</string>
</property>
</item>
<item>
<property name="text">
<string>Onset</string>
</property>
</item>
<item>
<property name="text">
<string>Midpoint</string>
</property>
</item>
<item>
<property name="text">
<string>End</string>
</property>
</item>
<item>
<property name="text">
<string>Inflection</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item row="5" column="2">
<widget class="QComboBox" name="new_graph_tnmh_combo"/>
</item>
<item row="2" column="1" colspan="2">
<widget class="Line" name="line_2">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="3" column="1" colspan="2">
<widget class="QCheckBox" name="checkBox_2">
<property name="text">
<string>Export dTf / dT</string>
</property>
</widget>
</item>
<item row="4" column="1" colspan="2">
<widget class="QCheckBox" name="checkBox_3">
<property name="text">
<string>Export fit</string>
</property>
</widget>
</item>
<item row="8" column="1">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="7" column="1" colspan="2">
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>Save</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<customwidgets>