# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'design.ui'
#
# Created by: PyQt5 UI code generator 5.12.2
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(972, 854)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.centralwidget)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
        self.tabWidget.setTabShape(QtWidgets.QTabWidget.Rounded)
        self.tabWidget.setObjectName("tabWidget")
        self.tabimport = QtWidgets.QWidget()
        self.tabimport.setObjectName("tabimport")
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.tabimport)
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.frame = QtWidgets.QFrame(self.tabimport)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(2)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.frame.sizePolicy().hasHeightForWidth())
        self.frame.setSizePolicy(sizePolicy)
        self.frame.setMaximumSize(QtCore.QSize(150, 16777215))
        self.frame.setBaseSize(QtCore.QSize(150, 0))
        self.frame.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame.setObjectName("frame")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.frame)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.groupBox_2 = QtWidgets.QGroupBox(self.frame)
        self.groupBox_2.setFlat(False)
        self.groupBox_2.setCheckable(False)
        self.groupBox_2.setObjectName("groupBox_2")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox_2)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.tab1_open_button = QtWidgets.QPushButton(self.groupBox_2)
        self.tab1_open_button.setObjectName("tab1_open_button")
        self.verticalLayout_3.addWidget(self.tab1_open_button)
        self.verticalLayout_2.addWidget(self.groupBox_2)
        self.tab1_crop_box = QtWidgets.QGroupBox(self.frame)
        self.tab1_crop_box.setEnabled(False)
        self.tab1_crop_box.setObjectName("tab1_crop_box")
        self.verticalLayout_12 = QtWidgets.QVBoxLayout(self.tab1_crop_box)
        self.verticalLayout_12.setObjectName("verticalLayout_12")
        self.tab1_zoom_to_area = QtWidgets.QPushButton(self.tab1_crop_box)
        self.tab1_zoom_to_area.setObjectName("tab1_zoom_to_area")
        self.verticalLayout_12.addWidget(self.tab1_zoom_to_area)
        self.tab1_reset_crop = QtWidgets.QPushButton(self.tab1_crop_box)
        self.tab1_reset_crop.setObjectName("tab1_reset_crop")
        self.verticalLayout_12.addWidget(self.tab1_reset_crop)
        self.verticalLayout_2.addWidget(self.tab1_crop_box)
        self.tab1_scaling_box = QtWidgets.QGroupBox(self.frame)
        self.tab1_scaling_box.setEnabled(False)
        self.tab1_scaling_box.setObjectName("tab1_scaling_box")
        self.verticalLayout_14 = QtWidgets.QVBoxLayout(self.tab1_scaling_box)
        self.verticalLayout_14.setObjectName("verticalLayout_14")
        self.tab1_set_scaling_btn = QtWidgets.QPushButton(self.tab1_scaling_box)
        self.tab1_set_scaling_btn.setObjectName("tab1_set_scaling_btn")
        self.verticalLayout_14.addWidget(self.tab1_set_scaling_btn)
        self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
        self.label_3 = QtWidgets.QLabel(self.tab1_scaling_box)
        self.label_3.setObjectName("label_3")
        self.horizontalLayout_7.addWidget(self.label_3)
        self.tab1_set_scaling_text = QtWidgets.QLineEdit(self.tab1_scaling_box)
        self.tab1_set_scaling_text.setObjectName("tab1_set_scaling_text")
        self.horizontalLayout_7.addWidget(self.tab1_set_scaling_text)
        self.verticalLayout_14.addLayout(self.horizontalLayout_7)
        self.tab1_remove_scaling_btn = QtWidgets.QPushButton(self.tab1_scaling_box)
        self.tab1_remove_scaling_btn.setObjectName("tab1_remove_scaling_btn")
        self.verticalLayout_14.addWidget(self.tab1_remove_scaling_btn)
        self.verticalLayout_2.addWidget(self.tab1_scaling_box)
        self.tab1_time_box = QtWidgets.QGroupBox(self.frame)
        self.tab1_time_box.setEnabled(False)
        self.tab1_time_box.setObjectName("tab1_time_box")
        self.verticalLayout_21 = QtWidgets.QVBoxLayout(self.tab1_time_box)
        self.verticalLayout_21.setObjectName("verticalLayout_21")
        self.horizontalLayout_13 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_13.setObjectName("horizontalLayout_13")
        self.label_15 = QtWidgets.QLabel(self.tab1_time_box)
        self.label_15.setObjectName("label_15")
        self.horizontalLayout_13.addWidget(self.label_15)
        self.tab1_set_dt_text = QtWidgets.QLineEdit(self.tab1_time_box)
        self.tab1_set_dt_text.setObjectName("tab1_set_dt_text")
        self.horizontalLayout_13.addWidget(self.tab1_set_dt_text)
        self.verticalLayout_21.addLayout(self.horizontalLayout_13)
        self.tab1_dt_from_video = QtWidgets.QPushButton(self.tab1_time_box)
        self.tab1_dt_from_video.setObjectName("tab1_dt_from_video")
        self.verticalLayout_21.addWidget(self.tab1_dt_from_video)
        self.verticalLayout_2.addWidget(self.tab1_time_box)
        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout_2.addItem(spacerItem)
        self.horizontalLayout_3.addWidget(self.frame)
        self.verticalLayout = QtWidgets.QVBoxLayout()
        self.verticalLayout.setObjectName("verticalLayout")
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")
        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem1, 0, 1, 1, 1)
        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout.addItem(spacerItem2, 1, 2, 1, 1)
        spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout.addItem(spacerItem3, 1, 0, 1, 1)
        self.mplwidgetimport = MplWidgetImport(self.tabimport)
        self.mplwidgetimport.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
        self.mplwidgetimport.setObjectName("mplwidgetimport")
        self.gridLayout.addWidget(self.mplwidgetimport, 1, 1, 1, 1)
        spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem4, 2, 1, 1, 1)
        self.verticalLayout.addLayout(self.gridLayout)
        self.verticalLayout_20 = QtWidgets.QVBoxLayout()
        self.verticalLayout_20.setContentsMargins(-1, -1, 10, -1)
        self.verticalLayout_20.setObjectName("verticalLayout_20")
        self.horizontalLayout_12 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_12.setContentsMargins(-1, 0, -1, -1)
        self.horizontalLayout_12.setObjectName("horizontalLayout_12")
        self.tab1_label_frame = QtWidgets.QLabel(self.tabimport)
        self.tab1_label_frame.setMinimumSize(QtCore.QSize(40, 0))
        self.tab1_label_frame.setObjectName("tab1_label_frame")
        self.horizontalLayout_12.addWidget(self.tab1_label_frame)
        self.tab1_spinbox_frame = QtWidgets.QSpinBox(self.tabimport)
        self.tab1_spinbox_frame.setEnabled(False)
        self.tab1_spinbox_frame.setObjectName("tab1_spinbox_frame")
        self.horizontalLayout_12.addWidget(self.tab1_spinbox_frame)
        self.tab1_frameslider = QtWidgets.QSlider(self.tabimport)
        self.tab1_frameslider.setEnabled(False)
        self.tab1_frameslider.setOrientation(QtCore.Qt.Horizontal)
        self.tab1_frameslider.setObjectName("tab1_frameslider")
        self.horizontalLayout_12.addWidget(self.tab1_frameslider)
        self.verticalLayout_20.addLayout(self.horizontalLayout_12)
        self.horizontalLayout_15 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_15.setContentsMargins(-1, 0, -1, -1)
        self.horizontalLayout_15.setObjectName("horizontalLayout_15")
        self.tab1_label_first = QtWidgets.QLabel(self.tabimport)
        self.tab1_label_first.setMinimumSize(QtCore.QSize(40, 0))
        self.tab1_label_first.setObjectName("tab1_label_first")
        self.horizontalLayout_15.addWidget(self.tab1_label_first)
        self.tab1_spinbox_first = QtWidgets.QSpinBox(self.tabimport)
        self.tab1_spinbox_first.setEnabled(False)
        self.tab1_spinbox_first.setObjectName("tab1_spinbox_first")
        self.horizontalLayout_15.addWidget(self.tab1_spinbox_first)
        self.tab1_frameslider_first = QtWidgets.QSlider(self.tabimport)
        self.tab1_frameslider_first.setEnabled(False)
        self.tab1_frameslider_first.setOrientation(QtCore.Qt.Horizontal)
        self.tab1_frameslider_first.setObjectName("tab1_frameslider_first")
        self.horizontalLayout_15.addWidget(self.tab1_frameslider_first)
        self.verticalLayout_20.addLayout(self.horizontalLayout_15)
        self.horizontalLayout_16 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_16.setContentsMargins(-1, 0, -1, -1)
        self.horizontalLayout_16.setObjectName("horizontalLayout_16")
        self.tab1_label_last = QtWidgets.QLabel(self.tabimport)
        self.tab1_label_last.setMinimumSize(QtCore.QSize(40, 0))
        self.tab1_label_last.setObjectName("tab1_label_last")
        self.horizontalLayout_16.addWidget(self.tab1_label_last)
        self.tab1_spinbox_last = QtWidgets.QSpinBox(self.tabimport)
        self.tab1_spinbox_last.setEnabled(False)
        self.tab1_spinbox_last.setObjectName("tab1_spinbox_last")
        self.horizontalLayout_16.addWidget(self.tab1_spinbox_last)
        self.tab1_frameslider_last = QtWidgets.QSlider(self.tabimport)
        self.tab1_frameslider_last.setEnabled(False)
        self.tab1_frameslider_last.setProperty("value", 99)
        self.tab1_frameslider_last.setOrientation(QtCore.Qt.Horizontal)
        self.tab1_frameslider_last.setInvertedAppearance(False)
        self.tab1_frameslider_last.setInvertedControls(False)
        self.tab1_frameslider_last.setObjectName("tab1_frameslider_last")
        self.horizontalLayout_16.addWidget(self.tab1_frameslider_last)
        self.verticalLayout_20.addLayout(self.horizontalLayout_16)
        self.verticalLayout.addLayout(self.verticalLayout_20)
        self.horizontalLayout_3.addLayout(self.verticalLayout)
        self.tabWidget.addTab(self.tabimport, "")
        self.tabdetect = QtWidgets.QWidget()
        self.tabdetect.setObjectName("tabdetect")
        self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.tabdetect)
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        self.tab2_options = QtWidgets.QFrame(self.tabdetect)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(2)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.tab2_options.sizePolicy().hasHeightForWidth())
        self.tab2_options.setSizePolicy(sizePolicy)
        self.tab2_options.setMaximumSize(QtCore.QSize(150, 16777215))
        self.tab2_options.setBaseSize(QtCore.QSize(150, 0))
        self.tab2_options.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.tab2_options.setFrameShadow(QtWidgets.QFrame.Raised)
        self.tab2_options.setObjectName("tab2_options")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.tab2_options)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.tab2_canny_box = QtWidgets.QGroupBox(self.tab2_options)
        self.tab2_canny_box.setEnabled(False)
        self.tab2_canny_box.setWhatsThis("")
        self.tab2_canny_box.setFlat(False)
        self.tab2_canny_box.setCheckable(True)
        self.tab2_canny_box.setObjectName("tab2_canny_box")
        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.tab2_canny_box)
        self.verticalLayout_5.setObjectName("verticalLayout_5")
        self.label_4 = QtWidgets.QLabel(self.tab2_canny_box)
        self.label_4.setObjectName("label_4")
        self.verticalLayout_5.addWidget(self.label_4)
        self.tab2_canny_threshold1 = QtWidgets.QSlider(self.tab2_canny_box)
        self.tab2_canny_threshold1.setMaximum(255)
        self.tab2_canny_threshold1.setProperty("value", 200)
        self.tab2_canny_threshold1.setOrientation(QtCore.Qt.Horizontal)
        self.tab2_canny_threshold1.setObjectName("tab2_canny_threshold1")
        self.verticalLayout_5.addWidget(self.tab2_canny_threshold1)
        self.label_5 = QtWidgets.QLabel(self.tab2_canny_box)
        self.label_5.setObjectName("label_5")
        self.verticalLayout_5.addWidget(self.label_5)
        self.tab2_canny_threshold2 = QtWidgets.QSlider(self.tab2_canny_box)
        self.tab2_canny_threshold2.setMaximum(255)
        self.tab2_canny_threshold2.setProperty("value", 100)
        self.tab2_canny_threshold2.setOrientation(QtCore.Qt.Horizontal)
        self.tab2_canny_threshold2.setObjectName("tab2_canny_threshold2")
        self.verticalLayout_5.addWidget(self.tab2_canny_threshold2)
        self.label_8 = QtWidgets.QLabel(self.tab2_canny_box)
        self.label_8.setObjectName("label_8")
        self.verticalLayout_5.addWidget(self.label_8)
        self.tab2_canny_smooth_size = QtWidgets.QSpinBox(self.tab2_canny_box)
        self.tab2_canny_smooth_size.setMaximum(50)
        self.tab2_canny_smooth_size.setProperty("value", 0)
        self.tab2_canny_smooth_size.setObjectName("tab2_canny_smooth_size")
        self.verticalLayout_5.addWidget(self.tab2_canny_smooth_size)
        self.label_9 = QtWidgets.QLabel(self.tab2_canny_box)
        self.label_9.setObjectName("label_9")
        self.verticalLayout_5.addWidget(self.label_9)
        self.tab2_canny_dilatation_steps = QtWidgets.QSpinBox(self.tab2_canny_box)
        self.tab2_canny_dilatation_steps.setMaximum(50)
        self.tab2_canny_dilatation_steps.setProperty("value", 0)
        self.tab2_canny_dilatation_steps.setObjectName("tab2_canny_dilatation_steps")
        self.verticalLayout_5.addWidget(self.tab2_canny_dilatation_steps)
        self.verticalLayout_4.addWidget(self.tab2_canny_box)
        self.tab2_contour_box = QtWidgets.QGroupBox(self.tab2_options)
        self.tab2_contour_box.setEnabled(False)
        self.tab2_contour_box.setFlat(False)
        self.tab2_contour_box.setCheckable(True)
        self.tab2_contour_box.setChecked(False)
        self.tab2_contour_box.setObjectName("tab2_contour_box")
        self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.tab2_contour_box)
        self.verticalLayout_7.setObjectName("verticalLayout_7")
        self.label_11 = QtWidgets.QLabel(self.tab2_contour_box)
        self.label_11.setObjectName("label_11")
        self.verticalLayout_7.addWidget(self.label_11)
        self.tab2_contour_level = QtWidgets.QSlider(self.tab2_contour_box)
        self.tab2_contour_level.setMaximum(255)
        self.tab2_contour_level.setProperty("value", 128)
        self.tab2_contour_level.setOrientation(QtCore.Qt.Horizontal)
        self.tab2_contour_level.setObjectName("tab2_contour_level")
        self.verticalLayout_7.addWidget(self.tab2_contour_level)
        self.verticalLayout_4.addWidget(self.tab2_contour_box)
        self.tab2_options_box = QtWidgets.QGroupBox(self.tab2_options)
        self.tab2_options_box.setEnabled(False)
        self.tab2_options_box.setFlat(False)
        self.tab2_options_box.setCheckable(False)
        self.tab2_options_box.setObjectName("tab2_options_box")
        self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.tab2_options_box)
        self.verticalLayout_8.setObjectName("verticalLayout_8")
        self.label_6 = QtWidgets.QLabel(self.tab2_options_box)
        self.label_6.setObjectName("label_6")
        self.verticalLayout_8.addWidget(self.label_6)
        self.horizontalLayout_8 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_8.setObjectName("horizontalLayout_8")
        self.tab2_nmb_edges_1 = QtWidgets.QRadioButton(self.tab2_options_box)
        self.tab2_nmb_edges_1.setChecked(False)
        self.tab2_nmb_edges_1.setObjectName("tab2_nmb_edges_1")
        self.horizontalLayout_8.addWidget(self.tab2_nmb_edges_1)
        self.tab2_nmb_edges_2 = QtWidgets.QRadioButton(self.tab2_options_box)
        self.tab2_nmb_edges_2.setChecked(True)
        self.tab2_nmb_edges_2.setObjectName("tab2_nmb_edges_2")
        self.horizontalLayout_8.addWidget(self.tab2_nmb_edges_2)
        self.verticalLayout_8.addLayout(self.horizontalLayout_8)
        self.label_7 = QtWidgets.QLabel(self.tab2_options_box)
        self.label_7.setObjectName("label_7")
        self.verticalLayout_8.addWidget(self.label_7)
        self.tab2_ign_pixels = QtWidgets.QSpinBox(self.tab2_options_box)
        self.tab2_ign_pixels.setMaximum(50)
        self.tab2_ign_pixels.setProperty("value", 2)
        self.tab2_ign_pixels.setObjectName("tab2_ign_pixels")
        self.verticalLayout_8.addWidget(self.tab2_ign_pixels)
        self.label_10 = QtWidgets.QLabel(self.tab2_options_box)
        self.label_10.setObjectName("label_10")
        self.verticalLayout_8.addWidget(self.label_10)
        self.tab2_size_ratio = QtWidgets.QSlider(self.tab2_options_box)
        self.tab2_size_ratio.setMaximum(100)
        self.tab2_size_ratio.setProperty("value", 50)
        self.tab2_size_ratio.setOrientation(QtCore.Qt.Horizontal)
        self.tab2_size_ratio.setObjectName("tab2_size_ratio")
        self.verticalLayout_8.addWidget(self.tab2_size_ratio)
        self.verticalLayout_4.addWidget(self.tab2_options_box)
        spacerItem5 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout_4.addItem(spacerItem5)
        self.horizontalLayout_5.addWidget(self.tab2_options)
        self.verticalLayout_6 = QtWidgets.QVBoxLayout()
        self.verticalLayout_6.setObjectName("verticalLayout_6")
        self.gridLayout_2 = QtWidgets.QGridLayout()
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.mplwidgetdetect = MplWidgetDetect(self.tabdetect)
        self.mplwidgetdetect.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
        self.mplwidgetdetect.setObjectName("mplwidgetdetect")
        self.gridLayout_2.addWidget(self.mplwidgetdetect, 1, 1, 1, 1)
        spacerItem6 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout_2.addItem(spacerItem6, 2, 1, 1, 1)
        spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_2.addItem(spacerItem7, 1, 2, 1, 1)
        spacerItem8 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout_2.addItem(spacerItem8, 0, 1, 1, 1)
        spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_2.addItem(spacerItem9, 1, 0, 1, 1)
        self.verticalLayout_6.addLayout(self.gridLayout_2)
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.tab2_label_frame = QtWidgets.QLabel(self.tabdetect)
        self.tab2_label_frame.setObjectName("tab2_label_frame")
        self.horizontalLayout_4.addWidget(self.tab2_label_frame)
        self.tab2_spinbox = QtWidgets.QSpinBox(self.tabdetect)
        self.tab2_spinbox.setEnabled(False)
        self.tab2_spinbox.setObjectName("tab2_spinbox")
        self.horizontalLayout_4.addWidget(self.tab2_spinbox)
        self.tab2_frameslider = QtWidgets.QSlider(self.tabdetect)
        self.tab2_frameslider.setEnabled(False)
        self.tab2_frameslider.setOrientation(QtCore.Qt.Horizontal)
        self.tab2_frameslider.setObjectName("tab2_frameslider")
        self.horizontalLayout_4.addWidget(self.tab2_frameslider)
        self.verticalLayout_6.addLayout(self.horizontalLayout_4)
        self.horizontalLayout_5.addLayout(self.verticalLayout_6)
        self.tabWidget.addTab(self.tabdetect, "")
        self.tabfit = QtWidgets.QWidget()
        self.tabfit.setObjectName("tabfit")
        self.horizontalLayout_11 = QtWidgets.QHBoxLayout(self.tabfit)
        self.horizontalLayout_11.setObjectName("horizontalLayout_11")
        self.frame_3 = QtWidgets.QFrame(self.tabfit)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(2)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.frame_3.sizePolicy().hasHeightForWidth())
        self.frame_3.setSizePolicy(sizePolicy)
        self.frame_3.setMinimumSize(QtCore.QSize(150, 0))
        self.frame_3.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.frame_3.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame_3.setObjectName("frame_3")
        self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.frame_3)
        self.verticalLayout_9.setObjectName("verticalLayout_9")
        self.tab3_circle_box = QtWidgets.QGroupBox(self.frame_3)
        self.tab3_circle_box.setEnabled(False)
        self.tab3_circle_box.setFlat(False)
        self.tab3_circle_box.setCheckable(True)
        self.tab3_circle_box.setChecked(False)
        self.tab3_circle_box.setObjectName("tab3_circle_box")
        self.verticalLayout_10 = QtWidgets.QVBoxLayout(self.tab3_circle_box)
        self.verticalLayout_10.setObjectName("verticalLayout_10")
        self.label_19 = QtWidgets.QLabel(self.tab3_circle_box)
        self.label_19.setObjectName("label_19")
        self.verticalLayout_10.addWidget(self.label_19)
        self.tab3_circle_ymin = QtWidgets.QSlider(self.tab3_circle_box)
        self.tab3_circle_ymin.setMaximum(999999999)
        self.tab3_circle_ymin.setProperty("value", 0)
        self.tab3_circle_ymin.setOrientation(QtCore.Qt.Horizontal)
        self.tab3_circle_ymin.setObjectName("tab3_circle_ymin")
        self.verticalLayout_10.addWidget(self.tab3_circle_ymin)
        self.verticalLayout_9.addWidget(self.tab3_circle_box)
        self.tab3_ellipse_box = QtWidgets.QGroupBox(self.frame_3)
        self.tab3_ellipse_box.setEnabled(False)
        self.tab3_ellipse_box.setFlat(False)
        self.tab3_ellipse_box.setCheckable(True)
        self.tab3_ellipse_box.setChecked(False)
        self.tab3_ellipse_box.setObjectName("tab3_ellipse_box")
        self.verticalLayout_16 = QtWidgets.QVBoxLayout(self.tab3_ellipse_box)
        self.verticalLayout_16.setObjectName("verticalLayout_16")
        self.label_21 = QtWidgets.QLabel(self.tab3_ellipse_box)
        self.label_21.setObjectName("label_21")
        self.verticalLayout_16.addWidget(self.label_21)
        self.tab3_ellipse_ymin = QtWidgets.QSlider(self.tab3_ellipse_box)
        self.tab3_ellipse_ymin.setMaximum(999999999)
        self.tab3_ellipse_ymin.setProperty("value", 0)
        self.tab3_ellipse_ymin.setOrientation(QtCore.Qt.Horizontal)
        self.tab3_ellipse_ymin.setObjectName("tab3_ellipse_ymin")
        self.verticalLayout_16.addWidget(self.tab3_ellipse_ymin)
        self.verticalLayout_9.addWidget(self.tab3_ellipse_box)
        self.tab3_ellipses_box = QtWidgets.QGroupBox(self.frame_3)
        self.tab3_ellipses_box.setEnabled(False)
        self.tab3_ellipses_box.setFlat(False)
        self.tab3_ellipses_box.setCheckable(True)
        self.tab3_ellipses_box.setChecked(True)
        self.tab3_ellipses_box.setObjectName("tab3_ellipses_box")
        self.verticalLayout_26 = QtWidgets.QVBoxLayout(self.tab3_ellipses_box)
        self.verticalLayout_26.setObjectName("verticalLayout_26")
        self.label_22 = QtWidgets.QLabel(self.tab3_ellipses_box)
        self.label_22.setObjectName("label_22")
        self.verticalLayout_26.addWidget(self.label_22)
        self.tab3_ellipses_ymin = QtWidgets.QSlider(self.tab3_ellipses_box)
        self.tab3_ellipses_ymin.setMaximum(999999999)
        self.tab3_ellipses_ymin.setProperty("value", 0)
        self.tab3_ellipses_ymin.setOrientation(QtCore.Qt.Horizontal)
        self.tab3_ellipses_ymin.setObjectName("tab3_ellipses_ymin")
        self.verticalLayout_26.addWidget(self.tab3_ellipses_ymin)
        self.verticalLayout_9.addWidget(self.tab3_ellipses_box)
        self.tab3_polyline_box = QtWidgets.QGroupBox(self.frame_3)
        self.tab3_polyline_box.setEnabled(False)
        self.tab3_polyline_box.setFlat(False)
        self.tab3_polyline_box.setCheckable(True)
        self.tab3_polyline_box.setChecked(False)
        self.tab3_polyline_box.setObjectName("tab3_polyline_box")
        self.verticalLayout_17 = QtWidgets.QVBoxLayout(self.tab3_polyline_box)
        self.verticalLayout_17.setObjectName("verticalLayout_17")
        self.label_12 = QtWidgets.QLabel(self.tab3_polyline_box)
        self.label_12.setObjectName("label_12")
        self.verticalLayout_17.addWidget(self.label_12)
        self.tab3_polyline_deg = QtWidgets.QSpinBox(self.tab3_polyline_box)
        self.tab3_polyline_deg.setMinimum(1)
        self.tab3_polyline_deg.setMaximum(50)
        self.tab3_polyline_deg.setProperty("value", 5)
        self.tab3_polyline_deg.setObjectName("tab3_polyline_deg")
        self.verticalLayout_17.addWidget(self.tab3_polyline_deg)
        self.verticalLayout_9.addWidget(self.tab3_polyline_box)
        self.tab3_spline_box = QtWidgets.QGroupBox(self.frame_3)
        self.tab3_spline_box.setEnabled(False)
        self.tab3_spline_box.setFlat(False)
        self.tab3_spline_box.setCheckable(True)
        self.tab3_spline_box.setChecked(False)
        self.tab3_spline_box.setObjectName("tab3_spline_box")
        self.verticalLayout_18 = QtWidgets.QVBoxLayout(self.tab3_spline_box)
        self.verticalLayout_18.setObjectName("verticalLayout_18")
        self.label_13 = QtWidgets.QLabel(self.tab3_spline_box)
        self.label_13.setObjectName("label_13")
        self.verticalLayout_18.addWidget(self.label_13)
        self.tab3_spline_deg = QtWidgets.QSpinBox(self.tab3_spline_box)
        self.tab3_spline_deg.setMinimum(1)
        self.tab3_spline_deg.setMaximum(5)
        self.tab3_spline_deg.setProperty("value", 5)
        self.tab3_spline_deg.setObjectName("tab3_spline_deg")
        self.verticalLayout_18.addWidget(self.tab3_spline_deg)
        self.label_14 = QtWidgets.QLabel(self.tab3_spline_box)
        self.label_14.setObjectName("label_14")
        self.verticalLayout_18.addWidget(self.label_14)
        self.tab3_spline_smooth = QtWidgets.QSlider(self.tab3_spline_box)
        self.tab3_spline_smooth.setMaximum(100)
        self.tab3_spline_smooth.setProperty("value", 75)
        self.tab3_spline_smooth.setOrientation(QtCore.Qt.Horizontal)
        self.tab3_spline_smooth.setObjectName("tab3_spline_smooth")
        self.verticalLayout_18.addWidget(self.tab3_spline_smooth)
        self.verticalLayout_9.addWidget(self.tab3_spline_box)
        self.tab3_wetting_ridge_box = QtWidgets.QGroupBox(self.frame_3)
        self.tab3_wetting_ridge_box.setEnabled(False)
        self.tab3_wetting_ridge_box.setFlat(False)
        self.tab3_wetting_ridge_box.setCheckable(True)
        self.tab3_wetting_ridge_box.setChecked(False)
        self.tab3_wetting_ridge_box.setObjectName("tab3_wetting_ridge_box")
        self.verticalLayout_29 = QtWidgets.QVBoxLayout(self.tab3_wetting_ridge_box)
        self.verticalLayout_29.setObjectName("verticalLayout_29")
        self.label_16 = QtWidgets.QLabel(self.tab3_wetting_ridge_box)
        self.label_16.setObjectName("label_16")
        self.verticalLayout_29.addWidget(self.label_16)
        self.tab3_wetting_ridge_pos_estimate = QtWidgets.QSlider(self.tab3_wetting_ridge_box)
        self.tab3_wetting_ridge_pos_estimate.setMinimum(1)
        self.tab3_wetting_ridge_pos_estimate.setMaximum(50)
        self.tab3_wetting_ridge_pos_estimate.setProperty("value", 25)
        self.tab3_wetting_ridge_pos_estimate.setOrientation(QtCore.Qt.Horizontal)
        self.tab3_wetting_ridge_pos_estimate.setObjectName("tab3_wetting_ridge_pos_estimate")
        self.verticalLayout_29.addWidget(self.tab3_wetting_ridge_pos_estimate)
        self.label_18 = QtWidgets.QLabel(self.tab3_wetting_ridge_box)
        self.label_18.setObjectName("label_18")
        self.verticalLayout_29.addWidget(self.label_18)
        self.tab3_wetting_ridge_sigma = QtWidgets.QSlider(self.tab3_wetting_ridge_box)
        self.tab3_wetting_ridge_sigma.setMinimum(1)
        self.tab3_wetting_ridge_sigma.setMaximum(100)
        self.tab3_wetting_ridge_sigma.setProperty("value", 50)
        self.tab3_wetting_ridge_sigma.setOrientation(QtCore.Qt.Horizontal)
        self.tab3_wetting_ridge_sigma.setObjectName("tab3_wetting_ridge_sigma")
        self.verticalLayout_29.addWidget(self.tab3_wetting_ridge_sigma)
        self.verticalLayout_9.addWidget(self.tab3_wetting_ridge_box)
        spacerItem10 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout_9.addItem(spacerItem10)
        self.horizontalLayout_11.addWidget(self.frame_3)
        self.verticalLayout_15 = QtWidgets.QVBoxLayout()
        self.verticalLayout_15.setObjectName("verticalLayout_15")
        self.gridLayout_3 = QtWidgets.QGridLayout()
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.mplwidgetfit = MplWidgetFit(self.tabfit)
        self.mplwidgetfit.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
        self.mplwidgetfit.setObjectName("mplwidgetfit")
        self.gridLayout_3.addWidget(self.mplwidgetfit, 1, 1, 1, 1)
        spacerItem11 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout_3.addItem(spacerItem11, 2, 1, 1, 1)
        spacerItem12 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_3.addItem(spacerItem12, 1, 2, 1, 1)
        spacerItem13 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout_3.addItem(spacerItem13, 0, 1, 1, 1)
        spacerItem14 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_3.addItem(spacerItem14, 1, 0, 1, 1)
        self.verticalLayout_15.addLayout(self.gridLayout_3)
        self.horizontalLayout_10 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_10.setObjectName("horizontalLayout_10")
        self.tab3_label_frame = QtWidgets.QLabel(self.tabfit)
        self.tab3_label_frame.setObjectName("tab3_label_frame")
        self.horizontalLayout_10.addWidget(self.tab3_label_frame)
        self.tab3_spinbox = QtWidgets.QSpinBox(self.tabfit)
        self.tab3_spinbox.setEnabled(False)
        self.tab3_spinbox.setObjectName("tab3_spinbox")
        self.horizontalLayout_10.addWidget(self.tab3_spinbox)
        self.tab3_frameslider = QtWidgets.QSlider(self.tabfit)
        self.tab3_frameslider.setEnabled(False)
        self.tab3_frameslider.setOrientation(QtCore.Qt.Horizontal)
        self.tab3_frameslider.setObjectName("tab3_frameslider")
        self.horizontalLayout_10.addWidget(self.tab3_frameslider)
        self.verticalLayout_15.addLayout(self.horizontalLayout_10)
        self.horizontalLayout_11.addLayout(self.verticalLayout_15)
        self.tabWidget.addTab(self.tabfit, "")
        self.tabanalyze = QtWidgets.QWidget()
        self.tabanalyze.setObjectName("tabanalyze")
        self.horizontalLayout_9 = QtWidgets.QHBoxLayout(self.tabanalyze)
        self.horizontalLayout_9.setObjectName("horizontalLayout_9")
        self.frame_4 = QtWidgets.QFrame(self.tabanalyze)
        self.frame_4.setMinimumSize(QtCore.QSize(175, 0))
        self.frame_4.setMaximumSize(QtCore.QSize(175, 16777215))
        self.frame_4.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.frame_4.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame_4.setObjectName("frame_4")
        self.verticalLayout_11 = QtWidgets.QVBoxLayout(self.frame_4)
        self.verticalLayout_11.setObjectName("verticalLayout_11")
        self.tab4_run_box = QtWidgets.QGroupBox(self.frame_4)
        self.tab4_run_box.setEnabled(False)
        self.tab4_run_box.setObjectName("tab4_run_box")
        self.verticalLayout_24 = QtWidgets.QVBoxLayout(self.tab4_run_box)
        self.verticalLayout_24.setObjectName("verticalLayout_24")
        self.label = QtWidgets.QLabel(self.tab4_run_box)
        self.label.setObjectName("label")
        self.verticalLayout_24.addWidget(self.label)
        self.tab4_set_N = QtWidgets.QSpinBox(self.tab4_run_box)
        self.tab4_set_N.setObjectName("tab4_set_N")
        self.verticalLayout_24.addWidget(self.tab4_set_N)
        self.tab4_run_button = QtWidgets.QPushButton(self.tab4_run_box)
        self.tab4_run_button.setMinimumSize(QtCore.QSize(0, 30))
        self.tab4_run_button.setObjectName("tab4_run_button")
        self.verticalLayout_24.addWidget(self.tab4_run_button)
        self.tab4_run_all_button = QtWidgets.QPushButton(self.tab4_run_box)
        self.tab4_run_all_button.setMinimumSize(QtCore.QSize(0, 30))
        self.tab4_run_all_button.setObjectName("tab4_run_all_button")
        self.verticalLayout_24.addWidget(self.tab4_run_all_button)
        self.verticalLayout_11.addWidget(self.tab4_run_box)
        spacerItem15 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout_11.addItem(spacerItem15)
        self.tab4_xaxis_box = QtWidgets.QGroupBox(self.frame_4)
        self.tab4_xaxis_box.setEnabled(False)
        self.tab4_xaxis_box.setFlat(False)
        self.tab4_xaxis_box.setCheckable(False)
        self.tab4_xaxis_box.setChecked(False)
        self.tab4_xaxis_box.setObjectName("tab4_xaxis_box")
        self.verticalLayout_13 = QtWidgets.QVBoxLayout(self.tab4_xaxis_box)
        self.verticalLayout_13.setObjectName("verticalLayout_13")
        self.tab4_combo_xaxis = QtWidgets.QComboBox(self.tab4_xaxis_box)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.tab4_combo_xaxis.sizePolicy().hasHeightForWidth())
        self.tab4_combo_xaxis.setSizePolicy(sizePolicy)
        self.tab4_combo_xaxis.setObjectName("tab4_combo_xaxis")
        self.verticalLayout_13.addWidget(self.tab4_combo_xaxis)
        self.horizontalLayout_14 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_14.setContentsMargins(-1, 0, -1, -1)
        self.horizontalLayout_14.setObjectName("horizontalLayout_14")
        self.label_23 = QtWidgets.QLabel(self.tab4_xaxis_box)
        self.label_23.setObjectName("label_23")
        self.horizontalLayout_14.addWidget(self.label_23)
        self.tab4_smoothx = QtWidgets.QSpinBox(self.tab4_xaxis_box)
        self.tab4_smoothx.setMaximum(1000)
        self.tab4_smoothx.setProperty("value", 0)
        self.tab4_smoothx.setObjectName("tab4_smoothx")
        self.horizontalLayout_14.addWidget(self.tab4_smoothx)
        self.verticalLayout_13.addLayout(self.horizontalLayout_14)
        self.verticalLayout_11.addWidget(self.tab4_xaxis_box)
        self.tab4_yaxis_box = QtWidgets.QGroupBox(self.frame_4)
        self.tab4_yaxis_box.setEnabled(False)
        self.tab4_yaxis_box.setFlat(False)
        self.tab4_yaxis_box.setCheckable(False)
        self.tab4_yaxis_box.setChecked(False)
        self.tab4_yaxis_box.setObjectName("tab4_yaxis_box")
        self.verticalLayout_19 = QtWidgets.QVBoxLayout(self.tab4_yaxis_box)
        self.verticalLayout_19.setObjectName("verticalLayout_19")
        self.tab4_combo_yaxis = QtWidgets.QComboBox(self.tab4_yaxis_box)
        self.tab4_combo_yaxis.setObjectName("tab4_combo_yaxis")
        self.verticalLayout_19.addWidget(self.tab4_combo_yaxis)
        self.horizontalLayout_17 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_17.setContentsMargins(-1, 0, -1, -1)
        self.horizontalLayout_17.setObjectName("horizontalLayout_17")
        self.label_24 = QtWidgets.QLabel(self.tab4_yaxis_box)
        self.label_24.setObjectName("label_24")
        self.horizontalLayout_17.addWidget(self.label_24)
        self.tab4_smoothy = QtWidgets.QSpinBox(self.tab4_yaxis_box)
        self.tab4_smoothy.setMaximum(1000)
        self.tab4_smoothy.setProperty("value", 0)
        self.tab4_smoothy.setObjectName("tab4_smoothy")
        self.horizontalLayout_17.addWidget(self.tab4_smoothy)
        self.verticalLayout_19.addLayout(self.horizontalLayout_17)
        self.verticalLayout_11.addWidget(self.tab4_yaxis_box)
        self.tab4_yaxis2_box = QtWidgets.QGroupBox(self.frame_4)
        self.tab4_yaxis2_box.setEnabled(False)
        self.tab4_yaxis2_box.setFlat(False)
        self.tab4_yaxis2_box.setCheckable(True)
        self.tab4_yaxis2_box.setChecked(False)
        self.tab4_yaxis2_box.setObjectName("tab4_yaxis2_box")
        self.verticalLayout_23 = QtWidgets.QVBoxLayout(self.tab4_yaxis2_box)
        self.verticalLayout_23.setObjectName("verticalLayout_23")
        self.tab4_combo_yaxis2 = QtWidgets.QComboBox(self.tab4_yaxis2_box)
        self.tab4_combo_yaxis2.setObjectName("tab4_combo_yaxis2")
        self.verticalLayout_23.addWidget(self.tab4_combo_yaxis2)
        self.horizontalLayout_19 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_19.setContentsMargins(-1, 0, -1, -1)
        self.horizontalLayout_19.setObjectName("horizontalLayout_19")
        self.label_26 = QtWidgets.QLabel(self.tab4_yaxis2_box)
        self.label_26.setObjectName("label_26")
        self.horizontalLayout_19.addWidget(self.label_26)
        self.tab4_smoothy2 = QtWidgets.QSpinBox(self.tab4_yaxis2_box)
        self.tab4_smoothy2.setMaximum(1000)
        self.tab4_smoothy2.setProperty("value", 0)
        self.tab4_smoothy2.setObjectName("tab4_smoothy2")
        self.horizontalLayout_19.addWidget(self.tab4_smoothy2)
        self.verticalLayout_23.addLayout(self.horizontalLayout_19)
        self.verticalLayout_11.addWidget(self.tab4_yaxis2_box)
        spacerItem16 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout_11.addItem(spacerItem16)
        self.tab4_local_values_box = QtWidgets.QGroupBox(self.frame_4)
        self.tab4_local_values_box.setEnabled(False)
        self.tab4_local_values_box.setObjectName("tab4_local_values_box")
        self.verticalLayout_22 = QtWidgets.QVBoxLayout(self.tab4_local_values_box)
        self.verticalLayout_22.setObjectName("verticalLayout_22")
        self.tab4_local_x_label = QtWidgets.QLabel(self.tab4_local_values_box)
        self.tab4_local_x_label.setObjectName("tab4_local_x_label")
        self.verticalLayout_22.addWidget(self.tab4_local_x_label)
        self.tab4_local_x_value = QtWidgets.QLineEdit(self.tab4_local_values_box)
        self.tab4_local_x_value.setReadOnly(True)
        self.tab4_local_x_value.setObjectName("tab4_local_x_value")
        self.verticalLayout_22.addWidget(self.tab4_local_x_value)
        self.tab4_local_y_label = QtWidgets.QLabel(self.tab4_local_values_box)
        self.tab4_local_y_label.setObjectName("tab4_local_y_label")
        self.verticalLayout_22.addWidget(self.tab4_local_y_label)
        self.tab4_local_y_value = QtWidgets.QLineEdit(self.tab4_local_values_box)
        self.tab4_local_y_value.setReadOnly(True)
        self.tab4_local_y_value.setObjectName("tab4_local_y_value")
        self.verticalLayout_22.addWidget(self.tab4_local_y_value)
        self.tab4_local_y2_label = QtWidgets.QLabel(self.tab4_local_values_box)
        self.tab4_local_y2_label.setObjectName("tab4_local_y2_label")
        self.verticalLayout_22.addWidget(self.tab4_local_y2_label)
        self.tab4_local_y2_value = QtWidgets.QLineEdit(self.tab4_local_values_box)
        self.tab4_local_y2_value.setReadOnly(True)
        self.tab4_local_y2_value.setObjectName("tab4_local_y2_value")
        self.verticalLayout_22.addWidget(self.tab4_local_y2_value)
        self.verticalLayout_11.addWidget(self.tab4_local_values_box)
        spacerItem17 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout_11.addItem(spacerItem17)
        self.horizontalLayout_9.addWidget(self.frame_4)
        self.verticalLayout_25 = QtWidgets.QVBoxLayout()
        self.verticalLayout_25.setContentsMargins(-1, -1, 0, 0)
        self.verticalLayout_25.setObjectName("verticalLayout_25")
        self.gridLayout_4 = QtWidgets.QGridLayout()
        self.gridLayout_4.setObjectName("gridLayout_4")
        spacerItem18 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout_4.addItem(spacerItem18, 0, 1, 1, 1)
        spacerItem19 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_4.addItem(spacerItem19, 1, 0, 1, 1)
        spacerItem20 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_4.addItem(spacerItem20, 1, 2, 1, 1)
        spacerItem21 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout_4.addItem(spacerItem21, 2, 1, 1, 1)
        self.mplwidgetanalyze = MplWidgetAnalyze(self.tabanalyze)
        self.mplwidgetanalyze.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
        self.mplwidgetanalyze.setObjectName("mplwidgetanalyze")
        self.gridLayout_4.addWidget(self.mplwidgetanalyze, 1, 1, 1, 1)
        self.verticalLayout_25.addLayout(self.gridLayout_4)
        self.horizontalLayout_9.addLayout(self.verticalLayout_25)
        self.tabWidget.addTab(self.tabanalyze, "")
        self.tabdata = QtWidgets.QWidget()
        self.tabdata.setEnabled(False)
        self.tabdata.setObjectName("tabdata")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.tabdata)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.frame_5 = QtWidgets.QFrame(self.tabdata)
        self.frame_5.setMinimumSize(QtCore.QSize(175, 0))
        self.frame_5.setMaximumSize(QtCore.QSize(175, 16777215))
        self.frame_5.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.frame_5.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame_5.setObjectName("frame_5")
        self.verticalLayout_28 = QtWidgets.QVBoxLayout(self.frame_5)
        self.verticalLayout_28.setObjectName("verticalLayout_28")
        self.tab5_export_box = QtWidgets.QGroupBox(self.frame_5)
        self.tab5_export_box.setEnabled(False)
        self.tab5_export_box.setFlat(False)
        self.tab5_export_box.setCheckable(False)
        self.tab5_export_box.setChecked(False)
        self.tab5_export_box.setObjectName("tab5_export_box")
        self.verticalLayout_30 = QtWidgets.QVBoxLayout(self.tab5_export_box)
        self.verticalLayout_30.setObjectName("verticalLayout_30")
        self.tab5_export_csv_button = QtWidgets.QPushButton(self.tab5_export_box)
        self.tab5_export_csv_button.setObjectName("tab5_export_csv_button")
        self.verticalLayout_30.addWidget(self.tab5_export_csv_button)
        self.tab5_export_xlsx_button = QtWidgets.QPushButton(self.tab5_export_box)
        self.tab5_export_xlsx_button.setObjectName("tab5_export_xlsx_button")
        self.verticalLayout_30.addWidget(self.tab5_export_xlsx_button)
        self.verticalLayout_28.addWidget(self.tab5_export_box)
        self.tab5_number_format_box = QtWidgets.QGroupBox(self.frame_5)
        self.tab5_number_format_box.setEnabled(False)
        self.tab5_number_format_box.setFlat(False)
        self.tab5_number_format_box.setCheckable(False)
        self.tab5_number_format_box.setChecked(False)
        self.tab5_number_format_box.setObjectName("tab5_number_format_box")
        self.verticalLayout_27 = QtWidgets.QVBoxLayout(self.tab5_number_format_box)
        self.verticalLayout_27.setObjectName("verticalLayout_27")
        self.label_2 = QtWidgets.QLabel(self.tab5_number_format_box)
        self.label_2.setObjectName("label_2")
        self.verticalLayout_27.addWidget(self.label_2)
        self.tab5_significativ_numbers = QtWidgets.QSpinBox(self.tab5_number_format_box)
        self.tab5_significativ_numbers.setMaximum(1000)
        self.tab5_significativ_numbers.setProperty("value", 3)
        self.tab5_significativ_numbers.setObjectName("tab5_significativ_numbers")
        self.verticalLayout_27.addWidget(self.tab5_significativ_numbers)
        self.verticalLayout_28.addWidget(self.tab5_number_format_box)
        spacerItem22 = QtWidgets.QSpacerItem(20, 562, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout_28.addItem(spacerItem22)
        self.horizontalLayout.addWidget(self.frame_5)
        self.tab5_DataTable = QtWidgets.QTableWidget(self.tabdata)
        self.tab5_DataTable.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
        self.tab5_DataTable.setDragEnabled(True)
        self.tab5_DataTable.setDragDropMode(QtWidgets.QAbstractItemView.DragOnly)
        self.tab5_DataTable.setAlternatingRowColors(True)
        self.tab5_DataTable.setObjectName("tab5_DataTable")
        self.tab5_DataTable.setColumnCount(0)
        self.tab5_DataTable.setRowCount(0)
        self.tab5_DataTable.verticalHeader().setVisible(False)
        self.horizontalLayout.addWidget(self.tab5_DataTable)
        self.tabWidget.addTab(self.tabdata, "")
        self.tab4_log = QtWidgets.QWidget()
        self.tab4_log.setObjectName("tab4_log")
        self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.tab4_log)
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
        self.logarea = QtWidgets.QTextEdit(self.tab4_log)
        font = QtGui.QFont()
        font.setPointSize(12)
        self.logarea.setFont(font)
        self.logarea.setUndoRedoEnabled(False)
        self.logarea.setLineWrapMode(QtWidgets.QTextEdit.NoWrap)
        self.logarea.setReadOnly(True)
        self.logarea.setObjectName("logarea")
        self.horizontalLayout_6.addWidget(self.logarea)
        self.tabWidget.addTab(self.tab4_log, "")
        self.horizontalLayout_2.addWidget(self.tabWidget)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 972, 20))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        self.tabWidget.setCurrentIndex(4)
        self.tab1_open_button.clicked.connect(MainWindow.tab1.import_file)
        self.tab1_reset_crop.clicked.connect(MainWindow.tab1.reset_crop)
        self.tabWidget.currentChanged['int'].connect(MainWindow.change_tab)
        self.tab2_spinbox.valueChanged['int'].connect(MainWindow.tab2.set_current_frame)
        self.tab2_frameslider.valueChanged['int'].connect(self.tab2_spinbox.setValue)
        self.tab2_spinbox.valueChanged['int'].connect(self.tab2_frameslider.setValue)
        self.tab1_set_scaling_btn.clicked.connect(MainWindow.tab1.set_scaling)
        self.tab1_remove_scaling_btn.clicked.connect(MainWindow.tab1.remove_scaling)
        self.tab2_canny_smooth_size.valueChanged['int'].connect(MainWindow.tab2.update_edge)
        self.tab2_canny_dilatation_steps.valueChanged['int'].connect(MainWindow.tab2.update_edge)
        self.tab2_contour_level.sliderMoved['int'].connect(MainWindow.tab2.update_edge)
        self.tab2_ign_pixels.valueChanged['int'].connect(MainWindow.tab2.update_edge)
        self.tab2_size_ratio.valueChanged['int'].connect(MainWindow.tab2.update_edge)
        self.tab2_nmb_edges_2.toggled['bool'].connect(MainWindow.tab2.update_edge)
        self.tab2_nmb_edges_1.toggled['bool'].connect(MainWindow.tab2.update_edge)
        self.tab2_contour_box.toggled['bool'].connect(MainWindow.tab2.toggle_contour)
        self.tab2_canny_box.toggled['bool'].connect(MainWindow.tab2.toggle_canny)
        self.tab3_spinbox.valueChanged['int'].connect(self.tab3_frameslider.setValue)
        self.tab3_spinbox.valueChanged['int'].connect(MainWindow.tab3.set_current_frame)
        self.tab3_frameslider.valueChanged['int'].connect(self.tab3_spinbox.setValue)
        self.tab3_spline_smooth.valueChanged['int'].connect(MainWindow.tab3.update_fit)
        self.tab3_spline_box.toggled['bool'].connect(MainWindow.tab3.toggle_spline)
        self.tab3_spline_deg.valueChanged['int'].connect(MainWindow.tab3.update_fit)
        self.tab3_polyline_box.toggled['bool'].connect(MainWindow.tab3.toggle_polyline)
        self.tab3_polyline_deg.valueChanged['int'].connect(MainWindow.tab3.update_fit)
        self.tab3_ellipse_box.toggled['bool'].connect(MainWindow.tab3.toggle_ellipse)
        self.tab3_ellipse_ymin.valueChanged['int'].connect(MainWindow.tab3.update_fit)
        self.tab3_circle_ymin.valueChanged['int'].connect(MainWindow.tab3.update_fit)
        self.tab3_circle_box.toggled['bool'].connect(MainWindow.tab3.toggle_circle)
        self.tab4_combo_xaxis.currentIndexChanged['int'].connect(MainWindow.tab4.update_plot)
        self.tab4_combo_yaxis.currentIndexChanged['int'].connect(MainWindow.tab4.update_plot)
        self.tab1_spinbox_frame.valueChanged['int'].connect(MainWindow.tab1.set_current_frame)
        self.tab1_frameslider.sliderMoved['int'].connect(self.tab1_spinbox_frame.setValue)
        self.tab1_spinbox_frame.valueChanged['int'].connect(self.tab1_frameslider.setValue)
        self.tab1_frameslider_first.sliderMoved['int'].connect(self.tab1_spinbox_first.setValue)
        self.tab1_spinbox_first.valueChanged['int'].connect(self.tab1_frameslider_first.setValue)
        self.tab1_frameslider_last.sliderMoved['int'].connect(self.tab1_spinbox_last.setValue)
        self.tab1_frameslider_last.valueChanged['int'].connect(self.tab1_spinbox_last.setValue)
        self.tab1_spinbox_first.valueChanged['int'].connect(MainWindow.tab1.set_first_frame)
        self.tab1_spinbox_last.valueChanged['int'].connect(MainWindow.tab1.set_last_frame)
        self.tab1_spinbox_last.valueChanged['int'].connect(self.tab1_frameslider_last.setValue)
        self.tab2_canny_threshold1.valueChanged['int'].connect(MainWindow.tab2.update_edge)
        self.tab2_canny_threshold2.valueChanged['int'].connect(MainWindow.tab2.update_edge)
        self.tab4_combo_yaxis2.currentIndexChanged['int'].connect(MainWindow.tab4.update_plot)
        self.tab4_yaxis2_box.toggled['bool'].connect(MainWindow.tab4.toggle_axis2)
        self.tab4_smoothx.valueChanged['int'].connect(MainWindow.tab4.update_plot)
        self.tab4_smoothy2.valueChanged['int'].connect(MainWindow.tab4.update_plot)
        self.tab4_smoothy.valueChanged['int'].connect(MainWindow.tab4.update_plot)
        self.tab4_run_button.clicked.connect(MainWindow.tab4.compute)
        self.tab3_ellipses_box.toggled['bool'].connect(MainWindow.tab3.toggle_ellipses)
        self.tab3_ellipses_ymin.valueChanged['int'].connect(MainWindow.tab3.update_fit)
        self.tab1_dt_from_video.clicked['bool'].connect(MainWindow.tab1.dt_from_video)
        self.tab5_export_csv_button.clicked.connect(MainWindow.tab5.export_as_csv)
        self.tab5_significativ_numbers.valueChanged['int'].connect(MainWindow.tab5.update_data_table)
        self.tab3_wetting_ridge_box.toggled['bool'].connect(MainWindow.tab3.toggle_wetting_ridge)
        self.tab3_wetting_ridge_sigma.valueChanged['int'].connect(MainWindow.tab3.update_fit)
        self.tab3_wetting_ridge_pos_estimate.valueChanged['int'].connect(MainWindow.tab3.update_fit)
        self.tab1_zoom_to_area.clicked['bool'].connect(MainWindow.tab1.zoom_to_area)
        self.tab4_run_all_button.clicked.connect(MainWindow.tab4.compute_all)
        self.tab5_export_xlsx_button.clicked['bool'].connect(MainWindow.tab5.export_as_xlsx)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.groupBox_2.setTitle(_translate("MainWindow", "Import"))
        self.tab1_open_button.setToolTip(_translate("MainWindow", "Import a file (image, video or image set)"))
        self.tab1_open_button.setText(_translate("MainWindow", "Open"))
        self.tab1_crop_box.setTitle(_translate("MainWindow", "Crop"))
        self.tab1_zoom_to_area.setToolTip(_translate("MainWindow", "Reset the cropping window"))
        self.tab1_zoom_to_area.setText(_translate("MainWindow", "Zoom to area"))
        self.tab1_reset_crop.setToolTip(_translate("MainWindow", "Reset the cropping window"))
        self.tab1_reset_crop.setText(_translate("MainWindow", "Reset"))
        self.tab1_scaling_box.setTitle(_translate("MainWindow", "Scale"))
        self.tab1_set_scaling_btn.setToolTip(_translate("MainWindow", "Allow to select two scaling points on the current image"))
        self.tab1_set_scaling_btn.setText(_translate("MainWindow", "Set scaling"))
        self.label_3.setText(_translate("MainWindow", "dl:"))
        self.tab1_set_scaling_text.setToolTip(_translate("MainWindow", "Length separating the scaling points"))
        self.tab1_set_scaling_text.setText(_translate("MainWindow", "1mm"))
        self.tab1_remove_scaling_btn.setToolTip(_translate("MainWindow", "Remove the current scaling"))
        self.tab1_remove_scaling_btn.setText(_translate("MainWindow", "Remove"))
        self.tab1_time_box.setTitle(_translate("MainWindow", "Time [s]"))
        self.label_15.setText(_translate("MainWindow", "dt:"))
        self.tab1_set_dt_text.setToolTip(_translate("MainWindow", "Interval of time between two frames (in second)"))
        self.tab1_set_dt_text.setText(_translate("MainWindow", "1"))
        self.tab1_dt_from_video.setToolTip(_translate("MainWindow", "Reset the cropping window"))
        self.tab1_dt_from_video.setText(_translate("MainWindow", "From video"))
        self.tab1_label_frame.setText(_translate("MainWindow", "Frame"))
        self.tab1_spinbox_frame.setToolTip(_translate("MainWindow", "Frame number to display"))
        self.tab1_frameslider.setToolTip(_translate("MainWindow", "Frame number to display"))
        self.tab1_label_first.setText(_translate("MainWindow", "First"))
        self.tab1_spinbox_first.setToolTip(_translate("MainWindow", "First frame to analyze"))
        self.tab1_frameslider_first.setToolTip(_translate("MainWindow", "First frame to analyze"))
        self.tab1_label_last.setText(_translate("MainWindow", "Last"))
        self.tab1_spinbox_last.setToolTip(_translate("MainWindow", "Last frame to analyze"))
        self.tab1_frameslider_last.setToolTip(_translate("MainWindow", "Last frame to analyze"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabimport), _translate("MainWindow", "Import"))
        self.tab2_canny_box.setTitle(_translate("MainWindow", "Cann&y edges"))
        self.label_4.setText(_translate("MainWindow", "Upper threshold"))
        self.tab2_canny_threshold1.setToolTip(_translate("MainWindow", "Canny edge upper threshold (lower this to detect more edges)"))
        self.label_5.setText(_translate("MainWindow", "Lower threshold"))
        self.tab2_canny_threshold2.setToolTip(_translate("MainWindow", "Canny edge lower threshold (lower this to detect longer edges)"))
        self.label_8.setToolTip(_translate("MainWindow", "Smooth actor performed before "))
        self.label_8.setText(_translate("MainWindow", "Smoothing factor"))
        self.tab2_canny_smooth_size.setToolTip(_translate("MainWindow", "Smooth the image before edge detection (increase this when the edge detection perform badly and the images are noisy)"))
        self.label_9.setText(_translate("MainWindow", "Dilatation steps"))
        self.tab2_canny_dilatation_steps.setToolTip(_translate("MainWindow", "Dilate the detected edges (increase this if the edges are discontinuous in some points)"))
        self.tab2_contour_box.setTitle(_translate("MainWindow", "Conto&ur"))
        self.label_11.setText(_translate("MainWindow", "Level"))
        self.tab2_contour_level.setToolTip(_translate("MainWindow", "Level of gray of the isocontour (to adjust depending on the edge to detect)"))
        self.tab2_options_box.setTitle(_translate("MainWindow", "Generic options"))
        self.label_6.setText(_translate("MainWindow", "Number of edges"))
        self.tab2_nmb_edges_1.setText(_translate("MainWindow", "&1"))
        self.tab2_nmb_edges_2.setToolTip(_translate("MainWindow", "Number of separated edges to look for (set this to 1 if something else than the drop edge is detected)"))
        self.tab2_nmb_edges_2.setText(_translate("MainWindow", "&2"))
        self.label_7.setText(_translate("MainWindow", "Ignored pixels"))
        self.tab2_ign_pixels.setToolTip(_translate("MainWindow", "Number of pixel ignored near the baseline (increase this if the drop edges are difficult to see near the baseline)"))
        self.label_10.setText(_translate("MainWindow", "Size ratio"))
        self.tab2_size_ratio.setToolTip(_translate("MainWindow", "Maximal size ratio between separated edges (if applicable)"))
        self.tab2_label_frame.setText(_translate("MainWindow", "Frames"))
        self.tab2_spinbox.setToolTip(_translate("MainWindow", "Frame number to display"))
        self.tab2_frameslider.setToolTip(_translate("MainWindow", "Frame number to display"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabdetect), _translate("MainWindow", "Edge detection"))
        self.tab3_circle_box.setToolTip(_translate("MainWindow", "Fit a circle to the droplet edges."))
        self.tab3_circle_box.setTitle(_translate("MainWindow", "Circle"))
        self.label_19.setText(_translate("MainWindow", "Ignore lower part"))
        self.tab3_circle_ymin.setToolTip(_translate("MainWindow", "Ignore the lower part of the drop"))
        self.tab3_ellipse_box.setToolTip(_translate("MainWindow", "Fit a single ellipse to the drop edges."))
        self.tab3_ellipse_box.setTitle(_translate("MainWindow", "Ellipse"))
        self.label_21.setText(_translate("MainWindow", "Ignore lower part"))
        self.tab3_ellipse_ymin.setToolTip(_translate("MainWindow", "Ignore the lower part of the drop"))
        self.tab3_ellipses_box.setToolTip(_translate("MainWindow", "Fit two ellipses to each droplet side."))
        self.tab3_ellipses_box.setTitle(_translate("MainWindow", "Ellipses"))
        self.label_22.setText(_translate("MainWindow", "Ignore lower part"))
        self.tab3_ellipses_ymin.setToolTip(_translate("MainWindow", "Ignore the lower part of the drop"))
        self.tab3_polyline_box.setToolTip(_translate("MainWindow", "Fit two polynomials to each droplet side."))
        self.tab3_polyline_box.setTitle(_translate("MainWindow", "Pol&ylines"))
        self.label_12.setText(_translate("MainWindow", "Degree"))
        self.tab3_polyline_deg.setToolTip(_translate("MainWindow", "Degree of the polynomial (higher means better fit, but more sensitive to noise)"))
        self.tab3_spline_box.setToolTip(_translate("MainWindow", "Fit two splines to each droplet side."))
        self.tab3_spline_box.setTitle(_translate("MainWindow", "Splines"))
        self.label_13.setText(_translate("MainWindow", "Degree"))
        self.tab3_spline_deg.setToolTip(_translate("MainWindow", "Degree of the spline (up to 5)"))
        self.label_14.setText(_translate("MainWindow", "Smooth"))
        self.tab3_spline_smooth.setToolTip(_translate("MainWindow", "Smoothiness of the spline"))
        self.tab3_wetting_ridge_box.setToolTip(_translate("MainWindow", "Fit two splines to each droplet side."))
        self.tab3_wetting_ridge_box.setTitle(_translate("MainWindow", "Wetting ridge"))
        self.label_16.setText(_translate("MainWindow", "Position estimate"))
        self.tab3_wetting_ridge_pos_estimate.setToolTip(_translate("MainWindow", "Smoothiness of the spline"))
        self.label_18.setText(_translate("MainWindow", "Sigma"))
        self.tab3_wetting_ridge_sigma.setToolTip(_translate("MainWindow", "Smoothiness of the spline"))
        self.tab3_label_frame.setText(_translate("MainWindow", "Frames"))
        self.tab3_spinbox.setToolTip(_translate("MainWindow", "Frame number to display"))
        self.tab3_frameslider.setToolTip(_translate("MainWindow", "Frame number to display"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabfit), _translate("MainWindow", "Fitting"))
        self.label.setText(_translate("MainWindow", "Use every N frames"))
        self.tab4_set_N.setToolTip(_translate("MainWindow", "The default value is calculated so that around 50 frames are analysed."))
        self.tab4_run_button.setText(_translate("MainWindow", "Compute"))
        self.tab4_run_all_button.setText(_translate("MainWindow", "Compute all"))
        self.tab4_xaxis_box.setTitle(_translate("MainWindow", "X axis"))
        self.label_23.setText(_translate("MainWindow", "Smooth"))
        self.tab4_yaxis_box.setTitle(_translate("MainWindow", "Y axis"))
        self.label_24.setText(_translate("MainWindow", "Smooth"))
        self.tab4_yaxis2_box.setTitle(_translate("MainWindow", "Y axis &2"))
        self.label_26.setText(_translate("MainWindow", "Smooth"))
        self.tab4_local_values_box.setTitle(_translate("MainWindow", "Cursor values"))
        self.tab4_local_x_label.setText(_translate("MainWindow", "x"))
        self.tab4_local_y_label.setText(_translate("MainWindow", "y"))
        self.tab4_local_y2_label.setText(_translate("MainWindow", "y2"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabanalyze), _translate("MainWindow", "Analyze"))
        self.tab5_export_box.setTitle(_translate("MainWindow", "Export"))
        self.tab5_export_csv_button.setToolTip(_translate("MainWindow", "Export all the computed data to a csv text file"))
        self.tab5_export_csv_button.setText(_translate("MainWindow", "Export as csv"))
        self.tab5_export_xlsx_button.setToolTip(_translate("MainWindow", "Export all the computed data to a csv text file"))
        self.tab5_export_xlsx_button.setText(_translate("MainWindow", "Export as xlsx"))
        self.tab5_number_format_box.setTitle(_translate("MainWindow", "Number format"))
        self.label_2.setText(_translate("MainWindow", " Significant digits"))
        self.tab5_significativ_numbers.setToolTip(_translate("MainWindow", "Only affects the datatable display"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabdata), _translate("MainWindow", "Data Table"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab4_log), _translate("MainWindow", "Log"))


from .MPLWidget import MplWidgetAnalyze, MplWidgetDetect, MplWidgetFit, MplWidgetImport
