예제 #1
0
    def test_guiqwt_case_altthread(self):
        app = QApplication([])
        from threading import Thread
        import numpy as np
        from guiqwt.plot import ImageWidget
        from guiqwt.builder import make
        import time
        im = ImageWidget()
        im.register_all_curve_tools()
        ts = TestSync()

        def test_thread():
            ts.initialize_subobject(im)
            std_signal = SignalResync.Auto(intermediate_thread=True)
            std_signal.connect(ts.receiver_int)
            v_int = 0
            while True:
                v_int += 1
                std_signal.emit(v_int)
                time.sleep(0.5)
                if v_int == 5:
                    break
            im.close()

        t = Thread(None, test_thread)
        t.start()
        im.show()
        app.exec_()
        assert (ts._internal_value != 0)
예제 #2
0
    def __init__(self, parent, toolbar):
        QSplitter.__init__(self, parent)
        self.setContentsMargins(10, 10, 10, 10)
        self.setOrientation(Qt.Vertical)

        imagelistwithproperties = ImageListWithProperties(self)
        self.addWidget(imagelistwithproperties)
        self.imagelist = imagelistwithproperties.imagelist
        self.connect(self.imagelist, SIGNAL("currentRowChanged(int)"),
                     self.current_item_changed)
        self.connect(self.imagelist, SIGNAL("itemSelectionChanged()"),
                     self.selection_changed)
        self.properties = imagelistwithproperties.properties
        self.connect(self.properties, SIGNAL("apply_button_clicked()"),
                     self.properties_changed)

        self.imagewidget = ImageWidget(self)
        self.connect(self.imagewidget.plot, SIG_LUT_CHANGED,
                     self.lut_range_changed)
        self.item = None  # image item

        self.imagewidget.add_toolbar(toolbar, "default")
        self.imagewidget.register_all_image_tools()

        self.addWidget(self.imagewidget)

        self.images = []  # List of ImageParam instances
        self.lut_ranges = []  # List of LUT ranges

        self.setStretchFactor(0, 0)
        self.setStretchFactor(1, 1)
        self.setHandleWidth(10)
        self.setSizes([1, 2])
예제 #3
0
    def test_server_resync(self):
        from pizco import Server
        app = QApplication([])
        srv = RemotePizcoEmitterResync()
        pizco_srv = Server(srv, rep_endpoint="tcp://127.0.0.1:1211")
        from threading import Thread
        import numpy as np
        from guiqwt.plot import ImageWidget
        from guiqwt.builder import make
        import time
        im = ImageWidget()
        im.register_all_curve_tools()
        ts = TestSync()

        def test_thread():
            ts.initialize_subobject(im)
            srv.std_signal.connect(ts.receiver_int)
            v_int = 0
            while True:
                v_int += 1
                srv.emission()
                time.sleep(0.5)
                if v_int == 5:
                    break
            im.close()

        t = Thread(None, test_thread)
        t.start()
        im.show()
        app.exec_()
        pizco_srv.stop()
        assert (ts._internal_value != 0)
예제 #4
0
    def test_guiqwt_case(self):
        app = QApplication([])
        from threading import Thread
        import numpy as np
        from guiqwt.plot import ImageWidget
        from guiqwt.builder import make
        import time
        im = ImageWidget()
        im.register_all_curve_tools()
        ts = TestSync()

        def test_thread():
            ts.initialize_subobject(im)
            std_signal = SignalResync(1)
            std_signal.connect(ts.receiver_int)
            #std_signal.connect(pg.setValue)
            #test_built_in.connect(pg.setRange)
            v_int = 0
            while True:
                v_int += 1
                #ts.update_curve() goes through a non generic signal
                std_signal.emit(v_int)
                time.sleep(0.5)
                if v_int == 5:
                    break
                im.close()

        t = Thread(None, test_thread)
        t.start()
        im.show()
        app.exec_()
        assert (ts._internal_value != 0)
예제 #5
0
 def add_plot(self, iplt, irow, icol):
     widget = ImageWidget(self, "Plot #%d" % (iplt + 1))
     widget.setMinimumSize(200, 150)
     xdata = np.linspace(-10, 10)
     ydata = np.sin(xdata + np.random.randint(0, 100) * 0.01 * np.pi)
     curve_item = make.curve(xdata, ydata, color="b")
     widget.plot.add_item(curve_item)
     self.layout().addWidget(widget, irow, icol, 1, 1)
예제 #6
0
파일: base.py 프로젝트: mindw/guiqwt
    def __init__(self, parent, options=None):
        QWidget.__init__(self, parent=parent)

        if options is None:
            options = {}
        self.imagewidget = ImageWidget(self, **options)
        self.imagewidget.register_all_image_tools()

        hlayout = QHBoxLayout()
        self.add_buttons_to_layout(hlayout)
        
        vlayout = QVBoxLayout()
        vlayout.addWidget(self.imagewidget)
        vlayout.addLayout(hlayout)
        self.setLayout(vlayout)
예제 #7
0
    def test_proxy_resync(self):
        from pizco import Server
        pxy = Server.serve_in_process(RemotePizcoEmitter, (), {},
                                      rep_endpoint="tcp://127.0.0.1:1111")
        app = QApplication([])
        resync_proxy(pxy)
        from threading import Thread
        import numpy as np
        from guiqwt.plot import ImageWidget
        from guiqwt.builder import make
        import time
        im = ImageWidget()
        im.register_all_curve_tools()
        ts = TestSync()

        def test_thread():
            ts.initialize_subobject(im)
            pxy.std_signal.connect(ts.receiver_int)
            #std_signal.connect(pg.setValue)
            #test_built_in.connect(pg.setRange)
            v_int = 0
            while True:
                v_int += 1
                #ts.update_curve() goes through a non generic signal
                pxy.emission()
                time.sleep(0.5)
                if v_int == 5:
                    break
            im.close()

        t = Thread(None, test_thread)
        t.start()
        im.show()
        app.exec_()
        pxy._proxy_stop_server()
        pxy._proxy_stop_me()
        assert (ts._internal_value != 0)
    def setupUi(self, RingBufferViewer):
        RingBufferViewer.setObjectName(_fromUtf8("RingBufferViewer"))
        RingBufferViewer.resize(617, 601)
        self.verticalLayout = QtGui.QVBoxLayout(RingBufferViewer)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.imageWidget = ImageWidget(RingBufferViewer)
        self.imageWidget.setOrientation(QtCore.Qt.Vertical)
        self.imageWidget.setObjectName(_fromUtf8("imageWidget"))
        self.verticalLayout.addWidget(self.imageWidget)
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.indexSlider = QtGui.QSlider(RingBufferViewer)
        self.indexSlider.setOrientation(QtCore.Qt.Horizontal)
        self.indexSlider.setObjectName(_fromUtf8("indexSlider"))
        self.horizontalLayout.addWidget(self.indexSlider)
        self.indexBox = QtGui.QSpinBox(RingBufferViewer)
        self.indexBox.setObjectName(_fromUtf8("indexBox"))
        self.horizontalLayout.addWidget(self.indexBox)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem)
        self.closeButton = QtGui.QPushButton(RingBufferViewer)
        self.closeButton.setObjectName(_fromUtf8("closeButton"))
        self.horizontalLayout_2.addWidget(self.closeButton)
        self.verticalLayout.addLayout(self.horizontalLayout_2)

        self.retranslateUi(RingBufferViewer)
        QtCore.QObject.connect(self.indexSlider,
                               QtCore.SIGNAL(_fromUtf8("valueChanged(int)")),
                               self.indexBox.setValue)
        QtCore.QObject.connect(self.indexBox,
                               QtCore.SIGNAL(_fromUtf8("valueChanged(int)")),
                               self.indexSlider.setValue)
        QtCore.QMetaObject.connectSlotsByName(RingBufferViewer)
예제 #9
0
    def __init__(self, fname=None):
        gui.SlabWindow.__init__(self, HDFViewThread)
        self.setupSlabWindow(autoparam=True)
        self.auto_register_gui()

        self.register_param(self.datasets_treeWidget, "dataset")
        self.register_param(self.datapath_lineEdit, "datapath")

        # Setup Plots -- Could be eliminated if QtDesigner plugins were setup
        self.toolbar = Qt.QToolBar()
        self.addToolBar(self.toolbar)
        self.image_widget = ImageWidget(show_xsection=True, show_ysection=True)
        self.image_widget.add_toolbar(self.toolbar)
        self.image_widget.register_all_image_tools()
        self.image_plot = self.image_widget.plot
        self.image_plot_layout.addWidget(self.image_widget)
        self.gui["image_plot"] = self.image_plot

        self.line_widget = CurveWidget()
        self.gui[
            "line_plot"] = self.line_plot = self.line_widget.plot  #CurvePlot()
        self.line_plot_layout.addWidget(self.line_plot)
        self.line_widget.register_all_image_tools()

        # Context Menu actions
        self.set_x_action = Qt.QAction("Set as x data", self)
        self.clear_x_action = Qt.QAction("Clear x data", self)
        self.datasets_treeWidget.customContextMenuRequested.connect(
            lambda point: self.msg("menu requested"))
        self.datasets_treeWidget.customContextMenuRequested.connect(
            self.datasets_context_menu)

        # Connect launchers
        self.datapath_browse_pushButton.clicked.connect(self.select_datapath)
        self.register_script("set_datapath", self.datapath_lineEdit)
        self.register_script("load_file", self.datafiles_listWidget)
        self.register_script("load_dset", self.datasets_treeWidget)
        self.register_script("set_x_data", self.set_x_action)
        self.register_script("clear_x_data", self.clear_x_action)

        # Syntax Highlighting
        self.highlight = syntax.PythonHighlighter(
            self.script_textEdit.document())

        # Setup Prompt
        """
        message = "The currently loaded file is stored as 'f'"
        self.shell = InternalShell(self, message=message)
        self.shell.set_font(Qt.QFont("Consolas"))
        self.shell_dockWidget.setWidget(self.shell)
        self.gui["shell"] = self.shell
        """

        self.start_thread()

        if fname is not None:
            self.shell.exit_interpreter()
            directory = os.path.dirname(fname)
            nameitem = namedtuple('pseudoitem', ('filename', ))(fname)
            self.msg(fname)
            self.set_param("datapath", directory)
            self.start_script("set_datapath")
            self.start_script("load_file", nameitem)
예제 #10
0
    def __init__(self,
                 ident,
                 rank,
                 accum,
                 plotkwargs,
                 trace=None,
                 xpts=[],
                 ypts=[]):
        qt.QWidget.__init__(self)
        qt.QVBoxLayout(self)
        self.layout().setSpacing(0)
        self.layout().setContentsMargins(5, 0, 5, 0)

        self.toolbar = toolbar = qt.QToolBar()
        self.layout().addWidget(toolbar)

        self.ident = ident
        self.rank = rank
        self.accum = accum
        self.xpts = xpts
        self.ypts = ypts
        self.update_count = 0
        self.collapsed = False

        autoscale_gui_default = True
        if self.rank == 1:
            self.plot_widget = CurveWidget(title=ident)
            self.plot_widget.add_toolbar(toolbar)
            self.plot_widget.register_all_curve_tools()
            try:
                vmin, vmax = plotkwargs.pop('xlimit')
                self.plot_widget.plot.set_axis_limits(2, vmin, vmax)
                autoscale_gui_default = False
            except:
                pass
            try:
                vmin, vmax = plotkwargs.pop('ylimit')
                self.plot_widget.plot.set_axis_limits(0, vmin, vmax)
                autoscale_gui_default = False
            except:
                pass
            try:
                title = plotkwargs.pop('title')
                self.plot_widget.set_title(title)
            except:
                pass
            try:
                background = plotkwargs.pop('background')
                self.plot_widget.plot.grid.gridparam.background = background
                self.plot_widget.plot.grid.update_params()
            except:
                pass

        elif self.rank == 2:
            self.plot_widget = ImageWidget(title=ident,
                                           lock_aspect_ratio=False)
            self.plot_widget.add_toolbar(toolbar)
            self.plot_widget.register_all_image_tools()
        else:
            raise ValueError
        self.items = {}
        self.add_item(trace, plotkwargs)
        self.layout().addWidget(self.plot_widget)

        self.buttons_widget = buttons = qt.QWidget()
        qt.QHBoxLayout(buttons)
        self.hide_button = qt.QPushButton('Hide')
        self.hide_button.clicked.connect(self.collapse)
        self.show_button = qt.QPushButton('Show ' + ident)
        self.show_button.clicked.connect(self.expand)
        self.show_button.hide()
        self.remove_button = qt.QPushButton('Remove')
        self.zoom_button = qt.QPushButton('Zoom')
        self.autoscale_check = qt.QCheckBox('autoscale')
        #print autoscale_gui_default,"<== is this true?"
        self.autoscale_check.setChecked(autoscale_gui_default)
        buttons.layout().addWidget(self.hide_button)
        buttons.layout().addWidget(self.remove_button)
        buttons.layout().addWidget(self.zoom_button)
        buttons.layout().addWidget(self.autoscale_check)
        self.layout().addWidget(buttons)
        self.layout().addWidget(self.show_button)
예제 #11
0
 def setup_plot(self):
     self.imagewidget = ImageWidget()
     self.plot = self.imagewidget.plot
     self.image = make.image(np.random.rand(100, 100))
     self.plot.add_item(self.image)
예제 #12
0
    def setupUi(self, NWADirectoryViewerWindow):
        NWADirectoryViewerWindow.setObjectName("NWADirectoryViewerWindow")
        NWADirectoryViewerWindow.resize(800, 600)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            NWADirectoryViewerWindow.sizePolicy().hasHeightForWidth())
        NWADirectoryViewerWindow.setSizePolicy(sizePolicy)
        self.centralwidget = QtGui.QWidget(NWADirectoryViewerWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget)
        self.verticalLayout.setObjectName("verticalLayout")
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.fileLabel = QtGui.QLabel(self.centralwidget)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.fileLabel.sizePolicy().hasHeightForWidth())
        self.fileLabel.setSizePolicy(sizePolicy)
        self.fileLabel.setObjectName("fileLabel")
        self.horizontalLayout.addWidget(self.fileLabel)
        self.watchCheckBox = QtGui.QCheckBox(self.centralwidget)
        self.watchCheckBox.setChecked(True)
        self.watchCheckBox.setObjectName("watchCheckBox")
        self.horizontalLayout.addWidget(self.watchCheckBox)
        self.autoscaleCheckBox = QtGui.QCheckBox(self.centralwidget)
        self.autoscaleCheckBox.setChecked(True)
        self.autoscaleCheckBox.setObjectName("autoscaleCheckBox")
        self.horizontalLayout.addWidget(self.autoscaleCheckBox)
        self.linearCheckBox = QtGui.QCheckBox(self.centralwidget)
        self.linearCheckBox.setObjectName("linearCheckBox")
        self.horizontalLayout.addWidget(self.linearCheckBox)
        self.normalizeCheckBox = QtGui.QCheckBox(self.centralwidget)
        self.normalizeCheckBox.setObjectName("normalizeCheckBox")
        self.horizontalLayout.addWidget(self.normalizeCheckBox)
        self.fileButton = QtGui.QPushButton(self.centralwidget)
        self.fileButton.setObjectName("fileButton")
        self.horizontalLayout.addWidget(self.fileButton)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.imagewidget = ImageWidget(self.centralwidget)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.imagewidget.sizePolicy().hasHeightForWidth())
        self.imagewidget.setSizePolicy(sizePolicy)
        self.imagewidget.setOrientation(QtCore.Qt.Vertical)
        self.imagewidget.setObjectName("imagewidget")
        self.verticalLayout.addWidget(self.imagewidget)
        NWADirectoryViewerWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtGui.QMenuBar(NWADirectoryViewerWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 22))
        self.menubar.setObjectName("menubar")
        NWADirectoryViewerWindow.setMenuBar(self.menubar)
        self.statusbar = QtGui.QStatusBar(NWADirectoryViewerWindow)
        self.statusbar.setObjectName("statusbar")
        NWADirectoryViewerWindow.setStatusBar(self.statusbar)

        self.retranslateUi(NWADirectoryViewerWindow)
        QtCore.QMetaObject.connectSlotsByName(NWADirectoryViewerWindow)
예제 #13
0
    def setupUi(self, MainWindow):
        MainWindow.setObjectName(_fromUtf8("MainWindow"))
        MainWindow.resize(540, 854)
        self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        self.verticalLayout_2 = QtGui.QVBoxLayout(self.centralwidget)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.imageWidget = ImageWidget(self.centralwidget)
        self.imageWidget.setOrientation(QtCore.Qt.Vertical)
        self.imageWidget.setObjectName(_fromUtf8("imageWidget"))
        self.verticalLayout_2.addWidget(self.imageWidget)
        self.groupBox = QtGui.QGroupBox(self.centralwidget)
        self.groupBox.setObjectName(_fromUtf8("groupBox"))
        self.verticalLayout = QtGui.QVBoxLayout(self.groupBox)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.gridLayout_2 = QtGui.QGridLayout()
        self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
        self.exposureTimeBox = QtGui.QSpinBox(self.groupBox)
        self.exposureTimeBox.setMinimum(10)
        self.exposureTimeBox.setMaximum(5000)
        self.exposureTimeBox.setSingleStep(10)
        self.exposureTimeBox.setProperty("value", 100)
        self.exposureTimeBox.setObjectName(_fromUtf8("exposureTimeBox"))
        self.gridLayout_2.addWidget(self.exposureTimeBox, 0, 1, 1, 1)
        self.label = QtGui.QLabel(self.groupBox)
        self.label.setObjectName(_fromUtf8("label"))
        self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Minimum)
        self.gridLayout_2.addItem(spacerItem, 0, 2, 1, 1)
        self.verticalLayout.addLayout(self.gridLayout_2)
        self.verticalLayout_2.addWidget(self.groupBox)
        self.groupBox_2 = QtGui.QGroupBox(self.centralwidget)
        self.groupBox_2.setObjectName(_fromUtf8("groupBox_2"))
        self.gridLayout = QtGui.QGridLayout(self.groupBox_2)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.gridLayout_3 = QtGui.QGridLayout()
        self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
        self.scaleMinBox = QtGui.QSpinBox(self.groupBox_2)
        self.scaleMinBox.setMaximum(99999)
        self.scaleMinBox.setSingleStep(20)
        self.scaleMinBox.setObjectName(_fromUtf8("scaleMinBox"))
        self.gridLayout_3.addWidget(self.scaleMinBox, 0, 1, 1, 1)
        self.autoscaleButton = QtGui.QCheckBox(self.groupBox_2)
        self.autoscaleButton.setChecked(True)
        self.autoscaleButton.setObjectName(_fromUtf8("autoscaleButton"))
        self.gridLayout_3.addWidget(self.autoscaleButton, 2, 1, 1, 1)
        self.scaleMaxBox = QtGui.QSpinBox(self.groupBox_2)
        self.scaleMaxBox.setMinimum(1)
        self.scaleMaxBox.setMaximum(99999)
        self.scaleMaxBox.setSingleStep(10)
        self.scaleMaxBox.setProperty("value", 2000)
        self.scaleMaxBox.setObjectName(_fromUtf8("scaleMaxBox"))
        self.gridLayout_3.addWidget(self.scaleMaxBox, 1, 1, 1, 1)
        self.colormapBox = QtGui.QComboBox(self.groupBox_2)
        self.colormapBox.setObjectName(_fromUtf8("colormapBox"))
        self.gridLayout_3.addWidget(self.colormapBox, 3, 1, 1, 1)
        self.label_2 = QtGui.QLabel(self.groupBox_2)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.gridLayout_3.addWidget(self.label_2, 0, 0, 1, 1)
        self.label_5 = QtGui.QLabel(self.groupBox_2)
        self.label_5.setObjectName(_fromUtf8("label_5"))
        self.gridLayout_3.addWidget(self.label_5, 3, 0, 1, 1)
        self.label_3 = QtGui.QLabel(self.groupBox_2)
        self.label_3.setObjectName(_fromUtf8("label_3"))
        self.gridLayout_3.addWidget(self.label_3, 1, 0, 1, 1)
        self.rescaleButton = QtGui.QPushButton(self.groupBox_2)
        self.rescaleButton.setObjectName(_fromUtf8("rescaleButton"))
        self.gridLayout_3.addWidget(self.rescaleButton, 0, 3, 1, 1)
        self.rotateCWButton = QtGui.QPushButton(self.groupBox_2)
        self.rotateCWButton.setEnabled(True)
        self.rotateCWButton.setObjectName(_fromUtf8("rotateCWButton"))
        self.gridLayout_3.addWidget(self.rotateCWButton, 1, 3, 1, 1)
        spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum,
                                        QtGui.QSizePolicy.Minimum)
        self.gridLayout_3.addItem(spacerItem1, 0, 2, 1, 1)
        self.rotateCCWButton = QtGui.QPushButton(self.groupBox_2)
        self.rotateCCWButton.setObjectName(_fromUtf8("rotateCCWButton"))
        self.gridLayout_3.addWidget(self.rotateCCWButton, 1, 2, 1, 1)
        self.showROIBox = QtGui.QCheckBox(self.groupBox_2)
        self.showROIBox.setChecked(True)
        self.showROIBox.setObjectName(_fromUtf8("showROIBox"))
        self.gridLayout_3.addWidget(self.showROIBox, 3, 3, 1, 1)
        self.flipVerticalButton = QtGui.QPushButton(self.groupBox_2)
        self.flipVerticalButton.setObjectName(_fromUtf8("flipVerticalButton"))
        self.gridLayout_3.addWidget(self.flipVerticalButton, 2, 2, 1, 1)
        self.flipHorizontalButton = QtGui.QPushButton(self.groupBox_2)
        self.flipHorizontalButton.setObjectName(
            _fromUtf8("flipHorizontalButton"))
        self.gridLayout_3.addWidget(self.flipHorizontalButton, 2, 3, 1, 1)
        self.gridLayout.addLayout(self.gridLayout_3, 0, 0, 2, 1)
        self.verticalLayout_2.addWidget(self.groupBox_2)
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                        QtGui.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem2)
        self.adjustROIButton = QtGui.QPushButton(self.centralwidget)
        self.adjustROIButton.setObjectName(_fromUtf8("adjustROIButton"))
        self.horizontalLayout.addWidget(self.adjustROIButton)
        self.roiStatisticsButton = QtGui.QToolButton(self.centralwidget)
        self.roiStatisticsButton.setObjectName(
            _fromUtf8("roiStatisticsButton"))
        self.horizontalLayout.addWidget(self.roiStatisticsButton)
        self.cameraSettingsButton = QtGui.QToolButton(self.centralwidget)
        self.cameraSettingsButton.setObjectName(
            _fromUtf8("cameraSettingsButton"))
        self.horizontalLayout.addWidget(self.cameraSettingsButton)
        self.acquisitionButton = QtGui.QPushButton(self.centralwidget)
        self.acquisitionButton.setObjectName(_fromUtf8("acquisitionButton"))
        self.horizontalLayout.addWidget(self.acquisitionButton)
        self.verticalLayout_2.addLayout(self.horizontalLayout)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtGui.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 540, 29))
        self.menubar.setObjectName(_fromUtf8("menubar"))
        self.menuFile = QtGui.QMenu(self.menubar)
        self.menuFile.setObjectName(_fromUtf8("menuFile"))
        self.menuHelp = QtGui.QMenu(self.menubar)
        self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
        self.menuRing_Buffer = QtGui.QMenu(self.menubar)
        self.menuRing_Buffer.setObjectName(_fromUtf8("menuRing_Buffer"))
        MainWindow.setMenuBar(self.menubar)
        self.statusBar = QtGui.QStatusBar(MainWindow)
        self.statusBar.setObjectName(_fromUtf8("statusBar"))
        MainWindow.setStatusBar(self.statusBar)
        self.actionSaveAs = QtGui.QAction(MainWindow)
        self.actionSaveAs.setObjectName(_fromUtf8("actionSaveAs"))
        self.actionExit = QtGui.QAction(MainWindow)
        self.actionExit.setObjectName(_fromUtf8("actionExit"))
        self.actionAbout = QtGui.QAction(MainWindow)
        self.actionAbout.setEnabled(False)
        self.actionAbout.setObjectName(_fromUtf8("actionAbout"))
        self.actionEnable = QtGui.QAction(MainWindow)
        self.actionEnable.setCheckable(True)
        self.actionEnable.setChecked(True)
        self.actionEnable.setObjectName(_fromUtf8("actionEnable"))
        self.actionView = QtGui.QAction(MainWindow)
        self.actionView.setObjectName(_fromUtf8("actionView"))
        self.menuFile.addAction(self.actionSaveAs)
        self.menuFile.addAction(self.actionExit)
        self.menuHelp.addAction(self.actionAbout)
        self.menuRing_Buffer.addAction(self.actionEnable)
        self.menuRing_Buffer.addAction(self.actionView)
        self.menubar.addAction(self.menuFile.menuAction())
        self.menubar.addAction(self.menuRing_Buffer.menuAction())
        self.menubar.addAction(self.menuHelp.menuAction())

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