def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(187, 247)
        self.gridLayout_2 = QtWidgets.QGridLayout(Form)
        self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
        self.gridLayout_2.setSpacing(0)
        self.gridLayout_2.setObjectName("gridLayout_2")
        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout_2.addItem(spacerItem, 2, 0, 1, 1)
        self.line = QtWidgets.QFrame(Form)
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        self.gridLayout_2.addWidget(self.line, 1, 0, 1, 2)
        self.acqBtnLayout = QtWidgets.QGridLayout()
        self.acqBtnLayout.setObjectName("acqBtnLayout")
        self.acquireFrameBtn = QtWidgets.QPushButton(Form)
        self.acquireFrameBtn.setObjectName("acquireFrameBtn")
        self.acqBtnLayout.addWidget(self.acquireFrameBtn, 0, 0, 1, 1)
        self.acquireVideoBtn = QtWidgets.QPushButton(Form)
        self.acquireVideoBtn.setCheckable(True)
        self.acquireVideoBtn.setObjectName("acquireVideoBtn")
        self.acqBtnLayout.addWidget(self.acquireVideoBtn, 0, 1, 1, 1)
        self.gridLayout_2.addLayout(self.acqBtnLayout, 0, 0, 1, 2)
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")
        self.label_7 = QtWidgets.QLabel(Form)
        self.label_7.setObjectName("label_7")
        self.gridLayout.addWidget(self.label_7, 7, 0, 1, 1)
        self.label_9 = QtWidgets.QLabel(Form)
        self.label_9.setObjectName("label_9")
        self.gridLayout.addWidget(self.label_9, 4, 0, 1, 1)
        self.stackSizeLabel = QtWidgets.QLabel(Form)
        self.stackSizeLabel.setObjectName("stackSizeLabel")
        self.gridLayout.addWidget(self.stackSizeLabel, 4, 1, 1, 2)
        self.label = QtWidgets.QLabel(Form)
        self.label.setObjectName("label")
        self.gridLayout.addWidget(self.label, 6, 0, 1, 1)
        self.fpsLabel = ValueLabel(Form)
        self.fpsLabel.setObjectName("fpsLabel")
        self.gridLayout.addWidget(self.fpsLabel, 6, 1, 1, 1)
        self.recordXframesSpin = QtWidgets.QSpinBox(Form)
        self.recordXframesSpin.setEnabled(True)
        self.recordXframesSpin.setMinimum(1)
        self.recordXframesSpin.setMaximum(1000000)
        self.recordXframesSpin.setProperty("value", 100)
        self.recordXframesSpin.setObjectName("recordXframesSpin")
        self.gridLayout.addWidget(self.recordXframesSpin, 3, 1, 1, 2)
        self.recordXframesCheck = QtWidgets.QCheckBox(Form)
        self.recordXframesCheck.setObjectName("recordXframesCheck")
        self.gridLayout.addWidget(self.recordXframesCheck, 3, 0, 1, 1)
        self.recordStackBtn = QtWidgets.QPushButton(Form)
        self.recordStackBtn.setCheckable(True)
        self.recordStackBtn.setFlat(False)
        self.recordStackBtn.setObjectName("recordStackBtn")
        self.gridLayout.addWidget(self.recordStackBtn, 2, 0, 1, 3)
        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem1, 5, 0, 1, 1)
        self.displayPercentLabel = ValueLabel(Form)
        self.displayPercentLabel.setObjectName("displayPercentLabel")
        self.gridLayout.addWidget(self.displayPercentLabel, 7, 2, 1, 1)
        spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem2, 1, 0, 1, 1)
        self.displayFpsLabel = ValueLabel(Form)
        self.displayFpsLabel.setObjectName("displayFpsLabel")
        self.gridLayout.addWidget(self.displayFpsLabel, 7, 1, 1, 1)
        self.clearPinnedFramesBtn = QtWidgets.QPushButton(Form)
        self.clearPinnedFramesBtn.setObjectName("clearPinnedFramesBtn")
        self.gridLayout.addWidget(self.clearPinnedFramesBtn, 0, 1, 1, 2)
        self.gridLayout_2.addLayout(self.gridLayout, 5, 0, 1, 2)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.saveFrameBtn = FeedbackButton(Form)
        self.saveFrameBtn.setObjectName("saveFrameBtn")
        self.horizontalLayout.addWidget(self.saveFrameBtn)
        self.linkSavePinBtn = QtWidgets.QPushButton(Form)
        self.linkSavePinBtn.setMaximumSize(Qt.QSize(20, 16777215))
        self.linkSavePinBtn.setCheckable(True)
        self.linkSavePinBtn.setObjectName("linkSavePinBtn")
        self.horizontalLayout.addWidget(self.linkSavePinBtn)
        self.pinFrameBtn = QtWidgets.QPushButton(Form)
        self.pinFrameBtn.setObjectName("pinFrameBtn")
        self.horizontalLayout.addWidget(self.pinFrameBtn)
        self.gridLayout_2.addLayout(self.horizontalLayout, 3, 0, 1, 2)

        self.retranslateUi(Form)
        Qt.QMetaObject.connectSlotsByName(Form)
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(187, 247)
        self.gridLayout_2 = QtWidgets.QGridLayout(Form)
        self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
        self.gridLayout_2.setSpacing(0)
        self.gridLayout_2.setObjectName("gridLayout_2")
        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout_2.addItem(spacerItem, 2, 0, 1, 1)
        self.line = QtWidgets.QFrame(Form)
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        self.gridLayout_2.addWidget(self.line, 1, 0, 1, 2)
        self.acqBtnLayout = QtWidgets.QGridLayout()
        self.acqBtnLayout.setObjectName("acqBtnLayout")
        self.acquireFrameBtn = QtWidgets.QPushButton(Form)
        self.acquireFrameBtn.setObjectName("acquireFrameBtn")
        self.acqBtnLayout.addWidget(self.acquireFrameBtn, 0, 0, 1, 1)
        self.acquireVideoBtn = QtWidgets.QPushButton(Form)
        self.acquireVideoBtn.setCheckable(True)
        self.acquireVideoBtn.setObjectName("acquireVideoBtn")
        self.acqBtnLayout.addWidget(self.acquireVideoBtn, 0, 1, 1, 1)
        self.gridLayout_2.addLayout(self.acqBtnLayout, 0, 0, 1, 2)
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")
        self.label_7 = QtWidgets.QLabel(Form)
        self.label_7.setObjectName("label_7")
        self.gridLayout.addWidget(self.label_7, 7, 0, 1, 1)
        self.label_9 = QtWidgets.QLabel(Form)
        self.label_9.setObjectName("label_9")
        self.gridLayout.addWidget(self.label_9, 4, 0, 1, 1)
        self.stackSizeLabel = QtWidgets.QLabel(Form)
        self.stackSizeLabel.setObjectName("stackSizeLabel")
        self.gridLayout.addWidget(self.stackSizeLabel, 4, 1, 1, 2)
        self.label = QtWidgets.QLabel(Form)
        self.label.setObjectName("label")
        self.gridLayout.addWidget(self.label, 6, 0, 1, 1)
        self.fpsLabel = ValueLabel(Form)
        self.fpsLabel.setObjectName("fpsLabel")
        self.gridLayout.addWidget(self.fpsLabel, 6, 1, 1, 1)
        self.recordXframesSpin = QtWidgets.QSpinBox(Form)
        self.recordXframesSpin.setEnabled(True)
        self.recordXframesSpin.setMinimum(1)
        self.recordXframesSpin.setMaximum(1000000)
        self.recordXframesSpin.setProperty("value", 100)
        self.recordXframesSpin.setObjectName("recordXframesSpin")
        self.gridLayout.addWidget(self.recordXframesSpin, 3, 1, 1, 2)
        self.recordXframesCheck = QtWidgets.QCheckBox(Form)
        self.recordXframesCheck.setObjectName("recordXframesCheck")
        self.gridLayout.addWidget(self.recordXframesCheck, 3, 0, 1, 1)
        self.recordStackBtn = QtWidgets.QPushButton(Form)
        self.recordStackBtn.setCheckable(True)
        self.recordStackBtn.setFlat(False)
        self.recordStackBtn.setObjectName("recordStackBtn")
        self.gridLayout.addWidget(self.recordStackBtn, 2, 0, 1, 3)
        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem1, 5, 0, 1, 1)
        self.displayPercentLabel = ValueLabel(Form)
        self.displayPercentLabel.setObjectName("displayPercentLabel")
        self.gridLayout.addWidget(self.displayPercentLabel, 7, 2, 1, 1)
        spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem2, 1, 0, 1, 1)
        self.displayFpsLabel = ValueLabel(Form)
        self.displayFpsLabel.setObjectName("displayFpsLabel")
        self.gridLayout.addWidget(self.displayFpsLabel, 7, 1, 1, 1)
        self.clearPinnedFramesBtn = QtWidgets.QPushButton(Form)
        self.clearPinnedFramesBtn.setObjectName("clearPinnedFramesBtn")
        self.gridLayout.addWidget(self.clearPinnedFramesBtn, 0, 1, 1, 2)
        self.gridLayout_2.addLayout(self.gridLayout, 5, 0, 1, 2)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.saveFrameBtn = FeedbackButton(Form)
        self.saveFrameBtn.setObjectName("saveFrameBtn")
        self.horizontalLayout.addWidget(self.saveFrameBtn)
        self.linkSavePinBtn = QtWidgets.QPushButton(Form)
        self.linkSavePinBtn.setMaximumSize(Qt.QSize(20, 16777215))
        self.linkSavePinBtn.setCheckable(True)
        self.linkSavePinBtn.setObjectName("linkSavePinBtn")
        self.horizontalLayout.addWidget(self.linkSavePinBtn)
        self.pinFrameBtn = QtWidgets.QPushButton(Form)
        self.pinFrameBtn.setObjectName("pinFrameBtn")
        self.horizontalLayout.addWidget(self.pinFrameBtn)
        self.gridLayout_2.addLayout(self.horizontalLayout, 3, 0, 1, 2)

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

    def retranslateUi(self, Form):
        _translate = Qt.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.acquireFrameBtn.setText(_translate("Form", "Acquire Frame"))
        self.acquireVideoBtn.setToolTip(_translate("Form", "Start/stop camera acquisition.\n"
"In general, this can just stay on always."))
        self.acquireVideoBtn.setText(_translate("Form", "Acquire Video"))
        self.label_7.setText(_translate("Form", "Displaying:"))
        self.label_9.setText(_translate("Form", "Stack Size:"))
        self.stackSizeLabel.setText(_translate("Form", "0 frames"))
        self.label.setText(_translate("Form", "Acquiring:"))
        self.fpsLabel.setText(_translate("Form", "0 fps"))
        self.recordXframesSpin.setSuffix(_translate("Form", " frames"))
        self.recordXframesCheck.setText(_translate("Form", "Stack Limit"))
        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."))
        self.recordStackBtn.setText(_translate("Form", "Record Stack"))
        self.displayPercentLabel.setText(_translate("Form", "(0%)"))
        self.displayFpsLabel.setText(_translate("Form", "0 fps"))
        self.clearPinnedFramesBtn.setText(_translate("Form", "Clear Pinned Frames"))
        self.saveFrameBtn.setToolTip(_translate("Form", "Store the last acquired frame to disk"))
        self.saveFrameBtn.setText(_translate("Form", "Save Frame"))
        self.linkSavePinBtn.setToolTip(_translate("Form", "Link the Save Frame and Pin Frame buttons so that clicking either button performs both functions"))
        self.linkSavePinBtn.setText(_translate("Form", "<>"))
        self.pinFrameBtn.setToolTip(_translate("Form", "Pin the last acquired frame to the view background"))
        self.pinFrameBtn.setText(_translate("Form", "Pin Frame"))
    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)
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))
Example #5
0
    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)
Example #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))