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."))
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))
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))
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"))
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))
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))
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 "inf", 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", ">"))
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))