Esempio n. 1
0
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(401, 312)
        self.graphicsView = PlotWidget(Form)
        self.graphicsView.setGeometry(QtCore.QRect(0, 0, 401, 311))
        brush = QtGui.QBrush(QtGui.QColor(203, 242, 255, 10))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.graphicsView.setBackgroundBrush(brush)
        brush = QtGui.QBrush(QtGui.QColor(94, 35, 182))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.graphicsView.setForegroundBrush(brush)
        self.graphicsView.setObjectName("graphicsView")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
Esempio n. 2
0
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1596, 917)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.centralwidget)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")
        self.Image1ComboBox = QtWidgets.QComboBox(self.centralwidget)
        self.Image1ComboBox.setObjectName("Image1ComboBox")
        self.gridLayout.addWidget(self.Image1ComboBox, 0, 1, 1, 1)
        self.Browse1 = QtWidgets.QPushButton(self.centralwidget)
        self.Browse1.setObjectName("Browse1")
        self.gridLayout.addWidget(self.Browse1, 0, 0, 1, 1)
        self.Image1Display = PlotWidget(self.centralwidget)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.Image1Display.setBackgroundBrush(brush)
        self.Image1Display.setObjectName("Image1Display")
        self.gridLayout.addWidget(self.Image1Display, 1, 0, 1, 1)
        self.Image1Change = PlotWidget(self.centralwidget)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.Image1Change.setBackgroundBrush(brush)
        self.Image1Change.setObjectName("Image1Change")
        self.gridLayout.addWidget(self.Image1Change, 1, 1, 1, 1)
        self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1)
        self.gridLayout_4 = QtWidgets.QGridLayout()
        self.gridLayout_4.setObjectName("gridLayout_4")
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.label_9 = QtWidgets.QLabel(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.label_9.sizePolicy().hasHeightForWidth())
        self.label_9.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setFamily("cmr10")
        font.setPointSize(14)
        self.label_9.setFont(font)
        self.label_9.setAlignment(QtCore.Qt.AlignCenter)
        self.label_9.setObjectName("label_9")
        self.horizontalLayout_3.addWidget(self.label_9)
        self.MixerChoose = QtWidgets.QComboBox(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(
            QtWidgets.QSizePolicy.MinimumExpanding,
            QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.MixerChoose.sizePolicy().hasHeightForWidth())
        self.MixerChoose.setSizePolicy(sizePolicy)
        self.MixerChoose.setObjectName("MixerChoose")
        self.horizontalLayout_3.addWidget(self.MixerChoose)
        self.gridLayout_4.addLayout(self.horizontalLayout_3, 0, 0, 1, 1)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.label_10 = QtWidgets.QLabel(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.label_10.sizePolicy().hasHeightForWidth())
        self.label_10.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setFamily("cmr10")
        font.setPointSize(14)
        self.label_10.setFont(font)
        self.label_10.setAlignment(QtCore.Qt.AlignCenter)
        self.label_10.setObjectName("label_10")
        self.horizontalLayout.addWidget(self.label_10)
        self.ImageChoose1 = QtWidgets.QComboBox(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.ImageChoose1.sizePolicy().hasHeightForWidth())
        self.ImageChoose1.setSizePolicy(sizePolicy)
        self.ImageChoose1.setObjectName("ImageChoose1")
        self.horizontalLayout.addWidget(self.ImageChoose1)
        self.Slider1 = QtWidgets.QSlider(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.Slider1.sizePolicy().hasHeightForWidth())
        self.Slider1.setSizePolicy(sizePolicy)
        self.Slider1.setMaximum(100)
        self.Slider1.setOrientation(QtCore.Qt.Horizontal)
        self.Slider1.setObjectName("Slider1")
        self.horizontalLayout.addWidget(self.Slider1)
        self.SliderValue1 = QtWidgets.QLabel(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.SliderValue1.sizePolicy().hasHeightForWidth())
        self.SliderValue1.setSizePolicy(sizePolicy)
        self.SliderValue1.setText("")
        self.SliderValue1.setObjectName("SliderValue1")
        self.horizontalLayout.addWidget(self.SliderValue1)
        self.gridLayout_4.addLayout(self.horizontalLayout, 1, 0, 1, 1)
        self.Component1ComboBox = QtWidgets.QComboBox(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.Component1ComboBox.sizePolicy().hasHeightForWidth())
        self.Component1ComboBox.setSizePolicy(sizePolicy)
        self.Component1ComboBox.setObjectName("Component1ComboBox")
        self.gridLayout_4.addWidget(self.Component1ComboBox, 2, 0, 1, 1)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.label_11 = QtWidgets.QLabel(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.label_11.sizePolicy().hasHeightForWidth())
        self.label_11.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setFamily("cmr10")
        font.setPointSize(14)
        self.label_11.setFont(font)
        self.label_11.setAlignment(QtCore.Qt.AlignCenter)
        self.label_11.setObjectName("label_11")
        self.horizontalLayout_2.addWidget(self.label_11)
        self.ImageChoose2 = QtWidgets.QComboBox(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.ImageChoose2.sizePolicy().hasHeightForWidth())
        self.ImageChoose2.setSizePolicy(sizePolicy)
        self.ImageChoose2.setObjectName("ImageChoose2")
        self.horizontalLayout_2.addWidget(self.ImageChoose2)
        self.Slider2 = QtWidgets.QSlider(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.Slider2.sizePolicy().hasHeightForWidth())
        self.Slider2.setSizePolicy(sizePolicy)
        self.Slider2.setMaximum(100)
        self.Slider2.setOrientation(QtCore.Qt.Horizontal)
        self.Slider2.setObjectName("Slider2")
        self.horizontalLayout_2.addWidget(self.Slider2)
        self.SliderValue2 = QtWidgets.QLabel(self.centralwidget)
        self.SliderValue2.setText("")
        self.SliderValue2.setObjectName("SliderValue2")
        self.horizontalLayout_2.addWidget(self.SliderValue2)
        self.gridLayout_4.addLayout(self.horizontalLayout_2, 3, 0, 1, 1)
        self.Component2ComboBox = QtWidgets.QComboBox(self.centralwidget)
        self.Component2ComboBox.setObjectName("Component2ComboBox")
        self.gridLayout_4.addWidget(self.Component2ComboBox, 4, 0, 1, 1)
        self.gridLayout_2.addLayout(self.gridLayout_4, 0, 1, 1, 1)
        self.gridLayout_3 = QtWidgets.QGridLayout()
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.Browse2 = QtWidgets.QPushButton(self.centralwidget)
        self.Browse2.setObjectName("Browse2")
        self.gridLayout_3.addWidget(self.Browse2, 0, 0, 1, 1)
        self.Image2ComboBox = QtWidgets.QComboBox(self.centralwidget)
        self.Image2ComboBox.setObjectName("Image2ComboBox")
        self.gridLayout_3.addWidget(self.Image2ComboBox, 0, 1, 1, 1)
        self.Image2Display = PlotWidget(self.centralwidget)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.Image2Display.setBackgroundBrush(brush)
        self.Image2Display.setObjectName("Image2Display")
        self.gridLayout_3.addWidget(self.Image2Display, 1, 0, 1, 1)
        self.Image2Change = PlotWidget(self.centralwidget)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.Image2Change.setBackgroundBrush(brush)
        self.Image2Change.setObjectName("Image2Change")
        self.gridLayout_3.addWidget(self.Image2Change, 1, 1, 1, 1)
        self.gridLayout_2.addLayout(self.gridLayout_3, 1, 0, 1, 1)
        self.gridLayout_5 = QtWidgets.QGridLayout()
        self.gridLayout_5.setObjectName("gridLayout_5")
        self.IgnoreLabel1 = QtWidgets.QLabel(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Maximum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.IgnoreLabel1.sizePolicy().hasHeightForWidth())
        self.IgnoreLabel1.setSizePolicy(sizePolicy)
        self.IgnoreLabel1.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.IgnoreLabel1.setAlignment(QtCore.Qt.AlignCenter)
        self.IgnoreLabel1.setObjectName("IgnoreLabel1")
        self.gridLayout_5.addWidget(self.IgnoreLabel1, 0, 0, 1, 1)
        self.IgnoreLabel2 = QtWidgets.QLabel(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Maximum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.IgnoreLabel2.sizePolicy().hasHeightForWidth())
        self.IgnoreLabel2.setSizePolicy(sizePolicy)
        self.IgnoreLabel2.setAlignment(QtCore.Qt.AlignCenter)
        self.IgnoreLabel2.setObjectName("IgnoreLabel2")
        self.gridLayout_5.addWidget(self.IgnoreLabel2, 0, 1, 1, 1)
        self.Output1Image = PlotWidget(self.centralwidget)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.Output1Image.setBackgroundBrush(brush)
        self.Output1Image.setObjectName("Output1Image")
        self.gridLayout_5.addWidget(self.Output1Image, 1, 0, 1, 1)
        self.Output2Image = PlotWidget(self.centralwidget)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.Output2Image.setBackgroundBrush(brush)
        self.Output2Image.setObjectName("Output2Image")
        self.gridLayout_5.addWidget(self.Output2Image, 1, 1, 1, 1)
        self.gridLayout_2.addLayout(self.gridLayout_5, 1, 1, 1, 1)
        self.SizeError = QtWidgets.QLabel(self.centralwidget)
        self.SizeError.setObjectName("SizeError")
        self.gridLayout_2.addWidget(self.SizeError, 2, 0, 1, 1)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1596, 25))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        FourierArr = [
            "Mag,Phase,Real,Imag", "Magnitude", "Phase", "Real", "Imaginary"
        ]
        self.Image2ComboBox.addItems(FourierArr)
        self.Image1ComboBox.addItems(FourierArr)
        OutputCount = ["Output1,Output2", "Output1", "Output2"]
        self.MixerChoose.addItems(OutputCount)
        self.FourierPlusArr = [
            "Mag,Phase,Real,Imag,uniMag,uniPhase", "Magnitude", "Phase",
            "Real", "Imaginary", "UniMagnitude", "UniPhase"
        ]
        self.Component1ComboBox.addItems(self.FourierPlusArr)
        self.Component2ComboBox.addItems(self.FourierPlusArr)
        ImageCount = ["Img1,Img2", "Image1", "Image2"]
        self.ImageChoose1.addItems(ImageCount)
        self.ImageChoose2.addItems(ImageCount)

        self.ImageDisplayArr = [self.Image1Display, self.Image2Display]
        self.SimpleComboBoxArr = [self.Image1ComboBox, self.Image2ComboBox]
        self.SimpleGraphicsViewArr = [self.Image1Change, self.Image2Change]
        self.ComplexComboBoxArr = [
            self.Component1ComboBox, self.Component2ComboBox
        ]
        self.ImageChooseArr = [self.ImageChoose1, self.ImageChoose2]
        self.PhaseArr = ["Phase , UniPhase", "Phase", "UniPhase"]
        self.MagnitudeArr = [
            "Magnitude , UniMagnitude", "Magnitude", "UniMagnitude"
        ]
        self.ChooseRealArr = ["Choose...", "Real"]
        self.ChooseImaginaryArr = ["Choose...", "Imaginary"]
        self.IMG1 = Image()
        self.IMG2 = Image()
        self.ImageArr = [self.IMG1, self.IMG2]
        self.OutputArr = [self.Output1Image, self.Output2Image]
        self.SliderArr = [self.Slider1, self.Slider2]
        self.LabelArr = [self.SliderValue1, self.SliderValue2]

        self.Image1ComboBox.setEnabled(False)
        self.Image2ComboBox.setEnabled(False)
        self.MixerChoose.setEnabled(False)
        self.ImageChoose1.setEnabled(False)
        self.ImageChoose2.setEnabled(False)
        self.Component1ComboBox.setEnabled(False)
        self.Component2ComboBox.setEnabled(False)
        self.Slider1.setEnabled(False)
        self.Slider2.setEnabled(False)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.Browse1.setText(_translate("MainWindow", "Insert Image"))
        self.label_9.setText(_translate("MainWindow", "Mixer Output to"))
        self.label_10.setText(_translate("MainWindow", "Component1"))
        self.SliderValue1.setText(_translate("MainWindow", "%"))
        self.label_11.setText(_translate("MainWindow", "Component2"))
        self.SliderValue2.setText(_translate("MainWindow", "%"))
        self.Browse2.setText(_translate("MainWindow", "Insert Image"))
        self.IgnoreLabel1.setText(_translate("MainWindow", "Output1"))
        self.IgnoreLabel2.setText(_translate("MainWindow", "Output2"))
        self.SizeError.setText(_translate("MainWindow", " "))
        self.Browse1.clicked.connect(lambda: self.InsertImage(0))
        self.Browse2.clicked.connect(lambda: self.InsertImage(1))
        self.Image1ComboBox.activated.connect(lambda: self.ImageComponent(0))
        self.Image2ComboBox.activated.connect(lambda: self.ImageComponent(1))
        self.Component1ComboBox.activated.connect(
            lambda: self.ManageComboBox(0, 1))
        self.Component2ComboBox.activated.connect(
            lambda: self.ManageComboBox(1, 0))
        self.Slider1.valueChanged.connect(lambda: self.SliderDetector(0))
        self.Slider2.valueChanged.connect(lambda: self.SliderDetector(1))
        self.MixerChoose.activated.connect(self.ManageMixing)
        self.ImageChoose1.activated.connect(self.ManageMixing)
        self.ImageChoose2.activated.connect(self.ManageMixing)
        self.Component1ComboBox.activated.connect(self.ManageMixing)
        self.Component2ComboBox.activated.connect(self.ManageMixing)

    def InsertImage(self, i):
        filename = QtWidgets.QFileDialog.getOpenFileName()
        directory = filename[0]
        self.SizeError.setText(" ")
        self.ImageArr[i].SetImage(directory)
        if (self.IMG1.CheckEmpty() or self.IMG2.CheckEmpty()):
            self.SimpleComboBoxArr[i].setEnabled(True)
            self.ImageDisplayArr[i].addItem(self.ImageArr[i].DisplayImage())
            logging.info('Image:{} is added'.format(i + 1))
        else:
            if ((self.IMG1.CheckEqual(self.IMG2))):
                self.SimpleComboBoxArr[i].setEnabled(True)
                self.MixerChoose.setEnabled(True)
                self.ImageChoose1.setEnabled(True)
                self.ImageChoose2.setEnabled(True)
                self.Component1ComboBox.setEnabled(True)
                self.Component2ComboBox.setEnabled(True)
                self.Slider1.setEnabled(True)
                self.Slider2.setEnabled(True)
                self.ImageDisplayArr[i].addItem(
                    self.ImageArr[i].DisplayImage())
                logging.info('Image:{} is added'.format(i + 1))
            else:
                self.ImageArr[i].EmptyImage()
                self.SizeError.setText(
                    "     SIZE ERROR!!! insert image of the same size")
                self.SizeError.setStyleSheet('color: red')
                logging.error(
                    'the user did not insert image of the same size ')

    def SliderDetector(self, i):
        val = self.SliderArr[i].value()
        self.LabelArr[i].setText(str(val) + "%")

    def ImageComponent(self, i):
        if (self.SimpleComboBoxArr[i].currentIndex() == 1):
            self.SimpleGraphicsViewArr[i].addItem(
                self.ImageArr[i].DisplayImageMag())
            logging.info(
                'the user choose Magnitude to view of image {} '.format(i + 1))
        elif (self.SimpleComboBoxArr[i].currentIndex() == 2):
            self.SimpleGraphicsViewArr[i].addItem(
                self.ImageArr[i].DisplayImagePhase())
            logging.info(
                'the user choose Phase to view of image {} '.format(i + 1))
        elif (self.SimpleComboBoxArr[i].currentIndex() == 3):
            self.SimpleGraphicsViewArr[i].addItem(
                self.ImageArr[i].DisplayImageReal())
            logging.info('the user choose Real to view of image {} '.format(i +
                                                                            1))
        elif (self.SimpleComboBoxArr[i].currentIndex() == 4):
            self.SimpleGraphicsViewArr[i].addItem(
                self.ImageArr[i].DisplayImageImag())
            logging.info(
                'the user choose Imaginary to view of image {} '.format(i + 1))

    def ManageMixing(self):
        if ((self.ImageChooseArr[0].currentIndex() == 0
             or self.ImageChooseArr[1].currentIndex() == 0)
                or (self.ComplexComboBoxArr[0].currentIndex() == 0
                    or self.ComplexComboBoxArr[1].currentIndex() == 0)
                or (self.MixerChoose.currentIndex() == 0)):
            pass
        else:
            if (self.MixerChoose.currentIndex() == 1):
                if ((self.ImageChoose1.currentIndex() == 1
                     and self.ImageChoose2.currentIndex() == 2)):
                    self.ChooseMixer(0, 0, 1)
                elif ((self.ImageChoose1.currentIndex() == 2
                       and self.ImageChoose2.currentIndex() == 1)):
                    self.ChooseMixer(0, 1, 0)
                elif ((self.ImageChoose1.currentIndex() == 1
                       and self.ImageChoose2.currentIndex() == 1)):
                    self.ChooseMixer(0, 0, 0)
                elif ((self.ImageChoose1.currentIndex() == 2
                       and self.ImageChoose2.currentIndex() == 2)):
                    self.ChooseMixer(0, 1, 1)
            elif (self.MixerChoose.currentIndex() == 2):
                if ((self.ImageChoose1.currentIndex() == 1
                     and self.ImageChoose2.currentIndex() == 2)):
                    self.ChooseMixer(1, 0, 1)
                elif ((self.ImageChoose1.currentIndex() == 2
                       and self.ImageChoose2.currentIndex() == 1)):
                    self.ChooseMixer(1, 1, 0)
                elif ((self.ImageChoose1.currentIndex() == 1
                       and self.ImageChoose2.currentIndex() == 1)):
                    self.ChooseMixer(1, 0, 0)
                elif ((self.ImageChoose1.currentIndex() == 2
                       and self.ImageChoose2.currentIndex() == 2)):
                    self.ChooseMixer(1, 1, 1)

    def ManageComboBox(self, i1, i2):
        if (self.ComplexComboBoxArr[i1].currentIndex() == 0):
            self.ComplexComboBoxArr[i1].clear()
            self.ComplexComboBoxArr[i1].addItems(self.FourierPlusArr)
            self.ComplexComboBoxArr[i2].clear()
            self.ComplexComboBoxArr[i2].addItems(self.FourierPlusArr)
            logging.info(
                'the user returned the two combobox to their intial state')
        else:
            if (self.ComplexComboBoxArr[i2].currentIndex() == 0
                    or self.ComplexComboBoxArr[i2].count() < 7):
                if (self.ComplexComboBoxArr[i1].currentIndex() == 1
                        or self.ComplexComboBoxArr[i1].currentIndex() == 5):
                    self.ComplexComboBoxArr[i2].clear()
                    self.ComplexComboBoxArr[i2].addItems(self.PhaseArr)
                    # logging.info('the user choose Magnitude/UniMagnitue of image {} to mix with Phase/UniPhase of image {}'.format(i1+1,i2+1))
                elif (self.ComplexComboBoxArr[i1].currentIndex() == 2
                      or self.ComplexComboBoxArr[i1].currentIndex() == 6):
                    self.ComplexComboBoxArr[i2].clear()
                    self.ComplexComboBoxArr[i2].addItems(self.MagnitudeArr)
                    # logging.info('the user choose Phase/UniPhase of image {} to mix with Magnitude/UniMagnitue of image {}'.format(i1+1,i2+1))
                elif (self.ComplexComboBoxArr[i1].currentIndex() == 3):
                    self.ComplexComboBoxArr[i2].clear()
                    self.ComplexComboBoxArr[i2].addItems(
                        self.ChooseImaginaryArr)
                    # logging.info('the user choose the real part of image {} to mix with the imaginary part of image {}'.format(i1+1,i2+1))
                elif (self.ComplexComboBoxArr[i1].currentIndex() == 4):
                    self.ComplexComboBoxArr[i2].clear()
                    self.ComplexComboBoxArr[i2].addItems(self.ChooseRealArr)
                    # logging.info('the user choose the imaginary part of image {} to mix with the real part of image {}'.format(i1+1,i2+1))

    def ChooseMixer(self, i, i1, i2):
        W1 = self.Slider1.value()
        W2 = self.Slider2.value()
        W1 = (W1 / 100)
        W2 = (W2 / 100)
        ViewValue = pg.ImageItem()
        if (str(self.Component1ComboBox.currentText()) == "Magnitude"):
            if (str(self.Component2ComboBox.currentText()) == "Phase"):
                ViewValue = self.ImageArr[i1].MixingMagPhase(
                    self.ImageArr[i2], W1, W2)
                logging.info(
                    'the user choose to mix {} %, of the magnitude of image {} with {} %, of the phase of image {}'
                    .format(W1 * 100, i1 + 1, W2 * 100, i2 + 1))
            elif (str(self.Component1ComboBox.currentText()) == "UniPhase"):
                ViewValue = self.ImageArr[i1].MixingMagPhase(
                    self.ImageArr[i2], W1, W2)
                logging.info(
                    'the user choose to mix {} %, of the magnitude of image {} with {} %, of the uniphase of image {}'
                    .format(W1 * 100, i1 + 1, W2 * 100, i2 + 1))
        elif (str(self.Component1ComboBox.currentText()) == "Phase"):
            if (str(self.Component2ComboBox.currentText()) == "Magnitude"):
                ViewValue = self.ImageArr[i2].MixingMagPhase(
                    self.ImageArr[i1], W2, W1)
                logging.info(
                    'the user choose to mix {} %, of the phase of image {} with {} %, of the magnitude of image {}'
                    .format(W1 * 100, i1 + 1, W2 * 100, i2 + 1))
            elif (str(
                    self.Component1ComboBox.currentText()) == "UniMagnitude"):
                ViewValue = self.ImageArr[i2].MixingMagPhase(
                    self.ImageArr[i1], W2, W1)
                logging.info(
                    'the user choose to mix {} %, of the phase of image {} with {} %, of the unimagnitude of image {}'
                    .format(W1 * 100, i1 + 1, W2 * 100, i2 + 1))
        elif (str(self.Component1ComboBox.currentText()) == "UniMagnitude"):
            if (str(self.Component2ComboBox.currentText()) == "Phase"):
                ViewValue = self.ImageArr[i1].MixingMagPhase(
                    self.ImageArr[i2], W1, W2)
                logging.info(
                    'the user choose to mix {} %, of the unimagnitude of image {} with {} %, of the phase of image {}'
                    .format(W1 * 100, i1 + 1, W2 * 100, i2 + 1))
            elif (str(self.Component1ComboBox.currentText()) == "UniPhase"):
                ViewValue = self.ImageArr[i1].MixingMagPhase(
                    self.ImageArr[i2], W1, W2)
                logging.info(
                    'the user choose to mix {} %, of the unimagnitude of image {} with {} %, of the uniphase of image {}'
                    .format(W1 * 100, i1 + 1, W2 * 100, i2 + 1))
        elif (str(self.Component1ComboBox.currentText()) == "UniPhase"):
            if (str(self.Component2ComboBox.currentText()) == "Magnitude"):
                ViewValue = self.ImageArr[i2].MixingMagPhase(
                    self.ImageArr[i1], W2, W1)
                logging.info(
                    'the user choose to mix {} %, of the uniphase of image {} with {} %, of the magnitude of image {}'
                    .format(W1 * 100, i1 + 1, W2 * 100, i2 + 1))
            elif (str(
                    self.Component1ComboBox.currentText()) == "UniMagnitude"):
                ViewValue = self.ImageArr[i2].MixingMagPhase(
                    self.ImageArr[i1], W2, W1)
                logging.info(
                    'the user choose to mix {} %, of the uniphase of image {} with {} %, of the unimagnitude of image {}'
                    .format(W1 * 100, i1 + 1, W2 * 100, i2 + 1))
        elif (str(self.Component1ComboBox.currentText()) == "Real"):
            ViewValue = self.ImageArr[i1].MixingMagPhase(
                self.ImageArr[i2], W1, W2)
            logging.info(
                'the user choose to mix {} %, of the real part of image {} with {} %, of the imaginary part of image {}'
                .format(W1 * 100, i1 + 1, W2 * 100, i2 + 1))
        elif (str(self.Component1ComboBox.currentText()) == "Imaginary"):
            ViewValue = self.ImageArr[i2].MixingMagPhase(
                self.ImageArr[i1], W2, W1)
            logging.info(
                'the user choose to mix {} %, of the imaginary part of image {} with {} %, of the real part of image {}'
                .format(W1 * 100, i1 + 1, W2 * 100, i2 + 1))
        self.OutputArr[i].addItem(ViewValue)
        logging.info('output displayed in output {} port '.format(i + 1))
Esempio n. 3
0
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1017, 825)
        font = QtGui.QFont()
        font.setFamily("Consolas")
        MainWindow.setFont(font)
        MainWindow.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
        self.tabWidget.setGeometry(QtCore.QRect(160, 10, 831, 761))
        font = QtGui.QFont()
        font.setPointSize(12)
        self.tabWidget.setFont(font)
        self.tabWidget.setTabPosition(QtWidgets.QTabWidget.North)
        self.tabWidget.setTabShape(QtWidgets.QTabWidget.Rounded)
        self.tabWidget.setIconSize(QtCore.QSize(16, 16))
        self.tabWidget.setObjectName("tabWidget")
        self.tab = QtWidgets.QWidget()
        self.tab.setObjectName("tab")
        self.toolBox = QtWidgets.QToolBox(self.tab)
        self.toolBox.setGeometry(QtCore.QRect(10, 9, 801, 711))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.toolBox.sizePolicy().hasHeightForWidth())
        self.toolBox.setSizePolicy(sizePolicy)
        self.toolBox.setMinimumSize(QtCore.QSize(801, 0))
        self.toolBox.setLineWidth(1)
        self.toolBox.setObjectName("toolBox")
        self.page = QtWidgets.QWidget()
        self.page.setGeometry(QtCore.QRect(0, 0, 801, 615))
        self.page.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.page.setObjectName("page")
        self.layoutWidget = QtWidgets.QWidget(self.page)
        self.layoutWidget.setGeometry(QtCore.QRect(11, 0, 781, 611))
        self.layoutWidget.setObjectName("layoutWidget")
        self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget)
        self.gridLayout.setContentsMargins(0, 0, 0, 0)
        self.gridLayout.setObjectName("gridLayout")
        self.CurMean = QtWidgets.QLabel(self.layoutWidget)
        self.CurMean.setEnabled(True)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.CurMean.sizePolicy().hasHeightForWidth())
        self.CurMean.setSizePolicy(sizePolicy)
        self.CurMean.setMinimumSize(QtCore.QSize(10, 10))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.CurMean.setFont(font)
        self.CurMean.setObjectName("CurMean")
        self.gridLayout.addWidget(self.CurMean, 0, 0, 1, 1)
        self.CurMeangraphicsView = PlotWidget(self.layoutWidget)
        self.CurMeangraphicsView.setEnabled(True)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.CurMeangraphicsView.sizePolicy().hasHeightForWidth())
        self.CurMeangraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.CurMeangraphicsView.setBackgroundBrush(brush)
        self.CurMeangraphicsView.setViewportUpdateMode(
            QtWidgets.QGraphicsView.MinimalViewportUpdate)
        self.CurMeangraphicsView.setObjectName("CurMeangraphicsView")
        self.gridLayout.addWidget(self.CurMeangraphicsView, 0, 1, 1, 1)
        self.CurStd = QtWidgets.QLabel(self.layoutWidget)
        self.CurStd.setMinimumSize(QtCore.QSize(41, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.CurStd.setFont(font)
        self.CurStd.setObjectName("CurStd")
        self.gridLayout.addWidget(self.CurStd, 1, 0, 1, 1)
        self.CurStdgraphicsView = PlotWidget(self.layoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.CurStdgraphicsView.sizePolicy().hasHeightForWidth())
        self.CurStdgraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.CurStdgraphicsView.setBackgroundBrush(brush)
        self.CurStdgraphicsView.setObjectName("CurStdgraphicsView")
        self.gridLayout.addWidget(self.CurStdgraphicsView, 1, 1, 1, 1)
        self.CurMax = QtWidgets.QLabel(self.layoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.CurMax.sizePolicy().hasHeightForWidth())
        self.CurMax.setSizePolicy(sizePolicy)
        self.CurMax.setMinimumSize(QtCore.QSize(41, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.CurMax.setFont(font)
        self.CurMax.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft
                                 | QtCore.Qt.AlignVCenter)
        self.CurMax.setObjectName("CurMax")
        self.gridLayout.addWidget(self.CurMax, 2, 0, 1, 1)
        self.CurMaxgraphicsView = PlotWidget(self.layoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.CurMaxgraphicsView.sizePolicy().hasHeightForWidth())
        self.CurMaxgraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.CurMaxgraphicsView.setBackgroundBrush(brush)
        self.CurMaxgraphicsView.setObjectName("CurMaxgraphicsView")
        self.gridLayout.addWidget(self.CurMaxgraphicsView, 2, 1, 1, 1)
        self.CurMin = QtWidgets.QLabel(self.layoutWidget)
        self.CurMin.setMinimumSize(QtCore.QSize(41, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.CurMin.setFont(font)
        self.CurMin.setObjectName("CurMin")
        self.gridLayout.addWidget(self.CurMin, 3, 0, 1, 1)
        self.CurMingraphicsView = PlotWidget(self.layoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.CurMingraphicsView.sizePolicy().hasHeightForWidth())
        self.CurMingraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.CurMingraphicsView.setBackgroundBrush(brush)
        self.CurMingraphicsView.setObjectName("CurMingraphicsView")
        self.gridLayout.addWidget(self.CurMingraphicsView, 3, 1, 1, 1)
        self.toolBox.addItem(self.page, "")
        self.page_2 = QtWidgets.QWidget()
        self.page_2.setGeometry(QtCore.QRect(0, 0, 100, 30))
        self.page_2.setObjectName("page_2")
        self.layoutWidget1 = QtWidgets.QWidget(self.page_2)
        self.layoutWidget1.setGeometry(QtCore.QRect(10, 0, 781, 611))
        self.layoutWidget1.setObjectName("layoutWidget1")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget1)
        self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.CurPeakMean = QtWidgets.QLabel(self.layoutWidget1)
        self.CurPeakMean.setMinimumSize(QtCore.QSize(81, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.CurPeakMean.setFont(font)
        self.CurPeakMean.setObjectName("CurPeakMean")
        self.gridLayout_2.addWidget(self.CurPeakMean, 0, 0, 1, 1)
        self.CurPeakMeangraphicsView = PlotWidget(self.layoutWidget1)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.CurPeakMeangraphicsView.sizePolicy().hasHeightForWidth())
        self.CurPeakMeangraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.CurPeakMeangraphicsView.setBackgroundBrush(brush)
        self.CurPeakMeangraphicsView.setObjectName("CurPeakMeangraphicsView")
        self.gridLayout_2.addWidget(self.CurPeakMeangraphicsView, 0, 1, 1, 1)
        self.CurPeakStd = QtWidgets.QLabel(self.layoutWidget1)
        self.CurPeakStd.setMinimumSize(QtCore.QSize(54, 0))
        self.CurPeakStd.setObjectName("CurPeakStd")
        self.gridLayout_2.addWidget(self.CurPeakStd, 1, 0, 1, 1)
        self.CurPeakStdgraphicsView = PlotWidget(self.layoutWidget1)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.CurPeakStdgraphicsView.sizePolicy().hasHeightForWidth())
        self.CurPeakStdgraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.CurPeakStdgraphicsView.setBackgroundBrush(brush)
        self.CurPeakStdgraphicsView.setObjectName("CurPeakStdgraphicsView")
        self.gridLayout_2.addWidget(self.CurPeakStdgraphicsView, 1, 1, 1, 1)
        self.CurPeakCount = QtWidgets.QLabel(self.layoutWidget1)
        self.CurPeakCount.setMinimumSize(QtCore.QSize(41, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.CurPeakCount.setFont(font)
        self.CurPeakCount.setObjectName("CurPeakCount")
        self.gridLayout_2.addWidget(self.CurPeakCount, 2, 0, 1, 1)
        self.CurPeakCountgraphicsView = PlotWidget(self.layoutWidget1)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.CurPeakCountgraphicsView.sizePolicy().hasHeightForWidth())
        self.CurPeakCountgraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.CurPeakCountgraphicsView.setBackgroundBrush(brush)
        self.CurPeakCountgraphicsView.setObjectName("CurPeakCountgraphicsView")
        self.gridLayout_2.addWidget(self.CurPeakCountgraphicsView, 2, 1, 1, 1)
        self.CurPeakWidthMean = QtWidgets.QLabel(self.layoutWidget1)
        self.CurPeakWidthMean.setMinimumSize(QtCore.QSize(41, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.CurPeakWidthMean.setFont(font)
        self.CurPeakWidthMean.setObjectName("CurPeakWidthMean")
        self.gridLayout_2.addWidget(self.CurPeakWidthMean, 3, 0, 1, 1)
        self.CurPeakWidthMeangraphicsView = PlotWidget(self.layoutWidget1)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.CurPeakWidthMeangraphicsView.sizePolicy().hasHeightForWidth())
        self.CurPeakWidthMeangraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.CurPeakWidthMeangraphicsView.setBackgroundBrush(brush)
        self.CurPeakWidthMeangraphicsView.setObjectName(
            "CurPeakWidthMeangraphicsView")
        self.gridLayout_2.addWidget(self.CurPeakWidthMeangraphicsView, 3, 1, 1,
                                    1)
        self.toolBox.addItem(self.page_2, "")
        self.page_3 = QtWidgets.QWidget()
        self.page_3.setGeometry(QtCore.QRect(0, 0, 100, 30))
        self.page_3.setObjectName("page_3")
        self.layoutWidget2 = QtWidgets.QWidget(self.page_3)
        self.layoutWidget2.setGeometry(QtCore.QRect(10, 0, 781, 601))
        self.layoutWidget2.setObjectName("layoutWidget2")
        self.gridLayout_3 = QtWidgets.QGridLayout(self.layoutWidget2)
        self.gridLayout_3.setContentsMargins(0, 0, 0, 0)
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.CurPeakWidthStd = QtWidgets.QLabel(self.layoutWidget2)
        self.CurPeakWidthStd.setMinimumSize(QtCore.QSize(41, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.CurPeakWidthStd.setFont(font)
        self.CurPeakWidthStd.setObjectName("CurPeakWidthStd")
        self.gridLayout_3.addWidget(self.CurPeakWidthStd, 0, 0, 1, 1)
        self.CurPeakWidthStdgraphicsView = PlotWidget(self.layoutWidget2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.CurPeakWidthStdgraphicsView.sizePolicy().hasHeightForWidth())
        self.CurPeakWidthStdgraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.CurPeakWidthStdgraphicsView.setBackgroundBrush(brush)
        self.CurPeakWidthStdgraphicsView.setObjectName(
            "CurPeakWidthStdgraphicsView")
        self.gridLayout_3.addWidget(self.CurPeakWidthStdgraphicsView, 0, 1, 1,
                                    1)
        self.CurPeakGapMean = QtWidgets.QLabel(self.layoutWidget2)
        self.CurPeakGapMean.setMinimumSize(QtCore.QSize(41, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.CurPeakGapMean.setFont(font)
        self.CurPeakGapMean.setObjectName("CurPeakGapMean")
        self.gridLayout_3.addWidget(self.CurPeakGapMean, 1, 0, 1, 1)
        self.CurPeakGapMeangraphicsView = PlotWidget(self.layoutWidget2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.CurPeakGapMeangraphicsView.sizePolicy().hasHeightForWidth())
        self.CurPeakGapMeangraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.CurPeakGapMeangraphicsView.setBackgroundBrush(brush)
        self.CurPeakGapMeangraphicsView.setObjectName(
            "CurPeakGapMeangraphicsView")
        self.gridLayout_3.addWidget(self.CurPeakGapMeangraphicsView, 1, 1, 1,
                                    1)
        self.CurPeakGapStd = QtWidgets.QLabel(self.layoutWidget2)
        self.CurPeakGapStd.setMinimumSize(QtCore.QSize(81, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.CurPeakGapStd.setFont(font)
        self.CurPeakGapStd.setObjectName("CurPeakGapStd")
        self.gridLayout_3.addWidget(self.CurPeakGapStd, 2, 0, 1, 1)
        self.CurPeakGapStdgraphicsView = PlotWidget(self.layoutWidget2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.CurPeakGapStdgraphicsView.sizePolicy().hasHeightForWidth())
        self.CurPeakGapStdgraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.CurPeakGapStdgraphicsView.setBackgroundBrush(brush)
        self.CurPeakGapStdgraphicsView.setObjectName(
            "CurPeakGapStdgraphicsView")
        self.gridLayout_3.addWidget(self.CurPeakGapStdgraphicsView, 2, 1, 1, 1)
        self.toolBox.addItem(self.page_3, "")
        self.tabWidget.addTab(self.tab, "")
        self.tab_2 = QtWidgets.QWidget()
        self.tab_2.setObjectName("tab_2")
        self.toolBox_2 = QtWidgets.QToolBox(self.tab_2)
        self.toolBox_2.setGeometry(QtCore.QRect(10, 9, 801, 711))
        self.toolBox_2.setMinimumSize(QtCore.QSize(801, 0))
        self.toolBox_2.setObjectName("toolBox_2")
        self.page_4 = QtWidgets.QWidget()
        self.page_4.setGeometry(QtCore.QRect(0, 0, 801, 615))
        self.page_4.setObjectName("page_4")
        self.layoutWidget3 = QtWidgets.QWidget(self.page_4)
        self.layoutWidget3.setGeometry(QtCore.QRect(10, 0, 781, 611))
        self.layoutWidget3.setObjectName("layoutWidget3")
        self.gridLayout_4 = QtWidgets.QGridLayout(self.layoutWidget3)
        self.gridLayout_4.setContentsMargins(0, 0, 0, 0)
        self.gridLayout_4.setObjectName("gridLayout_4")
        self.VolMean = QtWidgets.QLabel(self.layoutWidget3)
        self.VolMean.setMinimumSize(QtCore.QSize(41, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.VolMean.setFont(font)
        self.VolMean.setObjectName("VolMean")
        self.gridLayout_4.addWidget(self.VolMean, 0, 0, 1, 1)
        self.VolMeangraphicsView = PlotWidget(self.layoutWidget3)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.VolMeangraphicsView.sizePolicy().hasHeightForWidth())
        self.VolMeangraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.VolMeangraphicsView.setBackgroundBrush(brush)
        self.VolMeangraphicsView.setObjectName("VolMeangraphicsView")
        self.gridLayout_4.addWidget(self.VolMeangraphicsView, 0, 1, 1, 1)
        self.VolStd = QtWidgets.QLabel(self.layoutWidget3)
        self.VolStd.setMinimumSize(QtCore.QSize(41, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.VolStd.setFont(font)
        self.VolStd.setObjectName("VolStd")
        self.gridLayout_4.addWidget(self.VolStd, 1, 0, 1, 1)
        self.VolStdgraphicsView = PlotWidget(self.layoutWidget3)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.VolStdgraphicsView.sizePolicy().hasHeightForWidth())
        self.VolStdgraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.VolStdgraphicsView.setBackgroundBrush(brush)
        self.VolStdgraphicsView.setObjectName("VolStdgraphicsView")
        self.gridLayout_4.addWidget(self.VolStdgraphicsView, 1, 1, 1, 1)
        self.VolMax = QtWidgets.QLabel(self.layoutWidget3)
        self.VolMax.setMinimumSize(QtCore.QSize(41, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.VolMax.setFont(font)
        self.VolMax.setObjectName("VolMax")
        self.gridLayout_4.addWidget(self.VolMax, 2, 0, 1, 1)
        self.VolMaxgraphicsView = PlotWidget(self.layoutWidget3)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.VolMaxgraphicsView.sizePolicy().hasHeightForWidth())
        self.VolMaxgraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.VolMaxgraphicsView.setBackgroundBrush(brush)
        self.VolMaxgraphicsView.setObjectName("VolMaxgraphicsView")
        self.gridLayout_4.addWidget(self.VolMaxgraphicsView, 2, 1, 1, 1)
        self.VolMin = QtWidgets.QLabel(self.layoutWidget3)
        self.VolMin.setMinimumSize(QtCore.QSize(41, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.VolMin.setFont(font)
        self.VolMin.setObjectName("VolMin")
        self.gridLayout_4.addWidget(self.VolMin, 3, 0, 1, 1)
        self.VolMingraphicsView = PlotWidget(self.layoutWidget3)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.VolMingraphicsView.sizePolicy().hasHeightForWidth())
        self.VolMingraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.VolMingraphicsView.setBackgroundBrush(brush)
        self.VolMingraphicsView.setObjectName("VolMingraphicsView")
        self.gridLayout_4.addWidget(self.VolMingraphicsView, 3, 1, 1, 1)
        self.toolBox_2.addItem(self.page_4, "")
        self.page_5 = QtWidgets.QWidget()
        self.page_5.setGeometry(QtCore.QRect(0, 0, 100, 30))
        self.page_5.setObjectName("page_5")
        self.layoutWidget4 = QtWidgets.QWidget(self.page_5)
        self.layoutWidget4.setGeometry(QtCore.QRect(10, 0, 781, 611))
        self.layoutWidget4.setObjectName("layoutWidget4")
        self.gridLayout_5 = QtWidgets.QGridLayout(self.layoutWidget4)
        self.gridLayout_5.setContentsMargins(0, 0, 0, 0)
        self.gridLayout_5.setObjectName("gridLayout_5")
        self.VolPeakMean = QtWidgets.QLabel(self.layoutWidget4)
        self.VolPeakMean.setMinimumSize(QtCore.QSize(81, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.VolPeakMean.setFont(font)
        self.VolPeakMean.setObjectName("VolPeakMean")
        self.gridLayout_5.addWidget(self.VolPeakMean, 0, 0, 1, 1)
        self.VolPeakMeangraphicsView = PlotWidget(self.layoutWidget4)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.VolPeakMeangraphicsView.sizePolicy().hasHeightForWidth())
        self.VolPeakMeangraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.VolPeakMeangraphicsView.setBackgroundBrush(brush)
        self.VolPeakMeangraphicsView.setObjectName("VolPeakMeangraphicsView")
        self.gridLayout_5.addWidget(self.VolPeakMeangraphicsView, 0, 1, 1, 1)
        self.VolPeakStd = QtWidgets.QLabel(self.layoutWidget4)
        self.VolPeakStd.setMinimumSize(QtCore.QSize(54, 0))
        self.VolPeakStd.setObjectName("VolPeakStd")
        self.gridLayout_5.addWidget(self.VolPeakStd, 1, 0, 1, 1)
        self.VolPeakStdgraphicsView = PlotWidget(self.layoutWidget4)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.VolPeakStdgraphicsView.sizePolicy().hasHeightForWidth())
        self.VolPeakStdgraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.VolPeakStdgraphicsView.setBackgroundBrush(brush)
        self.VolPeakStdgraphicsView.setObjectName("VolPeakStdgraphicsView")
        self.gridLayout_5.addWidget(self.VolPeakStdgraphicsView, 1, 1, 1, 1)
        self.VolPeakCount = QtWidgets.QLabel(self.layoutWidget4)
        self.VolPeakCount.setMinimumSize(QtCore.QSize(41, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.VolPeakCount.setFont(font)
        self.VolPeakCount.setObjectName("VolPeakCount")
        self.gridLayout_5.addWidget(self.VolPeakCount, 2, 0, 1, 1)
        self.VolPeakCountgraphicsView = PlotWidget(self.layoutWidget4)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.VolPeakCountgraphicsView.sizePolicy().hasHeightForWidth())
        self.VolPeakCountgraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.VolPeakCountgraphicsView.setBackgroundBrush(brush)
        self.VolPeakCountgraphicsView.setObjectName("VolPeakCountgraphicsView")
        self.gridLayout_5.addWidget(self.VolPeakCountgraphicsView, 2, 1, 1, 1)
        self.VolPeakWidthMean = QtWidgets.QLabel(self.layoutWidget4)
        self.VolPeakWidthMean.setMinimumSize(QtCore.QSize(41, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.VolPeakWidthMean.setFont(font)
        self.VolPeakWidthMean.setObjectName("VolPeakWidthMean")
        self.gridLayout_5.addWidget(self.VolPeakWidthMean, 3, 0, 1, 1)
        self.VolPeakWidthMeangraphicsView = PlotWidget(self.layoutWidget4)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.VolPeakWidthMeangraphicsView.sizePolicy().hasHeightForWidth())
        self.VolPeakWidthMeangraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.VolPeakWidthMeangraphicsView.setBackgroundBrush(brush)
        self.VolPeakWidthMeangraphicsView.setObjectName(
            "VolPeakWidthMeangraphicsView")
        self.gridLayout_5.addWidget(self.VolPeakWidthMeangraphicsView, 3, 1, 1,
                                    1)
        self.toolBox_2.addItem(self.page_5, "")
        self.page_6 = QtWidgets.QWidget()
        self.page_6.setGeometry(QtCore.QRect(0, 0, 100, 30))
        self.page_6.setObjectName("page_6")
        self.layoutWidget5 = QtWidgets.QWidget(self.page_6)
        self.layoutWidget5.setGeometry(QtCore.QRect(10, 0, 781, 601))
        self.layoutWidget5.setObjectName("layoutWidget5")
        self.gridLayout_6 = QtWidgets.QGridLayout(self.layoutWidget5)
        self.gridLayout_6.setContentsMargins(0, 0, 0, 0)
        self.gridLayout_6.setObjectName("gridLayout_6")
        self.VolPeakWidthStd = QtWidgets.QLabel(self.layoutWidget5)
        self.VolPeakWidthStd.setMinimumSize(QtCore.QSize(41, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.VolPeakWidthStd.setFont(font)
        self.VolPeakWidthStd.setObjectName("VolPeakWidthStd")
        self.gridLayout_6.addWidget(self.VolPeakWidthStd, 0, 0, 1, 1)
        self.VolPeakWidthStdgraphicsView = PlotWidget(self.layoutWidget5)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.VolPeakWidthStdgraphicsView.sizePolicy().hasHeightForWidth())
        self.VolPeakWidthStdgraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.VolPeakWidthStdgraphicsView.setBackgroundBrush(brush)
        self.VolPeakWidthStdgraphicsView.setObjectName(
            "VolPeakWidthStdgraphicsView")
        self.gridLayout_6.addWidget(self.VolPeakWidthStdgraphicsView, 0, 1, 1,
                                    1)
        self.VolPeakGapMean = QtWidgets.QLabel(self.layoutWidget5)
        self.VolPeakGapMean.setMinimumSize(QtCore.QSize(41, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.VolPeakGapMean.setFont(font)
        self.VolPeakGapMean.setObjectName("VolPeakGapMean")
        self.gridLayout_6.addWidget(self.VolPeakGapMean, 1, 0, 1, 1)
        self.VolPeakGapMeangraphicsView = PlotWidget(self.layoutWidget5)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.VolPeakGapMeangraphicsView.sizePolicy().hasHeightForWidth())
        self.VolPeakGapMeangraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.VolPeakGapMeangraphicsView.setBackgroundBrush(brush)
        self.VolPeakGapMeangraphicsView.setObjectName(
            "VolPeakGapMeangraphicsView")
        self.gridLayout_6.addWidget(self.VolPeakGapMeangraphicsView, 1, 1, 1,
                                    1)
        self.VolPeakGapStd = QtWidgets.QLabel(self.layoutWidget5)
        self.VolPeakGapStd.setMinimumSize(QtCore.QSize(81, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.VolPeakGapStd.setFont(font)
        self.VolPeakGapStd.setObjectName("VolPeakGapStd")
        self.gridLayout_6.addWidget(self.VolPeakGapStd, 2, 0, 1, 1)
        self.VolPeakGapStdgraphicsView = PlotWidget(self.layoutWidget5)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.VolPeakGapStdgraphicsView.sizePolicy().hasHeightForWidth())
        self.VolPeakGapStdgraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.VolPeakGapStdgraphicsView.setBackgroundBrush(brush)
        self.VolPeakGapStdgraphicsView.setObjectName(
            "VolPeakGapStdgraphicsView")
        self.gridLayout_6.addWidget(self.VolPeakGapStdgraphicsView, 2, 1, 1, 1)
        self.toolBox_2.addItem(self.page_6, "")
        self.tabWidget.addTab(self.tab_2, "")
        self.tab_3 = QtWidgets.QWidget()
        self.tab_3.setObjectName("tab_3")
        self.layoutWidget6 = QtWidgets.QWidget(self.tab_3)
        self.layoutWidget6.setGeometry(QtCore.QRect(20, 401, 641, 94))
        self.layoutWidget6.setObjectName("layoutWidget6")
        self.gridLayout_7 = QtWidgets.QGridLayout(self.layoutWidget6)
        self.gridLayout_7.setContentsMargins(0, 0, 0, 0)
        self.gridLayout_7.setObjectName("gridLayout_7")
        self.Class1radioButton = QtWidgets.QRadioButton(self.layoutWidget6)
        font = QtGui.QFont()
        font.setPointSize(14)
        self.Class1radioButton.setFont(font)
        self.Class1radioButton.setObjectName("Class1radioButton")
        self.gridLayout_7.addWidget(self.Class1radioButton, 1, 0, 1, 1)
        self.Class2radioButton = QtWidgets.QRadioButton(self.layoutWidget6)
        font = QtGui.QFont()
        font.setPointSize(14)
        self.Class2radioButton.setFont(font)
        self.Class2radioButton.setObjectName("Class2radioButton")
        self.gridLayout_7.addWidget(self.Class2radioButton, 1, 1, 1, 1)
        self.Class3radioButton = QtWidgets.QRadioButton(self.layoutWidget6)
        font = QtGui.QFont()
        font.setPointSize(14)
        self.Class3radioButton.setFont(font)
        self.Class3radioButton.setObjectName("Class3radioButton")
        self.gridLayout_7.addWidget(self.Class3radioButton, 1, 2, 1, 1)
        self.Class4radioButton = QtWidgets.QRadioButton(self.layoutWidget6)
        font = QtGui.QFont()
        font.setPointSize(14)
        self.Class4radioButton.setFont(font)
        self.Class4radioButton.setObjectName("Class4radioButton")
        self.gridLayout_7.addWidget(self.Class4radioButton, 2, 0, 1, 1)
        self.Class5radioButton = QtWidgets.QRadioButton(self.layoutWidget6)
        font = QtGui.QFont()
        font.setPointSize(14)
        self.Class5radioButton.setFont(font)
        self.Class5radioButton.setObjectName("Class5radioButton")
        self.gridLayout_7.addWidget(self.Class5radioButton, 2, 1, 1, 1)
        self.Class6radioButton = QtWidgets.QRadioButton(self.layoutWidget6)
        font = QtGui.QFont()
        font.setPointSize(14)
        self.Class6radioButton.setFont(font)
        self.Class6radioButton.setObjectName("Class6radioButton")
        self.gridLayout_7.addWidget(self.Class6radioButton, 2, 2, 1, 1)
        self.LabelDatacheckBox = QtWidgets.QCheckBox(self.layoutWidget6)
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(16)
        font.setBold(True)
        font.setItalic(True)
        font.setUnderline(False)
        font.setWeight(75)
        self.LabelDatacheckBox.setFont(font)
        self.LabelDatacheckBox.setObjectName("LabelDatacheckBox")
        self.gridLayout_7.addWidget(self.LabelDatacheckBox, 0, 0, 1, 3)
        self.LabelDisplaytextBrowser = QtWidgets.QTextBrowser(self.tab_3)
        self.LabelDisplaytextBrowser.setGeometry(QtCore.QRect(
            20, 690, 791, 31))
        self.LabelDisplaytextBrowser.setObjectName("LabelDisplaytextBrowser")
        self.AddRectpushButton = QtWidgets.QPushButton(self.tab_3)
        self.AddRectpushButton.setGeometry(QtCore.QRect(680, 400, 131, 30))
        font = QtGui.QFont()
        font.setPointSize(12)
        self.AddRectpushButton.setFont(font)
        self.AddRectpushButton.setObjectName("AddRectpushButton")
        self.FinishiButton = QtWidgets.QPushButton(self.tab_3)
        self.FinishiButton.setGeometry(QtCore.QRect(680, 470, 131, 31))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.FinishiButton.setFont(font)
        self.FinishiButton.setObjectName("FinishiButton")
        self.Scores = QtWidgets.QLabel(self.tab_3)
        self.Scores.setGeometry(QtCore.QRect(20, 0, 81, 31))
        self.Scores.setMinimumSize(QtCore.QSize(81, 0))
        font = QtGui.QFont()
        font.setFamily("Consolas")
        font.setPointSize(12)
        self.Scores.setFont(font)
        self.Scores.setObjectName("Scores")
        self.ScoresgraphicsView = PlotWidget(self.tab_3)
        self.ScoresgraphicsView.setGeometry(QtCore.QRect(20, 200, 791, 191))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.ScoresgraphicsView.sizePolicy().hasHeightForWidth())
        self.ScoresgraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.ScoresgraphicsView.setBackgroundBrush(brush)
        self.ScoresgraphicsView.setObjectName("ScoresgraphicsView")
        self.BadDatatableWidget = QtWidgets.QTableWidget(self.tab_3)
        self.BadDatatableWidget.setGeometry(QtCore.QRect(20, 30, 791, 161))
        self.BadDatatableWidget.setObjectName("BadDatatableWidget")
        self.BadDatatableWidget.setColumnCount(0)
        self.BadDatatableWidget.setRowCount(0)
        self.ScoresAnalysgraphicsView = PlotWidget(self.tab_3)
        self.ScoresAnalysgraphicsView.setGeometry(
            QtCore.QRect(20, 510, 791, 171))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.ScoresAnalysgraphicsView.sizePolicy().hasHeightForWidth())
        self.ScoresAnalysgraphicsView.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.ScoresAnalysgraphicsView.setBackgroundBrush(brush)
        self.ScoresAnalysgraphicsView.setObjectName("ScoresAnalysgraphicsView")
        self.tabWidget.addTab(self.tab_3, "")
        self.OpenFileButton = QtWidgets.QPushButton(self.centralwidget)
        self.OpenFileButton.setGeometry(QtCore.QRect(10, 50, 131, 31))
        self.OpenFileButton.setObjectName("OpenFileButton")
        self.DisplaytextBrowser = QtWidgets.QTextBrowser(self.centralwidget)
        self.DisplaytextBrowser.setGeometry(QtCore.QRect(10, 90, 131, 191))
        self.DisplaytextBrowser.setObjectName("DisplaytextBrowser")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1017, 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(2)
        self.toolBox.setCurrentIndex(0)
        self.toolBox.layout().setSpacing(5)
        self.toolBox_2.setCurrentIndex(0)
        self.toolBox_2.layout().setSpacing(5)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.CurMean.setText(_translate("MainWindow", "Mean"))
        self.CurStd.setText(_translate("MainWindow", "Std"))
        self.CurMax.setText(_translate("MainWindow", "Max"))
        self.CurMin.setText(_translate("MainWindow", "Min"))
        self.toolBox.setItemText(
            self.toolBox.indexOf(self.page),
            _translate("MainWindow", "Current Feature Display --1"))
        self.CurPeakMean.setText(_translate("MainWindow", "Peak Mean"))
        self.CurPeakStd.setText(_translate("MainWindow", "Peak Std"))
        self.CurPeakCount.setText(_translate("MainWindow", "Peak Count"))
        self.CurPeakWidthMean.setText(
            _translate("MainWindow", "Peak Width Mean"))
        self.toolBox.setItemText(
            self.toolBox.indexOf(self.page_2),
            _translate("MainWindow", "Current Feature Display --2"))
        self.CurPeakWidthStd.setText(_translate("MainWindow",
                                                "Peak Width Std"))
        self.CurPeakGapMean.setText(_translate("MainWindow", "Peak Gap Mean"))
        self.CurPeakGapStd.setText(_translate("MainWindow", "Peak Gap Std"))
        self.toolBox.setItemText(
            self.toolBox.indexOf(self.page_3),
            _translate("MainWindow", "Current Feature Display --3"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab),
                                  _translate("MainWindow", "Current"))
        self.VolMean.setText(_translate("MainWindow", "Mean"))
        self.VolStd.setText(_translate("MainWindow", "Std"))
        self.VolMax.setText(_translate("MainWindow", "Max"))
        self.VolMin.setText(_translate("MainWindow", "Min"))
        self.toolBox_2.setItemText(
            self.toolBox_2.indexOf(self.page_4),
            _translate("MainWindow", "Voltage Feature Display --1"))
        self.VolPeakMean.setText(_translate("MainWindow", "Peak Mean"))
        self.VolPeakStd.setText(_translate("MainWindow", "Peak Std"))
        self.VolPeakCount.setText(_translate("MainWindow", "Peak Count"))
        self.VolPeakWidthMean.setText(
            _translate("MainWindow", "Peak Width Mean"))
        self.toolBox_2.setItemText(
            self.toolBox_2.indexOf(self.page_5),
            _translate("MainWindow", "Voltage Feature Display --2"))
        self.VolPeakWidthStd.setText(_translate("MainWindow",
                                                "Peak Width Std"))
        self.VolPeakGapMean.setText(_translate("MainWindow", "Peak Gap Mean"))
        self.VolPeakGapStd.setText(_translate("MainWindow", "Peak Gap Std"))
        self.toolBox_2.setItemText(
            self.toolBox_2.indexOf(self.page_6),
            _translate("MainWindow", "Voltage Feature Display --3"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2),
                                  _translate("MainWindow", "Voltage"))
        self.Class1radioButton.setText(_translate("MainWindow", "Class 1"))
        self.Class2radioButton.setText(_translate("MainWindow", "Class 2"))
        self.Class3radioButton.setText(_translate("MainWindow", "Class 3"))
        self.Class4radioButton.setText(_translate("MainWindow", "Class 4"))
        self.Class5radioButton.setText(_translate("MainWindow", "Class 5"))
        self.Class6radioButton.setText(_translate("MainWindow", "Class 6"))
        self.LabelDatacheckBox.setText(_translate("MainWindow", "Label Data"))
        self.LabelDisplaytextBrowser.setHtml(
            _translate(
                "MainWindow",
                "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
                "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
                "p, li { white-space: pre-wrap; }\n"
                "</style></head><body style=\" font-family:\'Consolas\'; font-size:12pt; font-weight:400; font-style:normal;\">\n"
                "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Print here</p></body></html>"
            ))
        self.AddRectpushButton.setText(_translate("MainWindow", "Add ROI"))
        self.FinishiButton.setText(_translate("MainWindow", "Done"))
        self.Scores.setText(_translate("MainWindow", "Scores"))
        self.tabWidget.setTabText(
            self.tabWidget.indexOf(self.tab_3),
            _translate("MainWindow", "Scores(Label here)"))
        self.OpenFileButton.setText(_translate("MainWindow", "Open File"))
        self.DisplaytextBrowser.setHtml(
            _translate(
                "MainWindow",
                "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
                "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
                "p, li { white-space: pre-wrap; }\n"
                "</style></head><body style=\" font-family:\'Consolas\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
                "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:12pt;\">Display opened files here</span></p></body></html>"
            ))
Esempio n. 4
0
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName(_fromUtf8("MainWindow"))
        MainWindow.setEnabled(True)
        MainWindow.resize(1292, 451)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
                                       QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            MainWindow.sizePolicy().hasHeightForWidth())
        MainWindow.setSizePolicy(sizePolicy)
        self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        self.graph_MC = PlotWidget(self.centralwidget)
        self.graph_MC.setGeometry(QtCore.QRect(650, 10, 630, 350))
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.graph_MC.sizePolicy().hasHeightForWidth())
        self.graph_MC.setSizePolicy(sizePolicy)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        self.graph_MC.setBackgroundBrush(brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.graph_MC.setForegroundBrush(brush)
        self.graph_MC.setObjectName(_fromUtf8("graph_MC"))
        self.graph_LL = PlotWidget(self.centralwidget)
        self.graph_LL.setGeometry(QtCore.QRect(10, 10, 630, 350))
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.graph_LL.sizePolicy().hasHeightForWidth())
        self.graph_LL.setSizePolicy(sizePolicy)
        self.graph_LL.setFrameShadow(QtGui.QFrame.Sunken)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        self.graph_LL.setBackgroundBrush(brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.graph_LL.setForegroundBrush(brush)
        self.graph_LL.setObjectName(_fromUtf8("graph_LL"))
        self.label_LL = QtGui.QLabel(self.centralwidget)
        self.label_LL.setGeometry(QtCore.QRect(220, 380, 211, 31))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("LM Sans 10"))
        font.setPointSize(16)
        self.label_LL.setFont(font)
        self.label_LL.setTextFormat(QtCore.Qt.PlainText)
        self.label_LL.setObjectName(_fromUtf8("label_LL"))
        self.label_MC = QtGui.QLabel(self.centralwidget)
        self.label_MC.setGeometry(QtCore.QRect(860, 380, 231, 31))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("LM Sans 10"))
        font.setPointSize(16)
        self.label_MC.setFont(font)
        self.label_MC.setTextFormat(QtCore.Qt.PlainText)
        self.label_MC.setObjectName(_fromUtf8("label_MC"))
        self.cb_scale = QtGui.QComboBox(self.centralwidget)
        self.cb_scale.setGeometry(QtCore.QRect(620, 390, 74, 21))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("LM Sans 10"))
        font.setPointSize(11)
        self.cb_scale.setFont(font)
        self.cb_scale.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
        self.cb_scale.setObjectName(_fromUtf8("cb_scale"))
        self.cb_scale.addItem(_fromUtf8(""))
        self.cb_scale.addItem(_fromUtf8(""))
        self.cb_scale.addItem(_fromUtf8(""))
        self.cb_scale.addItem(_fromUtf8(""))
        self.label = QtGui.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(560, 390, 71, 21))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("LM Sans 10"))
        font.setPointSize(11)
        self.label.setFont(font)
        self.label.setObjectName(_fromUtf8("label"))
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtGui.QStatusBar(MainWindow)
        self.statusbar.setEnabled(True)
        self.statusbar.setObjectName(_fromUtf8("statusbar"))
        MainWindow.setStatusBar(self.statusbar)
        self.actionQuit = QtGui.QAction(MainWindow)
        self.actionQuit.setObjectName(_fromUtf8("actionQuit"))
        self.actionStart = QtGui.QAction(MainWindow)
        self.actionStart.setObjectName(_fromUtf8("actionStart"))
        self.b_auto = QtGui.QAction(MainWindow)
        self.b_auto.setObjectName(_fromUtf8("b_auto"))
        self.b_24 = QtGui.QAction(MainWindow)
        self.b_24.setObjectName(_fromUtf8("b_24"))
        self.b_12 = QtGui.QAction(MainWindow)
        self.b_12.setObjectName(_fromUtf8("b_12"))
        self.b_6 = QtGui.QAction(MainWindow)
        self.b_6.setObjectName(_fromUtf8("b_6"))
        self.b_2 = QtGui.QAction(MainWindow)
        self.b_2.setObjectName(_fromUtf8("b_2"))
        self.b_1 = QtGui.QAction(MainWindow)
        self.b_1.setObjectName(_fromUtf8("b_1"))
        self.m_poll = QtGui.QAction(MainWindow)
        self.m_poll.setEnabled(False)
        self.m_poll.setObjectName(_fromUtf8("m_poll"))

        self.retranslateUi(MainWindow)
        self.cb_scale.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(
            _translate("MainWindow", "Plasma 1 monitor", None))
        self.label_LL.setText(
            _translate("MainWindow", "LL: 3.85e-8 mbar", None))
        self.label_MC.setText(
            _translate("MainWindow", "MC: 3.45e-9 mbar", None))
        self.cb_scale.setItemText(0, _translate("MainWindow", "today", None))
        self.cb_scale.setItemText(1, _translate("MainWindow", "2h", None))
        self.cb_scale.setItemText(2, _translate("MainWindow", "1h", None))
        self.cb_scale.setItemText(3, _translate("MainWindow", "10min", None))
        self.label.setText(_translate("MainWindow", "Scale:", None))
        self.actionQuit.setText(_translate("MainWindow", "Quit", None))
        self.actionStart.setText(_translate("MainWindow", "Start", None))
        self.b_auto.setText(_translate("MainWindow", "Autoscale", None))
        self.b_24.setText(_translate("MainWindow", "24h", None))
        self.b_12.setText(_translate("MainWindow", "12h", None))
        self.b_6.setText(_translate("MainWindow", "6h", None))
        self.b_2.setText(_translate("MainWindow", "2h", None))
        self.b_1.setText(_translate("MainWindow", "1h", None))
        self.m_poll.setText(
            _translate("MainWindow", "Measure all channels", None))
Esempio n. 5
0
class Ui_sample_list(object):
    def setupUi(self, sample_list):
        sample_list.setObjectName(_fromUtf8("sample_list"))
        sample_list.resize(1259, 920)
        self.verticalLayout = QtGui.QVBoxLayout(sample_list)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.groupBox = QtGui.QGroupBox(sample_list)
        self.groupBox.setMaximumSize(QtCore.QSize(16777215, 40))
        self.groupBox.setObjectName(_fromUtf8("groupBox"))
        self.horizontalLayout_2 = QtGui.QHBoxLayout(self.groupBox)
        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
        self.label = QtGui.QLabel(self.groupBox)
        self.label.setEnabled(True)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial Black"))
        font.setBold(True)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setObjectName(_fromUtf8("label"))
        self.horizontalLayout_2.addWidget(self.label)
        self.checkBox1 = QtGui.QCheckBox(self.groupBox)
        self.checkBox1.setMaximumSize(QtCore.QSize(89, 20))
        self.checkBox1.setChecked(True)
        self.checkBox1.setObjectName(_fromUtf8("checkBox1"))
        self.horizontalLayout_2.addWidget(self.checkBox1)
        self.checkBox2 = QtGui.QCheckBox(self.groupBox)
        self.checkBox2.setMaximumSize(QtCore.QSize(88, 20))
        self.checkBox2.setChecked(True)
        self.checkBox2.setObjectName(_fromUtf8("checkBox2"))
        self.horizontalLayout_2.addWidget(self.checkBox2)
        self.checkBox3 = QtGui.QCheckBox(self.groupBox)
        self.checkBox3.setMaximumSize(QtCore.QSize(88, 20))
        self.checkBox3.setChecked(True)
        self.checkBox3.setObjectName(_fromUtf8("checkBox3"))
        self.horizontalLayout_2.addWidget(self.checkBox3)
        self.verticalLayout.addWidget(self.groupBox)
        self.grPlot = PlotWidget(sample_list)
        self.grPlot.setMaximumSize(QtCore.QSize(16777215, 200))
        self.grPlot.setAutoFillBackground(False)
        brush = QtGui.QBrush(QtGui.QColor(85, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.grPlot.setBackgroundBrush(brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 85, 0))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.grPlot.setForegroundBrush(brush)
        self.grPlot.setObjectName(_fromUtf8("grPlot"))
        self.verticalLayout.addWidget(self.grPlot)
        self.tableWidget = QtGui.QTableWidget(sample_list)
        self.tableWidget.setEnabled(True)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setPointSize(12)
        font.setBold(False)
        font.setItalic(False)
        font.setWeight(50)
        self.tableWidget.setFont(font)
        self.tableWidget.setStyleSheet(
            _fromUtf8(" text-align : center;\n"
                      "   height : 80px;\n"
                      "   border-style: outset 2px;"))
        self.tableWidget.setLineWidth(1)
        self.tableWidget.setAutoScroll(True)
        self.tableWidget.setDragEnabled(False)
        self.tableWidget.setDragDropOverwriteMode(False)
        self.tableWidget.setDragDropMode(QtGui.QAbstractItemView.NoDragDrop)
        self.tableWidget.setRowCount(11)
        self.tableWidget.setColumnCount(14)
        self.tableWidget.setObjectName(_fromUtf8("tableWidget"))
        item = QtGui.QTableWidgetItem()
        item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter
                              | QtCore.Qt.AlignCenter)
        self.tableWidget.setVerticalHeaderItem(0, item)
        item = QtGui.QTableWidgetItem()
        item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter
                              | QtCore.Qt.AlignCenter)
        self.tableWidget.setVerticalHeaderItem(1, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(2, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(3, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(4, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(5, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(6, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(7, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(8, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(9, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(10, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(0, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(1, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(2, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(3, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(4, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(5, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(6, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(7, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(8, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(9, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(10, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(11, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(12, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(13, item)
        item = QtGui.QTableWidgetItem()
        self.tableWidget.setItem(0, 0, item)
        item = QtGui.QTableWidgetItem()
        item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter
                              | QtCore.Qt.AlignCenter)
        self.tableWidget.setItem(0, 8, item)
        self.verticalLayout.addWidget(self.tableWidget)
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setContentsMargins(-1, 20, -1, 20)
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.btn_Privious = QtGui.QPushButton(sample_list)
        self.btn_Privious.setMinimumSize(QtCore.QSize(151, 41))
        self.btn_Privious.setMaximumSize(QtCore.QSize(151, 41))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial Black"))
        self.btn_Privious.setFont(font)
        self.btn_Privious.setObjectName(_fromUtf8("btn_Privious"))
        self.horizontalLayout.addWidget(self.btn_Privious)
        self.btn_Next = QtGui.QPushButton(sample_list)
        self.btn_Next.setMinimumSize(QtCore.QSize(151, 41))
        self.btn_Next.setMaximumSize(QtCore.QSize(151, 41))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial Black"))
        self.btn_Next.setFont(font)
        self.btn_Next.setObjectName(_fromUtf8("btn_Next"))
        self.horizontalLayout.addWidget(self.btn_Next)
        self.btn_Export = QtGui.QPushButton(sample_list)
        self.btn_Export.setMaximumSize(QtCore.QSize(151, 41))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial Black"))
        font.setBold(True)
        font.setWeight(75)
        self.btn_Export.setFont(font)
        self.btn_Export.setObjectName(_fromUtf8("btn_Export"))
        self.horizontalLayout.addWidget(self.btn_Export)
        self.verticalLayout.addLayout(self.horizontalLayout)

        self.retranslateUi(sample_list)
        QtCore.QObject.connect(self.btn_Privious,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               sample_list.on_btnPrivStep_clicked)
        QtCore.QObject.connect(self.btn_Privious,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               sample_list.close)
        QtCore.QObject.connect(self.btn_Next,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               sample_list.on_btnNextStep_clicked)
        QtCore.QObject.connect(self.btn_Export,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               sample_list.on_btnExport_clicked)
        QtCore.QMetaObject.connectSlotsByName(sample_list)
        sample_list.setTabOrder(self.tableWidget, self.btn_Privious)

    def retranslateUi(self, sample_list):
        sample_list.setWindowTitle(_translate("sample_list", "Form", None))
        self.label.setText(
            _translate(
                "sample_list",
                "                                                                                                                                    Please select specimen for calculating Average Degradation - DR",
                None))
        self.checkBox1.setText(_translate("sample_list", "specimen1", None))
        self.checkBox2.setText(_translate("sample_list", "specimen2", None))
        self.checkBox3.setText(_translate("sample_list", "specimen3", None))
        item = self.tableWidget.horizontalHeaderItem(0)
        item.setText(_translate("sample_list", "Name", None))
        item = self.tableWidget.horizontalHeaderItem(1)
        item.setText(_translate("sample_list", "Color", None))
        item = self.tableWidget.horizontalHeaderItem(2)
        item.setText(_translate("sample_list", "Materia", None))
        item = self.tableWidget.horizontalHeaderItem(3)
        item.setText(_translate("sample_list", "Chemistry", None))
        item = self.tableWidget.horizontalHeaderItem(4)
        item.setText(_translate("sample_list", "Thickness", None))
        item = self.tableWidget.horizontalHeaderItem(5)
        item.setText(_translate("sample_list", "Standard", None))
        item = self.tableWidget.horizontalHeaderItem(6)
        item.setText(_translate("sample_list", "Exposed Time", None))
        item = self.tableWidget.horizontalHeaderItem(7)
        item.setText(_translate("sample_list", "Specimen", None))
        item = self.tableWidget.horizontalHeaderItem(8)
        item.setText(_translate("sample_list", "OPx", None))
        item = self.tableWidget.horizontalHeaderItem(9)
        item.setText(_translate("sample_list", "OPx-Data", None))
        item = self.tableWidget.horizontalHeaderItem(10)
        item.setText(_translate("sample_list", "RPx", None))
        item = self.tableWidget.horizontalHeaderItem(11)
        item.setText(_translate("sample_list", "RPx-Data", None))
        item = self.tableWidget.horizontalHeaderItem(12)
        item.setText(_translate("sample_list", "DRx", None))
        item = self.tableWidget.horizontalHeaderItem(13)
        item.setText(_translate("sample_list", "DR", None))
        __sortingEnabled = self.tableWidget.isSortingEnabled()
        self.tableWidget.setSortingEnabled(False)
        self.tableWidget.setSortingEnabled(__sortingEnabled)
        self.btn_Privious.setText(
            _translate("sample_list", "Privious Step", None))
        self.btn_Next.setText(_translate("sample_list", "Next Step", None))
        self.btn_Export.setText(
            _translate("sample_list", "Export Result", None))
class Ui_Machine_Learn_Interface(object):
    def setupUi(self, Machine_Learn_Interface):
        Machine_Learn_Interface.setObjectName("Machine_Learn_Interface")
        Machine_Learn_Interface.resize(753, 664)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(Machine_Learn_Interface.sizePolicy().hasHeightForWidth())
        Machine_Learn_Interface.setSizePolicy(sizePolicy)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/images/resource/cropped-Brain-Tool-Icon-2.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        Machine_Learn_Interface.setWindowIcon(icon)
        self.gridLayout_2 = QtWidgets.QGridLayout(Machine_Learn_Interface)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.tabWidget = QtWidgets.QTabWidget(Machine_Learn_Interface)
        self.tabWidget.setTabShape(QtWidgets.QTabWidget.Triangular)
        self.tabWidget.setObjectName("tabWidget")
        self.Tab = QtWidgets.QWidget()
        self.Tab.setObjectName("Tab")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.Tab)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.verticalLayout = QtWidgets.QVBoxLayout()
        self.verticalLayout.setObjectName("verticalLayout")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.label = QtWidgets.QLabel(self.Tab)
        font = QtGui.QFont()
        font.setPointSize(9)
        font.setBold(True)
        font.setItalic(False)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setObjectName("label")
        self.horizontalLayout_2.addWidget(self.label)
        self.pb_openfiles = QtWidgets.QPushButton(self.Tab)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.pb_openfiles.setFont(font)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(":/images/resource/file_add.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.pb_openfiles.setIcon(icon1)
        self.pb_openfiles.setObjectName("pb_openfiles")
        self.horizontalLayout_2.addWidget(self.pb_openfiles)
        self.pb_kmeans = QtWidgets.QPushButton(self.Tab)
        self.pb_kmeans.setEnabled(False)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.pb_kmeans.setFont(font)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(":/images/resource/cluster.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.pb_kmeans.setIcon(icon2)
        self.pb_kmeans.setObjectName("pb_kmeans")
        self.horizontalLayout_2.addWidget(self.pb_kmeans)
        self.verticalLayout.addLayout(self.horizontalLayout_2)
        self.line = QtWidgets.QFrame(self.Tab)
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        self.verticalLayout.addWidget(self.line)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.label_2 = QtWidgets.QLabel(self.Tab)
        self.label_2.setAlignment(QtCore.Qt.AlignCenter)
        self.label_2.setObjectName("label_2")
        self.horizontalLayout.addWidget(self.label_2)
        self.pb_cluster_hint = QtWidgets.QPushButton(self.Tab)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(":/images/resource/Magic-512.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.pb_cluster_hint.setIcon(icon3)
        self.pb_cluster_hint.setIconSize(QtCore.QSize(18, 18))
        self.pb_cluster_hint.setObjectName("pb_cluster_hint")
        self.horizontalLayout.addWidget(self.pb_cluster_hint)
        self.sb_cluster_number = QtWidgets.QSpinBox(self.Tab)
        self.sb_cluster_number.setProperty("value", 3)
        self.sb_cluster_number.setObjectName("sb_cluster_number")
        self.horizontalLayout.addWidget(self.sb_cluster_number)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.verticalLayout_2.addLayout(self.verticalLayout)
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")
        self.label_5 = QtWidgets.QLabel(self.Tab)
        self.label_5.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_5.setObjectName("label_5")
        self.gridLayout.addWidget(self.label_5, 0, 3, 1, 1)
        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout.addItem(spacerItem1, 1, 0, 1, 1)
        self.label_6 = QtWidgets.QLabel(self.Tab)
        self.label_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_6.setObjectName("label_6")
        self.gridLayout.addWidget(self.label_6, 1, 3, 1, 1)
        self.label_3 = QtWidgets.QLabel(self.Tab)
        self.label_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_3.setObjectName("label_3")
        self.gridLayout.addWidget(self.label_3, 0, 1, 1, 1)
        self.label_4 = QtWidgets.QLabel(self.Tab)
        self.label_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_4.setObjectName("label_4")
        self.gridLayout.addWidget(self.label_4, 1, 1, 1, 1)
        self.lb_magnt_name = QtWidgets.QLabel(self.Tab)
        font = QtGui.QFont()
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.lb_magnt_name.setFont(font)
        self.lb_magnt_name.setText("")
        self.lb_magnt_name.setObjectName("lb_magnt_name")
        self.gridLayout.addWidget(self.lb_magnt_name, 3, 2, 1, 1)
        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout.addItem(spacerItem2, 0, 0, 1, 1)
        spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
        self.gridLayout.addItem(spacerItem3, 3, 4, 1, 1)
        spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout.addItem(spacerItem4, 3, 0, 1, 1)
        self.label_7 = QtWidgets.QLabel(self.Tab)
        self.label_7.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_7.setObjectName("label_7")
        self.gridLayout.addWidget(self.label_7, 3, 1, 1, 1)
        self.cb_y_values = QtWidgets.QComboBox(self.Tab)
        self.cb_y_values.setObjectName("cb_y_values")
        self.gridLayout.addWidget(self.cb_y_values, 0, 2, 1, 1)
        self.cb_x_values = QtWidgets.QComboBox(self.Tab)
        self.cb_x_values.setObjectName("cb_x_values")
        self.gridLayout.addWidget(self.cb_x_values, 1, 2, 1, 1)
        self.cb_y_n_order = QtWidgets.QComboBox(self.Tab)
        self.cb_y_n_order.setEnabled(False)
        self.cb_y_n_order.setObjectName("cb_y_n_order")
        self.cb_y_n_order.addItem("")
        self.cb_y_n_order.addItem("")
        self.cb_y_n_order.addItem("")
        self.cb_y_n_order.addItem("")
        self.cb_y_n_order.addItem("")
        self.cb_y_n_order.addItem("")
        self.cb_y_n_order.addItem("")
        self.cb_y_n_order.addItem("")
        self.cb_y_n_order.addItem("")
        self.cb_y_n_order.addItem("")
        self.cb_y_n_order.addItem("")
        self.cb_y_n_order.addItem("")
        self.cb_y_n_order.addItem("")
        self.cb_y_n_order.addItem("")
        self.cb_y_n_order.addItem("")
        self.gridLayout.addWidget(self.cb_y_n_order, 0, 4, 1, 1)
        self.cb_x_n_order = QtWidgets.QComboBox(self.Tab)
        self.cb_x_n_order.setEnabled(False)
        self.cb_x_n_order.setObjectName("cb_x_n_order")
        self.cb_x_n_order.addItem("")
        self.cb_x_n_order.addItem("")
        self.cb_x_n_order.addItem("")
        self.cb_x_n_order.addItem("")
        self.cb_x_n_order.addItem("")
        self.cb_x_n_order.addItem("")
        self.cb_x_n_order.addItem("")
        self.cb_x_n_order.addItem("")
        self.cb_x_n_order.addItem("")
        self.cb_x_n_order.addItem("")
        self.cb_x_n_order.addItem("")
        self.cb_x_n_order.addItem("")
        self.cb_x_n_order.addItem("")
        self.cb_x_n_order.addItem("")
        self.gridLayout.addWidget(self.cb_x_n_order, 1, 4, 1, 1)
        self.verticalLayout_2.addLayout(self.gridLayout)
        self.pb_viewtable = QtWidgets.QPushButton(self.Tab)
        self.pb_viewtable.setEnabled(False)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.pb_viewtable.sizePolicy().hasHeightForWidth())
        self.pb_viewtable.setSizePolicy(sizePolicy)
        icon4 = QtGui.QIcon()
        icon4.addPixmap(QtGui.QPixmap(":/images/resource/table.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.pb_viewtable.setIcon(icon4)
        self.pb_viewtable.setObjectName("pb_viewtable")
        self.verticalLayout_2.addWidget(self.pb_viewtable)
        self.graphicsView = PlotWidget(self.Tab)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.graphicsView.setBackgroundBrush(brush)
        self.graphicsView.setObjectName("graphicsView")
        self.verticalLayout_2.addWidget(self.graphicsView)
        self.verticalLayout_3.addLayout(self.verticalLayout_2)
        self.tabWidget.addTab(self.Tab, "")
        self.tab_2 = QtWidgets.QWidget()
        self.tab_2.setObjectName("tab_2")
        self.tabWidget.addTab(self.tab_2, "")
        self.gridLayout_2.addWidget(self.tabWidget, 1, 0, 1, 1)

        self.retranslateUi(Machine_Learn_Interface)
        self.tabWidget.setCurrentIndex(0)
        self.cb_y_n_order.setCurrentIndex(1)
        self.cb_x_n_order.setCurrentIndex(1)
        QtCore.QMetaObject.connectSlotsByName(Machine_Learn_Interface)

    def retranslateUi(self, Machine_Learn_Interface):
        _translate = QtCore.QCoreApplication.translate
        Machine_Learn_Interface.setWindowTitle(_translate("Machine_Learn_Interface", "Machine Learn Interface"))
        self.label.setText(_translate("Machine_Learn_Interface", "Machine Learning for Magnetic Measurements"))
        self.pb_openfiles.setText(_translate("Machine_Learn_Interface", "Open Files"))
        self.pb_kmeans.setText(_translate("Machine_Learn_Interface", " Process K-Means"))
        self.label_2.setText(_translate("Machine_Learn_Interface", "Type Number of Cluster:"))
        self.pb_cluster_hint.setText(_translate("Machine_Learn_Interface", "Cluster Hint"))
        self.label_5.setText(_translate("Machine_Learn_Interface", "n order:"))
        self.label_6.setText(_translate("Machine_Learn_Interface", "n order:"))
        self.label_3.setText(_translate("Machine_Learn_Interface", "Y Values:"))
        self.label_4.setText(_translate("Machine_Learn_Interface", "X Values:"))
        self.label_7.setText(_translate("Machine_Learn_Interface", "Magnet:"))
        self.cb_y_n_order.setItemText(0, _translate("Machine_Learn_Interface", "1"))
        self.cb_y_n_order.setItemText(1, _translate("Machine_Learn_Interface", "2"))
        self.cb_y_n_order.setItemText(2, _translate("Machine_Learn_Interface", "3"))
        self.cb_y_n_order.setItemText(3, _translate("Machine_Learn_Interface", "4"))
        self.cb_y_n_order.setItemText(4, _translate("Machine_Learn_Interface", "5"))
        self.cb_y_n_order.setItemText(5, _translate("Machine_Learn_Interface", "6"))
        self.cb_y_n_order.setItemText(6, _translate("Machine_Learn_Interface", "7"))
        self.cb_y_n_order.setItemText(7, _translate("Machine_Learn_Interface", "8"))
        self.cb_y_n_order.setItemText(8, _translate("Machine_Learn_Interface", "9"))
        self.cb_y_n_order.setItemText(9, _translate("Machine_Learn_Interface", "10"))
        self.cb_y_n_order.setItemText(10, _translate("Machine_Learn_Interface", "11"))
        self.cb_y_n_order.setItemText(11, _translate("Machine_Learn_Interface", "12"))
        self.cb_y_n_order.setItemText(12, _translate("Machine_Learn_Interface", "13"))
        self.cb_y_n_order.setItemText(13, _translate("Machine_Learn_Interface", "14"))
        self.cb_y_n_order.setItemText(14, _translate("Machine_Learn_Interface", "15"))
        self.cb_x_n_order.setItemText(0, _translate("Machine_Learn_Interface", "1"))
        self.cb_x_n_order.setItemText(1, _translate("Machine_Learn_Interface", "2"))
        self.cb_x_n_order.setItemText(2, _translate("Machine_Learn_Interface", "3"))
        self.cb_x_n_order.setItemText(3, _translate("Machine_Learn_Interface", "4"))
        self.cb_x_n_order.setItemText(4, _translate("Machine_Learn_Interface", "5"))
        self.cb_x_n_order.setItemText(5, _translate("Machine_Learn_Interface", "6"))
        self.cb_x_n_order.setItemText(6, _translate("Machine_Learn_Interface", "7"))
        self.cb_x_n_order.setItemText(7, _translate("Machine_Learn_Interface", "8"))
        self.cb_x_n_order.setItemText(8, _translate("Machine_Learn_Interface", "9"))
        self.cb_x_n_order.setItemText(9, _translate("Machine_Learn_Interface", "10"))
        self.cb_x_n_order.setItemText(10, _translate("Machine_Learn_Interface", "12"))
        self.cb_x_n_order.setItemText(11, _translate("Machine_Learn_Interface", "13"))
        self.cb_x_n_order.setItemText(12, _translate("Machine_Learn_Interface", "14"))
        self.cb_x_n_order.setItemText(13, _translate("Machine_Learn_Interface", "15"))
        self.pb_viewtable.setText(_translate("Machine_Learn_Interface", " View Table"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.Tab), _translate("Machine_Learn_Interface", "Clustering"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("Machine_Learn_Interface", "Predicting"))
Esempio n. 7
0
class ControllerGui(Ui_ControllerGUI, QMainWindow):

    def __init__(self):
        super(ControllerGui, self).__init__()
        self.setupUi(self)
        self.m_clear.clicked.connect(self.clear_plot)
        self.m_send.clicked.connect(self.send_start)
        self.m_stop.clicked.connect(self.send_stop)
        self.interface = SerialInterface()
        self.interface.received.connect(self.show_received)
        self.m_interval.setValidator(QIntValidator(0, 10000))
        self.m_interval.returnPressed.connect(self.send_start)

        brush = QBrush(QColor(255, 255, 255))

        box = QVBoxLayout(self.m_list)

        self.temperature_plot = PlotWidget(self)
        self.temperature_plot.setBackgroundBrush(brush)
        self.temperature_plot.setFixedHeight(300)
        box.addWidget(self.temperature_plot)
        self.temperature_curves = {}

        self.humidity_plot = PlotWidget(self)
        self.humidity_plot.setBackgroundBrush(brush)
        self.humidity_plot.setFixedHeight(300)
        box.addWidget(self.humidity_plot)
        self.humidity_curves = {}

        self.illumination_plot = PlotWidget(self)
        self.illumination_plot.setBackgroundBrush(brush)
        self.illumination_plot.setFixedHeight(300)
        box.addWidget(self.illumination_plot)
        self.illumination_curves = {}
        box.addItem(QSpacerItem(40, 20, QSizePolicy.Maximum, QSizePolicy.Expanding))
        self.m_list.setLayout(box)

        box = QVBoxLayout(self.m_devices)
        box.addItem(QSpacerItem(40, 20, QSizePolicy.Maximum, QSizePolicy.Expanding))
        self.m_devices.setLayout(box)
	self.file = open('result.txt', 'w')

    def closeEvent(self, event):
	self.file.close()
        self.interface.mif.finishAll()

    def show_received(self, node_id, sequence_num, timestamp, temperature, humidity, illumination):
        result = "ID:" + str(node_id) + " SeqNo:" + str(sequence_num) + " temperature:" + str(temperature) + \
              " humidity:" + str(humidity) + " illumination:" + str(illumination) + " time:" + str(timestamp) + "\n"
        self.file.write(result)
        print("ID:" + str(node_id) + " SeqNo:" + str(sequence_num))
        
	try:
            temperature_curve = self.temperature_curves[str(node_id)]
            humidity_curve = self.humidity_curves[str(node_id)]
            illumination_curve = self.illumination_curves[str(node_id)]
        except KeyError:
            temperature_curve = self.temperature_plot.plot([], [])
            humidity_curve = self.humidity_plot.plot([], [])
            illumination_curve = self.illumination_plot.plot([], [])
            self.temperature_curves[str(node_id)] = temperature_curve
            self.humidity_curves[str(node_id)] = humidity_curve
            self.illumination_curves[str(node_id)] = illumination_curve

            box = self.m_devices.layout()

            device_item = DeviceItem(self.m_devices, node_id)
            device_item.colorChanged.connect(self.set_device_color)
            self.set_device_color(node_id, device_item.color)
            device_item.showChanged.connect(self.change_device_show)
            device_item.temperatureChanged.connect(self.change_device_temperature)
            device_item.humidityChanged.connect(self.change_device_humidity)
            device_item.illuminationChanged.connect(self.change_device_illumination)

            box.insertWidget(box.count() - 1, device_item)
            self.m_aside.setFixedWidth(device_item.width())

        data = temperature_curve.getData()
        data_x, temperature_y = list(data[0]), list(data[1])
        data_x.append(timestamp / 1000.0)
        temperature_y.append(temperature)
        temperature_curve.setData(data_x, temperature_y)

        data = humidity_curve.getData()
        data_x, humidity_y = list(data[0]), list(data[1])
        data_x.append(timestamp / 1000.0)
        humidity_y.append(humidity)
        humidity_curve.setData(data_x, humidity_y)

        data = illumination_curve.getData()
        data_x, illumination_y = list(data[0]), list(data[1])
        data_x.append(timestamp / 1000.0)
        illumination_y.append(illumination)
        illumination_curve.setData(data_x, illumination_y)

    def send_start(self):
        self.interface.send(CONTROL_START, int(self.m_interval.text()))

    def send_stop(self):
        self.interface.send(CONTROL_STOP)

    def clear_plot(self):
        for key in self.temperature_curves:
            self.temperature_curves[key].setData([], [])
            self.humidity_curves[key].setData([], [])
            self.illumination_curves[key].setData([], [])

    def set_device_color(self, node_id, color):
        self.temperature_curves[str(node_id)].setPen(color)
        self.humidity_curves[str(node_id)].setPen(color)
        self.illumination_curves[str(node_id)].setPen(color)

    def change_device_show(self, node_id, check, t_check, h_check, i_check):
        if check:
            self.change_device_temperature(node_id, t_check)
            self.change_device_humidity(node_id, h_check)
            self.change_device_illumination(node_id, i_check)
        else:
            self.temperature_curves[str(node_id)].hide()
            self.humidity_curves[str(node_id)].hide()
            self.illumination_curves[str(node_id)].hide()

    def change_device_temperature(self, node_id, check):
        if check:
            self.temperature_curves[str(node_id)].show()
        else:
            self.temperature_curves[str(node_id)].hide()

    def change_device_humidity(self, node_id, check):
        if check:
            self.humidity_curves[str(node_id)].show()
        else:
            self.humidity_curves[str(node_id)].hide()

    def change_device_illumination(self, node_id, check):
        if check:
            self.illumination_curves[str(node_id)].show()
        else:
            self.illumination_curves[str(node_id)].hide()
Esempio n. 8
0
class Plot(QObject, Object):
    """Generic widget to plot data series. The data series have to be added
    first, then one may add plot items using two them as x and y values. The
    series will be automatically updated when the master attribute fires a
    value_changed signal or based on an internal update timer. This master
    series has to be defined while adding it.
    
    .. todo:: Currently only setting both series of a plot item to the same,
        fixed length works. Find a better handling for this.
    """
    TYPE_STATIC = 0
    TYPE_TIME = 1
    TYPE_SCALAR = 2
    TYPE_SPECTRUM = 3

    ROLE_SLAVE = 0
    ROLE_MASTER = 1

    def __init__(self, parent=None):
        """Construct a new Plot instance.
        
        :param parent: Optional, but needed for painting.
        :type parent: QGraphicsItem
        """
        QObject.__init__(self)
        Object.__init__(self)
        self.parent = parent
        self.lines = {}
        self.items = {}  #plot items
        self.data = {}  #data series to the plot items
        self.master = None  #id of the data series which triggers the update
        self.x_range = -1  #id of the data series which range defines the plot range
        self.mutex = QMutex()
        self.update_timer = QTimer(self)
        self.update_timer_start = None
        self.setup_ui()

    def setup_ui(self):
        """Setup the internal widget object. Called by :func:`__init__()`."""
        self.widget = PlotWidget(self.parent)
        self.widget.setBackgroundBrush(QBrush(Qt.NoBrush))
        count = len(self.janus.widgets["mainwindow"].findChildren(PlotWidget))
        self.widget.setObjectName("plotWidgetPlot{0}".format(count))
        self.widget.getAxis("bottom").setPen(QPen(Qt.black))
        self.widget.getAxis("left").setPen(QPen(Qt.black))

    def update_values(self, attribute=None):
        """Update all data of TYPE_TIME, TYPE_SCALAR, TYPE_SPECTRUM and plot it.

        This method is connected to either the the value_changed signal of the
        device instance that the master attribute belongs to or the internal
        update_timer if the master is of TYPE_TIME. 

        :param attribute: Name of the master attribute
            which triggered the update or None if master is of TYPE_TIME.
        :type attribute: str|None
        """
        self.mutex.lock()
        if not ((attribute is None and \
                self.data[self.master]["data_type"] == Plot.TYPE_TIME) or \
                (attribute == self.data[self.master]["name"] and \
                self.data[self.master]["data_type"] in \
                [Plot.TYPE_SCALAR, Plot.TYPE_SPECTRUM])):
            self.mutex.unlock()
            return
        if self.update_timer_start is not None:
            time_stamp = time.time() - self.update_timer_start
        update = len(self.items) * [False]
        #retrieve new data and cycle the buffer if max_length is reached
        for i in range(len(self.data)):
            if self.data[i]["data_type"] == Plot.TYPE_TIME:
                if self.data[i]["data"].shape[0] > self.data[i]["max_length"]:
                    self.data[i]["data"].resize(self.data[i]["max_length"])
                if self.data[i]["data"].shape[0] == self.data[i]["max_length"]:
                    self.data[i]["data"] = numpy.concatenate( \
                            (self.data[i]["data"][1:], self.data[i]["data"][:1]))
                    self.data[i]["data"][-1] = time_stamp
                else:
                    numpy.concatenate(self.data[i]["data"], time_stamp)
            elif self.data[i]["data_type"] == Plot.TYPE_SCALAR:
                if self.data[i]["data"].shape[0] > self.data[i]["max_length"]:
                    self.data[i]["data"].resize(self.data[i]["max_length"])
                if self.data[i]["data"].shape[0] == self.data[i]["max_length"]:
                    self.data[i]["data"] = numpy.concatenate( \
                            (self.data[i]["data"][1:], self.data[i]["data"][:1]))
                    self.data[i]["data"][-1] = self.data[i]["getter"](
                        refresh=True)
                else:
                    numpy.concatenate(self.data[i]["data"], \
                            self.data[i]["getter"](refresh=True))
            elif self.data[i]["data_type"] == Plot.TYPE_SPECTRUM:
                self.data[i]["data"] = numpy.ndarray(
                    self.data[i]["getter"](refresh=True))
                if self.data[i]["data"].shape[0] >= self.data[i]["max_length"] or \
                        self.data[i]["data"].shape[0] < self.data[i]["min_length"]:
                    self.data[i]["data"].resize(self.data[i]["max_length"])
            else:
                continue
            for item in self.data[i]["items"]:
                update[item] = True
        #set view boundaries if tie_x_range is set to a dataset
        if self.x_range > -1:
            if self.data[self.x_range]["data_type"] == Plot.TYPE_TIME:
                self.widget.setLimits( \
                        xMin=self.data[self.x_range]["data"][1], \
                        xMax=self.data[self.x_range]["data"][-1])
            else:
                self.widget.setLimits( \
                        xMin=numpy.amin(self.data[self.x_range]["data"]), \
                        xMax=numpy.amax(self.data[self.x_range]["data"]))
        #replot items
        for i in range(len(self.items)):
            if update[i]:
                self.items[i]["plot"].setData( \
                        self.data[self.items[i]["x"]]["data"], \
                        self.data[self.items[i]["y"]]["data"])
        self.mutex.unlock()

    def add_plot_data(self, i, data=None, attr=None, data_type=TYPE_STATIC, \
                role=ROLE_SLAVE, interval=1.0, \
                min_length=0, length=-1, max_length=-1):
        """Add a data series to the plot.
        
        :param i: Id of the data series. Should be ascending natural numbers 
            from 0 up.
        :type i: int
        :param data: Initial series of values. May be omited if not of
            TYPE_STATIC.
        :type data: numpy.ndarray|None
        :param attr: Reference to the getter function for an attribute of an
            device object. May be omited if not of TYPE_SCALAR or TYPE_SPECTRUM.
        :type attr: Device.method
        :param data_type: How the data is updated. May be one of the following 
            - TYPE_STATIC no update,
            - TYPE_TIME append time stamp at trigger point,
            - TYPE_SCALAR append attribute value at trigger point,
            - or TYPE_SPECTRUM exchange data series by attribute values at
                trigger point.
        :type data_type: int|TYPE_STATIC|TYPE_TIME|TYPE_SCALAR|TYPE_SPECTRUM
        :param role: Should be ROLE_MASTER for data series which triggers the
            plot update.
        :type role: int|ROLE_SLAVE|ROLE_MASTER
        :param interval: Interval, to which the update_timer is set if of
            TYPE_TIME and ROLE_MASTER. May be omited otherwise.
        :type interval: float
        :param min_length: Data series will be extended to this length. May be
            omited.
        :type min_length: int
        :param length: Sets min_length and max_length to this value. -1 will
            will disable this feature. May be omited.
        :type length: int
        :param max_length: Data series will be shortened to this length. -1 will
            will disable this feature. May be omited.
        :type max_length: int
        :return: False on errors, True otherwise.
        :rtype: bool
        """
        if length > -1:
            min_length = length
            max_length = length
        if data is not None and type(data) != numpy.ndarray:
            data = numpy.array(data)
        if data is not None and data.shape[0] < min_length:
            data.resize(min_length)
        if data is not None and max_length > 0 and data.shape[0] > max_length:
            data.resize(max_length)
        datum = { \
                "data": data, \
                "data_type": data_type, \
                "min_length": min_length, \
                "length": length, \
                "max_length": max_length, \
                "items" : []}
        if data_type in [Plot.TYPE_SCALAR, Plot.TYPE_SPECTRUM]:
            try:
                if callable(attr):
                    device = attr.__self__
                    name = attr.__name__
                else:
                    return False
            except:
                return False
            datum["device"] = device  #device instance
            datum["name"] = name  #attribute name
            datum["getter"] = attr  #attribute getter method
            if data is None and data_type == Plot.TYPE_SCALAR:
                start_value = attr(refresh=True)
                datum["data"] = numpy.full(min_length, start_value)
            elif data is None:
                datum["data"] = numpy.array(attr(refresh=True))
                if datum["data"].shape[0] < min_length:
                    datum["data"].resize(min_length)
                if max_length > 0 and datum["data"].shape[0] > max_length:
                    datum["data"].resize(max_length)
        elif data_type == Plot.TYPE_TIME:
            datum["interval"] = interval
            if data is None:
                datum["data"] = numpy.linspace( \
                        -(min_length-1)*interval, 0, min_length)
        elif data_type != Plot.TYPE_STATIC:
            return False
        self.mutex.lock()
        self.data[i] = datum
        self.mutex.unlock()
        if role == Plot.ROLE_MASTER:
            self.set_master(i)
        return True

    def remove_plot_data(self, i):
        if i == self.master:
            self.unset_master()
        items = self.data[i]["items"]
        for item in items:
            self.remove_plot_item(item)
        del self.data[i]

    def add_plot_item(self, i, x, y, colour=Qt.red):
        """Add a plot item representing two already added data series.
        
        :param i: Id of the plot item. Should be ascending natural numbers 
            from 0 up.
        :type i: int
        :param x: Id of the data series holding the x values.
        :type x: int
        :param y: Id of the data series holding the y values.
        :type y: int
        :param colour: Colour of the plot item. The default is red.
        :type colour: str|QRgb|QColor|Qt.GlobalColor
        """
        self.items[i] = {"x": x, "y": y}
        self.data[x]["items"].append(i)
        self.data[y]["items"].append(i)
        self.items[i]["plot"] = PlotDataItem( \
                self.data[x]["data"], \
                self.data[y]["data"], \
                pen=QColor(colour))
        self.widget.addItem(self.items[i]["plot"])

    def remove_plot_item(self, i):
        self.mutex.lock()
        self.data[self.items[i]["x"]]["items"].remove(i)
        self.data[self.items[i]["y"]]["items"].remove(i)
        self.widget.removeItem(self.items[i]["plot"])
        del self.items[i]
        self.mutex.unlock()

    def add_line_item(self, i, **kwargs):
        self.mutex.lock()
        self.lines[i] = InfiniteLine(**kwargs)
        self.widget.addItem(self.lines[i])
        self.mutex.unlock()

    def remove_line_item(self, i):
        self.mutex.lock()
        self.widget.removeItem(self.lines[i])
        del self.lines[i]
        self.mutex.unlock()

    def set_master(self, i):
        """Set which data series will trigger a plot update.
        
        :param data: Id of the data series which triggers the update.
        :type data: int
        """
        self.mutex.lock()
        if self.master is not None and self.master != i:
            self.unset_master()
            self.data[i]["device"].value_changed.disconnect(self.update_values)
        if self.data[i]["data_type"] in [Plot.TYPE_SCALAR, Plot.TYPE_SPECTRUM]:
            self.data[i]["device"].value_changed.connect(self.update_values)
        elif self.data[i]["data_type"] == Plot.TYPE_TIME:
            self.update_timer.timeout.connect(self.update_values)
            self.update_timer_start = time.time()
            self.update_timer.start(self.data[i]["interval"] * 1000.)
        self.master = i
        self.mutex.unlock()

    def unset_master(self):
        self.mutex.lock()
        if self.data[self.master]["data_type"] in \
                [Plot.TYPE_SCALAR, Plot.TYPE_SPECTRUM]:
            self.data[self.master]["device"].value_changed.disconnect( \
                    self.update_values)
        elif self.data[self.master]["data_type"] == Plot.TYPE_TIME:
            self.update_timer.timeout.disconnect(self.update_values)
            self.update_timer.stop()
        self.mutex.unlock()

    def tie_x_range(self, data=-1):
        """Sets the plot x range to be the same as the given data series.
        
        :param data: Id of the data series holding the x values.
        :type data: int
        """
        self.x_range = data

    def clear(self):
        data = list(self.data.keys())
        for datum in data:
            self.remove_plot_data(datum)
        for line in list(self.lines.keys()):
            self.remove_line_item(line)
Esempio n. 9
0
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(658, 656)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setMinimumSize(QtCore.QSize(600, 400))
        self.centralwidget.setObjectName("centralwidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
        self.verticalLayout.setObjectName("verticalLayout")
        self.splitter_2 = QtWidgets.QSplitter(self.centralwidget)
        self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
        self.splitter_2.setObjectName("splitter_2")
        self.layoutWidget = QtWidgets.QWidget(self.splitter_2)
        self.layoutWidget.setObjectName("layoutWidget")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.layoutWidget)
        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.image_path = QtWidgets.QLineEdit(self.layoutWidget)
        self.image_path.setText("")
        self.image_path.setObjectName("image_path")
        self.horizontalLayout.addWidget(self.image_path)
        self.find = QtWidgets.QPushButton(self.layoutWidget)
        self.find.setObjectName("find")
        self.horizontalLayout.addWidget(self.find)
        self.load = QtWidgets.QPushButton(self.splitter_2)
        self.load.setMaximumSize(QtCore.QSize(100, 50))
        self.load.setObjectName("load")
        self.verticalLayout.addWidget(self.splitter_2)
        self.image = PlotWidget(self.centralwidget)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.NoBrush)
        self.image.setBackgroundBrush(brush)
        self.image.setObjectName("image")
        self.verticalLayout.addWidget(self.image)
        self.splitter = QtWidgets.QSplitter(self.centralwidget)
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setObjectName("splitter")
        self.trash = SpinBox(self.splitter)
        self.trash.setMaximumSize(QtCore.QSize(100, 16777215))
        self.trash.setAlignment(QtCore.Qt.AlignCenter)
        self.trash.setButtonSymbols(QtWidgets.QAbstractSpinBox.UpDownArrows)
        self.trash.setMinimum(0)
        self.trash.setMaximum(1)
        self.trash.setProperty("value", 0)
        self.trash.setObjectName("trash")
        self.go = QtWidgets.QPushButton(self.splitter)
        self.go.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.go.setObjectName("go")
        self.verticalLayout.addWidget(self.splitter)
        self.formula = QtWidgets.QLineEdit(self.centralwidget)
        self.formula.setAlignment(QtCore.Qt.AlignCenter)
        self.formula.setReadOnly(True)
        self.formula.setObjectName("formula")
        self.verticalLayout.addWidget(self.formula)
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "ImgToLatex"))
        self.find.setText(_translate("MainWindow", "Обзор"))
        self.load.setText(_translate("MainWindow", "Загрузить"))
        self.go.setToolTip(_translate("MainWindow", "Перевести формулу"))
        self.go.setText(_translate("MainWindow", "Перевести"))
Esempio n. 10
0
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1145, 753)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
        MainWindow.setSizePolicy(sizePolicy)
        self.centralwidget = QtGui.QWidget(MainWindow)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Maximum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.centralwidget.sizePolicy().hasHeightForWidth())
        self.centralwidget.setSizePolicy(sizePolicy)
        self.centralwidget.setObjectName("centralwidget")
        self.verticalLayout_12 = QtGui.QVBoxLayout(self.centralwidget)
        self.verticalLayout_12.setObjectName("verticalLayout_12")
        self.gridLayout = QtGui.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")
        self.group_io = QtGui.QGroupBox(self.centralwidget)
        self.group_io.setObjectName("group_io")
        self.verticalLayout_14 = QtGui.QVBoxLayout(self.group_io)
        self.verticalLayout_14.setObjectName("verticalLayout_14")
        self.layout_samples = QtGui.QHBoxLayout()
        self.layout_samples.setObjectName("layout_samples")
        self.label = QtGui.QLabel(self.group_io)
        self.label.setObjectName("label")
        self.layout_samples.addWidget(self.label)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Minimum)
        self.layout_samples.addItem(spacerItem)
        self.field_samples = QtGui.QLineEdit(self.group_io)
        self.field_samples.setObjectName("field_samples")
        self.layout_samples.addWidget(self.field_samples)
        self.button_importSamples = QtGui.QToolButton(self.group_io)
        self.button_importSamples.setObjectName("button_importSamples")
        self.layout_samples.addWidget(self.button_importSamples)
        self.verticalLayout_14.addLayout(self.layout_samples)
        self.layout_topology = QtGui.QHBoxLayout()
        self.layout_topology.setObjectName("layout_topology")
        self.label_2 = QtGui.QLabel(self.group_io)
        self.label_2.setObjectName("label_2")
        self.layout_topology.addWidget(self.label_2)
        spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
        self.layout_topology.addItem(spacerItem1)
        self.field_topology = QtGui.QLineEdit(self.group_io)
        self.field_topology.setObjectName("field_topology")
        self.layout_topology.addWidget(self.field_topology)
        spacerItem2 = QtGui.QSpacerItem(26, 20, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Minimum)
        self.layout_topology.addItem(spacerItem2)
        self.verticalLayout_14.addLayout(self.layout_topology)
        self.layout_properties = QtGui.QHBoxLayout()
        self.layout_properties.setObjectName("layout_properties")
        self.label_3 = QtGui.QLabel(self.group_io)
        self.label_3.setObjectName("label_3")
        self.layout_properties.addWidget(self.label_3)
        self.box_sectors = QtGui.QSpinBox(self.group_io)
        self.box_sectors.setObjectName("box_sectors")
        self.layout_properties.addWidget(self.box_sectors)
        spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_properties.addItem(spacerItem3)
        self.check_discreteIn = QtGui.QCheckBox(self.group_io)
        self.check_discreteIn.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.check_discreteIn.setObjectName("check_discreteIn")
        self.layout_properties.addWidget(self.check_discreteIn)
        self.check_discreteOut = QtGui.QCheckBox(self.group_io)
        self.check_discreteOut.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.check_discreteOut.setObjectName("check_discreteOut")
        self.layout_properties.addWidget(self.check_discreteOut)
        spacerItem4 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_properties.addItem(spacerItem4)
        self.verticalLayout_14.addLayout(self.layout_properties)
        self.gridLayout.addWidget(self.group_io, 0, 0, 1, 1)
        self.group_error = QtGui.QGroupBox(self.centralwidget)
        self.group_error.setObjectName("group_error")
        self.verticalLayout_3 = QtGui.QVBoxLayout(self.group_error)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.layout_stopKeySelect = QtGui.QHBoxLayout()
        self.layout_stopKeySelect.setObjectName("layout_stopKeySelect")
        self.label_stopKey = QtGui.QLabel(self.group_error)
        self.label_stopKey.setObjectName("label_stopKey")
        self.layout_stopKeySelect.addWidget(self.label_stopKey)
        spacerItem5 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Minimum)
        self.layout_stopKeySelect.addItem(spacerItem5)
        self.combo_stopKey = QtGui.QComboBox(self.group_error)
        self.combo_stopKey.setObjectName("combo_stopKey")
        self.combo_stopKey.addItem("")
        self.combo_stopKey.addItem("")
        self.combo_stopKey.addItem("")
        self.combo_stopKey.addItem("")
        self.combo_stopKey.addItem("")
        self.layout_stopKeySelect.addWidget(self.combo_stopKey)
        spacerItem6 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_stopKeySelect.addItem(spacerItem6)
        self.verticalLayout_3.addLayout(self.layout_stopKeySelect)
        self.stacked_stopKey = QtGui.QStackedWidget(self.group_error)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Maximum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.stacked_stopKey.sizePolicy().hasHeightForWidth())
        self.stacked_stopKey.setSizePolicy(sizePolicy)
        self.stacked_stopKey.setObjectName("stacked_stopKey")
        self.maxError = QtGui.QWidget()
        self.maxError.setObjectName("maxError")
        self.verticalLayout_5 = QtGui.QVBoxLayout(self.maxError)
        self.verticalLayout_5.setObjectName("verticalLayout_5")
        self.layout_maxGlobal = QtGui.QHBoxLayout()
        self.layout_maxGlobal.setObjectName("layout_maxGlobal")
        self.label_10 = QtGui.QLabel(self.maxError)
        self.label_10.setObjectName("label_10")
        self.layout_maxGlobal.addWidget(self.label_10)
        spacerItem7 = QtGui.QSpacerItem(21, 20, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Minimum)
        self.layout_maxGlobal.addItem(spacerItem7)
        self.box_maxGlobal = QtGui.QSpinBox(self.maxError)
        self.box_maxGlobal.setObjectName("box_maxGlobal")
        self.layout_maxGlobal.addWidget(self.box_maxGlobal)
        spacerItem8 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_maxGlobal.addItem(spacerItem8)
        self.verticalLayout_5.addLayout(self.layout_maxGlobal)
        self.layout_maxLocal = QtGui.QHBoxLayout()
        self.layout_maxLocal.setObjectName("layout_maxLocal")
        self.label_11 = QtGui.QLabel(self.maxError)
        self.label_11.setObjectName("label_11")
        self.layout_maxLocal.addWidget(self.label_11)
        spacerItem9 = QtGui.QSpacerItem(29, 20, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Minimum)
        self.layout_maxLocal.addItem(spacerItem9)
        self.box_maxLocal = QtGui.QSpinBox(self.maxError)
        self.box_maxLocal.setObjectName("box_maxLocal")
        self.layout_maxLocal.addWidget(self.box_maxLocal)
        spacerItem10 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_maxLocal.addItem(spacerItem10)
        self.verticalLayout_5.addLayout(self.layout_maxLocal)
        self.stacked_stopKey.addWidget(self.maxError)
        self.errorRate = QtGui.QWidget()
        self.errorRate.setObjectName("errorRate")
        self.verticalLayout_7 = QtGui.QVBoxLayout(self.errorRate)
        self.verticalLayout_7.setObjectName("verticalLayout_7")
        self.layout_errorGlobal = QtGui.QHBoxLayout()
        self.layout_errorGlobal.setObjectName("layout_errorGlobal")
        self.label_12 = QtGui.QLabel(self.errorRate)
        self.label_12.setObjectName("label_12")
        self.layout_errorGlobal.addWidget(self.label_12)
        spacerItem11 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Minimum)
        self.layout_errorGlobal.addItem(spacerItem11)
        self.box_errorGlobal = QtGui.QDoubleSpinBox(self.errorRate)
        self.box_errorGlobal.setSuffix("")
        self.box_errorGlobal.setObjectName("box_errorGlobal")
        self.layout_errorGlobal.addWidget(self.box_errorGlobal)
        spacerItem12 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_errorGlobal.addItem(spacerItem12)
        self.verticalLayout_7.addLayout(self.layout_errorGlobal)
        self.layout_errorLocal = QtGui.QHBoxLayout()
        self.layout_errorLocal.setObjectName("layout_errorLocal")
        self.label_13 = QtGui.QLabel(self.errorRate)
        self.label_13.setObjectName("label_13")
        self.layout_errorLocal.addWidget(self.label_13)
        spacerItem13 = QtGui.QSpacerItem(55, 20, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Minimum)
        self.layout_errorLocal.addItem(spacerItem13)
        self.box_errorLocal = QtGui.QSpinBox(self.errorRate)
        self.box_errorLocal.setObjectName("box_errorLocal")
        self.layout_errorLocal.addWidget(self.box_errorLocal)
        spacerItem14 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_errorLocal.addItem(spacerItem14)
        self.verticalLayout_7.addLayout(self.layout_errorLocal)
        self.stacked_stopKey.addWidget(self.errorRate)
        self.mse = QtGui.QWidget()
        self.mse.setObjectName("mse")
        self.verticalLayout_8 = QtGui.QVBoxLayout(self.mse)
        self.verticalLayout_8.setObjectName("verticalLayout_8")
        self.layout_mseGlobal = QtGui.QHBoxLayout()
        self.layout_mseGlobal.setObjectName("layout_mseGlobal")
        self.label_14 = QtGui.QLabel(self.mse)
        self.label_14.setObjectName("label_14")
        self.layout_mseGlobal.addWidget(self.label_14)
        spacerItem15 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Minimum)
        self.layout_mseGlobal.addItem(spacerItem15)
        self.box_mseGlobal = QtGui.QDoubleSpinBox(self.mse)
        self.box_mseGlobal.setObjectName("box_mseGlobal")
        self.layout_mseGlobal.addWidget(self.box_mseGlobal)
        spacerItem16 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_mseGlobal.addItem(spacerItem16)
        self.verticalLayout_8.addLayout(self.layout_mseGlobal)
        self.layout_mseLocal = QtGui.QHBoxLayout()
        self.layout_mseLocal.setObjectName("layout_mseLocal")
        self.label_15 = QtGui.QLabel(self.mse)
        self.label_15.setObjectName("label_15")
        self.layout_mseLocal.addWidget(self.label_15)
        spacerItem17 = QtGui.QSpacerItem(47, 20, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Minimum)
        self.layout_mseLocal.addItem(spacerItem17)
        self.box_mseLocal = QtGui.QDoubleSpinBox(self.mse)
        self.box_mseLocal.setObjectName("box_mseLocal")
        self.layout_mseLocal.addWidget(self.box_mseLocal)
        spacerItem18 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_mseLocal.addItem(spacerItem18)
        self.verticalLayout_8.addLayout(self.layout_mseLocal)
        self.stacked_stopKey.addWidget(self.mse)
        self.rmse = QtGui.QWidget()
        self.rmse.setObjectName("rmse")
        self.verticalLayout_4 = QtGui.QVBoxLayout(self.rmse)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.layout_rmseGlobal = QtGui.QHBoxLayout()
        self.layout_rmseGlobal.setObjectName("layout_rmseGlobal")
        self.label_17 = QtGui.QLabel(self.rmse)
        self.label_17.setObjectName("label_17")
        self.layout_rmseGlobal.addWidget(self.label_17)
        spacerItem19 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Minimum)
        self.layout_rmseGlobal.addItem(spacerItem19)
        self.box_rmseGlobal = QtGui.QDoubleSpinBox(self.rmse)
        self.box_rmseGlobal.setObjectName("box_rmseGlobal")
        self.layout_rmseGlobal.addWidget(self.box_rmseGlobal)
        spacerItem20 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_rmseGlobal.addItem(spacerItem20)
        self.verticalLayout_4.addLayout(self.layout_rmseGlobal)
        self.layout_rmseLocal = QtGui.QHBoxLayout()
        self.layout_rmseLocal.setObjectName("layout_rmseLocal")
        self.label_16 = QtGui.QLabel(self.rmse)
        self.label_16.setObjectName("label_16")
        self.layout_rmseLocal.addWidget(self.label_16)
        spacerItem21 = QtGui.QSpacerItem(47, 20, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Minimum)
        self.layout_rmseLocal.addItem(spacerItem21)
        self.box_rmseLocal = QtGui.QDoubleSpinBox(self.rmse)
        self.box_rmseLocal.setObjectName("box_rmseLocal")
        self.layout_rmseLocal.addWidget(self.box_rmseLocal)
        spacerItem22 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_rmseLocal.addItem(spacerItem22)
        self.verticalLayout_4.addLayout(self.layout_rmseLocal)
        self.stacked_stopKey.addWidget(self.rmse)
        self.armse = QtGui.QWidget()
        self.armse.setObjectName("armse")
        self.verticalLayout_6 = QtGui.QVBoxLayout(self.armse)
        self.verticalLayout_6.setObjectName("verticalLayout_6")
        self.layout_armseGlobal = QtGui.QHBoxLayout()
        self.layout_armseGlobal.setObjectName("layout_armseGlobal")
        self.label_8 = QtGui.QLabel(self.armse)
        self.label_8.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
        self.label_8.setObjectName("label_8")
        self.layout_armseGlobal.addWidget(self.label_8)
        spacerItem23 = QtGui.QSpacerItem(24, 20, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Minimum)
        self.layout_armseGlobal.addItem(spacerItem23)
        self.box_armseGlobal = QtGui.QDoubleSpinBox(self.armse)
        self.box_armseGlobal.setObjectName("box_armseGlobal")
        self.layout_armseGlobal.addWidget(self.box_armseGlobal)
        spacerItem24 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_armseGlobal.addItem(spacerItem24)
        self.verticalLayout_6.addLayout(self.layout_armseGlobal)
        self.layout_armseLocal = QtGui.QHBoxLayout()
        self.layout_armseLocal.setObjectName("layout_armseLocal")
        self.label_9 = QtGui.QLabel(self.armse)
        self.label_9.setObjectName("label_9")
        self.layout_armseLocal.addWidget(self.label_9)
        spacerItem25 = QtGui.QSpacerItem(30, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
        self.layout_armseLocal.addItem(spacerItem25)
        self.box_armseLocal = QtGui.QDoubleSpinBox(self.armse)
        self.box_armseLocal.setObjectName("box_armseLocal")
        self.layout_armseLocal.addWidget(self.box_armseLocal)
        spacerItem26 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_armseLocal.addItem(spacerItem26)
        self.verticalLayout_6.addLayout(self.layout_armseLocal)
        self.layout_softMargins = QtGui.QHBoxLayout()
        self.layout_softMargins.setObjectName("layout_softMargins")
        self.check_softMargins = QtGui.QCheckBox(self.armse)
        self.check_softMargins.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.check_softMargins.setObjectName("check_softMargins")
        self.layout_softMargins.addWidget(self.check_softMargins)
        spacerItem27 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_softMargins.addItem(spacerItem27)
        self.verticalLayout_6.addLayout(self.layout_softMargins)
        self.stacked_stopKey.addWidget(self.armse)
        self.verticalLayout_3.addWidget(self.stacked_stopKey)
        self.gridLayout.addWidget(self.group_error, 0, 1, 1, 1)
        self.group_weights = QtGui.QGroupBox(self.centralwidget)
        self.group_weights.setObjectName("group_weights")
        self.verticalLayout_2 = QtGui.QVBoxLayout(self.group_weights)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.layout_initWeights = QtGui.QHBoxLayout()
        self.layout_initWeights.setObjectName("layout_initWeights")
        self.label_4 = QtGui.QLabel(self.group_weights)
        self.label_4.setObjectName("label_4")
        self.layout_initWeights.addWidget(self.label_4)
        spacerItem28 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Minimum)
        self.layout_initWeights.addItem(spacerItem28)
        self.combo_initWeights = QtGui.QComboBox(self.group_weights)
        self.combo_initWeights.setObjectName("combo_initWeights")
        self.combo_initWeights.addItem("")
        self.combo_initWeights.addItem("")
        self.layout_initWeights.addWidget(self.combo_initWeights)
        spacerItem29 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_initWeights.addItem(spacerItem29)
        self.verticalLayout_2.addLayout(self.layout_initWeights)
        self.stacked_initWeights = QtGui.QStackedWidget(self.group_weights)
        self.stacked_initWeights.setObjectName("stacked_initWeights")
        self.random = QtGui.QWidget()
        self.random.setObjectName("random")
        self.verticalLayout_13 = QtGui.QVBoxLayout(self.random)
        self.verticalLayout_13.setObjectName("verticalLayout_13")
        self.horizontalLayout_6 = QtGui.QHBoxLayout()
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
        self.button_randomWeights = QtGui.QPushButton(self.random)
        self.button_randomWeights.setFlat(False)
        self.button_randomWeights.setObjectName("button_randomWeights")
        self.horizontalLayout_6.addWidget(self.button_randomWeights)
        spacerItem30 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_6.addItem(spacerItem30)
        self.verticalLayout_13.addLayout(self.horizontalLayout_6)
        spacerItem31 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.verticalLayout_13.addItem(spacerItem31)
        self.stacked_initWeights.addWidget(self.random)
        self.user = QtGui.QWidget()
        self.user.setObjectName("user")
        self.verticalLayout_10 = QtGui.QVBoxLayout(self.user)
        self.verticalLayout_10.setObjectName("verticalLayout_10")
        self.horizontalLayout_5 = QtGui.QHBoxLayout()
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        self.label_5 = QtGui.QLabel(self.user)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
        self.label_5.setSizePolicy(sizePolicy)
        self.label_5.setObjectName("label_5")
        self.horizontalLayout_5.addWidget(self.label_5)
        spacerItem32 = QtGui.QSpacerItem(34, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_5.addItem(spacerItem32)
        self.field_weightsFile = QtGui.QLineEdit(self.user)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.field_weightsFile.sizePolicy().hasHeightForWidth())
        self.field_weightsFile.setSizePolicy(sizePolicy)
        self.field_weightsFile.setObjectName("field_weightsFile")
        self.horizontalLayout_5.addWidget(self.field_weightsFile)
        self.button_weightsFile = QtGui.QToolButton(self.user)
        self.button_weightsFile.setObjectName("button_weightsFile")
        self.horizontalLayout_5.addWidget(self.button_weightsFile)
        spacerItem33 = QtGui.QSpacerItem(27, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_5.addItem(spacerItem33)
        self.verticalLayout_10.addLayout(self.horizontalLayout_5)
        spacerItem34 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.verticalLayout_10.addItem(spacerItem34)
        self.stacked_initWeights.addWidget(self.user)
        self.verticalLayout_2.addWidget(self.stacked_initWeights)
        spacerItem35 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.verticalLayout_2.addItem(spacerItem35)
        self.gridLayout.addWidget(self.group_weights, 1, 0, 1, 1)
        self.group_control = QtGui.QGroupBox(self.centralwidget)
        self.group_control.setObjectName("group_control")
        self.verticalLayout_11 = QtGui.QVBoxLayout(self.group_control)
        self.verticalLayout_11.setObjectName("verticalLayout_11")
        self.layout_control = QtGui.QHBoxLayout()
        self.layout_control.setObjectName("layout_control")
        self.layout_timing = QtGui.QVBoxLayout()
        self.layout_timing.setObjectName("layout_timing")
        self.layout_timeLimit = QtGui.QHBoxLayout()
        self.layout_timeLimit.setObjectName("layout_timeLimit")
        self.check_timeLimit = QtGui.QCheckBox(self.group_control)
        self.check_timeLimit.setObjectName("check_timeLimit")
        self.layout_timeLimit.addWidget(self.check_timeLimit)
        spacerItem36 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_timeLimit.addItem(spacerItem36)
        self.box_timeLimit = QtGui.QTimeEdit(self.group_control)
        self.box_timeLimit.setEnabled(False)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.box_timeLimit.sizePolicy().hasHeightForWidth())
        self.box_timeLimit.setSizePolicy(sizePolicy)
        self.box_timeLimit.setFrame(True)
        self.box_timeLimit.setButtonSymbols(QtGui.QAbstractSpinBox.UpDownArrows)
        self.box_timeLimit.setCurrentSection(QtGui.QDateTimeEdit.HourSection)
        self.box_timeLimit.setObjectName("box_timeLimit")
        self.layout_timeLimit.addWidget(self.box_timeLimit)
        self.layout_timing.addLayout(self.layout_timeLimit)
        self.layout_iterLimit = QtGui.QHBoxLayout()
        self.layout_iterLimit.setObjectName("layout_iterLimit")
        self.check_iterLimit = QtGui.QCheckBox(self.group_control)
        self.check_iterLimit.setObjectName("check_iterLimit")
        self.layout_iterLimit.addWidget(self.check_iterLimit)
        spacerItem37 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_iterLimit.addItem(spacerItem37)
        self.box_iterLimit = QtGui.QSpinBox(self.group_control)
        self.box_iterLimit.setEnabled(False)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.box_iterLimit.sizePolicy().hasHeightForWidth())
        self.box_iterLimit.setSizePolicy(sizePolicy)
        self.box_iterLimit.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.box_iterLimit.setMaximum(9999)
        self.box_iterLimit.setObjectName("box_iterLimit")
        self.layout_iterLimit.addWidget(self.box_iterLimit)
        self.layout_timing.addLayout(self.layout_iterLimit)
        self.layout_control.addLayout(self.layout_timing)
        spacerItem38 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Minimum)
        self.layout_control.addItem(spacerItem38)
        self.layout_miscControl = QtGui.QVBoxLayout()
        self.layout_miscControl.setObjectName("layout_miscControl")
        self.check_useCuda = QtGui.QCheckBox(self.group_control)
        self.check_useCuda.setObjectName("check_useCuda")
        self.layout_miscControl.addWidget(self.check_useCuda)
        self.line = QtGui.QFrame(self.group_control)
        self.line.setFrameShape(QtGui.QFrame.HLine)
        self.line.setFrameShadow(QtGui.QFrame.Sunken)
        self.line.setObjectName("line")
        self.layout_miscControl.addWidget(self.line)
        self.check_plotError = QtGui.QCheckBox(self.group_control)
        self.check_plotError.setObjectName("check_plotError")
        self.layout_miscControl.addWidget(self.check_plotError)
        self.check_useConsole = QtGui.QCheckBox(self.group_control)
        self.check_useConsole.setObjectName("check_useConsole")
        self.layout_miscControl.addWidget(self.check_useConsole)
        self.layout_control.addLayout(self.layout_miscControl)
        self.verticalLayout_11.addLayout(self.layout_control)
        self.layout_controlButtons = QtGui.QHBoxLayout()
        self.layout_controlButtons.setObjectName("layout_controlButtons")
        self.button_Learn = QtGui.QPushButton(self.group_control)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.button_Learn.sizePolicy().hasHeightForWidth())
        self.button_Learn.setSizePolicy(sizePolicy)
        self.button_Learn.setObjectName("button_Learn")
        self.layout_controlButtons.addWidget(self.button_Learn)
        self.button_Test = QtGui.QPushButton(self.group_control)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.button_Test.sizePolicy().hasHeightForWidth())
        self.button_Test.setSizePolicy(sizePolicy)
        self.button_Test.setObjectName("button_Test")
        self.layout_controlButtons.addWidget(self.button_Test)
        self.button_Export = QtGui.QPushButton(self.group_control)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.button_Export.sizePolicy().hasHeightForWidth())
        self.button_Export.setSizePolicy(sizePolicy)
        self.button_Export.setObjectName("button_Export")
        self.layout_controlButtons.addWidget(self.button_Export)
        spacerItem39 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.layout_controlButtons.addItem(spacerItem39)
        self.verticalLayout_11.addLayout(self.layout_controlButtons)
        spacerItem40 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.verticalLayout_11.addItem(spacerItem40)
        self.gridLayout.addWidget(self.group_control, 1, 1, 1, 1)
        self.verticalLayout_12.addLayout(self.gridLayout)
        self.group_Select = QtGui.QGroupBox(self.centralwidget)
        self.group_Select.setObjectName("group_Select")
        self.horizontalLayout_8 = QtGui.QHBoxLayout(self.group_Select)
        self.horizontalLayout_8.setObjectName("horizontalLayout_8")
        self.horizontalLayout_3 = QtGui.QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.verticalLayout_9 = QtGui.QVBoxLayout()
        self.verticalLayout_9.setObjectName("verticalLayout_9")
        self.check_lockNet = QtGui.QCheckBox(self.group_Select)
        self.check_lockNet.setObjectName("check_lockNet")
        self.verticalLayout_9.addWidget(self.check_lockNet)
        self.button_Reset = QtGui.QPushButton(self.group_Select)
        self.button_Reset.setObjectName("button_Reset")
        self.verticalLayout_9.addWidget(self.button_Reset)
        self.horizontalLayout_3.addLayout(self.verticalLayout_9)
        self.scroll_netInstance = QtGui.QScrollArea(self.group_Select)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Maximum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.scroll_netInstance.sizePolicy().hasHeightForWidth())
        self.scroll_netInstance.setSizePolicy(sizePolicy)
        self.scroll_netInstance.setMaximumSize(QtCore.QSize(16777215, 50))
        self.scroll_netInstance.setFrameShape(QtGui.QFrame.Panel)
        self.scroll_netInstance.setFrameShadow(QtGui.QFrame.Plain)
        self.scroll_netInstance.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.scroll_netInstance.setWidgetResizable(True)
        self.scroll_netInstance.setObjectName("scroll_netInstance")
        self.layout_netInstance = QtGui.QWidget()
        self.layout_netInstance.setGeometry(QtCore.QRect(0, 0, 597, 48))
        self.layout_netInstance.setObjectName("layout_netInstance")
        self.horizontalLayout = QtGui.QHBoxLayout(self.layout_netInstance)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.button_addNet = QtGui.QToolButton(self.layout_netInstance)
        self.button_addNet.setObjectName("button_addNet")
        self.horizontalLayout.addWidget(self.button_addNet)
        spacerItem41 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem41)
        self.scroll_netInstance.setWidget(self.layout_netInstance)
        self.horizontalLayout_3.addWidget(self.scroll_netInstance)
        self.horizontalLayout_8.addLayout(self.horizontalLayout_3)
        self.verticalLayout_12.addWidget(self.group_Select)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtGui.QMenuBar()
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1145, 22))
        self.menubar.setObjectName("menubar")
        self.menuFile = QtGui.QMenu(self.menubar)
        self.menuFile.setObjectName("menuFile")
        self.menuEdit = QtGui.QMenu(self.menubar)
        self.menuEdit.setObjectName("menuEdit")
        self.menuTools = QtGui.QMenu(self.menubar)
        self.menuTools.setObjectName("menuTools")
        self.menuView = QtGui.QMenu(self.menubar)
        self.menuView.setObjectName("menuView")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtGui.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.dock_graphPlot = QtGui.QDockWidget(MainWindow)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.dock_graphPlot.sizePolicy().hasHeightForWidth())
        self.dock_graphPlot.setSizePolicy(sizePolicy)
        self.dock_graphPlot.setMinimumSize(QtCore.QSize(400, 286))
        self.dock_graphPlot.setAllowedAreas(QtCore.Qt.BottomDockWidgetArea|QtCore.Qt.LeftDockWidgetArea|QtCore.Qt.RightDockWidgetArea)
        self.dock_graphPlot.setObjectName("dock_graphPlot")
        self.dockWidgetContents_6 = QtGui.QWidget()
        self.dockWidgetContents_6.setObjectName("dockWidgetContents_6")
        self.verticalLayout = QtGui.QVBoxLayout(self.dockWidgetContents_6)
        self.verticalLayout.setObjectName("verticalLayout")
        self.graph_plotError = PlotWidget(self.dockWidgetContents_6)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        self.graph_plotError.setBackgroundBrush(brush)
        self.graph_plotError.setObjectName("graph_plotError")
        self.verticalLayout.addWidget(self.graph_plotError)
        self.gridLayout_2 = QtGui.QGridLayout()
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.horizontalLayout_4 = QtGui.QHBoxLayout()
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.label_6 = QtGui.QLabel(self.dockWidgetContents_6)
        self.label_6.setObjectName("label_6")
        self.horizontalLayout_4.addWidget(self.label_6)
        spacerItem42 = QtGui.QSpacerItem(21, 20, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem42)
        self.box_refreshLimit = QtGui.QSpinBox(self.dockWidgetContents_6)
        self.box_refreshLimit.setFrame(True)
        self.box_refreshLimit.setReadOnly(False)
        self.box_refreshLimit.setButtonSymbols(QtGui.QAbstractSpinBox.UpDownArrows)
        self.box_refreshLimit.setMinimum(1)
        self.box_refreshLimit.setObjectName("box_refreshLimit")
        self.horizontalLayout_4.addWidget(self.box_refreshLimit)
        spacerItem43 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem43)
        self.gridLayout_2.addLayout(self.horizontalLayout_4, 0, 0, 1, 1)
        self.horizontalLayout_7 = QtGui.QHBoxLayout()
        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
        self.label_7 = QtGui.QLabel(self.dockWidgetContents_6)
        self.label_7.setObjectName("label_7")
        self.horizontalLayout_7.addWidget(self.label_7)
        spacerItem44 = QtGui.QSpacerItem(50, 20, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_7.addItem(spacerItem44)
        self.box_currentIter = QtGui.QSpinBox(self.dockWidgetContents_6)
        self.box_currentIter.setReadOnly(True)
        self.box_currentIter.setButtonSymbols(QtGui.QAbstractSpinBox.NoButtons)
        self.box_currentIter.setMaximum(9999)
        self.box_currentIter.setObjectName("box_currentIter")
        self.horizontalLayout_7.addWidget(self.box_currentIter)
        spacerItem45 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_7.addItem(spacerItem45)
        self.gridLayout_2.addLayout(self.horizontalLayout_7, 1, 0, 1, 1)
        self.check_showThresh = QtGui.QCheckBox(self.dockWidgetContents_6)
        self.check_showThresh.setObjectName("check_showThresh")
        self.gridLayout_2.addWidget(self.check_showThresh, 0, 1, 1, 1)
        self.verticalLayout.addLayout(self.gridLayout_2)
        self.dock_graphPlot.setWidget(self.dockWidgetContents_6)
        MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dock_graphPlot)
        self.dock_graphConsole = QtGui.QDockWidget(MainWindow)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.dock_graphConsole.sizePolicy().hasHeightForWidth())
        self.dock_graphConsole.setSizePolicy(sizePolicy)
        self.dock_graphConsole.setMinimumSize(QtCore.QSize(102, 200))
        self.dock_graphConsole.setAllowedAreas(QtCore.Qt.BottomDockWidgetArea|QtCore.Qt.TopDockWidgetArea)
        self.dock_graphConsole.setObjectName("dock_graphConsole")
        self.dockWidgetContents_7 = QtGui.QWidget()
        self.dockWidgetContents_7.setObjectName("dockWidgetContents_7")
        self.horizontalLayout_2 = QtGui.QHBoxLayout(self.dockWidgetContents_7)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.graph_console = ConsoleWidget(self.dockWidgetContents_7)
        self.graph_console.setObjectName("graph_console")
        self.horizontalLayout_2.addWidget(self.graph_console)
        self.dock_graphConsole.setWidget(self.dockWidgetContents_7)
        MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(8), self.dock_graphConsole)
        self.actionImportSamples = QtGui.QAction(MainWindow)
        self.actionImportSamples.setObjectName("actionImportSamples")
        self.actionExportWeights = QtGui.QAction(MainWindow)
        self.actionExportWeights.setObjectName("actionExportWeights")
        self.actionLearn = QtGui.QAction(MainWindow)
        self.actionLearn.setObjectName("actionLearn")
        self.actionTest = QtGui.QAction(MainWindow)
        self.actionTest.setObjectName("actionTest")
        self.actionExit = QtGui.QAction(MainWindow)
        self.actionExit.setObjectName("actionExit")
        self.actionReset_Simulator = QtGui.QAction(MainWindow)
        self.actionReset_Simulator.setObjectName("actionReset_Simulator")
        self.actionCut = QtGui.QAction(MainWindow)
        self.actionCut.setObjectName("actionCut")
        self.actionCopy = QtGui.QAction(MainWindow)
        self.actionCopy.setObjectName("actionCopy")
        self.actionPaste = QtGui.QAction(MainWindow)
        self.actionPaste.setObjectName("actionPaste")
        self.action_loadSettings = QtGui.QAction(MainWindow)
        self.action_loadSettings.setObjectName("action_loadSettings")
        self.actionShow_Console = QtGui.QAction(MainWindow)
        self.actionShow_Console.setObjectName("actionShow_Console")
        self.actionShow_Error_Plot = QtGui.QAction(MainWindow)
        self.actionShow_Error_Plot.setObjectName("actionShow_Error_Plot")
        self.actionUse_CUDA = QtGui.QAction(MainWindow)
        self.actionUse_CUDA.setCheckable(True)
        self.actionUse_CUDA.setObjectName("actionUse_CUDA")
        self.menuFile.addAction(self.actionImportSamples)
        self.menuFile.addAction(self.actionExportWeights)
        self.menuFile.addSeparator()
        self.menuFile.addAction(self.actionLearn)
        self.menuFile.addAction(self.actionTest)
        self.menuFile.addSeparator()
        self.menuFile.addAction(self.actionExit)
        self.menuEdit.addAction(self.actionCut)
        self.menuEdit.addAction(self.actionCopy)
        self.menuEdit.addAction(self.actionPaste)
        self.menuEdit.addSeparator()
        self.menuEdit.addAction(self.actionReset_Simulator)
        self.menuTools.addAction(self.action_loadSettings)
        self.menuTools.addSeparator()
        self.menuTools.addAction(self.actionUse_CUDA)
        self.menuView.addAction(self.actionShow_Console)
        self.menuView.addAction(self.actionShow_Error_Plot)
        self.menubar.addAction(self.menuFile.menuAction())
        self.menubar.addAction(self.menuEdit.menuAction())
        self.menubar.addAction(self.menuTools.menuAction())
        self.menubar.addAction(self.menuView.menuAction())

        self.retranslateUi(MainWindow)
        self.stacked_stopKey.setCurrentIndex(0)
        self.stacked_initWeights.setCurrentIndex(0)
        QtCore.QObject.connect(self.combo_initWeights, QtCore.SIGNAL("currentIndexChanged(int)"), self.stacked_initWeights.setCurrentIndex)
        QtCore.QObject.connect(self.combo_stopKey, QtCore.SIGNAL("currentIndexChanged(int)"), self.stacked_stopKey.setCurrentIndex)
        QtCore.QObject.connect(self.dock_graphConsole, QtCore.SIGNAL("visibilityChanged(bool)"), self.check_useConsole.setChecked)
        QtCore.QObject.connect(self.dock_graphPlot, QtCore.SIGNAL("visibilityChanged(bool)"), self.check_plotError.setChecked)
        QtCore.QObject.connect(self.check_lockNet, QtCore.SIGNAL("toggled(bool)"), self.button_addNet.setDisabled)
        QtCore.QObject.connect(self.check_timeLimit, QtCore.SIGNAL("toggled(bool)"), self.box_timeLimit.setEnabled)
        QtCore.QObject.connect(self.check_iterLimit, QtCore.SIGNAL("toggled(bool)"), self.box_iterLimit.setEnabled)
        QtCore.QObject.connect(self.check_plotError, QtCore.SIGNAL("toggled(bool)"), self.dock_graphPlot.setShown)
        QtCore.QObject.connect(self.check_useConsole, QtCore.SIGNAL("toggled(bool)"), self.dock_graphConsole.setShown)
        QtCore.QObject.connect(self.check_lockNet, QtCore.SIGNAL("toggled(bool)"), self.button_Reset.setDisabled)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "MainWindow", None, QtGui.QApplication.UnicodeUTF8))
        self.group_io.setTitle(QtGui.QApplication.translate("MainWindow", "Inputs", None, QtGui.QApplication.UnicodeUTF8))
        self.label.setText(QtGui.QApplication.translate("MainWindow", "Import Samples", None, QtGui.QApplication.UnicodeUTF8))
        self.button_importSamples.setText(QtGui.QApplication.translate("MainWindow", "...", None, QtGui.QApplication.UnicodeUTF8))
        self.label_2.setText(QtGui.QApplication.translate("MainWindow", "Topology", None, QtGui.QApplication.UnicodeUTF8))
        self.label_3.setText(QtGui.QApplication.translate("MainWindow", "Sectors", None, QtGui.QApplication.UnicodeUTF8))
        self.check_discreteIn.setText(QtGui.QApplication.translate("MainWindow", "Discrete In", None, QtGui.QApplication.UnicodeUTF8))
        self.check_discreteOut.setText(QtGui.QApplication.translate("MainWindow", "Discrete Out", None, QtGui.QApplication.UnicodeUTF8))
        self.group_error.setTitle(QtGui.QApplication.translate("MainWindow", "Errors", None, QtGui.QApplication.UnicodeUTF8))
        self.label_stopKey.setText(QtGui.QApplication.translate("MainWindow", "Stopping Criteria", None, QtGui.QApplication.UnicodeUTF8))
        self.combo_stopKey.setItemText(0, QtGui.QApplication.translate("MainWindow", "max", None, QtGui.QApplication.UnicodeUTF8))
        self.combo_stopKey.setItemText(1, QtGui.QApplication.translate("MainWindow", "error", None, QtGui.QApplication.UnicodeUTF8))
        self.combo_stopKey.setItemText(2, QtGui.QApplication.translate("MainWindow", "mse", None, QtGui.QApplication.UnicodeUTF8))
        self.combo_stopKey.setItemText(3, QtGui.QApplication.translate("MainWindow", "rmse", None, QtGui.QApplication.UnicodeUTF8))
        self.combo_stopKey.setItemText(4, QtGui.QApplication.translate("MainWindow", "armse", None, QtGui.QApplication.UnicodeUTF8))
        self.label_10.setText(QtGui.QApplication.translate("MainWindow", "Max Unlearned Samples", None, QtGui.QApplication.UnicodeUTF8))
        self.label_11.setText(QtGui.QApplication.translate("MainWindow", "Max Errors Per Sample", None, QtGui.QApplication.UnicodeUTF8))
        self.label_12.setText(QtGui.QApplication.translate("MainWindow", "Max % Unlearned Samples", None, QtGui.QApplication.UnicodeUTF8))
        self.label_13.setText(QtGui.QApplication.translate("MainWindow", "Max Errors Per Sample", None, QtGui.QApplication.UnicodeUTF8))
        self.label_14.setText(QtGui.QApplication.translate("MainWindow", "Global MSE Threshold", None, QtGui.QApplication.UnicodeUTF8))
        self.label_15.setText(QtGui.QApplication.translate("MainWindow", "Local MSE Threshold", None, QtGui.QApplication.UnicodeUTF8))
        self.label_17.setText(QtGui.QApplication.translate("MainWindow", "Global RMSE Threshold", None, QtGui.QApplication.UnicodeUTF8))
        self.label_16.setText(QtGui.QApplication.translate("MainWindow", "Local RMSE Threshold", None, QtGui.QApplication.UnicodeUTF8))
        self.label_8.setText(QtGui.QApplication.translate("MainWindow", "Global Angular RMSE Threshold", None, QtGui.QApplication.UnicodeUTF8))
        self.label_9.setText(QtGui.QApplication.translate("MainWindow", "Local Angular RMSE Threshold", None, QtGui.QApplication.UnicodeUTF8))
        self.check_softMargins.setText(QtGui.QApplication.translate("MainWindow", "Soft Margins", None, QtGui.QApplication.UnicodeUTF8))
        self.group_weights.setTitle(QtGui.QApplication.translate("MainWindow", "Weights", None, QtGui.QApplication.UnicodeUTF8))
        self.label_4.setText(QtGui.QApplication.translate("MainWindow", "Initial Weights", None, QtGui.QApplication.UnicodeUTF8))
        self.combo_initWeights.setItemText(0, QtGui.QApplication.translate("MainWindow", "random", None, QtGui.QApplication.UnicodeUTF8))
        self.combo_initWeights.setItemText(1, QtGui.QApplication.translate("MainWindow", "user", None, QtGui.QApplication.UnicodeUTF8))
        self.button_randomWeights.setText(QtGui.QApplication.translate("MainWindow", "Randomize Weights", None, QtGui.QApplication.UnicodeUTF8))
        self.label_5.setText(QtGui.QApplication.translate("MainWindow", "Weights File", None, QtGui.QApplication.UnicodeUTF8))
        self.button_weightsFile.setText(QtGui.QApplication.translate("MainWindow", "...", None, QtGui.QApplication.UnicodeUTF8))
        self.group_control.setTitle(QtGui.QApplication.translate("MainWindow", "Control", None, QtGui.QApplication.UnicodeUTF8))
        self.check_timeLimit.setText(QtGui.QApplication.translate("MainWindow", "Time Limit", None, QtGui.QApplication.UnicodeUTF8))
        self.check_iterLimit.setText(QtGui.QApplication.translate("MainWindow", "Iteration Limit", None, QtGui.QApplication.UnicodeUTF8))
        self.check_useCuda.setText(QtGui.QApplication.translate("MainWindow", "Enable CUDA", None, QtGui.QApplication.UnicodeUTF8))
        self.check_plotError.setText(QtGui.QApplication.translate("MainWindow", "Error Plot", None, QtGui.QApplication.UnicodeUTF8))
        self.check_useConsole.setText(QtGui.QApplication.translate("MainWindow", "Console", None, QtGui.QApplication.UnicodeUTF8))
        self.button_Learn.setText(QtGui.QApplication.translate("MainWindow", "Learn", None, QtGui.QApplication.UnicodeUTF8))
        self.button_Test.setText(QtGui.QApplication.translate("MainWindow", "Test", None, QtGui.QApplication.UnicodeUTF8))
        self.button_Export.setText(QtGui.QApplication.translate("MainWindow", "Export", None, QtGui.QApplication.UnicodeUTF8))
        self.group_Select.setTitle(QtGui.QApplication.translate("MainWindow", "Select", None, QtGui.QApplication.UnicodeUTF8))
        self.check_lockNet.setText(QtGui.QApplication.translate("MainWindow", "Lock", None, QtGui.QApplication.UnicodeUTF8))
        self.button_Reset.setText(QtGui.QApplication.translate("MainWindow", "Reset", None, QtGui.QApplication.UnicodeUTF8))
        self.button_addNet.setText(QtGui.QApplication.translate("MainWindow", "+", None, QtGui.QApplication.UnicodeUTF8))
        self.menuFile.setTitle(QtGui.QApplication.translate("MainWindow", "File", None, QtGui.QApplication.UnicodeUTF8))
        self.menuEdit.setTitle(QtGui.QApplication.translate("MainWindow", "Edit", None, QtGui.QApplication.UnicodeUTF8))
        self.menuTools.setTitle(QtGui.QApplication.translate("MainWindow", "Tools", None, QtGui.QApplication.UnicodeUTF8))
        self.menuView.setTitle(QtGui.QApplication.translate("MainWindow", "View", None, QtGui.QApplication.UnicodeUTF8))
        self.dock_graphPlot.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Error Plot", None, QtGui.QApplication.UnicodeUTF8))
        self.label_6.setText(QtGui.QApplication.translate("MainWindow", "Iterations Per Update", None, QtGui.QApplication.UnicodeUTF8))
        self.label_7.setText(QtGui.QApplication.translate("MainWindow", "Current Iteration", None, QtGui.QApplication.UnicodeUTF8))
        self.check_showThresh.setText(QtGui.QApplication.translate("MainWindow", "Global Limit", None, QtGui.QApplication.UnicodeUTF8))
        self.dock_graphConsole.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Console", None, QtGui.QApplication.UnicodeUTF8))
        self.actionImportSamples.setText(QtGui.QApplication.translate("MainWindow", "Import Samples", None, QtGui.QApplication.UnicodeUTF8))
        self.actionExportWeights.setText(QtGui.QApplication.translate("MainWindow", "Export Weights", None, QtGui.QApplication.UnicodeUTF8))
        self.actionLearn.setText(QtGui.QApplication.translate("MainWindow", "Learn", None, QtGui.QApplication.UnicodeUTF8))
        self.actionTest.setText(QtGui.QApplication.translate("MainWindow", "Test", None, QtGui.QApplication.UnicodeUTF8))
        self.actionExit.setText(QtGui.QApplication.translate("MainWindow", "Exit", None, QtGui.QApplication.UnicodeUTF8))
        self.actionExit.setShortcut(QtGui.QApplication.translate("MainWindow", "Ctrl+Q", None, QtGui.QApplication.UnicodeUTF8))
        self.actionReset_Simulator.setText(QtGui.QApplication.translate("MainWindow", "Reset Simulator", None, QtGui.QApplication.UnicodeUTF8))
        self.actionCut.setText(QtGui.QApplication.translate("MainWindow", "Cut", None, QtGui.QApplication.UnicodeUTF8))
        self.actionCopy.setText(QtGui.QApplication.translate("MainWindow", "Copy", None, QtGui.QApplication.UnicodeUTF8))
        self.actionPaste.setText(QtGui.QApplication.translate("MainWindow", "Paste", None, QtGui.QApplication.UnicodeUTF8))
        self.action_loadSettings.setText(QtGui.QApplication.translate("MainWindow", "Import Config. File", None, QtGui.QApplication.UnicodeUTF8))
        self.actionShow_Console.setText(QtGui.QApplication.translate("MainWindow", "Show Console", None, QtGui.QApplication.UnicodeUTF8))
        self.actionShow_Error_Plot.setText(QtGui.QApplication.translate("MainWindow", "Show Error Plot", None, QtGui.QApplication.UnicodeUTF8))
        self.actionUse_CUDA.setText(QtGui.QApplication.translate("MainWindow", "Use CUDA", None, QtGui.QApplication.UnicodeUTF8))