class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(161, 72)
        self.verticalLayout = QtWidgets.QVBoxLayout(Form)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setSpacing(15)
        self.verticalLayout.setObjectName("verticalLayout")
        self.devCtrlWidget = QtWidgets.QWidget(Form)
        self.devCtrlWidget.setObjectName("devCtrlWidget")
        self.gridLayout_4 = QtWidgets.QGridLayout(self.devCtrlWidget)
        self.gridLayout_4.setContentsMargins(0, 0, 0, 0)
        self.gridLayout_4.setSpacing(0)
        self.gridLayout_4.setObjectName("gridLayout_4")
        self.btnFullFrame = QtWidgets.QPushButton(self.devCtrlWidget)
        self.btnFullFrame.setObjectName("btnFullFrame")
        self.gridLayout_4.addWidget(self.btnFullFrame, 2, 0, 1, 2)
        self.label_3 = QtWidgets.QLabel(self.devCtrlWidget)
        self.label_3.setObjectName("label_3")
        self.gridLayout_4.addWidget(self.label_3, 1, 0, 1, 1)
        self.label_2 = QtWidgets.QLabel(self.devCtrlWidget)
        self.label_2.setObjectName("label_2")
        self.gridLayout_4.addWidget(self.label_2, 0, 0, 1, 1)
        self.spinExposure = SpinBox(self.devCtrlWidget)
        self.spinExposure.setMinimumSize(Qt.QSize(80, 0))
        self.spinExposure.setObjectName("spinExposure")
        self.gridLayout_4.addWidget(self.spinExposure, 1, 1, 1, 1)
        self.binningCombo = QtWidgets.QComboBox(self.devCtrlWidget)
        self.binningCombo.setObjectName("binningCombo")
        self.gridLayout_4.addWidget(self.binningCombo, 0, 1, 1, 1)
        self.verticalLayout.addWidget(self.devCtrlWidget)

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

    def retranslateUi(self, Form):
        _translate = Qt.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.btnFullFrame.setToolTip(
            _translate(
                "Form",
                "Set the region of interest to the maximum possible area."))
        self.btnFullFrame.setText(_translate("Form", "Full Frame"))
        self.label_3.setText(_translate("Form", "Exposure"))
        self.label_2.setText(_translate("Form", "Binning"))
        self.spinExposure.setToolTip(
            _translate("Form", "Sets the exposure time for each frame."))
예제 #2
0
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName(_fromUtf8("MainWindow"))
        MainWindow.resize(1089, 309)
        MainWindow.setStyleSheet(_fromUtf8(""))
        MainWindow.setDockNestingEnabled(True)
        self.centralwidget = QtGui.QWidget(MainWindow)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.centralwidget.sizePolicy().hasHeightForWidth())
        self.centralwidget.setSizePolicy(sizePolicy)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        MainWindow.setCentralWidget(self.centralwidget)
        self.LoaderDock = QtGui.QDockWidget(MainWindow)
        self.LoaderDock.setFeatures(QtGui.QDockWidget.DockWidgetFloatable|QtGui.QDockWidget.DockWidgetMovable|QtGui.QDockWidget.DockWidgetVerticalTitleBar)
        self.LoaderDock.setAllowedAreas(QtCore.Qt.BottomDockWidgetArea|QtCore.Qt.TopDockWidgetArea)
        self.LoaderDock.setObjectName(_fromUtf8("LoaderDock"))
        self.dockWidgetContents = QtGui.QWidget()
        self.dockWidgetContents.setObjectName(_fromUtf8("dockWidgetContents"))
        self.LoaderDock.setWidget(self.dockWidgetContents)
        MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(4), self.LoaderDock)
        self.TaskDock = QtGui.QDockWidget(MainWindow)
        self.TaskDock.setEnabled(True)
        self.TaskDock.setFeatures(QtGui.QDockWidget.DockWidgetFloatable|QtGui.QDockWidget.DockWidgetMovable|QtGui.QDockWidget.DockWidgetVerticalTitleBar)
        self.TaskDock.setAllowedAreas(QtCore.Qt.BottomDockWidgetArea|QtCore.Qt.TopDockWidgetArea)
        self.TaskDock.setObjectName(_fromUtf8("TaskDock"))
        self.dockWidgetContents_5 = QtGui.QWidget()
        self.dockWidgetContents_5.setObjectName(_fromUtf8("dockWidgetContents_5"))
        self.gridLayout = QtGui.QGridLayout(self.dockWidgetContents_5)
        self.gridLayout.setMargin(0)
        self.gridLayout.setHorizontalSpacing(5)
        self.gridLayout.setVerticalSpacing(0)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.label = QtGui.QLabel(self.dockWidgetContents_5)
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName(_fromUtf8("label"))
        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
        self.protoContinuousCheck = QtGui.QCheckBox(self.dockWidgetContents_5)
        self.protoContinuousCheck.setEnabled(False)
        self.protoContinuousCheck.setObjectName(_fromUtf8("protoContinuousCheck"))
        self.gridLayout.addWidget(self.protoContinuousCheck, 0, 1, 1, 2)
        self.deviceList = QtGui.QListWidget(self.dockWidgetContents_5)
        self.deviceList.setObjectName(_fromUtf8("deviceList"))
        self.gridLayout.addWidget(self.deviceList, 1, 0, 5, 1)
        self.label_8 = QtGui.QLabel(self.dockWidgetContents_5)
        self.label_8.setObjectName(_fromUtf8("label_8"))
        self.gridLayout.addWidget(self.label_8, 1, 1, 1, 1)
        self.label_6 = QtGui.QLabel(self.dockWidgetContents_5)
        self.label_6.setObjectName(_fromUtf8("label_6"))
        self.gridLayout.addWidget(self.label_6, 2, 1, 1, 1)
        self.protoLoopCheck = QtGui.QCheckBox(self.dockWidgetContents_5)
        self.protoLoopCheck.setObjectName(_fromUtf8("protoLoopCheck"))
        self.gridLayout.addWidget(self.protoLoopCheck, 3, 1, 1, 1)
        self.label_7 = QtGui.QLabel(self.dockWidgetContents_5)
        self.label_7.setObjectName(_fromUtf8("label_7"))
        self.gridLayout.addWidget(self.label_7, 4, 1, 1, 1)
        spacerItem = QtGui.QSpacerItem(20, 91, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem, 5, 2, 1, 1)
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
        self.testSingleBtn = QtGui.QPushButton(self.dockWidgetContents_5)
        self.testSingleBtn.setEnabled(True)
        self.testSingleBtn.setObjectName(_fromUtf8("testSingleBtn"))
        self.horizontalLayout_2.addWidget(self.testSingleBtn)
        spacerItem1 = QtGui.QSpacerItem(13, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem1)
        self.runTaskBtn = QtGui.QPushButton(self.dockWidgetContents_5)
        self.runTaskBtn.setEnabled(True)
        self.runTaskBtn.setObjectName(_fromUtf8("runTaskBtn"))
        self.horizontalLayout_2.addWidget(self.runTaskBtn)
        spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem2)
        self.stopSingleBtn = QtGui.QPushButton(self.dockWidgetContents_5)
        self.stopSingleBtn.setObjectName(_fromUtf8("stopSingleBtn"))
        self.horizontalLayout_2.addWidget(self.stopSingleBtn)
        self.gridLayout.addLayout(self.horizontalLayout_2, 6, 0, 1, 4)
        self.protoDurationSpin = SpinBox(self.dockWidgetContents_5)
        self.protoDurationSpin.setMinimumSize(QtCore.QSize(60, 0))
        self.protoDurationSpin.setProperty("value", 0.1)
        self.protoDurationSpin.setObjectName(_fromUtf8("protoDurationSpin"))
        self.gridLayout.addWidget(self.protoDurationSpin, 1, 2, 1, 2)
        self.protoLeadTimeSpin = SpinBox(self.dockWidgetContents_5)
        self.protoLeadTimeSpin.setProperty("value", 0.01)
        self.protoLeadTimeSpin.setObjectName(_fromUtf8("protoLeadTimeSpin"))
        self.gridLayout.addWidget(self.protoLeadTimeSpin, 2, 2, 1, 2)
        self.protoCycleTimeSpin = SpinBox(self.dockWidgetContents_5)
        self.protoCycleTimeSpin.setObjectName(_fromUtf8("protoCycleTimeSpin"))
        self.gridLayout.addWidget(self.protoCycleTimeSpin, 4, 2, 1, 2)
        self.TaskDock.setWidget(self.dockWidgetContents_5)
        MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(4), self.TaskDock)
        self.SequenceDock = QtGui.QDockWidget(MainWindow)
        self.SequenceDock.setEnabled(True)
        self.SequenceDock.setFeatures(QtGui.QDockWidget.DockWidgetFloatable|QtGui.QDockWidget.DockWidgetMovable|QtGui.QDockWidget.DockWidgetVerticalTitleBar)
        self.SequenceDock.setAllowedAreas(QtCore.Qt.BottomDockWidgetArea|QtCore.Qt.TopDockWidgetArea)
        self.SequenceDock.setObjectName(_fromUtf8("SequenceDock"))
        self.dockWidgetContents_7 = QtGui.QWidget()
        self.dockWidgetContents_7.setObjectName(_fromUtf8("dockWidgetContents_7"))
        self.gridLayout_2 = QtGui.QGridLayout(self.dockWidgetContents_7)
        self.gridLayout_2.setMargin(0)
        self.gridLayout_2.setHorizontalSpacing(5)
        self.gridLayout_2.setVerticalSpacing(0)
        self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
        self.label_10 = QtGui.QLabel(self.dockWidgetContents_7)
        self.label_10.setObjectName(_fromUtf8("label_10"))
        self.gridLayout_2.addWidget(self.label_10, 0, 0, 1, 1)
        self.verticalLayout = QtGui.QVBoxLayout()
        self.verticalLayout.setSpacing(0)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.label_9 = QtGui.QLabel(self.dockWidgetContents_7)
        self.label_9.setObjectName(_fromUtf8("label_9"))
        self.verticalLayout.addWidget(self.label_9)
        self.seqCycleTimeSpin = SpinBox(self.dockWidgetContents_7)
        self.seqCycleTimeSpin.setProperty("value", 1.0)
        self.seqCycleTimeSpin.setObjectName(_fromUtf8("seqCycleTimeSpin"))
        self.verticalLayout.addWidget(self.seqCycleTimeSpin)
        self.label_11 = QtGui.QLabel(self.dockWidgetContents_7)
        self.label_11.setObjectName(_fromUtf8("label_11"))
        self.verticalLayout.addWidget(self.label_11)
        self.seqRepetitionSpin = QtGui.QSpinBox(self.dockWidgetContents_7)
        self.seqRepetitionSpin.setMinimum(0)
        self.seqRepetitionSpin.setMaximum(1000000)
        self.seqRepetitionSpin.setObjectName(_fromUtf8("seqRepetitionSpin"))
        self.verticalLayout.addWidget(self.seqRepetitionSpin)
        spacerItem3 = QtGui.QSpacerItem(17, 18, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.verticalLayout.addItem(spacerItem3)
        self.label_2 = QtGui.QLabel(self.dockWidgetContents_7)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.verticalLayout.addWidget(self.label_2)
        self.paramSpaceLabel = QtGui.QLabel(self.dockWidgetContents_7)
        self.paramSpaceLabel.setObjectName(_fromUtf8("paramSpaceLabel"))
        self.verticalLayout.addWidget(self.paramSpaceLabel)
        self.label_4 = QtGui.QLabel(self.dockWidgetContents_7)
        self.label_4.setObjectName(_fromUtf8("label_4"))
        self.verticalLayout.addWidget(self.label_4)
        self.seqTimeLabel = QtGui.QLabel(self.dockWidgetContents_7)
        self.seqTimeLabel.setObjectName(_fromUtf8("seqTimeLabel"))
        self.verticalLayout.addWidget(self.seqTimeLabel)
        self.seqCurrentLabel = QtGui.QLabel(self.dockWidgetContents_7)
        self.seqCurrentLabel.setText(_fromUtf8(""))
        self.seqCurrentLabel.setObjectName(_fromUtf8("seqCurrentLabel"))
        self.verticalLayout.addWidget(self.seqCurrentLabel)
        spacerItem4 = QtGui.QSpacerItem(13, 13, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.verticalLayout.addItem(spacerItem4)
        self.gridLayout_2.addLayout(self.verticalLayout, 0, 1, 2, 1)
        self.sequenceParamList = ParamList(self.dockWidgetContents_7)
        self.sequenceParamList.setDragEnabled(True)
        self.sequenceParamList.setDragDropMode(QtGui.QAbstractItemView.InternalMove)
        self.sequenceParamList.setIndentation(10)
        self.sequenceParamList.setRootIsDecorated(True)
        self.sequenceParamList.setAnimated(True)
        self.sequenceParamList.setAllColumnsShowFocus(True)
        self.sequenceParamList.setObjectName(_fromUtf8("sequenceParamList"))
        self.gridLayout_2.addWidget(self.sequenceParamList, 1, 0, 1, 1)
        self.horizontalLayout_3 = QtGui.QHBoxLayout()
        self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
        self.testSequenceBtn = QtGui.QPushButton(self.dockWidgetContents_7)
        self.testSequenceBtn.setEnabled(False)
        self.testSequenceBtn.setObjectName(_fromUtf8("testSequenceBtn"))
        self.horizontalLayout_3.addWidget(self.testSequenceBtn)
        spacerItem5 = QtGui.QSpacerItem(38, 17, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem5)
        self.runSequenceBtn = QtGui.QPushButton(self.dockWidgetContents_7)
        self.runSequenceBtn.setEnabled(False)
        self.runSequenceBtn.setObjectName(_fromUtf8("runSequenceBtn"))
        self.horizontalLayout_3.addWidget(self.runSequenceBtn)
        self.pauseSequenceBtn = QtGui.QPushButton(self.dockWidgetContents_7)
        self.pauseSequenceBtn.setMinimumSize(QtCore.QSize(40, 0))
        self.pauseSequenceBtn.setCheckable(True)
        self.pauseSequenceBtn.setObjectName(_fromUtf8("pauseSequenceBtn"))
        self.horizontalLayout_3.addWidget(self.pauseSequenceBtn)
        spacerItem6 = QtGui.QSpacerItem(58, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem6)
        self.stopSequenceBtn = QtGui.QPushButton(self.dockWidgetContents_7)
        self.stopSequenceBtn.setObjectName(_fromUtf8("stopSequenceBtn"))
        self.horizontalLayout_3.addWidget(self.stopSequenceBtn)
        self.gridLayout_2.addLayout(self.horizontalLayout_3, 2, 0, 1, 2)
        self.SequenceDock.setWidget(self.dockWidgetContents_7)
        MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(4), self.SequenceDock)
        self.dockWidget = QtGui.QDockWidget(MainWindow)
        self.dockWidget.setFeatures(QtGui.QDockWidget.DockWidgetFloatable|QtGui.QDockWidget.DockWidgetMovable|QtGui.QDockWidget.DockWidgetVerticalTitleBar)
        self.dockWidget.setAllowedAreas(QtCore.Qt.BottomDockWidgetArea|QtCore.Qt.TopDockWidgetArea)
        self.dockWidget.setObjectName(_fromUtf8("dockWidget"))
        self.dockWidgetContents_2 = QtGui.QWidget()
        self.dockWidgetContents_2.setObjectName(_fromUtf8("dockWidgetContents_2"))
        self.horizontalLayout_4 = QtGui.QHBoxLayout(self.dockWidgetContents_2)
        self.horizontalLayout_4.setSpacing(0)
        self.horizontalLayout_4.setMargin(0)
        self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
        self.analysisList = QtGui.QListWidget(self.dockWidgetContents_2)
        self.analysisList.setObjectName(_fromUtf8("analysisList"))
        self.horizontalLayout_4.addWidget(self.analysisList)
        self.dockWidget.setWidget(self.dockWidgetContents_2)
        MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(4), self.dockWidget)
        self.statusBar = QtGui.QStatusBar(MainWindow)
        self.statusBar.setObjectName(_fromUtf8("statusBar"))
        MainWindow.setStatusBar(self.statusBar)

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

    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(_translate("MainWindow", "Task Runner", None))
        self.LoaderDock.setWindowTitle(_translate("MainWindow", "Loader", None))
        self.TaskDock.setWindowTitle(_translate("MainWindow", "Task", None))
        self.label.setText(_translate("MainWindow", "Devices", None))
        self.protoContinuousCheck.setToolTip(_translate("MainWindow", "Task runs continuously without \n"
"gaps until stopped (not yet implemented).", None))
        self.protoContinuousCheck.setText(_translate("MainWindow", "Continuous", None))
        self.label_8.setText(_translate("MainWindow", "Duration", None))
        self.label_6.setText(_translate("MainWindow", "Lead Time", None))
        self.protoLoopCheck.setToolTip(_translate("MainWindow", "Task will run repeatedly until stopped and \n"
"waits a minimum of Cycle Time between episodes.\n"
"Not the same as continuous acquisition (there \n"
"will be a time gap between each recording).", None))
        self.protoLoopCheck.setText(_translate("MainWindow", "Loop", None))
        self.label_7.setText(_translate("MainWindow", "Cycle Time", None))
        self.testSingleBtn.setText(_translate("MainWindow", "Test", None))
        self.runTaskBtn.setText(_translate("MainWindow", "Record Single", None))
        self.stopSingleBtn.setText(_translate("MainWindow", "Stop Single", None))
        self.protoDurationSpin.setToolTip(_translate("MainWindow", "Duration of stimulus/acquisition in the task.", None))
        self.protoLeadTimeSpin.setToolTip(_translate("MainWindow", "Duration of time to wait before acquisition starts \n"
"(the hardware is reserved so nothing else can \n"
"run during this time).", None))
        self.protoCycleTimeSpin.setToolTip(_translate("MainWindow", "The minimum time to wait between recordings \n"
"in loop mode.", None))
        self.SequenceDock.setWindowTitle(_translate("MainWindow", "Sequence", None))
        self.label_10.setText(_translate("MainWindow", "Sequence Parameters", None))
        self.label_9.setText(_translate("MainWindow", "Cycle Time", None))
        self.label_11.setText(_translate("MainWindow", "Repetitions", None))
        self.label_2.setText(_translate("MainWindow", "Parameter Space: ", None))
        self.paramSpaceLabel.setText(_translate("MainWindow", "0", None))
        self.label_4.setText(_translate("MainWindow", "Total time:", None))
        self.seqTimeLabel.setText(_translate("MainWindow", "0", None))
        self.sequenceParamList.headerItem().setText(0, _translate("MainWindow", "dev", None))
        self.sequenceParamList.headerItem().setText(1, _translate("MainWindow", "param", None))
        self.sequenceParamList.headerItem().setText(2, _translate("MainWindow", "len", None))
        self.testSequenceBtn.setText(_translate("MainWindow", "Test", None))
        self.runSequenceBtn.setText(_translate("MainWindow", "Record Sequence", None))
        self.pauseSequenceBtn.setText(_translate("MainWindow", "Pause", None))
        self.stopSequenceBtn.setText(_translate("MainWindow", "Stop Sequence", None))
        self.dockWidget.setWindowTitle(_translate("MainWindow", "Analysis", None))
예제 #3
0
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(695, 563)
        self.gridLayout = QtGui.QGridLayout(Form)
        self.gridLayout.setMargin(6)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.powerGroup = QtGui.QGroupBox(Form)
        self.powerGroup.setTitle(_fromUtf8(""))
        self.powerGroup.setObjectName(_fromUtf8("powerGroup"))
        self.gridLayout_4 = QtGui.QGridLayout(self.powerGroup)
        self.gridLayout_4.setMargin(6)
        self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
        self.label_5 = QtGui.QLabel(self.powerGroup)
        self.label_5.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_5.setObjectName(_fromUtf8("label_5"))
        self.gridLayout_4.addWidget(self.label_5, 0, 2, 1, 1)
        self.expectedPowerSpin = SpinBox(self.powerGroup)
        self.expectedPowerSpin.setMinimumSize(QtCore.QSize(75, 0))
        self.expectedPowerSpin.setObjectName(_fromUtf8("expectedPowerSpin"))
        self.gridLayout_4.addWidget(self.expectedPowerSpin, 0, 3, 1, 1)
        self.toleranceSpin = SpinBox(self.powerGroup)
        self.toleranceSpin.setMinimumSize(QtCore.QSize(75, 0))
        self.toleranceSpin.setObjectName(_fromUtf8("toleranceSpin"))
        self.gridLayout_4.addWidget(self.toleranceSpin, 1, 3, 1, 1)
        self.energyCalcGroup = QtGui.QGroupBox(self.powerGroup)
        self.energyCalcGroup.setObjectName(_fromUtf8("energyCalcGroup"))
        self.verticalLayout = QtGui.QVBoxLayout(self.energyCalcGroup)
        self.verticalLayout.setSpacing(0)
        self.verticalLayout.setContentsMargins(-1, 0, 0, 0)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.currentPowerRadio = QtGui.QRadioButton(self.energyCalcGroup)
        self.currentPowerRadio.setObjectName(_fromUtf8("currentPowerRadio"))
        self.verticalLayout.addWidget(self.currentPowerRadio)
        self.expectedPowerRadio = QtGui.QRadioButton(self.energyCalcGroup)
        self.expectedPowerRadio.setChecked(True)
        self.expectedPowerRadio.setObjectName(_fromUtf8("expectedPowerRadio"))
        self.verticalLayout.addWidget(self.expectedPowerRadio)
        self.gridLayout_4.addWidget(self.energyCalcGroup, 0, 4, 2, 1)
        self.label_4 = QtGui.QLabel(self.powerGroup)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth())
        self.label_4.setSizePolicy(sizePolicy)
        self.label_4.setObjectName(_fromUtf8("label_4"))
        self.gridLayout_4.addWidget(self.label_4, 0, 0, 1, 1)
        self.outputPowerLabel = QtGui.QLabel(self.powerGroup)
        font = QtGui.QFont()
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.outputPowerLabel.setFont(font)
        self.outputPowerLabel.setText(_fromUtf8(""))
        self.outputPowerLabel.setObjectName(_fromUtf8("outputPowerLabel"))
        self.gridLayout_4.addWidget(self.outputPowerLabel, 0, 1, 1, 1)
        self.samplePowerLabel = QtGui.QLabel(self.powerGroup)
        font = QtGui.QFont()
        font.setPointSize(11)
        font.setBold(False)
        font.setWeight(50)
        self.samplePowerLabel.setFont(font)
        self.samplePowerLabel.setText(_fromUtf8(""))
        self.samplePowerLabel.setObjectName(_fromUtf8("samplePowerLabel"))
        self.gridLayout_4.addWidget(self.samplePowerLabel, 1, 1, 1, 1)
        self.label_8 = QtGui.QLabel(self.powerGroup)
        self.label_8.setObjectName(_fromUtf8("label_8"))
        self.gridLayout_4.addWidget(self.label_8, 1, 0, 1, 1)
        self.powerAlertCheck = QtGui.QCheckBox(self.powerGroup)
        self.powerAlertCheck.setChecked(True)
        self.powerAlertCheck.setObjectName(_fromUtf8("powerAlertCheck"))
        self.gridLayout_4.addWidget(self.powerAlertCheck, 1, 2, 1, 1)
        self.gridLayout.addWidget(self.powerGroup, 0, 0, 1, 3)
        self.wavelengthGroup = QtGui.QGroupBox(Form)
        self.wavelengthGroup.setTitle(_fromUtf8(""))
        self.wavelengthGroup.setObjectName(_fromUtf8("wavelengthGroup"))
        self.gridLayout_5 = QtGui.QGridLayout(self.wavelengthGroup)
        self.gridLayout_5.setMargin(6)
        self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
        self.label_7 = QtGui.QLabel(self.wavelengthGroup)
        self.label_7.setObjectName(_fromUtf8("label_7"))
        self.gridLayout_5.addWidget(self.label_7, 0, 0, 1, 1)
        self.wavelengthSpin = SpinBox(self.wavelengthGroup)
        self.wavelengthSpin.setSuffix(_fromUtf8(""))
        self.wavelengthSpin.setObjectName(_fromUtf8("wavelengthSpin"))
        self.gridLayout_5.addWidget(self.wavelengthSpin, 0, 1, 1, 1)
        self.wavelengthCombo = QtGui.QComboBox(self.wavelengthGroup)
        self.wavelengthCombo.setObjectName(_fromUtf8("wavelengthCombo"))
        self.wavelengthCombo.addItem(_fromUtf8(""))
        self.gridLayout_5.addWidget(self.wavelengthCombo, 0, 2, 1, 1)
        self.GDDEnableCheck = QtGui.QCheckBox(self.wavelengthGroup)
        self.GDDEnableCheck.setObjectName(_fromUtf8("GDDEnableCheck"))
        self.gridLayout_5.addWidget(self.GDDEnableCheck, 1, 0, 1, 1)
        self.GDDSpin = QtGui.QSpinBox(self.wavelengthGroup)
        self.GDDSpin.setMaximum(32000)
        self.GDDSpin.setObjectName(_fromUtf8("GDDSpin"))
        self.gridLayout_5.addWidget(self.GDDSpin, 1, 1, 1, 1)
        self.GDDLimits = QtGui.QLabel(self.wavelengthGroup)
        self.GDDLimits.setObjectName(_fromUtf8("GDDLimits"))
        self.gridLayout_5.addWidget(self.GDDLimits, 1, 2, 1, 1)
        self.gridLayout.addWidget(self.wavelengthGroup, 3, 0, 1, 3)
        self.groupBox_2 = QtGui.QGroupBox(Form)
        self.groupBox_2.setAlignment(QtCore.Qt.AlignCenter)
        self.groupBox_2.setObjectName(_fromUtf8("groupBox_2"))
        self.gridLayout_6 = QtGui.QGridLayout(self.groupBox_2)
        self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
        self.calibrationList = QtGui.QTreeWidget(self.groupBox_2)
        font = QtGui.QFont()
        font.setPointSize(8)
        font.setBold(False)
        font.setWeight(50)
        self.calibrationList.setFont(font)
        self.calibrationList.setRootIsDecorated(False)
        self.calibrationList.setItemsExpandable(False)
        self.calibrationList.setObjectName(_fromUtf8("calibrationList"))
        self.calibrationList.header().setStretchLastSection(True)
        self.gridLayout_6.addWidget(self.calibrationList, 0, 0, 1, 5)
        self.groupBox = QtGui.QGroupBox(self.groupBox_2)
        self.groupBox.setAlignment(QtCore.Qt.AlignCenter)
        self.groupBox.setObjectName(_fromUtf8("groupBox"))
        self.gridLayout_3 = QtGui.QGridLayout(self.groupBox)
        self.gridLayout_3.setMargin(6)
        self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
        self.gridLayout_2 = QtGui.QGridLayout()
        self.gridLayout_2.setHorizontalSpacing(6)
        self.gridLayout_2.setVerticalSpacing(0)
        self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
        self.scanLabel = QtGui.QLabel(self.groupBox)
        self.scanLabel.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.scanLabel.setObjectName(_fromUtf8("scanLabel"))
        self.gridLayout_2.addWidget(self.scanLabel, 1, 3, 1, 1)
        self.measurementSpin = SpinBox(self.groupBox)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(1)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.measurementSpin.sizePolicy().hasHeightForWidth())
        self.measurementSpin.setSizePolicy(sizePolicy)
        self.measurementSpin.setMinimum(0.0)
        self.measurementSpin.setMaximum(100.0)
        self.measurementSpin.setProperty("value", 1.0)
        self.measurementSpin.setObjectName(_fromUtf8("measurementSpin"))
        self.gridLayout_2.addWidget(self.measurementSpin, 1, 4, 1, 1)
        self.label = QtGui.QLabel(self.groupBox)
        self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label.setObjectName(_fromUtf8("label"))
        self.gridLayout_2.addWidget(self.label, 2, 3, 1, 1)
        self.settlingSpin = SpinBox(self.groupBox)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(2)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.settlingSpin.sizePolicy().hasHeightForWidth())
        self.settlingSpin.setSizePolicy(sizePolicy)
        self.settlingSpin.setObjectName(_fromUtf8("settlingSpin"))
        self.gridLayout_2.addWidget(self.settlingSpin, 2, 4, 1, 1)
        self.label_3 = QtGui.QLabel(self.groupBox)
        self.label_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_3.setObjectName(_fromUtf8("label_3"))
        self.gridLayout_2.addWidget(self.label_3, 1, 0, 1, 1)
        self.meterCombo = InterfaceCombo(self.groupBox)
        self.meterCombo.setObjectName(_fromUtf8("meterCombo"))
        self.gridLayout_2.addWidget(self.meterCombo, 1, 1, 1, 1)
        self.label_12 = QtGui.QLabel(self.groupBox)
        self.label_12.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_12.setObjectName(_fromUtf8("label_12"))
        self.gridLayout_2.addWidget(self.label_12, 2, 0, 1, 1)
        self.channelCombo = QtGui.QComboBox(self.groupBox)
        self.channelCombo.setObjectName(_fromUtf8("channelCombo"))
        self.gridLayout_2.addWidget(self.channelCombo, 2, 1, 1, 1)
        self.gridLayout_3.addLayout(self.gridLayout_2, 0, 0, 1, 1)
        self.pCellGroup = QtGui.QGroupBox(self.groupBox)
        self.pCellGroup.setAlignment(QtCore.Qt.AlignCenter)
        self.pCellGroup.setObjectName(_fromUtf8("pCellGroup"))
        self.gridLayout_8 = QtGui.QGridLayout(self.pCellGroup)
        self.gridLayout_8.setMargin(6)
        self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
        self.gridLayout_7 = QtGui.QGridLayout()
        self.gridLayout_7.setVerticalSpacing(0)
        self.gridLayout_7.setObjectName(_fromUtf8("gridLayout_7"))
        self.label_9 = QtGui.QLabel(self.pCellGroup)
        self.label_9.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_9.setObjectName(_fromUtf8("label_9"))
        self.gridLayout_7.addWidget(self.label_9, 0, 0, 1, 1)
        self.minVSpin = SpinBox(self.pCellGroup)
        self.minVSpin.setMinimum(-99.0)
        self.minVSpin.setSingleStep(0.01)
        self.minVSpin.setProperty("value", -0.2)
        self.minVSpin.setObjectName(_fromUtf8("minVSpin"))
        self.gridLayout_7.addWidget(self.minVSpin, 0, 1, 1, 1)
        self.label_11 = QtGui.QLabel(self.pCellGroup)
        self.label_11.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_11.setObjectName(_fromUtf8("label_11"))
        self.gridLayout_7.addWidget(self.label_11, 0, 2, 1, 1)
        self.stepsSpin = SpinBox(self.pCellGroup)
        self.stepsSpin.setDecimals(0)
        self.stepsSpin.setMinimum(10.0)
        self.stepsSpin.setMaximum(1000.0)
        self.stepsSpin.setProperty("value", 20.0)
        self.stepsSpin.setObjectName(_fromUtf8("stepsSpin"))
        self.gridLayout_7.addWidget(self.stepsSpin, 0, 3, 1, 1)
        self.label_10 = QtGui.QLabel(self.pCellGroup)
        self.label_10.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_10.setObjectName(_fromUtf8("label_10"))
        self.gridLayout_7.addWidget(self.label_10, 2, 0, 1, 1)
        self.maxVSpin = SpinBox(self.pCellGroup)
        self.maxVSpin.setSingleStep(0.01)
        self.maxVSpin.setProperty("value", 1.2)
        self.maxVSpin.setObjectName(_fromUtf8("maxVSpin"))
        self.gridLayout_7.addWidget(self.maxVSpin, 2, 1, 1, 1)
        self.recalibratePCellCheck = QtGui.QCheckBox(self.pCellGroup)
        self.recalibratePCellCheck.setObjectName(_fromUtf8("recalibratePCellCheck"))
        self.gridLayout_7.addWidget(self.recalibratePCellCheck, 2, 3, 1, 1)
        self.gridLayout_8.addLayout(self.gridLayout_7, 0, 0, 1, 1)
        self.gridLayout_3.addWidget(self.pCellGroup, 1, 0, 1, 1)
        self.gridLayout_6.addWidget(self.groupBox, 2, 0, 1, 5)
        self.deleteBtn = QtGui.QPushButton(self.groupBox_2)
        self.deleteBtn.setObjectName(_fromUtf8("deleteBtn"))
        self.gridLayout_6.addWidget(self.deleteBtn, 1, 4, 1, 1)
        self.calibrateBtn = QtGui.QPushButton(self.groupBox_2)
        self.calibrateBtn.setObjectName(_fromUtf8("calibrateBtn"))
        self.gridLayout_6.addWidget(self.calibrateBtn, 1, 0, 1, 1)
        self.gridLayout.addWidget(self.groupBox_2, 4, 0, 1, 3)
        self.checkPowerBtn = QtGui.QPushButton(Form)
        self.checkPowerBtn.setObjectName(_fromUtf8("checkPowerBtn"))
        self.gridLayout.addWidget(self.checkPowerBtn, 2, 0, 1, 1)
        self.shutterBtn = QtGui.QPushButton(Form)
        self.shutterBtn.setCheckable(True)
        self.shutterBtn.setObjectName(_fromUtf8("shutterBtn"))
        self.gridLayout.addWidget(self.shutterBtn, 2, 1, 1, 1)
        self.qSwitchBtn = QtGui.QPushButton(Form)
        self.qSwitchBtn.setCheckable(True)
        self.qSwitchBtn.setObjectName(_fromUtf8("qSwitchBtn"))
        self.gridLayout.addWidget(self.qSwitchBtn, 2, 2, 1, 1)

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

    def retranslateUi(self, Form):
        Form.setWindowTitle(_translate("Form", "Form", None))
        self.label_5.setText(_translate("Form", "Expected Output Power:", None))
        self.energyCalcGroup.setTitle(_translate("Form", "For energy calculations use:", None))
        self.currentPowerRadio.setText(_translate("Form", "Current Power", None))
        self.expectedPowerRadio.setText(_translate("Form", "Expected Power", None))
        self.label_4.setText(_translate("Form", "Current Output Power:", None))
        self.label_8.setText(_translate("Form", "Power at sample (calc.):", None))
        self.powerAlertCheck.setText(_translate("Form", "Alert me to power changes larger than:", None))
        self.label_7.setText(_translate("Form", "Current Wavelength: ", None))
        self.wavelengthCombo.setItemText(0, _translate("Form", "Set wavelength for:", None))
        self.GDDEnableCheck.setText(_translate("Form", "GDD Enable", None))
        self.GDDLimits.setText(_translate("Form", "GDD Limits", None))
        self.groupBox_2.setTitle(_translate("Form", "Power Calibration", None))
        self.calibrationList.headerItem().setText(0, _translate("Form", "Optics", None))
        self.calibrationList.headerItem().setText(1, _translate("Form", "Wavelength", None))
        self.calibrationList.headerItem().setText(2, _translate("Form", "Transmission", None))
        self.calibrationList.headerItem().setText(3, _translate("Form", "Power at Sample", None))
        self.calibrationList.headerItem().setText(4, _translate("Form", "Date", None))
        self.groupBox.setTitle(_translate("Form", "Calibration Parameters", None))
        self.scanLabel.setText(_translate("Form", "Measurement Duration", None))
        self.measurementSpin.setSuffix(_translate("Form", " s", None))
        self.label.setText(_translate("Form", "Settling Duration:", None))
        self.settlingSpin.setToolTip(_translate("Form", "Specify the time it takes for the selected power meter to settle on a value.", None))
        self.label_3.setText(_translate("Form", "Power Meter:", None))
        self.label_12.setText(_translate("Form", "Channel:", None))
        self.pCellGroup.setTitle(_translate("Form", "Pockel Cell Parameters", None))
        self.label_9.setText(_translate("Form", "Minimum Voltage:", None))
        self.minVSpin.setSuffix(_translate("Form", "V", None))
        self.label_11.setText(_translate("Form", "Number of Steps: ", None))
        self.label_10.setText(_translate("Form", "Maximum Voltage:", None))
        self.maxVSpin.setSuffix(_translate("Form", "V", None))
        self.recalibratePCellCheck.setText(_translate("Form", "Re-Calibrate Pockel Cell", None))
        self.deleteBtn.setText(_translate("Form", "Delete", None))
        self.calibrateBtn.setText(_translate("Form", "Calibrate", None))
        self.checkPowerBtn.setText(_translate("Form", "Check Power", None))
        self.shutterBtn.setText(_translate("Form", "Open Shutter", None))
        self.qSwitchBtn.setText(_translate("Form", "Turn On QSwitch", None))
예제 #4
0
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1089, 309)
        MainWindow.setStyleSheet("")
        MainWindow.setDockNestingEnabled(True)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.centralwidget.sizePolicy().hasHeightForWidth())
        self.centralwidget.setSizePolicy(sizePolicy)
        self.centralwidget.setObjectName("centralwidget")
        MainWindow.setCentralWidget(self.centralwidget)
        self.LoaderDock = QtWidgets.QDockWidget(MainWindow)
        self.LoaderDock.setFeatures(
            QtWidgets.QDockWidget.DockWidgetFloatable
            | QtWidgets.QDockWidget.DockWidgetMovable
            | QtWidgets.QDockWidget.DockWidgetVerticalTitleBar)
        self.LoaderDock.setAllowedAreas(Qt.Qt.BottomDockWidgetArea
                                        | Qt.Qt.TopDockWidgetArea)
        self.LoaderDock.setObjectName("LoaderDock")
        self.dockWidgetContents = QtWidgets.QWidget()
        self.dockWidgetContents.setObjectName("dockWidgetContents")
        self.LoaderDock.setWidget(self.dockWidgetContents)
        MainWindow.addDockWidget(Qt.Qt.DockWidgetArea(4), self.LoaderDock)
        self.TaskDock = QtWidgets.QDockWidget(MainWindow)
        self.TaskDock.setEnabled(True)
        self.TaskDock.setFeatures(
            QtWidgets.QDockWidget.DockWidgetFloatable
            | QtWidgets.QDockWidget.DockWidgetMovable
            | QtWidgets.QDockWidget.DockWidgetVerticalTitleBar)
        self.TaskDock.setAllowedAreas(Qt.Qt.BottomDockWidgetArea
                                      | Qt.Qt.TopDockWidgetArea)
        self.TaskDock.setObjectName("TaskDock")
        self.dockWidgetContents_5 = QtWidgets.QWidget()
        self.dockWidgetContents_5.setObjectName("dockWidgetContents_5")
        self.gridLayout = QtWidgets.QGridLayout(self.dockWidgetContents_5)
        self.gridLayout.setContentsMargins(0, 0, 0, 0)
        self.gridLayout.setHorizontalSpacing(5)
        self.gridLayout.setVerticalSpacing(0)
        self.gridLayout.setObjectName("gridLayout")
        self.label = QtWidgets.QLabel(self.dockWidgetContents_5)
        self.label.setAlignment(Qt.Qt.AlignCenter)
        self.label.setObjectName("label")
        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
        self.protoContinuousCheck = QtWidgets.QCheckBox(
            self.dockWidgetContents_5)
        self.protoContinuousCheck.setEnabled(False)
        self.protoContinuousCheck.setObjectName("protoContinuousCheck")
        self.gridLayout.addWidget(self.protoContinuousCheck, 0, 1, 1, 2)
        self.deviceList = QtWidgets.QListWidget(self.dockWidgetContents_5)
        self.deviceList.setObjectName("deviceList")
        self.gridLayout.addWidget(self.deviceList, 1, 0, 5, 1)
        self.label_8 = QtWidgets.QLabel(self.dockWidgetContents_5)
        self.label_8.setObjectName("label_8")
        self.gridLayout.addWidget(self.label_8, 1, 1, 1, 1)
        self.label_6 = QtWidgets.QLabel(self.dockWidgetContents_5)
        self.label_6.setObjectName("label_6")
        self.gridLayout.addWidget(self.label_6, 2, 1, 1, 1)
        self.protoLoopCheck = QtWidgets.QCheckBox(self.dockWidgetContents_5)
        self.protoLoopCheck.setObjectName("protoLoopCheck")
        self.gridLayout.addWidget(self.protoLoopCheck, 3, 1, 1, 1)
        self.label_7 = QtWidgets.QLabel(self.dockWidgetContents_5)
        self.label_7.setObjectName("label_7")
        self.gridLayout.addWidget(self.label_7, 4, 1, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(20, 91,
                                           QtWidgets.QSizePolicy.Minimum,
                                           QtWidgets.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem, 5, 2, 1, 1)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.testSingleBtn = QtWidgets.QPushButton(self.dockWidgetContents_5)
        self.testSingleBtn.setEnabled(True)
        self.testSingleBtn.setObjectName("testSingleBtn")
        self.horizontalLayout_2.addWidget(self.testSingleBtn)
        spacerItem1 = QtWidgets.QSpacerItem(13, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem1)
        self.runTaskBtn = QtWidgets.QPushButton(self.dockWidgetContents_5)
        self.runTaskBtn.setEnabled(True)
        self.runTaskBtn.setObjectName("runTaskBtn")
        self.horizontalLayout_2.addWidget(self.runTaskBtn)
        spacerItem2 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem2)
        self.stopSingleBtn = QtWidgets.QPushButton(self.dockWidgetContents_5)
        self.stopSingleBtn.setObjectName("stopSingleBtn")
        self.horizontalLayout_2.addWidget(self.stopSingleBtn)
        self.gridLayout.addLayout(self.horizontalLayout_2, 6, 0, 1, 4)
        self.protoDurationSpin = SpinBox(self.dockWidgetContents_5)
        self.protoDurationSpin.setMinimumSize(Qt.QSize(60, 0))
        self.protoDurationSpin.setProperty("value", 0.1)
        self.protoDurationSpin.setObjectName("protoDurationSpin")
        self.gridLayout.addWidget(self.protoDurationSpin, 1, 2, 1, 2)
        self.protoLeadTimeSpin = SpinBox(self.dockWidgetContents_5)
        self.protoLeadTimeSpin.setProperty("value", 0.01)
        self.protoLeadTimeSpin.setObjectName("protoLeadTimeSpin")
        self.gridLayout.addWidget(self.protoLeadTimeSpin, 2, 2, 1, 2)
        self.protoCycleTimeSpin = SpinBox(self.dockWidgetContents_5)
        self.protoCycleTimeSpin.setObjectName("protoCycleTimeSpin")
        self.gridLayout.addWidget(self.protoCycleTimeSpin, 4, 2, 1, 2)
        self.TaskDock.setWidget(self.dockWidgetContents_5)
        MainWindow.addDockWidget(Qt.Qt.DockWidgetArea(4), self.TaskDock)
        self.SequenceDock = QtWidgets.QDockWidget(MainWindow)
        self.SequenceDock.setEnabled(True)
        self.SequenceDock.setFeatures(
            QtWidgets.QDockWidget.DockWidgetFloatable
            | QtWidgets.QDockWidget.DockWidgetMovable
            | QtWidgets.QDockWidget.DockWidgetVerticalTitleBar)
        self.SequenceDock.setAllowedAreas(Qt.Qt.BottomDockWidgetArea
                                          | Qt.Qt.TopDockWidgetArea)
        self.SequenceDock.setObjectName("SequenceDock")
        self.dockWidgetContents_7 = QtWidgets.QWidget()
        self.dockWidgetContents_7.setObjectName("dockWidgetContents_7")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.dockWidgetContents_7)
        self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
        self.gridLayout_2.setHorizontalSpacing(5)
        self.gridLayout_2.setVerticalSpacing(0)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.label_10 = QtWidgets.QLabel(self.dockWidgetContents_7)
        self.label_10.setObjectName("label_10")
        self.gridLayout_2.addWidget(self.label_10, 0, 0, 1, 1)
        self.verticalLayout = QtWidgets.QVBoxLayout()
        self.verticalLayout.setSpacing(0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.label_9 = QtWidgets.QLabel(self.dockWidgetContents_7)
        self.label_9.setObjectName("label_9")
        self.verticalLayout.addWidget(self.label_9)
        self.seqCycleTimeSpin = SpinBox(self.dockWidgetContents_7)
        self.seqCycleTimeSpin.setProperty("value", 1.0)
        self.seqCycleTimeSpin.setObjectName("seqCycleTimeSpin")
        self.verticalLayout.addWidget(self.seqCycleTimeSpin)
        self.label_11 = QtWidgets.QLabel(self.dockWidgetContents_7)
        self.label_11.setObjectName("label_11")
        self.verticalLayout.addWidget(self.label_11)
        self.seqRepetitionSpin = QtWidgets.QSpinBox(self.dockWidgetContents_7)
        self.seqRepetitionSpin.setMinimum(0)
        self.seqRepetitionSpin.setMaximum(1000000)
        self.seqRepetitionSpin.setObjectName("seqRepetitionSpin")
        self.verticalLayout.addWidget(self.seqRepetitionSpin)
        spacerItem3 = QtWidgets.QSpacerItem(17, 18,
                                            QtWidgets.QSizePolicy.Minimum,
                                            QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout.addItem(spacerItem3)
        self.label_2 = QtWidgets.QLabel(self.dockWidgetContents_7)
        self.label_2.setObjectName("label_2")
        self.verticalLayout.addWidget(self.label_2)
        self.paramSpaceLabel = QtWidgets.QLabel(self.dockWidgetContents_7)
        self.paramSpaceLabel.setObjectName("paramSpaceLabel")
        self.verticalLayout.addWidget(self.paramSpaceLabel)
        self.label_4 = QtWidgets.QLabel(self.dockWidgetContents_7)
        self.label_4.setObjectName("label_4")
        self.verticalLayout.addWidget(self.label_4)
        self.seqTimeLabel = QtWidgets.QLabel(self.dockWidgetContents_7)
        self.seqTimeLabel.setObjectName("seqTimeLabel")
        self.verticalLayout.addWidget(self.seqTimeLabel)
        self.seqCurrentLabel = QtWidgets.QLabel(self.dockWidgetContents_7)
        self.seqCurrentLabel.setText("")
        self.seqCurrentLabel.setObjectName("seqCurrentLabel")
        self.verticalLayout.addWidget(self.seqCurrentLabel)
        spacerItem4 = QtWidgets.QSpacerItem(13, 13,
                                            QtWidgets.QSizePolicy.Minimum,
                                            QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout.addItem(spacerItem4)
        self.gridLayout_2.addLayout(self.verticalLayout, 0, 1, 2, 1)
        self.sequenceParamList = ParamList(self.dockWidgetContents_7)
        self.sequenceParamList.setDragEnabled(True)
        self.sequenceParamList.setDragDropMode(
            QtWidgets.QAbstractItemView.InternalMove)
        self.sequenceParamList.setIndentation(10)
        self.sequenceParamList.setRootIsDecorated(True)
        self.sequenceParamList.setAnimated(True)
        self.sequenceParamList.setAllColumnsShowFocus(True)
        self.sequenceParamList.setObjectName("sequenceParamList")
        self.sequenceParamList.header().setDefaultSectionSize(30)
        self.sequenceParamList.header().setMinimumSectionSize(30)
        self.sequenceParamList.header().setStretchLastSection(False)
        self.gridLayout_2.addWidget(self.sequenceParamList, 1, 0, 1, 1)
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.testSequenceBtn = QtWidgets.QPushButton(self.dockWidgetContents_7)
        self.testSequenceBtn.setEnabled(False)
        self.testSequenceBtn.setObjectName("testSequenceBtn")
        self.horizontalLayout_3.addWidget(self.testSequenceBtn)
        spacerItem5 = QtWidgets.QSpacerItem(38, 17,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem5)
        self.runSequenceBtn = QtWidgets.QPushButton(self.dockWidgetContents_7)
        self.runSequenceBtn.setEnabled(False)
        self.runSequenceBtn.setObjectName("runSequenceBtn")
        self.horizontalLayout_3.addWidget(self.runSequenceBtn)
        self.pauseSequenceBtn = QtWidgets.QPushButton(
            self.dockWidgetContents_7)
        self.pauseSequenceBtn.setMinimumSize(Qt.QSize(40, 0))
        self.pauseSequenceBtn.setCheckable(True)
        self.pauseSequenceBtn.setObjectName("pauseSequenceBtn")
        self.horizontalLayout_3.addWidget(self.pauseSequenceBtn)
        spacerItem6 = QtWidgets.QSpacerItem(58, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem6)
        self.stopSequenceBtn = QtWidgets.QPushButton(self.dockWidgetContents_7)
        self.stopSequenceBtn.setObjectName("stopSequenceBtn")
        self.horizontalLayout_3.addWidget(self.stopSequenceBtn)
        self.gridLayout_2.addLayout(self.horizontalLayout_3, 2, 0, 1, 2)
        self.gridLayout_2.setColumnStretch(0, 5)
        self.gridLayout_2.setColumnStretch(1, 1)
        self.SequenceDock.setWidget(self.dockWidgetContents_7)
        MainWindow.addDockWidget(Qt.Qt.DockWidgetArea(4), self.SequenceDock)
        self.dockWidget = QtWidgets.QDockWidget(MainWindow)
        self.dockWidget.setFeatures(
            QtWidgets.QDockWidget.DockWidgetFloatable
            | QtWidgets.QDockWidget.DockWidgetMovable
            | QtWidgets.QDockWidget.DockWidgetVerticalTitleBar)
        self.dockWidget.setAllowedAreas(Qt.Qt.BottomDockWidgetArea
                                        | Qt.Qt.TopDockWidgetArea)
        self.dockWidget.setObjectName("dockWidget")
        self.dockWidgetContents_2 = QtWidgets.QWidget()
        self.dockWidgetContents_2.setObjectName("dockWidgetContents_2")
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(
            self.dockWidgetContents_2)
        self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_4.setSpacing(0)
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.analysisList = QtWidgets.QListWidget(self.dockWidgetContents_2)
        self.analysisList.setObjectName("analysisList")
        self.horizontalLayout_4.addWidget(self.analysisList)
        self.dockWidget.setWidget(self.dockWidgetContents_2)
        MainWindow.addDockWidget(Qt.Qt.DockWidgetArea(4), self.dockWidget)
        self.statusBar = QtWidgets.QStatusBar(MainWindow)
        self.statusBar.setObjectName("statusBar")
        MainWindow.setStatusBar(self.statusBar)

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

    def retranslateUi(self, MainWindow):
        _translate = Qt.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "Task Runner"))
        self.LoaderDock.setWindowTitle(_translate("MainWindow", "Loader"))
        self.TaskDock.setWindowTitle(_translate("MainWindow", "Task"))
        self.label.setText(_translate("MainWindow", "Devices"))
        self.protoContinuousCheck.setToolTip(
            _translate(
                "MainWindow", "Task runs continuously without \n"
                "gaps until stopped (not yet implemented)."))
        self.protoContinuousCheck.setText(
            _translate("MainWindow", "Continuous"))
        self.label_8.setText(_translate("MainWindow", "Duration"))
        self.label_6.setText(_translate("MainWindow", "Lead Time"))
        self.protoLoopCheck.setToolTip(
            _translate(
                "MainWindow", "Task will run repeatedly until stopped and \n"
                "waits a minimum of Cycle Time between episodes.\n"
                "Not the same as continuous acquisition (there \n"
                "will be a time gap between each recording)."))
        self.protoLoopCheck.setText(_translate("MainWindow", "Loop"))
        self.label_7.setText(_translate("MainWindow", "Cycle Time"))
        self.testSingleBtn.setText(_translate("MainWindow", "Test"))
        self.runTaskBtn.setText(_translate("MainWindow", "Record Single"))
        self.stopSingleBtn.setText(_translate("MainWindow", "Stop Single"))
        self.protoDurationSpin.setToolTip(
            _translate("MainWindow",
                       "Duration of stimulus/acquisition in the task."))
        self.protoLeadTimeSpin.setToolTip(
            _translate(
                "MainWindow",
                "Duration of time to wait before acquisition starts \n"
                "(the hardware is reserved so nothing else can \n"
                "run during this time)."))
        self.protoCycleTimeSpin.setToolTip(
            _translate(
                "MainWindow", "The minimum time to wait between recordings \n"
                "in loop mode."))
        self.SequenceDock.setWindowTitle(_translate("MainWindow", "Sequence"))
        self.label_10.setText(_translate("MainWindow", "Sequence Parameters"))
        self.label_9.setText(_translate("MainWindow", "Cycle Time"))
        self.label_11.setText(_translate("MainWindow", "Repetitions"))
        self.label_2.setText(_translate("MainWindow", "Parameter Space: "))
        self.paramSpaceLabel.setText(_translate("MainWindow", "0"))
        self.label_4.setText(_translate("MainWindow", "Total time:"))
        self.seqTimeLabel.setText(_translate("MainWindow", "0"))
        self.sequenceParamList.headerItem().setText(
            0, _translate("MainWindow", "dev"))
        self.sequenceParamList.headerItem().setText(
            1, _translate("MainWindow", "param"))
        self.sequenceParamList.headerItem().setText(
            2, _translate("MainWindow", "len"))
        self.testSequenceBtn.setText(_translate("MainWindow", "Test"))
        self.runSequenceBtn.setText(_translate("MainWindow",
                                               "Record Sequence"))
        self.pauseSequenceBtn.setText(_translate("MainWindow", "Pause"))
        self.stopSequenceBtn.setText(_translate("MainWindow", "Stop Sequence"))
        self.dockWidget.setWindowTitle(_translate("MainWindow", "Analysis"))
예제 #5
0
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(198, 256)
        self.verticalLayout = QtGui.QVBoxLayout(Form)
        self.verticalLayout.setSpacing(15)
        self.verticalLayout.setMargin(0)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.recordCtrlWidget = QtGui.QWidget(Form)
        self.recordCtrlWidget.setObjectName(_fromUtf8("recordCtrlWidget"))
        self.gridLayout_3 = QtGui.QGridLayout(self.recordCtrlWidget)
        self.gridLayout_3.setSpacing(0)
        self.gridLayout_3.setMargin(0)
        self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
        self.acquireVideoBtn = QtGui.QPushButton(self.recordCtrlWidget)
        self.acquireVideoBtn.setCheckable(True)
        self.acquireVideoBtn.setObjectName(_fromUtf8("acquireVideoBtn"))
        self.gridLayout_3.addWidget(self.acquireVideoBtn, 0, 1, 1, 1)
        self.acquireFrameBtn = QtGui.QPushButton(self.recordCtrlWidget)
        self.acquireFrameBtn.setObjectName(_fromUtf8("acquireFrameBtn"))
        self.gridLayout_3.addWidget(self.acquireFrameBtn, 0, 0, 1, 1)
        self.line = QtGui.QFrame(self.recordCtrlWidget)
        self.line.setFrameShape(QtGui.QFrame.HLine)
        self.line.setFrameShadow(QtGui.QFrame.Sunken)
        self.line.setObjectName(_fromUtf8("line"))
        self.gridLayout_3.addWidget(self.line, 4, 0, 1, 2)
        self.recordStackBtn = QtGui.QPushButton(self.recordCtrlWidget)
        self.recordStackBtn.setCheckable(True)
        self.recordStackBtn.setFlat(False)
        self.recordStackBtn.setObjectName(_fromUtf8("recordStackBtn"))
        self.gridLayout_3.addWidget(self.recordStackBtn, 6, 1, 1, 1)
        self.gridLayout = QtGui.QGridLayout()
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.recordXframesCheck = QtGui.QCheckBox(self.recordCtrlWidget)
        self.recordXframesCheck.setObjectName(_fromUtf8("recordXframesCheck"))
        self.gridLayout.addWidget(self.recordXframesCheck, 0, 0, 1, 1)
        self.recordXframesSpin = QtGui.QSpinBox(self.recordCtrlWidget)
        self.recordXframesSpin.setEnabled(True)
        self.recordXframesSpin.setMinimum(1)
        self.recordXframesSpin.setMaximum(1000000)
        self.recordXframesSpin.setProperty("value", 100)
        self.recordXframesSpin.setObjectName(_fromUtf8("recordXframesSpin"))
        self.gridLayout.addWidget(self.recordXframesSpin, 0, 1, 1, 2)
        self.label_9 = QtGui.QLabel(self.recordCtrlWidget)
        self.label_9.setObjectName(_fromUtf8("label_9"))
        self.gridLayout.addWidget(self.label_9, 1, 0, 1, 1)
        self.stackSizeLabel = ValueLabel(self.recordCtrlWidget)
        self.stackSizeLabel.setObjectName(_fromUtf8("stackSizeLabel"))
        self.gridLayout.addWidget(self.stackSizeLabel, 1, 1, 1, 1)
        self.label = QtGui.QLabel(self.recordCtrlWidget)
        self.label.setObjectName(_fromUtf8("label"))
        self.gridLayout.addWidget(self.label, 2, 0, 1, 1)
        self.fpsLabel = ValueLabel(self.recordCtrlWidget)
        self.fpsLabel.setObjectName(_fromUtf8("fpsLabel"))
        self.gridLayout.addWidget(self.fpsLabel, 2, 1, 1, 1)
        self.label_7 = QtGui.QLabel(self.recordCtrlWidget)
        self.label_7.setObjectName(_fromUtf8("label_7"))
        self.gridLayout.addWidget(self.label_7, 3, 0, 1, 1)
        self.displayFpsLabel = ValueLabel(self.recordCtrlWidget)
        self.displayFpsLabel.setObjectName(_fromUtf8("displayFpsLabel"))
        self.gridLayout.addWidget(self.displayFpsLabel, 3, 1, 1, 1)
        self.displayPercentLabel = ValueLabel(self.recordCtrlWidget)
        self.displayPercentLabel.setObjectName(
            _fromUtf8("displayPercentLabel"))
        self.gridLayout.addWidget(self.displayPercentLabel, 3, 2, 1, 1)
        self.gridLayout_3.addLayout(self.gridLayout, 7, 0, 1, 2)
        self.saveFrameBtn = FeedbackButton(self.recordCtrlWidget)
        self.saveFrameBtn.setObjectName(_fromUtf8("saveFrameBtn"))
        self.gridLayout_3.addWidget(self.saveFrameBtn, 6, 0, 1, 1)
        self.frameToBgBtn = QtGui.QPushButton(self.recordCtrlWidget)
        self.frameToBgBtn.setObjectName(_fromUtf8("frameToBgBtn"))
        self.gridLayout_3.addWidget(self.frameToBgBtn, 3, 0, 1, 2)
        self.verticalLayout.addWidget(self.recordCtrlWidget)
        self.devCtrlWidget = QtGui.QWidget(Form)
        self.devCtrlWidget.setObjectName(_fromUtf8("devCtrlWidget"))
        self.gridLayout_4 = QtGui.QGridLayout(self.devCtrlWidget)
        self.gridLayout_4.setSpacing(0)
        self.gridLayout_4.setContentsMargins(-1, 0, -1, -1)
        self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
        self.btnFullFrame = QtGui.QPushButton(self.devCtrlWidget)
        self.btnFullFrame.setObjectName(_fromUtf8("btnFullFrame"))
        self.gridLayout_4.addWidget(self.btnFullFrame, 2, 0, 1, 2)
        self.label_3 = QtGui.QLabel(self.devCtrlWidget)
        self.label_3.setObjectName(_fromUtf8("label_3"))
        self.gridLayout_4.addWidget(self.label_3, 1, 0, 1, 1)
        self.label_2 = QtGui.QLabel(self.devCtrlWidget)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.gridLayout_4.addWidget(self.label_2, 0, 0, 1, 1)
        self.spinExposure = SpinBox(self.devCtrlWidget)
        self.spinExposure.setMinimumSize(QtCore.QSize(80, 0))
        self.spinExposure.setObjectName(_fromUtf8("spinExposure"))
        self.gridLayout_4.addWidget(self.spinExposure, 1, 1, 1, 1)
        self.binningCombo = QtGui.QComboBox(self.devCtrlWidget)
        self.binningCombo.setObjectName(_fromUtf8("binningCombo"))
        self.gridLayout_4.addWidget(self.binningCombo, 0, 1, 1, 1)
        self.verticalLayout.addWidget(self.devCtrlWidget)

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

    def retranslateUi(self, Form):
        Form.setWindowTitle(_translate("Form", "Form", None))
        self.acquireVideoBtn.setToolTip(
            _translate(
                "Form", "Start/stop camera acquisition.\n"
                "In general, this can just stay on always.", None))
        self.acquireVideoBtn.setText(_translate("Form", "Acquire Video", None))
        self.acquireFrameBtn.setText(_translate("Form", "Acquire Frame", None))
        self.recordStackBtn.setToolTip(
            _translate(
                "Form", "Start/stop recording frames as they are acquired. \n"
                "Frames are written to the current storage directory set in \n"
                "the data manager window.", None))
        self.recordStackBtn.setText(_translate("Form", "Record Stack", None))
        self.recordXframesCheck.setText(_translate("Form", "Stack Limit",
                                                   None))
        self.recordXframesSpin.setSuffix(_translate("Form", " frames", None))
        self.label_9.setText(_translate("Form", "Stack Size:", None))
        self.stackSizeLabel.setText(_translate("Form", "0 frames", None))
        self.label.setText(_translate("Form", "Acquiring:", None))
        self.fpsLabel.setText(_translate("Form", "0 fps", None))
        self.label_7.setText(_translate("Form", "Displaying:", None))
        self.displayFpsLabel.setText(_translate("Form", "0 fps", None))
        self.displayPercentLabel.setText(_translate("Form", "(0%)", None))
        self.saveFrameBtn.setText(_translate("Form", "Save Frame", None))
        self.frameToBgBtn.setText(
            _translate("Form", "Last Frame → Background", None))
        self.btnFullFrame.setToolTip(
            _translate(
                "Form",
                "Set the region of interest to the maximum possible area.",
                None))
        self.btnFullFrame.setText(_translate("Form", "Full Frame", None))
        self.label_3.setText(_translate("Form", "Exposure", None))
        self.label_2.setText(_translate("Form", "Binning", None))
        self.spinExposure.setToolTip(
            _translate("Form", "Sets the exposure time for each frame.", None))
예제 #6
0
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(198, 791)
        self.verticalLayout = QtGui.QVBoxLayout(Form)
        self.verticalLayout.setSpacing(15)
        self.verticalLayout.setMargin(0)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.recordCtrlWidget = QtGui.QWidget(Form)
        self.recordCtrlWidget.setObjectName(_fromUtf8("recordCtrlWidget"))
        self.gridLayout_3 = QtGui.QGridLayout(self.recordCtrlWidget)
        self.gridLayout_3.setSpacing(0)
        self.gridLayout_3.setMargin(0)
        self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
        self.acquireVideoBtn = QtGui.QPushButton(self.recordCtrlWidget)
        self.acquireVideoBtn.setCheckable(True)
        self.acquireVideoBtn.setObjectName(_fromUtf8("acquireVideoBtn"))
        self.gridLayout_3.addWidget(self.acquireVideoBtn, 0, 1, 1, 1)
        self.acquireFrameBtn = QtGui.QPushButton(self.recordCtrlWidget)
        self.acquireFrameBtn.setObjectName(_fromUtf8("acquireFrameBtn"))
        self.gridLayout_3.addWidget(self.acquireFrameBtn, 0, 0, 1, 1)
        self.line = QtGui.QFrame(self.recordCtrlWidget)
        self.line.setFrameShape(QtGui.QFrame.HLine)
        self.line.setFrameShadow(QtGui.QFrame.Sunken)
        self.line.setObjectName(_fromUtf8("line"))
        self.gridLayout_3.addWidget(self.line, 4, 0, 1, 2)
        self.recordStackBtn = QtGui.QPushButton(self.recordCtrlWidget)
        self.recordStackBtn.setCheckable(True)
        self.recordStackBtn.setFlat(False)
        self.recordStackBtn.setObjectName(_fromUtf8("recordStackBtn"))
        self.gridLayout_3.addWidget(self.recordStackBtn, 6, 1, 1, 1)
        self.gridLayout = QtGui.QGridLayout()
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.recordXframesCheck = QtGui.QCheckBox(self.recordCtrlWidget)
        self.recordXframesCheck.setObjectName(_fromUtf8("recordXframesCheck"))
        self.gridLayout.addWidget(self.recordXframesCheck, 0, 0, 1, 1)
        self.recordXframesSpin = QtGui.QSpinBox(self.recordCtrlWidget)
        self.recordXframesSpin.setEnabled(True)
        self.recordXframesSpin.setMinimum(1)
        self.recordXframesSpin.setMaximum(1000000)
        self.recordXframesSpin.setProperty("value", 100)
        self.recordXframesSpin.setObjectName(_fromUtf8("recordXframesSpin"))
        self.gridLayout.addWidget(self.recordXframesSpin, 0, 1, 1, 2)
        self.label_9 = QtGui.QLabel(self.recordCtrlWidget)
        self.label_9.setObjectName(_fromUtf8("label_9"))
        self.gridLayout.addWidget(self.label_9, 1, 0, 1, 1)
        self.stackSizeLabel = ValueLabel(self.recordCtrlWidget)
        self.stackSizeLabel.setObjectName(_fromUtf8("stackSizeLabel"))
        self.gridLayout.addWidget(self.stackSizeLabel, 1, 1, 1, 1)
        self.label = QtGui.QLabel(self.recordCtrlWidget)
        self.label.setObjectName(_fromUtf8("label"))
        self.gridLayout.addWidget(self.label, 2, 0, 1, 1)
        self.fpsLabel = ValueLabel(self.recordCtrlWidget)
        self.fpsLabel.setObjectName(_fromUtf8("fpsLabel"))
        self.gridLayout.addWidget(self.fpsLabel, 2, 1, 1, 1)
        self.label_7 = QtGui.QLabel(self.recordCtrlWidget)
        self.label_7.setObjectName(_fromUtf8("label_7"))
        self.gridLayout.addWidget(self.label_7, 3, 0, 1, 1)
        self.displayFpsLabel = ValueLabel(self.recordCtrlWidget)
        self.displayFpsLabel.setObjectName(_fromUtf8("displayFpsLabel"))
        self.gridLayout.addWidget(self.displayFpsLabel, 3, 1, 1, 1)
        self.displayPercentLabel = ValueLabel(self.recordCtrlWidget)
        self.displayPercentLabel.setObjectName(_fromUtf8("displayPercentLabel"))
        self.gridLayout.addWidget(self.displayPercentLabel, 3, 2, 1, 1)
        self.gridLayout_3.addLayout(self.gridLayout, 7, 0, 1, 2)
        self.saveFrameBtn = FeedbackButton(self.recordCtrlWidget)
        self.saveFrameBtn.setObjectName(_fromUtf8("saveFrameBtn"))
        self.gridLayout_3.addWidget(self.saveFrameBtn, 6, 0, 1, 1)
        self.frameToBgBtn = QtGui.QPushButton(self.recordCtrlWidget)
        self.frameToBgBtn.setObjectName(_fromUtf8("frameToBgBtn"))
        self.gridLayout_3.addWidget(self.frameToBgBtn, 3, 0, 1, 2)
        self.verticalLayout.addWidget(self.recordCtrlWidget)
        self.devCtrlWidget = QtGui.QWidget(Form)
        self.devCtrlWidget.setObjectName(_fromUtf8("devCtrlWidget"))
        self.gridLayout_4 = QtGui.QGridLayout(self.devCtrlWidget)
        self.gridLayout_4.setSpacing(0)
        self.gridLayout_4.setContentsMargins(-1, 0, -1, -1)
        self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
        self.btnFullFrame = QtGui.QPushButton(self.devCtrlWidget)
        self.btnFullFrame.setObjectName(_fromUtf8("btnFullFrame"))
        self.gridLayout_4.addWidget(self.btnFullFrame, 2, 0, 1, 2)
        self.label_3 = QtGui.QLabel(self.devCtrlWidget)
        self.label_3.setObjectName(_fromUtf8("label_3"))
        self.gridLayout_4.addWidget(self.label_3, 1, 0, 1, 1)
        self.label_2 = QtGui.QLabel(self.devCtrlWidget)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.gridLayout_4.addWidget(self.label_2, 0, 0, 1, 1)
        self.spinExposure = SpinBox(self.devCtrlWidget)
        self.spinExposure.setMinimumSize(QtCore.QSize(80, 0))
        self.spinExposure.setObjectName(_fromUtf8("spinExposure"))
        self.gridLayout_4.addWidget(self.spinExposure, 1, 1, 1, 1)
        self.binningCombo = QtGui.QComboBox(self.devCtrlWidget)
        self.binningCombo.setObjectName(_fromUtf8("binningCombo"))
        self.gridLayout_4.addWidget(self.binningCombo, 0, 1, 1, 1)
        self.verticalLayout.addWidget(self.devCtrlWidget)
        self.displayCtrlWidget = QtGui.QWidget(Form)
        self.displayCtrlWidget.setObjectName(_fromUtf8("displayCtrlWidget"))
        self.gridLayout_2 = QtGui.QGridLayout(self.displayCtrlWidget)
        self.gridLayout_2.setSpacing(0)
        self.gridLayout_2.setContentsMargins(-1, 0, -1, -1)
        self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
        self.label_8 = QtGui.QLabel(self.displayCtrlWidget)
        self.label_8.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_8.setObjectName(_fromUtf8("label_8"))
        self.gridLayout_2.addWidget(self.label_8, 3, 0, 1, 1)
        self.zoomLiveBtn = QtGui.QPushButton(self.displayCtrlWidget)
        self.zoomLiveBtn.setObjectName(_fromUtf8("zoomLiveBtn"))
        self.gridLayout_2.addWidget(self.zoomLiveBtn, 6, 0, 1, 2)
        self.btnAutoGain = QtGui.QPushButton(self.displayCtrlWidget)
        self.btnAutoGain.setCheckable(True)
        self.btnAutoGain.setChecked(False)
        self.btnAutoGain.setObjectName(_fromUtf8("btnAutoGain"))
        self.gridLayout_2.addWidget(self.btnAutoGain, 1, 0, 1, 2)
        self.spinAutoGainCenterWeight = QtGui.QDoubleSpinBox(self.displayCtrlWidget)
        self.spinAutoGainCenterWeight.setMaximum(1.0)
        self.spinAutoGainCenterWeight.setSingleStep(0.1)
        self.spinAutoGainCenterWeight.setObjectName(_fromUtf8("spinAutoGainCenterWeight"))
        self.gridLayout_2.addWidget(self.spinAutoGainCenterWeight, 3, 1, 1, 1)
        self.spinAutoGainSpeed = QtGui.QDoubleSpinBox(self.displayCtrlWidget)
        self.spinAutoGainSpeed.setProperty("value", 2.0)
        self.spinAutoGainSpeed.setObjectName(_fromUtf8("spinAutoGainSpeed"))
        self.gridLayout_2.addWidget(self.spinAutoGainSpeed, 2, 1, 1, 1)
        self.histogram = HistogramLUTWidget(self.displayCtrlWidget)
        self.histogram.setObjectName(_fromUtf8("histogram"))
        self.gridLayout_2.addWidget(self.histogram, 0, 0, 1, 2)
        self.label_6 = QtGui.QLabel(self.displayCtrlWidget)
        self.label_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_6.setObjectName(_fromUtf8("label_6"))
        self.gridLayout_2.addWidget(self.label_6, 2, 0, 1, 1)
        self.label_4 = QtGui.QLabel(self.displayCtrlWidget)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth())
        self.label_4.setSizePolicy(sizePolicy)
        self.label_4.setAlignment(QtCore.Qt.AlignCenter)
        self.label_4.setObjectName(_fromUtf8("label_4"))
        self.gridLayout_2.addWidget(self.label_4, 4, 0, 1, 2)
        self.alphaSlider = QtGui.QSlider(self.displayCtrlWidget)
        self.alphaSlider.setMaximum(100)
        self.alphaSlider.setSingleStep(1)
        self.alphaSlider.setProperty("value", 100)
        self.alphaSlider.setOrientation(QtCore.Qt.Horizontal)
        self.alphaSlider.setObjectName(_fromUtf8("alphaSlider"))
        self.gridLayout_2.addWidget(self.alphaSlider, 5, 0, 1, 2)
        self.verticalLayout.addWidget(self.displayCtrlWidget)
        self.bgSubtractWidget = QtGui.QWidget(Form)
        self.bgSubtractWidget.setObjectName(_fromUtf8("bgSubtractWidget"))
        self.gridLayout_5 = QtGui.QGridLayout(self.bgSubtractWidget)
        self.gridLayout_5.setSpacing(0)
        self.gridLayout_5.setContentsMargins(-1, 0, -1, -1)
        self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
        self.bgBlurSpin = QtGui.QDoubleSpinBox(self.bgSubtractWidget)
        self.bgBlurSpin.setProperty("value", 0.0)
        self.bgBlurSpin.setObjectName(_fromUtf8("bgBlurSpin"))
        self.gridLayout_5.addWidget(self.bgBlurSpin, 2, 1, 1, 1)
        self.divideBgBtn = QtGui.QPushButton(self.bgSubtractWidget)
        self.divideBgBtn.setCheckable(True)
        self.divideBgBtn.setAutoExclusive(False)
        self.divideBgBtn.setObjectName(_fromUtf8("divideBgBtn"))
        self.gridLayout_5.addWidget(self.divideBgBtn, 4, 0, 1, 2)
        self.label_5 = QtGui.QLabel(self.bgSubtractWidget)
        self.label_5.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_5.setObjectName(_fromUtf8("label_5"))
        self.gridLayout_5.addWidget(self.label_5, 2, 0, 1, 1)
        self.contAvgBgCheck = QtGui.QCheckBox(self.bgSubtractWidget)
        self.contAvgBgCheck.setObjectName(_fromUtf8("contAvgBgCheck"))
        self.gridLayout_5.addWidget(self.contAvgBgCheck, 1, 0, 1, 2)
        self.subtractBgBtn = QtGui.QPushButton(self.bgSubtractWidget)
        self.subtractBgBtn.setCheckable(True)
        self.subtractBgBtn.setAutoExclusive(False)
        self.subtractBgBtn.setObjectName(_fromUtf8("subtractBgBtn"))
        self.gridLayout_5.addWidget(self.subtractBgBtn, 3, 0, 1, 2)
        self.collectBgBtn = QtGui.QPushButton(self.bgSubtractWidget)
        self.collectBgBtn.setCheckable(True)
        self.collectBgBtn.setObjectName(_fromUtf8("collectBgBtn"))
        self.gridLayout_5.addWidget(self.collectBgBtn, 0, 0, 1, 1)
        self.bgTimeSpin = QtGui.QDoubleSpinBox(self.bgSubtractWidget)
        self.bgTimeSpin.setDecimals(1)
        self.bgTimeSpin.setSingleStep(1.0)
        self.bgTimeSpin.setProperty("value", 3.0)
        self.bgTimeSpin.setObjectName(_fromUtf8("bgTimeSpin"))
        self.gridLayout_5.addWidget(self.bgTimeSpin, 0, 1, 1, 1)
        self.verticalLayout.addWidget(self.bgSubtractWidget)

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

    def retranslateUi(self, Form):
        Form.setWindowTitle(_translate("Form", "Form", None))
        self.acquireVideoBtn.setToolTip(_translate("Form", "Start/stop camera acquisition.\n"
"In general, this can just stay on always.", None))
        self.acquireVideoBtn.setText(_translate("Form", "Acquire Video", None))
        self.acquireFrameBtn.setText(_translate("Form", "Acquire Frame", None))
        self.recordStackBtn.setToolTip(_translate("Form", "Start/stop recording frames as they are acquired. \n"
"Frames are written to the current storage directory set in \n"
"the data manager window.", None))
        self.recordStackBtn.setText(_translate("Form", "Record Stack", None))
        self.recordXframesCheck.setText(_translate("Form", "Stack Limit", None))
        self.recordXframesSpin.setSuffix(_translate("Form", " frames", None))
        self.label_9.setText(_translate("Form", "Stack Size:", None))
        self.stackSizeLabel.setText(_translate("Form", "0 frames", None))
        self.label.setText(_translate("Form", "Acquiring:", None))
        self.fpsLabel.setText(_translate("Form", "0 fps", None))
        self.label_7.setText(_translate("Form", "Displaying:", None))
        self.displayFpsLabel.setText(_translate("Form", "0 fps", None))
        self.displayPercentLabel.setText(_translate("Form", "(0%)", None))
        self.saveFrameBtn.setText(_translate("Form", "Save Frame", None))
        self.frameToBgBtn.setText(_translate("Form", "Last Frame → Background", None))
        self.btnFullFrame.setToolTip(_translate("Form", "Set the region of interest to the maximum possible area.", None))
        self.btnFullFrame.setText(_translate("Form", "Full Frame", None))
        self.label_3.setText(_translate("Form", "Exposure", None))
        self.label_2.setText(_translate("Form", "Binning", None))
        self.spinExposure.setToolTip(_translate("Form", "Sets the exposure time for each frame.", None))
        self.label_8.setText(_translate("Form", "Frame Center Weight", None))
        self.zoomLiveBtn.setText(_translate("Form", "Zoom to Live Image", None))
        self.btnAutoGain.setToolTip(_translate("Form", "Determines the behavior of the white/black level sliders.\n"
"When enabled, the sliders maximum and minimum values are set\n"
"to the maximum and minimum intensity values in the image.\n"
"When disabled, the minimum is 0 and the maximum is the largest \n"
"possible intensity given the bit depth of the camera.", None))
        self.btnAutoGain.setText(_translate("Form", "Auto Gain", None))
        self.spinAutoGainCenterWeight.setToolTip(_translate("Form", "Weights the auto gain measurement to the center 1/3 of\n"
"the frame when set to 1.0. A value of 0.0 meters from \n"
"the entire frame.", None))
        self.spinAutoGainSpeed.setToolTip(_translate("Form", "Smooths out the auto gain control, prevents very\n"
"brief flashes from affecting the gain. Larger values\n"
"indicate more smoothing.\n"
"", None))
        self.label_6.setText(_translate("Form", "Auto Gain Delay", None))
        self.label_4.setText(_translate("Form", "Transparency", None))
        self.bgBlurSpin.setToolTip(_translate("Form", "<!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:\'MS Shell Dlg 2\'; font-size:8.25pt; 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:8pt;\">Blurs the background frame before dividing it from the current frame.</span></p>\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:8pt;\">Large blur values may cause performance to degrade.</span></p></body></html>", None))
        self.divideBgBtn.setToolTip(_translate("Form", "Enables background division. \n"
"Either a set of static background frames need to have already by collected\n"
"(by pressing \'Static\' above) or \'Continuous\' needs to be pressed.", None))
        self.divideBgBtn.setText(_translate("Form", "Divide Background", None))
        self.label_5.setText(_translate("Form", "Blur Background.", None))
        self.contAvgBgCheck.setText(_translate("Form", "Continuous Average", None))
        self.subtractBgBtn.setText(_translate("Form", "Subtract Background", None))
        self.collectBgBtn.setText(_translate("Form", "Collect Background", None))
        self.bgTimeSpin.setToolTip(_translate("Form", "Sets the approximate number of frames to be averaged for\n"
"background division.", None))
        self.bgTimeSpin.setSuffix(_translate("Form", " s", None))
예제 #7
0
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(342, 103)
        self.gridLayout_3 = QtWidgets.QGridLayout(Form)
        self.gridLayout_3.setContentsMargins(0, 0, 0, 0)
        self.gridLayout_3.setSpacing(3)
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.pauseBtn = QtWidgets.QPushButton(Form)
        self.pauseBtn.setCheckable(True)
        self.pauseBtn.setObjectName("pauseBtn")
        self.gridLayout_3.addWidget(self.pauseBtn, 1, 0, 1, 1)
        self.deviceCombo = ComboBox(Form)
        self.deviceCombo.setObjectName("deviceCombo")
        self.gridLayout_3.addWidget(self.deviceCombo, 2, 0, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout_3.addItem(spacerItem, 4, 1, 1, 1)
        self.statusLabel = QtWidgets.QLabel(Form)
        self.statusLabel.setText("")
        self.statusLabel.setObjectName("statusLabel")
        self.gridLayout_3.addWidget(self.statusLabel, 3, 0, 1, 3)
        self.startBtn = QtWidgets.QPushButton(Form)
        self.startBtn.setCheckable(True)
        self.startBtn.setObjectName("startBtn")
        self.gridLayout_3.addWidget(self.startBtn, 0, 0, 1, 1)
        self.timelapseGroup = QtWidgets.QGroupBox(Form)
        self.timelapseGroup.setCheckable(True)
        self.timelapseGroup.setChecked(False)
        self.timelapseGroup.setObjectName("timelapseGroup")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.timelapseGroup)
        self.gridLayout_2.setContentsMargins(3, 3, 3, 3)
        self.gridLayout_2.setSpacing(3)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.intervalSpin = SpinBox(self.timelapseGroup)
        self.intervalSpin.setMinimumSize(Qt.QSize(75, 0))
        self.intervalSpin.setObjectName("intervalSpin")
        self.gridLayout_2.addWidget(self.intervalSpin, 0, 1, 1, 1)
        self.label_4 = QtWidgets.QLabel(self.timelapseGroup)
        self.label_4.setObjectName("label_4")
        self.gridLayout_2.addWidget(self.label_4, 0, 0, 1, 1)
        self.label_5 = QtWidgets.QLabel(self.timelapseGroup)
        self.label_5.setObjectName("label_5")
        self.gridLayout_2.addWidget(self.label_5, 1, 0, 1, 1)
        self.iterationsSpin = QtWidgets.QSpinBox(self.timelapseGroup)
        self.iterationsSpin.setObjectName("iterationsSpin")
        self.gridLayout_2.addWidget(self.iterationsSpin, 1, 1, 1, 1)
        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout_2.addItem(spacerItem1, 2, 0, 1, 1)
        self.gridLayout_3.addWidget(self.timelapseGroup, 0, 1, 3, 1)
        self.zStackGroup = QtWidgets.QGroupBox(Form)
        self.zStackGroup.setCheckable(True)
        self.zStackGroup.setChecked(False)
        self.zStackGroup.setObjectName("zStackGroup")
        self.gridLayout = QtWidgets.QGridLayout(self.zStackGroup)
        self.gridLayout.setContentsMargins(3, 3, 3, 3)
        self.gridLayout.setHorizontalSpacing(3)
        self.gridLayout.setVerticalSpacing(1)
        self.gridLayout.setObjectName("gridLayout")
        self.zSpacingSpin = SpinBox(self.zStackGroup)
        self.zSpacingSpin.setObjectName("zSpacingSpin")
        self.gridLayout.addWidget(self.zSpacingSpin, 3, 2, 1, 1)
        self.zStartSpin = SpinBox(self.zStackGroup)
        self.zStartSpin.setMinimumSize(Qt.QSize(75, 0))
        self.zStartSpin.setObjectName("zStartSpin")
        self.gridLayout.addWidget(self.zStartSpin, 0, 2, 1, 1)
        self.label = QtWidgets.QLabel(self.zStackGroup)
        self.label.setObjectName("label")
        self.gridLayout.addWidget(self.label, 3, 0, 1, 2)
        self.zEndSpin = SpinBox(self.zStackGroup)
        self.zEndSpin.setObjectName("zEndSpin")
        self.gridLayout.addWidget(self.zEndSpin, 1, 2, 2, 1)
        self.label_3 = QtWidgets.QLabel(self.zStackGroup)
        self.label_3.setObjectName("label_3")
        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
        self.label_2 = QtWidgets.QLabel(self.zStackGroup)
        self.label_2.setObjectName("label_2")
        self.gridLayout.addWidget(self.label_2, 0, 0, 2, 1)
        self.setStartBtn = QtWidgets.QPushButton(self.zStackGroup)
        self.setStartBtn.setMaximumSize(Qt.QSize(15, 20))
        self.setStartBtn.setObjectName("setStartBtn")
        self.gridLayout.addWidget(self.setStartBtn, 0, 1, 1, 1)
        self.setEndBtn = QtWidgets.QPushButton(self.zStackGroup)
        self.setEndBtn.setMaximumSize(Qt.QSize(15, 20))
        self.setEndBtn.setObjectName("setEndBtn")
        self.gridLayout.addWidget(self.setEndBtn, 2, 1, 1, 1)
        self.gridLayout_3.addWidget(self.zStackGroup, 0, 2, 3, 1)

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

    def retranslateUi(self, Form):
        _translate = Qt.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.pauseBtn.setToolTip(_translate("Form", "<html><head/><body><p>Pause the sequence acquisition.</p><p>Click again to resume.</p></body></html>"))
        self.pauseBtn.setText(_translate("Form", "Pause"))
        self.deviceCombo.setToolTip(_translate("Form", "<html><head/><body><p>The imaging device to use during the sequence acquisition.</p></body></html>"))
        self.startBtn.setToolTip(_translate("Form", "<html><head/><body><p>Begin acquiring a sequence of images (timelapse, z-stack, or both).</p><p>Click again to interrupt a running sequence.</p></body></html>"))
        self.startBtn.setText(_translate("Form", "Start"))
        self.timelapseGroup.setToolTip(_translate("Form", "<html><head/><body><p>Enable/disable acquiring a timelapse series of images or z-stacks.</p></body></html>"))
        self.timelapseGroup.setTitle(_translate("Form", "Timelapse"))
        self.intervalSpin.setToolTip(_translate("Form", "<html><head/><body><p>The minimum time interval to wait between the start of subsequent acquisitions.</p><p>The actual interval may be longer if the image or z-stack acquisition is slow.</p></body></html>"))
        self.label_4.setText(_translate("Form", "Interval"))
        self.label_5.setText(_translate("Form", "Iterations"))
        self.iterationsSpin.setToolTip(_translate("Form", "<html><head/><body><p>The number of images or (z-stacks, if enabled) to acquire in the timelapse series.</p><p>If the values is &quot;inf&quot;, then the acquisition will continue until the user clicks Stop.</p></body></html>"))
        self.iterationsSpin.setSpecialValueText(_translate("Form", "inf"))
        self.zStackGroup.setToolTip(_translate("Form", "<html><head/><body><p>Enable or disable acquiring a stack of images along a range of focus depths.</p><p>The entire stack is acquired once per timelapse iteration.</p></body></html>"))
        self.zStackGroup.setTitle(_translate("Form", "Z Stack"))
        self.zSpacingSpin.setToolTip(_translate("Form", "<html><head/><body><p>Spacing petween frames in the z-stack.</p></body></html>"))
        self.zStartSpin.setToolTip(_translate("Form", "<html><head/><body><p>The focus depth at the beginning of the z-stack.</p></body></html>"))
        self.label.setText(_translate("Form", "Spacing"))
        self.zEndSpin.setToolTip(_translate("Form", "<html><head/><body><p>The approximate focus depth at the end of the z-stack.</p><p>(The exact end point is the start point plus a multiple of the spacing)</p></body></html>"))
        self.label_3.setText(_translate("Form", "End"))
        self.label_2.setText(_translate("Form", "Start"))
        self.setStartBtn.setToolTip(_translate("Form", "<html><head/><body><p>Use the current focus depth as the z-stack start point.</p></body></html>"))
        self.setStartBtn.setText(_translate("Form", ">"))
        self.setEndBtn.setToolTip(_translate("Form", "<html><head/><body><p>Use the current focus depth as the z-stack endpoint.</p></body></html>"))
        self.setEndBtn.setText(_translate("Form", ">"))
예제 #8
0
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName(_fromUtf8("MainWindow"))
        MainWindow.resize(1051, 877)
        self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        self.horizontalLayout_3 = QtGui.QHBoxLayout(self.centralwidget)
        self.horizontalLayout_3.setSpacing(0)
        self.horizontalLayout_3.setMargin(0)
        self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
        self.graphicsView = GraphicsView(self.centralwidget)
        self.graphicsView.setObjectName(_fromUtf8("graphicsView"))
        self.horizontalLayout_3.addWidget(self.graphicsView)
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtGui.QStatusBar(MainWindow)
        self.statusbar.setObjectName(_fromUtf8("statusbar"))
        MainWindow.setStatusBar(self.statusbar)
        self.dockWidget = QtGui.QDockWidget(MainWindow)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.dockWidget.sizePolicy().hasHeightForWidth())
        self.dockWidget.setSizePolicy(sizePolicy)
        self.dockWidget.setFeatures(QtGui.QDockWidget.DockWidgetFloatable|QtGui.QDockWidget.DockWidgetMovable|QtGui.QDockWidget.DockWidgetVerticalTitleBar)
        self.dockWidget.setObjectName(_fromUtf8("dockWidget"))
        self.dockWidgetContents = QtGui.QWidget()
        self.dockWidgetContents.setObjectName(_fromUtf8("dockWidgetContents"))
        self.gridLayout_2 = QtGui.QGridLayout(self.dockWidgetContents)
        self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
        self.horizontalLayout_5 = QtGui.QHBoxLayout()
        self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
        self.btnAcquire = QtGui.QPushButton(self.dockWidgetContents)
        self.btnAcquire.setCheckable(True)
        self.btnAcquire.setObjectName(_fromUtf8("btnAcquire"))
        self.horizontalLayout_5.addWidget(self.btnAcquire)
        self.btnSnap = FeedbackButton(self.dockWidgetContents)
        self.btnSnap.setObjectName(_fromUtf8("btnSnap"))
        self.horizontalLayout_5.addWidget(self.btnSnap)
        self.btnRecord = QtGui.QPushButton(self.dockWidgetContents)
        self.btnRecord.setEnabled(True)
        self.btnRecord.setCheckable(True)
        self.btnRecord.setFlat(False)
        self.btnRecord.setObjectName(_fromUtf8("btnRecord"))
        self.horizontalLayout_5.addWidget(self.btnRecord)
        self.recordXframesCheck = QtGui.QCheckBox(self.dockWidgetContents)
        self.recordXframesCheck.setObjectName(_fromUtf8("recordXframesCheck"))
        self.horizontalLayout_5.addWidget(self.recordXframesCheck)
        self.horizontalLayout_4 = QtGui.QHBoxLayout()
        self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
        self.recordXframesSpin = QtGui.QSpinBox(self.dockWidgetContents)
        self.recordXframesSpin.setEnabled(True)
        self.recordXframesSpin.setMinimum(1)
        self.recordXframesSpin.setMaximum(1000000)
        self.recordXframesSpin.setProperty("value", 100)
        self.recordXframesSpin.setObjectName(_fromUtf8("recordXframesSpin"))
        self.horizontalLayout_4.addWidget(self.recordXframesSpin)
        self.framesLabel = QtGui.QLabel(self.dockWidgetContents)
        self.framesLabel.setEnabled(True)
        self.framesLabel.setObjectName(_fromUtf8("framesLabel"))
        self.horizontalLayout_4.addWidget(self.framesLabel)
        self.horizontalLayout_5.addLayout(self.horizontalLayout_4)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_5.addItem(spacerItem)
        self.gridLayout_2.addLayout(self.horizontalLayout_5, 0, 0, 1, 1)
        self.hboxlayout = QtGui.QHBoxLayout()
        self.hboxlayout.setSpacing(6)
        self.hboxlayout.setObjectName(_fromUtf8("hboxlayout"))
        self.label_2 = QtGui.QLabel(self.dockWidgetContents)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.hboxlayout.addWidget(self.label_2)
        self.binningCombo = QtGui.QComboBox(self.dockWidgetContents)
        self.binningCombo.setObjectName(_fromUtf8("binningCombo"))
        self.hboxlayout.addWidget(self.binningCombo)
        self.label_3 = QtGui.QLabel(self.dockWidgetContents)
        self.label_3.setObjectName(_fromUtf8("label_3"))
        self.hboxlayout.addWidget(self.label_3)
        self.spinExposure = SpinBox(self.dockWidgetContents)
        self.spinExposure.setMinimumSize(QtCore.QSize(80, 0))
        self.spinExposure.setObjectName(_fromUtf8("spinExposure"))
        self.hboxlayout.addWidget(self.spinExposure)
        self.btnFullFrame = QtGui.QPushButton(self.dockWidgetContents)
        self.btnFullFrame.setObjectName(_fromUtf8("btnFullFrame"))
        self.hboxlayout.addWidget(self.btnFullFrame)
        spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.hboxlayout.addItem(spacerItem1)
        self.gridLayout_2.addLayout(self.hboxlayout, 1, 0, 1, 1)
        self.dockWidget.setWidget(self.dockWidgetContents)
        MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(4), self.dockWidget)
        self.dockWidget_2 = QtGui.QDockWidget(MainWindow)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.dockWidget_2.sizePolicy().hasHeightForWidth())
        self.dockWidget_2.setSizePolicy(sizePolicy)
        self.dockWidget_2.setFeatures(QtGui.QDockWidget.DockWidgetFloatable|QtGui.QDockWidget.DockWidgetMovable)
        self.dockWidget_2.setObjectName(_fromUtf8("dockWidget_2"))
        self.dockWidgetContents_2 = QtGui.QWidget()
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(1)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.dockWidgetContents_2.sizePolicy().hasHeightForWidth())
        self.dockWidgetContents_2.setSizePolicy(sizePolicy)
        self.dockWidgetContents_2.setObjectName(_fromUtf8("dockWidgetContents_2"))
        self.vboxlayout = QtGui.QVBoxLayout(self.dockWidgetContents_2)
        self.vboxlayout.setSpacing(0)
        self.vboxlayout.setMargin(0)
        self.vboxlayout.setObjectName(_fromUtf8("vboxlayout"))
        self.hboxlayout1 = QtGui.QHBoxLayout()
        self.hboxlayout1.setObjectName(_fromUtf8("hboxlayout1"))
        self.histogram = HistogramLUTWidget(self.dockWidgetContents_2)
        self.histogram.setObjectName(_fromUtf8("histogram"))
        self.hboxlayout1.addWidget(self.histogram)
        self.vboxlayout.addLayout(self.hboxlayout1)
        self.btnAutoGain = QtGui.QPushButton(self.dockWidgetContents_2)
        self.btnAutoGain.setCheckable(True)
        self.btnAutoGain.setChecked(False)
        self.btnAutoGain.setObjectName(_fromUtf8("btnAutoGain"))
        self.vboxlayout.addWidget(self.btnAutoGain)
        self.gridlayout = QtGui.QGridLayout()
        self.gridlayout.setHorizontalSpacing(6)
        self.gridlayout.setVerticalSpacing(0)
        self.gridlayout.setObjectName(_fromUtf8("gridlayout"))
        self.label_6 = QtGui.QLabel(self.dockWidgetContents_2)
        self.label_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_6.setObjectName(_fromUtf8("label_6"))
        self.gridlayout.addWidget(self.label_6, 0, 0, 1, 1)
        self.spinAutoGainSpeed = QtGui.QDoubleSpinBox(self.dockWidgetContents_2)
        self.spinAutoGainSpeed.setProperty("value", 2.0)
        self.spinAutoGainSpeed.setObjectName(_fromUtf8("spinAutoGainSpeed"))
        self.gridlayout.addWidget(self.spinAutoGainSpeed, 0, 1, 1, 1)
        self.label_8 = QtGui.QLabel(self.dockWidgetContents_2)
        self.label_8.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_8.setObjectName(_fromUtf8("label_8"))
        self.gridlayout.addWidget(self.label_8, 1, 0, 1, 1)
        self.spinAutoGainCenterWeight = QtGui.QDoubleSpinBox(self.dockWidgetContents_2)
        self.spinAutoGainCenterWeight.setMaximum(1.0)
        self.spinAutoGainCenterWeight.setSingleStep(0.1)
        self.spinAutoGainCenterWeight.setObjectName(_fromUtf8("spinAutoGainCenterWeight"))
        self.gridlayout.addWidget(self.spinAutoGainCenterWeight, 1, 1, 1, 1)
        self.vboxlayout.addLayout(self.gridlayout)
        self.dockWidget_2.setWidget(self.dockWidgetContents_2)
        MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dockWidget_2)
        self.dockWidget_4 = QtGui.QDockWidget(MainWindow)
        self.dockWidget_4.setFeatures(QtGui.QDockWidget.DockWidgetFloatable|QtGui.QDockWidget.DockWidgetMovable|QtGui.QDockWidget.DockWidgetVerticalTitleBar)
        self.dockWidget_4.setObjectName(_fromUtf8("dockWidget_4"))
        self.dockWidgetContents_4 = QtGui.QWidget()
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.dockWidgetContents_4.sizePolicy().hasHeightForWidth())
        self.dockWidgetContents_4.setSizePolicy(sizePolicy)
        self.dockWidgetContents_4.setObjectName(_fromUtf8("dockWidgetContents_4"))
        self.horizontalLayout = QtGui.QHBoxLayout(self.dockWidgetContents_4)
        self.horizontalLayout.setSpacing(0)
        self.horizontalLayout.setMargin(0)
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.gridLayout = QtGui.QGridLayout()
        self.gridLayout.setSpacing(0)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.checkEnableROIs = QtGui.QCheckBox(self.dockWidgetContents_4)
        self.checkEnableROIs.setObjectName(_fromUtf8("checkEnableROIs"))
        self.gridLayout.addWidget(self.checkEnableROIs, 0, 0, 1, 2)
        self.label_7 = QtGui.QLabel(self.dockWidgetContents_4)
        self.label_7.setObjectName(_fromUtf8("label_7"))
        self.gridLayout.addWidget(self.label_7, 5, 0, 1, 1)
        self.spinROITime = QtGui.QDoubleSpinBox(self.dockWidgetContents_4)
        self.spinROITime.setSingleStep(0.1)
        self.spinROITime.setProperty("value", 5.0)
        self.spinROITime.setObjectName(_fromUtf8("spinROITime"))
        self.gridLayout.addWidget(self.spinROITime, 5, 1, 1, 1)
        spacerItem2 = QtGui.QSpacerItem(88, 17, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem2, 6, 0, 1, 2)
        self.btnAddROI = QtGui.QPushButton(self.dockWidgetContents_4)
        self.btnAddROI.setObjectName(_fromUtf8("btnAddROI"))
        self.gridLayout.addWidget(self.btnAddROI, 1, 0, 1, 1)
        self.btnClearROIs = QtGui.QPushButton(self.dockWidgetContents_4)
        self.btnClearROIs.setObjectName(_fromUtf8("btnClearROIs"))
        self.gridLayout.addWidget(self.btnClearROIs, 1, 1, 1, 1)
        self.horizontalLayout.addLayout(self.gridLayout)
        self.plotWidget = PlotWidget(self.dockWidgetContents_4)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.plotWidget.sizePolicy().hasHeightForWidth())
        self.plotWidget.setSizePolicy(sizePolicy)
        self.plotWidget.setObjectName(_fromUtf8("plotWidget"))
        self.horizontalLayout.addWidget(self.plotWidget)
        self.dockWidget_4.setWidget(self.dockWidgetContents_4)
        MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(4), self.dockWidget_4)
        self.dockWidget_5 = QtGui.QDockWidget(MainWindow)
        self.dockWidget_5.setFloating(False)
        self.dockWidget_5.setFeatures(QtGui.QDockWidget.DockWidgetFloatable|QtGui.QDockWidget.DockWidgetMovable)
        self.dockWidget_5.setObjectName(_fromUtf8("dockWidget_5"))
        self.dockWidgetContents_5 = QtGui.QWidget()
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(1)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.dockWidgetContents_5.sizePolicy().hasHeightForWidth())
        self.dockWidgetContents_5.setSizePolicy(sizePolicy)
        self.dockWidgetContents_5.setObjectName(_fromUtf8("dockWidgetContents_5"))
        self.horizontalLayout_2 = QtGui.QHBoxLayout(self.dockWidgetContents_5)
        self.horizontalLayout_2.setSpacing(0)
        self.horizontalLayout_2.setMargin(0)
        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
        self.addFrameBtn = FeedbackButton(self.dockWidgetContents_5)
        self.addFrameBtn.setObjectName(_fromUtf8("addFrameBtn"))
        self.horizontalLayout_2.addWidget(self.addFrameBtn)
        self.clearFramesBtn = QtGui.QPushButton(self.dockWidgetContents_5)
        self.clearFramesBtn.setObjectName(_fromUtf8("clearFramesBtn"))
        self.horizontalLayout_2.addWidget(self.clearFramesBtn)
        self.dockWidget_5.setWidget(self.dockWidgetContents_5)
        MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dockWidget_5)
        self.dockWidget_3 = QtGui.QDockWidget(MainWindow)
        self.dockWidget_3.setFloating(False)
        self.dockWidget_3.setFeatures(QtGui.QDockWidget.DockWidgetFloatable|QtGui.QDockWidget.DockWidgetMovable)
        self.dockWidget_3.setObjectName(_fromUtf8("dockWidget_3"))
        self.dockWidgetContents_3 = QtGui.QWidget()
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(1)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.dockWidgetContents_3.sizePolicy().hasHeightForWidth())
        self.dockWidgetContents_3.setSizePolicy(sizePolicy)
        self.dockWidgetContents_3.setObjectName(_fromUtf8("dockWidgetContents_3"))
        self.gridLayout_3 = QtGui.QGridLayout(self.dockWidgetContents_3)
        self.gridLayout_3.setMargin(0)
        self.gridLayout_3.setSpacing(0)
        self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
        self.label_4 = QtGui.QLabel(self.dockWidgetContents_3)
        self.label_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_4.setObjectName(_fromUtf8("label_4"))
        self.gridLayout_3.addWidget(self.label_4, 1, 0, 1, 1)
        spacerItem3 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.gridLayout_3.addItem(spacerItem3, 6, 1, 1, 1)
        self.contAvgBgCheck = QtGui.QCheckBox(self.dockWidgetContents_3)
        self.contAvgBgCheck.setObjectName(_fromUtf8("contAvgBgCheck"))
        self.gridLayout_3.addWidget(self.contAvgBgCheck, 2, 0, 1, 4)
        self.bgTimeSpin = QtGui.QDoubleSpinBox(self.dockWidgetContents_3)
        self.bgTimeSpin.setDecimals(1)
        self.bgTimeSpin.setSingleStep(1.0)
        self.bgTimeSpin.setProperty("value", 3.0)
        self.bgTimeSpin.setObjectName(_fromUtf8("bgTimeSpin"))
        self.gridLayout_3.addWidget(self.bgTimeSpin, 1, 2, 1, 2)
        self.collectBgBtn = QtGui.QPushButton(self.dockWidgetContents_3)
        self.collectBgBtn.setCheckable(True)
        self.collectBgBtn.setObjectName(_fromUtf8("collectBgBtn"))
        self.gridLayout_3.addWidget(self.collectBgBtn, 0, 0, 1, 4)
        self.divideBgBtn = QtGui.QPushButton(self.dockWidgetContents_3)
        self.divideBgBtn.setCheckable(True)
        self.divideBgBtn.setAutoExclusive(False)
        self.divideBgBtn.setObjectName(_fromUtf8("divideBgBtn"))
        self.gridLayout_3.addWidget(self.divideBgBtn, 5, 0, 1, 4)
        self.label_5 = QtGui.QLabel(self.dockWidgetContents_3)
        self.label_5.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_5.setObjectName(_fromUtf8("label_5"))
        self.gridLayout_3.addWidget(self.label_5, 3, 0, 1, 1)
        self.bgBlurSpin = QtGui.QDoubleSpinBox(self.dockWidgetContents_3)
        self.bgBlurSpin.setProperty("value", 0.0)
        self.bgBlurSpin.setObjectName(_fromUtf8("bgBlurSpin"))
        self.gridLayout_3.addWidget(self.bgBlurSpin, 3, 2, 1, 2)
        self.subtractBgBtn = QtGui.QPushButton(self.dockWidgetContents_3)
        self.subtractBgBtn.setCheckable(True)
        self.subtractBgBtn.setAutoExclusive(False)
        self.subtractBgBtn.setObjectName(_fromUtf8("subtractBgBtn"))
        self.gridLayout_3.addWidget(self.subtractBgBtn, 4, 0, 1, 4)
        self.dockWidget_3.setWidget(self.dockWidgetContents_3)
        MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dockWidget_3)

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

    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(_translate("MainWindow", "Camera", None))
        self.dockWidget.setWindowTitle(_translate("MainWindow", "Camera", None))
        self.btnAcquire.setToolTip(_translate("MainWindow", "Start/stop camera acquisition.\n"
"In general, this can just stay on always.", None))
        self.btnAcquire.setText(_translate("MainWindow", "Acquire", None))
        self.btnSnap.setToolTip(_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:\'MS Shell Dlg 2\'; font-size:8.25pt; 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:8pt;\">Record a single frame. </span></p>\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:8pt;\">Image is written to the current storage directory set in </span></p>\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:8pt;\">the data manager window.</span></p></body></html>", None))
        self.btnSnap.setText(_translate("MainWindow", "Snap", None))
        self.btnRecord.setToolTip(_translate("MainWindow", "Start/stop recording frames as they are acquired. \n"
"Frames are written to the current storage directory set in \n"
"the data manager window.", None))
        self.btnRecord.setText(_translate("MainWindow", "Record", None))
        self.recordXframesCheck.setText(_translate("MainWindow", "Stop recording after", None))
        self.framesLabel.setText(_translate("MainWindow", "frames.", None))
        self.label_2.setText(_translate("MainWindow", "Binning", None))
        self.label_3.setText(_translate("MainWindow", "Exposure", None))
        self.spinExposure.setToolTip(_translate("MainWindow", "Sets the exposure time for each frame.", None))
        self.btnFullFrame.setToolTip(_translate("MainWindow", "Set the region of interest to the maximum possible area.", None))
        self.btnFullFrame.setText(_translate("MainWindow", "Full Frame", None))
        self.dockWidget_2.setWindowTitle(_translate("MainWindow", "Display Gain", None))
        self.btnAutoGain.setToolTip(_translate("MainWindow", "Determines the behavior of the white/black level sliders.\n"
"When enabled, the sliders maximum and minimum values are set\n"
"to the maximum and minimum intensity values in the image.\n"
"When disabled, the minimum is 0 and the maximum is the largest \n"
"possible intensity given the bit depth of the camera.", None))
        self.btnAutoGain.setText(_translate("MainWindow", "Auto Gain", None))
        self.label_6.setText(_translate("MainWindow", "Slow", None))
        self.spinAutoGainSpeed.setToolTip(_translate("MainWindow", "Smooths out the auto gain control, prevents very\n"
"brief flashes from affecting the gain. Larger values\n"
"indicate more smoothing.\n"
"", None))
        self.label_8.setText(_translate("MainWindow", "Center Weight", None))
        self.spinAutoGainCenterWeight.setToolTip(_translate("MainWindow", "Weights the auto gain measurement to the center 1/3 of\n"
"the frame when set to 1.0. A value of 0.0 meters from \n"
"the entire frame.", None))
        self.dockWidget_4.setWindowTitle(_translate("MainWindow", "Plots", None))
        self.checkEnableROIs.setToolTip(_translate("MainWindow", "Enables online calculation/plotting for ROIs.\n"
"ROIs can be still be used as position markers \n"
"if this box is unchecked.", None))
        self.checkEnableROIs.setText(_translate("MainWindow", "Enable ROIs", None))
        self.label_7.setText(_translate("MainWindow", "Time:", None))
        self.spinROITime.setToolTip(_translate("MainWindow", "Sets the amount of time that ROI data is displayed in the plot.", None))
        self.btnAddROI.setToolTip(_translate("MainWindow", "Adds an ROI to the canvas.", None))
        self.btnAddROI.setText(_translate("MainWindow", "Add", None))
        self.btnClearROIs.setToolTip(_translate("MainWindow", "Clears all ROIs from the canvas.", None))
        self.btnClearROIs.setText(_translate("MainWindow", "Clear", None))
        self.dockWidget_5.setWindowTitle(_translate("MainWindow", "Persistent Frames", None))
        self.addFrameBtn.setToolTip(_translate("MainWindow", "Adds the current camera image to the canvas.\n"
"", None))
        self.addFrameBtn.setText(_translate("MainWindow", "Add", None))
        self.clearFramesBtn.setToolTip(_translate("MainWindow", "Clears all images from the canvas.", None))
        self.clearFramesBtn.setText(_translate("MainWindow", "Clear", None))
        self.dockWidget_3.setWindowTitle(_translate("MainWindow", "Background Subtraction", None))
        self.label_4.setText(_translate("MainWindow", "Average", None))
        self.contAvgBgCheck.setText(_translate("MainWindow", "Continuous Average", None))
        self.bgTimeSpin.setToolTip(_translate("MainWindow", "Sets the approximate number of frames to be averaged for\n"
"background division.", None))
        self.bgTimeSpin.setSuffix(_translate("MainWindow", " s", None))
        self.collectBgBtn.setText(_translate("MainWindow", "Collect Background", None))
        self.divideBgBtn.setToolTip(_translate("MainWindow", "Enables background division. \n"
"Either a set of static background frames need to have already by collected\n"
"(by pressing \'Static\' above) or \'Continuous\' needs to be pressed.", None))
        self.divideBgBtn.setText(_translate("MainWindow", "Divide Background", None))
        self.label_5.setText(_translate("MainWindow", "Blur Background.", None))
        self.bgBlurSpin.setToolTip(_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:\'MS Shell Dlg 2\'; font-size:8.25pt; 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:8pt;\">Blurs the background frame before dividing it from the current frame.</span></p>\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:8pt;\">Large blur values may cause performance to degrade.</span></p></body></html>", None))
        self.subtractBgBtn.setText(_translate("MainWindow", "Subtract Background", None))