Ejemplo n.º 1
0
    def init_sublayouts(self):
        # Panel sublayout
        self.panel_sublayout = QtWidgets.QHBoxLayout()
        panel_sublayout_inner = QtWidgets.QVBoxLayout()

        # Server sublayout
        server_sublayout_grid = QtWidgets.QGridLayout()
        server_sublayout_grid.addWidget(self.labels["server"], 0, 0)
        server_sublayout_grid.addWidget(self.labels["interface"], 0, 1)
        server_sublayout_grid.addWidget(self.ports, 1, 0)
        server_sublayout_grid.addWidget(self.textboxes["host"], 1, 0)
        server_sublayout_grid.addWidget(self.interface, 1, 1)
        server_sublayout_grid.addWidget(self.mode, 2, 0)
        server_sublayout_grid.addWidget(self.buttons["connect"], 2, 1)

        # Controls sublayout
        control_sublayout_grid = QtWidgets.QGridLayout()
        control_sublayout_grid.addWidget(self.labels["scan"], 0, 0)
        control_sublayout_grid.addWidget(self.buttons["start"], 1, 0)
        control_sublayout_grid.addWidget(self.buttons["stop"], 1, 1)
        control_sublayout_grid.addWidget(self.buttons["save_scan"], 2, 0)
        control_sublayout_grid.addWidget(self.buttons["load_scan"], 2, 1)
        control_sublayout_grid.addWidget(self.labels["clutter"], 3, 0)
        control_sublayout_grid.addWidget(self.buttons["create_cl"], 4, 0)
        control_sublayout_grid.addWidget(self.buttons["load_cl"], 4, 1)
        control_sublayout_grid.addWidget(self.labels["clutter_file"], 5, 0, 1, 2)

        # Settings sublayout
        settings_sublayout_grid = QtWidgets.QGridLayout()
        settings_sublayout_grid.addWidget(self.labels["sensor"], 0, 0)
        settings_sublayout_grid.addWidget(self.textboxes["sensor"], 0, 1)
        settings_sublayout_grid.addWidget(self.labels["start_range"], 1, 0)
        settings_sublayout_grid.addWidget(self.labels["end_range"], 1, 1)
        settings_sublayout_grid.addWidget(self.textboxes["start_range"], 2, 0)
        settings_sublayout_grid.addWidget(self.textboxes["end_range"], 2, 1)
        settings_sublayout_grid.addWidget(self.labels["frequency"], 3, 0)
        settings_sublayout_grid.addWidget(self.textboxes["frequency"], 3, 1)
        settings_sublayout_grid.addWidget(self.labels["gain"], 4, 0)
        settings_sublayout_grid.addWidget(self.textboxes["gain"], 4, 1)
        settings_sublayout_grid.addWidget(self.labels["sweeps"], 5, 0)
        settings_sublayout_grid.addWidget(self.textboxes["sweeps"], 5, 1)
        settings_sublayout_grid.addWidget(self.labels["sweep_buffer"], 6, 0)
        settings_sublayout_grid.addWidget(self.textboxes["sweep_buffer"], 6, 1)
        settings_sublayout_grid.addWidget(self.labels["power_bins"], 7, 0)
        settings_sublayout_grid.addWidget(self.textboxes["power_bins"], 7, 1)

        panel_sublayout_inner.addStretch(10)
        panel_sublayout_inner.addLayout(server_sublayout_grid)
        panel_sublayout_inner.addStretch(2)
        panel_sublayout_inner.addLayout(control_sublayout_grid)
        panel_sublayout_inner.addStretch(4)
        panel_sublayout_inner.addLayout(settings_sublayout_grid)
        panel_sublayout_inner.addStretch(20)
        self.panel_sublayout.addStretch(5)
        self.panel_sublayout.addLayout(panel_sublayout_inner)
        self.panel_sublayout.addStretch(10)
Ejemplo n.º 2
0
    def initUI(self):
        self.main = QtWidgets.QWidget()

        self._tabs = QtWidgets.QTabWidget()
        self._main = QtWidgets.QWidget()
        self._manu = QtWidgets.QWidget()

        self.setCentralWidget(self.main)
        self.gridlayout = QtWidgets.QGridLayout()

        self._tabs.addTab(self._main, "Main")
        self._tabs.addTab(self._manu, "Manual")

        self.initMaintab()
        self.initManualtab()

        self.gridlayout.addWidget(self._tabs, 0, 0, 10, 1)
        self.main.setLayout(self.gridlayout)

        self._tabs.gridlayout = QtWidgets.QGridLayout()
        self._tabs.setLayout(self._tabs.gridlayout)

        self.gridlayout.setSpacing(10)

        self.setWindowTitle(self.title)
        left = 100
        top = 100
        width = 1000
        height = 800
        self.setGeometry(left, top, width, height)
        self.statusBar().showMessage('Loading')
        #
        mainMenu = self.menuBar()
        fileMenu = mainMenu.addMenu('File')
        #
        openButton = QtWidgets.QAction(QIcon('open24.png'), 'Open', self)
        openButton.setShortcut('Ctrl+O')
        openButton.setStatusTip('Open directory')
        openButton.triggered.connect(self.getfolder)
        fileMenu.addAction(openButton)
        #
        exitButton = QtWidgets.QAction(QIcon('exit24.png'), 'Exit', self)
        exitButton.setShortcut('Ctrl+Q')
        exitButton.setStatusTip('Exit application')
        exitButton.triggered.connect(self.close)
        fileMenu.addAction(exitButton)
        #

        self.show()
Ejemplo n.º 3
0
    def __init__(self, wib_server='127.0.0.1', cli=False):
        super().__init__()

        self.cli = cli

        self.wib = WIB(wib_server)

        self.setAutoFillBackground(True)
        p = self.palette()
        p.setColor(self.backgroundRole(), QtGui.QColor(*colors[0]))
        self.setPalette(p)

        self._main = QtWidgets.QWidget()
        self.setCentralWidget(self._main)
        layout = QtWidgets.QVBoxLayout(self._main)

        self.wib_pane = WIBPane(self)
        self.femb_panes = [FEMBPane(self, idx) for idx in range(4)]

        layout.addWidget(self.wib_pane)
        fembs = QtWidgets.QWidget(self._main)
        fembs_layout = QtWidgets.QGridLayout(fembs)
        for idx, f in enumerate(self.femb_panes):
            fembs_layout.addWidget(f, idx // 2, idx % 2)
        layout.addWidget(fembs)

        if self.cli:
            self.get_sensors()
        else:
            QtCore.QTimer.singleShot(500, self.get_sensors)
Ejemplo n.º 4
0
    def get_chanselect_layout(self):
        self.chanselect = QtWidgets.QGroupBox('Channel Select Controls')

        # create the channel slider
        self.channelslider = QtWidgets.QScrollBar(QtCore.Qt.Horizontal, self)
        self.channelslider.setRange(0, self.nchannels - 1)
        self.channelslider.valueChanged.connect(self.channelslider_changed)

        # define the channel text box
        self.channeltext_label = QtWidgets.QLabel(self)
        self.channeltext_label.setText('Channel: ')
        self.channeltext = QtWidgets.QLineEdit(str(self.channel), self)
        self.channeltext.setToolTip('The channel number you want to display')
        self.channeltext.returnPressed.connect(self.channeltext_changed)

        # RMS value
        self.rms = QtWidgets.QLabel(self)
        self.rms.setText('RMS value: {:10.7f}'.format(self.rmsval))

        # layout
        layout = QtWidgets.QGridLayout()
        layout.addWidget(self.channeltext_label, 0, 0)
        layout.addWidget(self.channeltext, 0, 1)
        layout.addWidget(self.channelslider, 1, 0, 1, 2)
        layout.addWidget(self.rms, 2, 0, 1, 2)
        self.chanselect.setLayout(layout)
Ejemplo n.º 5
0
    def __init__(self):
        super().__init__()
        self.setWindowTitle('Linear Monotone Preference Model')

        self.width = 100
        self.height = 100

        self.menu()

        self._main = QtWidgets.QWidget()

        self.setCentralWidget(self._main)
        self.layout = QtWidgets.QGridLayout(self._main)

        #simpleShowFrame_old:ModelOneUserFrame
        #self.simpleShowFrame_old = SimpleShowFrame_old(self.layout)
        #simpleShowFrame:ModelOneUserFrame
        self.simpleShowFrame = SimpleShowFrame(self.layout)

        #modelTwoUsersFrame:ModelTwoUsersFrame
        self.modelTwoUsersFrame = ModelTwoUsersFrame(self.layout)

        #thresholdFrame:ThresholdFrame
        self.thresholdFrame = ThresholdFrame(self.layout)

        #ndFrame:OneUserFrame
        self.ndFrame = NdFrame(self.layout)

        self.currentFrame = self.simpleShowFrame
        self.currentFrame.show(self.width, self.height)
Ejemplo n.º 6
0
    def __init__(self):
        super().__init__()

        self.init_labels()
        self.init_textboxes()
        self.init_buttons()
        self.init_dropdowns()
        self.init_sublayouts()
        self.start_up()

        self.main_widget = QWidget()
        self.main_layout = QtWidgets.QGridLayout(self.main_widget)
        self.main_layout.sizeConstraint = QtWidgets.QLayout.SetDefaultConstraint

        self.main_layout.addLayout(self.panel_sublayout, 0, 1)
        self.main_layout.setColumnStretch(0, 1)

        self.canvas = self.init_graphs()
        self.main_layout.addWidget(self.canvas, 0, 0)

        self.main_widget.setLayout(self.main_layout)
        self.setCentralWidget(self.main_widget)

        self.setGeometry(50, 50, 1200, 700)
        self.setWindowTitle("Acconeer Exploration GUI")
        self.show()

        self.radar = data_processing.DataProcessing()
Ejemplo n.º 7
0
    def get_plotselection_layout(self):

        self.plotselection = QtWidgets.QGroupBox('Plot Selection')

        # raster image and contour button group
        self.bgdata_label = QtWidgets.QLabel('Raster:', self)
        self.bgcont_label = QtWidgets.QLabel('Contour:', self)
        self.bgdata = QtWidgets.QButtonGroup(self)
        self.bgcont = QtWidgets.QButtonGroup(self)
        self.databutton = []
        self.contbutton = []
        for button in ['Channels', 'Moment-0', 'Moment-1', 'Moment-2', 'None']:
            self.databutton.append(QtWidgets.QRadioButton(button))
            self.contbutton.append(QtWidgets.QRadioButton(button))
            self.bgdata.addButton(self.databutton[-1])
            self.bgcont.addButton(self.contbutton[-1])
        self.databutton[0].setChecked(True)
        self.contbutton[-1].setChecked(True)
        self.bgdata.buttonClicked.connect(self.initiate_dataplot)
        self.bgcont.buttonClicked.connect(self.initiate_contplot)

        # create layout
        layout = QtWidgets.QGridLayout()
        layout.addWidget(self.bgdata_label, 0, 0)
        layout.addWidget(self.bgcont_label, 0, 1)
        for idx, button in enumerate(self.databutton):
            layout.addWidget(button, idx + 1, 0)
        for idx, button in enumerate(self.contbutton):
            layout.addWidget(button, idx + 1, 1)
        self.plotselection.setLayout(layout)
Ejemplo n.º 8
0
    def get_dataselection_layout(self):
        self.dataselection = QtWidgets.QGroupBox('Data selection')

        # range
        self.r = []
        for idx, label in enumerate(['X: ', 'Y: ', 'Channel: ']):
            self.r.append(QtWidgets.QLabel(label, self))
            self.r.append(
                QtWidgets.QLineEdit('{:4d}'.format(self.range[idx][0]), self))
            self.r.append(QtWidgets.QLabel(' to ', self))
            self.r.append(
                QtWidgets.QLineEdit('{:4d}'.format(self.range[idx][1]), self))

        # go button
        self.slicebutton = QtWidgets.QPushButton('Slice', self)
        self.slicebutton.clicked.connect(self.update_dataselection)

        # create layout
        layout = QtWidgets.QGridLayout()
        for idx in np.arange(3):
            layout.addWidget(self.r[4 * idx], idx, 0)
            layout.addWidget(self.r[4 * idx + 1], idx, 1)
            layout.addWidget(self.r[4 * idx + 2], idx, 2)
            layout.addWidget(self.r[4 * idx + 3], idx, 3)
        layout.addWidget(self.slicebutton, 3, 0, 1, 4)
        self.dataselection.setLayout(layout)
Ejemplo n.º 9
0
    def get_canvas2_layout(self):
        self.canvas2 = QtWidgets.QGroupBox('Canvas 2')

        # canvas 2
        self.fig2 = FigureCanvas(Figure(figsize=(0.5, 1.5)))
        self._ax2 = self.fig2.figure.subplots()
        self.fig2.figure.subplots_adjust(0.15, 0.19, 0.95, 0.95)

        # range of canvas 2
        self.r2 = []
        for idx, label in enumerate(['X range: ', 'Y range: ']):
            self.r2.append(QtWidgets.QLabel(label, self))
            self.r2.append(
                QtWidgets.QLineEdit('{:4.3f}'.format(self.range2[idx][0]),
                                    self))
            self.r2.append(QtWidgets.QLabel(' to ', self))
            self.r2.append(
                QtWidgets.QLineEdit('{:4.3f}'.format(self.range2[idx][1]),
                                    self))
        for idx in np.arange(1, 9, 2):
            self.r2[idx].returnPressed.connect(self.update_range2)

        # go button
        self.updaterange2button = QtWidgets.QPushButton('Update Range', self)
        self.updaterange2button.clicked.connect(self.update_range2)

        # the layout
        layout = QtWidgets.QGridLayout()
        layout.addWidget(self.fig2, 0, 0, 1, 9)
        for idx in np.arange(8):
            layout.addWidget(self.r2[idx], 1, idx)
        layout.addWidget(self.updaterange2button, 1, 8)
        self.canvas2.setLayout(layout)
Ejemplo n.º 10
0
    def get_controls_layout(self):
        self.controls = QtWidgets.QGroupBox('Image controls')

        # min and max values
        self.min_label = QtWidgets.QLabel(self)
        self.min_label.setText('Min: ')
        self.min = QtWidgets.QLineEdit('{:10.7f}'.format(self.vmin), self)
        self.min.setToolTip('The minimum value to display')
        self.min.returnPressed.connect(self.update_min)
        self.max_label = QtWidgets.QLabel(self)
        self.max_label.setText('Max: ')
        self.max = QtWidgets.QLineEdit('{:10.7f}'.format(self.vmax), self)
        self.max.setToolTip('The maxmimum value to display.')
        self.max.returnPressed.connect(self.update_max)

        # Contour value for scaling
        self.contval_label = QtWidgets.QLabel(self)
        self.contval_label.setText('Contour value: ')
        self.contval = QtWidgets.QLineEdit('{:10.7f}'.format(self.cval), self)
        self.contval.setToolTip('Value used to calculate the contour levels.')
        self.contval.returnPressed.connect(self.update_contourvalue)

        # Contour levels
        self.levels_label = QtWidgets.QLabel(self)
        self.levels_label.setText('Contour levels: ')
        self.levels = QtWidgets.QLineEdit(__arrtostr__(self.contours), self)
        self.levels.setToolTip('Contours levels to display ' +
                               '(in terms of RMS). Should be a list of ' +
                               'floats separated by commas.')
        self.levels.returnPressed.connect(self.update_contourlevels)

        # color map
        self.colormap_label = QtWidgets.QLabel(self)
        self.colormap_label.setText('Colormap: ')
        self.colormap = QtWidgets.QLineEdit('{}'.format(self.cmap), self)
        self.colormap.setToolTip('The color map to use for the display')
        self.colormap.returnPressed.connect(self.update_colormap)

        # Contour colors
        self.levelcolor_label = QtWidgets.QLabel(self)
        self.levelcolor_label.setText('Contour Color: ')
        self.levelcolor = QtWidgets.QLineEdit('{}'.format(self.ccolor), self)
        self.levelcolor.setToolTip('The color of the contours')
        self.levelcolor.returnPressed.connect(self.update_contourcolor)

        # create layout
        layout = QtWidgets.QGridLayout()
        layout.addWidget(self.min_label, 0, 0)
        layout.addWidget(self.min, 0, 1)
        layout.addWidget(self.max_label, 1, 0)
        layout.addWidget(self.max, 1, 1)
        layout.addWidget(self.contval_label, 0, 2)
        layout.addWidget(self.contval, 0, 3)
        layout.addWidget(self.levels_label, 1, 2)
        layout.addWidget(self.levels, 1, 3)
        layout.addWidget(self.colormap_label, 0, 4)
        layout.addWidget(self.colormap, 0, 5)
        layout.addWidget(self.levelcolor_label, 1, 4)
        layout.addWidget(self.levelcolor, 1, 5)
        self.controls.setLayout(layout)
Ejemplo n.º 11
0
    def get_Galtemplate_layout(self):
        self.Galtemplate = QtWidgets.QGroupBox('Galaxy Template')
        self.Galplot = QtWidgets.QCheckBox('Plot template', self)
        self.Galz_label = QtWidgets.QLabel('z = ', self)
        self.Galz = QtWidgets.QLineEdit('{:5.4f}'.format(self.z[1]), self)
        self.Galcolor_label = QtWidgets.QLabel('Color: ', self)
        self.Galcolor = QtWidgets.QLineEdit(self.linecolor[1], self)
        self.Galscale_label = QtWidgets.QLabel('Scale factor: ', self)
        self.Galscale = QtWidgets.QLineEdit('{:5.2f}'.format(
            self.linescale[1], self))
        self.Gallabels = QtWidgets.QCheckBox('Plot labels', self)

        self.Galplot.stateChanged.connect(self.update_figures)
        self.Galz.returnPressed.connect(self.update_redshifts)
        self.Galcolor.returnPressed.connect(self.update_linecolors)
        self.Galscale.returnPressed.connect(self.update_linescales)
        self.Gallabels.stateChanged.connect(self.update_figures)

        # the layout
        layout = QtWidgets.QGridLayout()
        layout.addWidget(self.Galplot, 0, 0, 1, 2)
        layout.addWidget(self.Gallabels, 0, 2, 1, 2)
        layout.addWidget(self.Galz_label, 1, 0, 1, 1)
        layout.addWidget(self.Galz, 1, 1, 1, 1)
        layout.addWidget(self.Galscale_label, 1, 2, 1, 1)
        layout.addWidget(self.Galscale, 1, 3, 1, 1)
        layout.addWidget(self.Galcolor_label, 2, 0, 1, 1)
        layout.addWidget(self.Galcolor, 2, 1, 1, 1)
        self.Galtemplate.setLayout(layout)
Ejemplo n.º 12
0
    def __init__(self, parent=None):
        super(Page3, self).__init__(parent)
        integerValidator = QtGui.QIntValidator(0, 10, self)

        coordLabel = QtWidgets.QLabel('Coordinate File:')
        self.coordLine = QtWidgets.QLineEdit()
        coordBtn = QtWidgets.QPushButton('File', self)
        coordBtn.clicked.connect(self.getCoordfile)
        self.registerField('coordFile*', self.coordLine)

        popLabel = QtWidgets.QLabel('Population File:')
        self.popLine = QtWidgets.QLineEdit()
        popBtn = QtWidgets.QPushButton('File', self)
        popBtn.clicked.connect(self.getPopfile)
        self.registerField('popFile*', self.popLine)

        grid = QtWidgets.QGridLayout()
        grid.setSpacing(10)
        grid.addWidget(coordLabel, 1, 0)
        grid.addWidget(self.coordLine, 1, 1)
        grid.addWidget(coordBtn, 1, 2)
        grid.addWidget(popLabel, 2, 0)
        grid.addWidget(self.popLine, 2, 1)
        grid.addWidget(popBtn, 2, 2)
        self.setLayout(grid)
Ejemplo n.º 13
0
    def __init__(self, parent=None, line=None):
        super(CurvePropertiesDialog, self).__init__(parent)
        self.line = line
        #labels
        self._label_color = QtWidgets.QLabel('Color')
        self._label_symbol = QtWidgets.QLabel('Symbol')
        #text inputs
        self._edit_color = QtWidgets.QLineEdit()
        self._edit_symbol = QtWidgets.QLineEdit()
        #buttons
        self._btn_ok = QtWidgets.QPushButton('OK')
        self._btn_cancel = QtWidgets.QPushButton('Cancel')
        #layout
        grid = QtWidgets.QGridLayout()
        self.setLayout(grid)
        grid.addWidget(self._label_color, 0, 0)
        grid.addWidget(self._edit_color, 0, 1)
        grid.addWidget(self._label_symbol, 1, 0)
        grid.addWidget(self._edit_symbol, 1, 1)
        grid.addWidget(self._btn_ok, 2, 0)
        grid.addWidget(self._btn_cancel, 2, 1)
        #connections
        self._btn_ok.clicked.connect(self.process_inputs)
        self._btn_cancel.clicked.connect(self.close)

        self.update_from_line(self.line)
Ejemplo n.º 14
0
    def get_canvas_layout(self):
        self.canvas = QtWidgets.QGroupBox('Canvas')

        # the canvas
        self.fig = FigureCanvas(Figure(figsize=(5, 5)))
        self._ax = self.fig.figure.subplots()

        # the layout
        layout = QtWidgets.QGridLayout()
        layout.addWidget(self.fig, 0, 0)
        self.canvas.setLayout(layout)
Ejemplo n.º 15
0
    def __init__(self, parent=None):
        super(Page1, self).__init__(parent)
        integerValidator = QtGui.QIntValidator(0, 100, self)

        coordLabel = QtWidgets.QLabel('Coordinate File:')
        self.coordLine = QtWidgets.QLineEdit()
        coordBtn = QtWidgets.QPushButton('File', self)
        coordBtn.clicked.connect(self.getCoordfile)
        self.registerField('coordFile*', self.coordLine)

        popLabel = QtWidgets.QLabel('Population File:')
        self.popLine = QtWidgets.QLineEdit()
        popBtn = QtWidgets.QPushButton('File', self)
        popBtn.clicked.connect(self.getPopfile)
        self.registerField('popFile*', self.popLine)

        dataLabel = QtWidgets.QLabel('Data Directory:')
        self.dataLine = QtWidgets.QLineEdit()
        dataBtn = QtWidgets.QPushButton('File', self)
        dataBtn.clicked.connect(self.getDir)
        self.registerField('dataDir*', self.dataLine)

        allelesLabel = QtWidgets.QLabel('Number of alleles:')
        self.allelesLine = QtWidgets.QLineEdit()
        self.allelesLine.setValidator(integerValidator)
        self.registerField('alleleCount*', self.allelesLine)

        groupsLabel = QtWidgets.QLabel('Number of Groups:')
        self.groupsLine = QtWidgets.QLineEdit()
        self.groupsLine.setValidator(integerValidator)
        self.registerField('groupCount*', self.groupsLine)

        grid = QtWidgets.QGridLayout()
        grid.setSpacing(10)
        grid.addWidget(coordLabel, 1, 0)
        grid.addWidget(self.coordLine, 1, 1)
        grid.addWidget(coordBtn, 1, 2)
        grid.addWidget(popLabel, 2, 0)
        grid.addWidget(self.popLine, 2, 1)
        grid.addWidget(popBtn, 2, 2)
        grid.addWidget(dataLabel, 3, 0)
        grid.addWidget(self.dataLine, 3, 1)
        grid.addWidget(dataBtn, 3, 2)
        grid.addWidget(allelesLabel, 4, 0)
        grid.addWidget(self.allelesLine, 4, 1)
        grid.addWidget(groupsLabel, 5, 0)
        grid.addWidget(self.groupsLine, 5, 1)

        self.setLayout(grid)
Ejemplo n.º 16
0
    def __init__(self,
                 wib_server='127.0.0.1',
                 config='femb0.json',
                 grid=False):
        super().__init__()

        self.wib = WIB(wib_server)
        self.config = config

        self._main = QtWidgets.QWidget()
        self._main.setFocusPolicy(QtCore.Qt.StrongFocus)
        self.setCentralWidget(self._main)
        layout = QtWidgets.QVBoxLayout(self._main)

        self.grid = QtWidgets.QGridLayout()
        if grid:
            self.views = [Hist2DView(), FFTView(), MeanView(), RMSView()]
            for i, v in enumerate(self.views):
                self.grid.addWidget(v, i % 2, i // 2)
        else:
            self.views = [Hist2DView(), MeanRMSView(), FFTView()]
            for i, v in enumerate(self.views):
                self.grid.addWidget(v, 0, i)
        layout.addLayout(self.grid)

        nav_layout = QtWidgets.QHBoxLayout()

        button = QtWidgets.QPushButton('Configure')
        nav_layout.addWidget(button)
        button.setToolTip('Configure WIB and front end')
        button.clicked.connect(self.configure_wib)

        button = QtWidgets.QPushButton('Acquire')
        nav_layout.addWidget(button)
        button.setToolTip('Read WIB Spy Buffer')
        button.clicked.connect(self.acquire_data)

        button = QtWidgets.QPushButton('Continuous')
        nav_layout.addWidget(button)
        button.setToolTip('Repeat acquisitions until stopped')
        button.clicked.connect(self.toggle_continuous)
        self.continuious_button = button

        self.timer = QtCore.QTimer(self)
        self.timer.timeout.connect(self.acquire_data)

        layout.addLayout(nav_layout)

        self.plot()
Ejemplo n.º 17
0
    def get_print_layout(self):
        self.print = QtWidgets.QGroupBox('Save figure')
        self.savefile_label = QtWidgets.QLabel('File:', self)
        self.savefile = QtWidgets.QLineEdit('./JWSTfilter.pdf', self)
        self.savec1 = QtWidgets.QCheckBox('Canvas 1', self)
        self.savec2 = QtWidgets.QCheckBox('Canvas 2', self)
        self.save = QtWidgets.QPushButton('Save', self)
        self.save.clicked.connect(self.save_figures)

        layout = QtWidgets.QGridLayout()
        layout.addWidget(self.savefile_label, 0, 0)
        layout.addWidget(self.savefile, 0, 1, 1, 2)
        layout.addWidget(self.savec1, 1, 0, 1, 1)
        layout.addWidget(self.savec2, 1, 1, 1, 1)
        layout.addWidget(self.save, 1, 2, 1, 1)
        self.print.setLayout(layout)
Ejemplo n.º 18
0
    def get_canvas2_layout(self):
        self.canvas2 = QtWidgets.QGroupBox('Canvas 2')

        # the image selection buttons
        self.im2_bg_label = QtWidgets.QLabel(self)
        self.im2_bg_label.setText('Image: ')
        self.im2_buttons = [
            QtWidgets.QRadioButton('Data'),
            QtWidgets.QRadioButton('Model'),
            QtWidgets.QRadioButton('Residual'),
            QtWidgets.QRadioButton('None')
        ]
        self.im2_buttons[1].setChecked(True)
        self.im2_bg = QtWidgets.QButtonGroup(self)
        for button in self.im2_buttons:
            self.im2_bg.addButton(button)
        self.im2_bg.buttonClicked.connect(self.update_figures)

        # the contour selection buttons
        self.co2_bg_label = QtWidgets.QLabel(self)
        self.co2_bg_label.setText('Contours: ')
        self.co2_buttons = [
            QtWidgets.QRadioButton('Data'),
            QtWidgets.QRadioButton('Model'),
            QtWidgets.QRadioButton('Residual'),
            QtWidgets.QRadioButton('None')
        ]
        self.co2_buttons[3].setChecked(True)
        self.co2_bg = QtWidgets.QButtonGroup(self)
        for button in self.co2_buttons:
            self.co2_bg.addButton(button)
        self.co2_bg.buttonClicked.connect(self.update_figures)

        # the canvas
        self.fig2 = FigureCanvas(Figure(figsize=(5, 5)))
        self._ax2 = self.fig2.figure.subplots()

        # the layout
        layout = QtWidgets.QGridLayout()
        layout.addWidget(self.fig2, 0, 0, 6, 6)
        layout.addWidget(self.im2_bg_label, 6, 0)
        for idx, button in enumerate(self.im2_buttons):
            layout.addWidget(button, 6, idx + 1)
        layout.addWidget(self.co2_bg_label, 7, 0)
        for idx, button in enumerate(self.co2_buttons):
            layout.addWidget(button, 7, idx + 1)
        self.canvas2.setLayout(layout)
Ejemplo n.º 19
0
    def __init__(self, parent=None):
        super(StartP, self).__init__(parent)
        integerValidator = QtGui.QIntValidator(0, 300, self)

        dataLabel = QtWidgets.QLabel('Data Directory:')
        self.dataLine = QtWidgets.QLineEdit()
        dataBtn = QtWidgets.QPushButton('File', self)
        dataBtn.clicked.connect(self.getDir)
        self.registerField('dataDir*', self.dataLine)

        allelesLabel = QtWidgets.QLabel('Number of alleles:')
        self.allelesLine = QtWidgets.QLineEdit()
        self.allelesLine.setValidator(integerValidator)
        self.registerField('alleleCount*', self.allelesLine)

        groupsLabel = QtWidgets.QLabel('Number of Groups:')
        self.groupsLine = QtWidgets.QLineEdit()
        self.groupsLine.setValidator(integerValidator)
        self.registerField('groupCount*', self.groupsLine)

        self.b1 = QtWidgets.QCheckBox("Females")
        self.b1.setChecked(False)
        self.registerField('females', self.b1)

        comboLabel = QtWidgets.QLabel('Graphic Type:')
        self.combo = QtWidgets.QComboBox(self)
        self.combo.addItem('Allele Counts')
        self.combo.addItem('Allele Heatmap')
        self.combo.addItem('Allele Stack')
        self.combo.addItem('Allele Geo-Map')
        self.registerField('graphic', self.combo)

        grid = QtWidgets.QGridLayout()
        grid.setSpacing(10)
        grid.addWidget(dataLabel, 1, 0)
        grid.addWidget(self.dataLine, 1, 1)
        grid.addWidget(dataBtn, 1, 2)
        grid.addWidget(allelesLabel, 2, 0)
        grid.addWidget(self.allelesLine, 2, 1)
        grid.addWidget(groupsLabel, 3, 0)
        grid.addWidget(self.groupsLine, 3, 1)
        grid.addWidget(self.b1, 5, 1)
        grid.addWidget(comboLabel, 4, 0)
        grid.addWidget(self.combo, 4, 1)
        self.setLayout(grid)
Ejemplo n.º 20
0
    def get_moment_layout(self):
        self.moment = QtWidgets.QGroupBox('Moment')

        # The moment range boxes
        self.mr = []
        self.mr.append(QtWidgets.QLabel('Channel:', self))
        self.mr.append(
            QtWidgets.QLineEdit('{:4d}'.format(self.range[2][0]), self))
        self.mr.append(QtWidgets.QLabel(' to ', self))
        self.mr.append(
            QtWidgets.QLineEdit('{:4d}'.format(self.range[2][1]), self))

        # The mask buttons
        self.momentmask = []
        masklabel = [
            'Use mask for moment-0 with values above RMS of: ',
            'Use mask for moment-1 with values above RMS of: ',
            'Use mask for moment-2 with values above RMS of: '
        ]
        for label in masklabel:
            self.momentmask.append(QtWidgets.QCheckBox(label))
        self.momentmaskvalue = []
        for mmval in self.mmaskval:
            self.momentmaskvalue.append(
                QtWidgets.QLineEdit('{:10.7f}'.format(mmval), self))

        # Gaussian moment plot
        self.gaussianmoment = QtWidgets.QCheckBox('Gaussian moment')
        self.gaussianmoment.setChecked(False)

        # update moment button
        self.momentbutton = QtWidgets.QPushButton('Calculate Moments', self)
        self.momentbutton.clicked.connect(self.get_moments)

        # create layout
        layout = QtWidgets.QGridLayout()
        for idx in np.arange(4):
            layout.addWidget(self.mr[idx], 0, idx)
        for idx in np.arange(3):
            layout.addWidget(self.momentmask[idx], idx + 1, 0, 1, 3)
            layout.addWidget(self.momentmaskvalue[idx], idx + 1, 3)
        layout.addWidget(self.gaussianmoment, 4, 0, 1, 4)
        layout.addWidget(self.momentbutton, 5, 0, 1, 4)

        self.moment.setLayout(layout)
Ejemplo n.º 21
0
    def __init__(self):
        super().__init__()

        with open('style.qss', 'r') as f:
            self.setStyleSheet(f.read())

        self.setWindowTitle('Usporedba COVID-19 i SARS epidemije')
        self.setGeometry(0, 0, 1080, 720)
        self.setWindowIcon(QIcon('windowIcon'))
        self._main = QtWidgets.QWidget()
        self.setCentralWidget(self._main)

        dropdown = QComboBox()
        dropdown.addItems(cov2.groups.keys())
        dropdown.resize(100, 50)
        dropdown.setFont(QFont('Ubuntu', 11, QFont.Medium))
        dropdown.currentTextChanged.connect(self.on_combobox_changed)

        button = QPushButton('Snimi podatke')
        button.setFont(QFont('Ubuntu', 11, QFont.Medium))
        button.clicked.connect(self.on_button_click)

        self.canvas = FigureCanvasQTAgg(Figure(figsize=(4, 4)))
        self.canvas.figure.add_subplot(2, 2, 1)
        self.canvas.figure.add_subplot(2, 2, 2)
        self.canvas.figure.add_subplot(2, 2, 3)
        self.canvas.figure.add_subplot(2, 2, 4)

        self.country = list(cov2.groups.keys())[0]
        self.update_all_graphs()
        set_mpl(self.canvas.figure.get_axes())

        grid = QtWidgets.QGridLayout(self._main)
        grid.setSpacing(20)
        grid.addWidget(dropdown, 1, 3, 1, 2)  # row, col, rowspan, colspan
        grid.addWidget(button, 1, 5, 1, 1)
        grid.addWidget(self.canvas, 3, 0, 8, 8)
        grid.setContentsMargins(50, 50, 50, 50)
        self.setLayout(grid)

        self.showMaximized()
Ejemplo n.º 22
0
    def __init__(self):
        self.qapp = QtWidgets.QApplication(sys.argv)
        super(TimePlot, self).__init__()
        self._main = QtWidgets.QWidget()
        self.setCentralWidget(self._main)
        self.layout = QtWidgets.QGridLayout(self._main)

        # Empty objects that will be used during visualization.
        self.fig = None
        self.frames = None

        # Slider stuff
        hbox_timeline = QtWidgets.QHBoxLayout()
        self.slider = QtWidgets.QSlider(QtCore.Qt.Horizontal)
        self.slider.setMinimum(0)
        self.slider.valueChanged.connect(self.slider_valuechanged)
        hbox_timeline.addWidget(self.slider)
        self.layout.addLayout(hbox_timeline, 1, 0)

        # Bottom buttons
        hbox_buttons = QtWidgets.QHBoxLayout()
        hbox_buttons.addStretch(1)
        # Button for saving movies.
        save_movie_btn = QtWidgets.QPushButton(
            "&Save as movie")  # Shortcut is Alt+S
        save_movie_btn.clicked.connect(self._save_movie_clicked)
        # Button for next episode.
        next_btn = QtWidgets.QPushButton("&Next episode")  # Shortcut is Alt+N
        next_btn.clicked.connect(self._next_clicked)
        # Quit button.
        quit_btn = QtWidgets.QPushButton("&Quit")  # Shortcut is Alt+Q
        quit_btn.clicked.connect(self.closeEvent)
        # Add buttons to widget.
        hbox_buttons.addWidget(save_movie_btn)
        hbox_buttons.addWidget(next_btn)
        hbox_buttons.addWidget(quit_btn)
        self.layout.addLayout(hbox_buttons, 2, 0)

        self.is_closed = False
        self.is_playing = False
Ejemplo n.º 23
0
    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)

        # get the individual panels
        self.get_canvas1_layout()
        self.get_canvas2_layout()
        self.get_template_layout()
        self.get_filter_layout()
        self.get_print_layout()

        # add to layout
        mainLayout = QtWidgets.QGridLayout()
        mainLayout.addWidget(self.canvas1, 0, 0, 4, 6)
        mainLayout.addWidget(self.canvas2, 4, 0, 4, 6)
        mainLayout.addWidget(self.template, 0, 6, 1, 1)
        mainLayout.addWidget(self.filter, 1, 6, 6, 1)
        mainLayout.addWidget(self.print, 7, 6, 1, 1)
        self.setLayout(mainLayout)

        # draw the intial figure
        self.update_figures()
Ejemplo n.º 24
0
    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)

        # get the indivudal panels
        self.get_parameter_layout()
        self.get_chanselect_layout()
        self.get_controls_layout()
        self.get_canvas1_layout()
        self.get_canvas2_layout()

        # add to layout
        mainLayout = QtWidgets.QGridLayout()
        mainLayout.addWidget(self.canvas1, 0, 0, 3, 2)
        mainLayout.addWidget(self.canvas2, 0, 3, 3, 2)
        mainLayout.addWidget(self.parameter, 0, 6, 3, 1)
        mainLayout.addWidget(self.controls, 3, 0, 1, 6)
        mainLayout.addWidget(self.chanselect, 3, 6, 1, 1)
        self.setLayout(mainLayout)

        # update/create the figures
        self.update_figures()
Ejemplo n.º 25
0
    def get_NIRSpec_layout(self):
        self.NIRSpec = QtWidgets.QGroupBox('NIRSpec spectral ranges')
        self.Nspec = []
        for idx, filt in enumerate(self.Nsmodes):
            self.Nspec.append(QtWidgets.QCheckBox(filt, self))
            self.Nspec.append(QtWidgets.QLabel('Color: ', self))
            self.Nspec.append(
                QtWidgets.QLineEdit('{:6.4f}'.format(self.Nscolors[idx]),
                                    self))
        for idx in np.arange(len(self.Nsmodes)):
            self.Nspec[3 * idx].stateChanged.connect(self.update_figures)
            self.Nspec[3 * idx + 2].returnPressed.connect(
                self.update_Nspeccolor)
        self.Nsselectall = QtWidgets.QPushButton('Select all', self)
        self.Nsselectall.clicked.connect(self.update_Nsselectall)

        # the layout
        layout = QtWidgets.QGridLayout()
        for idx in np.arange(len(self.Nsmodes)):
            for idx2 in np.arange(3):
                layout.addWidget(self.Nspec[3 * idx + idx2], idx, idx2)
        layout.addWidget(self.Nsselectall, 3 * idx + 1, 0, 1, 2)
        self.NIRSpec.setLayout(layout)
Ejemplo n.º 26
0
    def get_MIRIfilters_layout(self):
        self.MIRIfilter = QtWidgets.QGroupBox('MIRI filters')
        self.Mfilter = []
        for idx, filt in enumerate(self.Mfilters):
            self.Mfilter.append(QtWidgets.QCheckBox(filt, self))
            self.Mfilter.append(QtWidgets.QLabel('Color: ', self))
            self.Mfilter.append(
                QtWidgets.QLineEdit('{:6.4f}'.format(self.Mfcolors[idx]),
                                    self))
        for idx in np.arange(len(self.Mfilters)):
            self.Mfilter[3 * idx].stateChanged.connect(self.update_figures)
            self.Mfilter[3 * idx + 2].returnPressed.connect(
                self.update_Mfiltercolor)
        self.Mfselectall = QtWidgets.QPushButton('Select all', self)
        self.Mfselectall.clicked.connect(self.update_Mfselectall)

        # the layout
        layout = QtWidgets.QGridLayout()
        for idx in np.arange(len(self.Mfilters)):
            for idx2 in np.arange(3):
                layout.addWidget(self.Mfilter[3 * idx + idx2], idx, idx2)
        layout.addWidget(self.Mfselectall, 3 * idx + 1, 0, 1, 2)
        self.MIRIfilter.setLayout(layout)
Ejemplo n.º 27
0
    def __init__(self, parent=None):
        super(Page4, self).__init__(parent)
        integerValidator = QtGui.QIntValidator(0, 10, self)

        comboLabel = QtWidgets.QLabel('Graphic Type:')
        dataLabel = QtWidgets.QLabel('Data Directory:')
        self.dataLine = QtWidgets.QLineEdit()
        dataBtn = QtWidgets.QPushButton('File', self)
        dataBtn.clicked.connect(self.getDir)
        self.registerField('popDir*', self.dataLine)

        allelesLabel = QtWidgets.QLabel('Number of alleles:')
        self.allelesLine = QtWidgets.QLineEdit()
        self.allelesLine.setValidator(integerValidator)
        self.registerField('alleleCount2*', self.allelesLine)

        groupsLabel = QtWidgets.QLabel('Number of Groups:')
        self.groupsLine = QtWidgets.QLineEdit()
        self.groupsLine.setValidator(integerValidator)
        self.registerField('groupCount2*', self.groupsLine)

        self.b1 = QtWidgets.QCheckBox("Females")
        self.b1.setChecked(False)
        self.registerField('females', self.b1)

        grid = QtWidgets.QGridLayout()
        grid.setSpacing(10)
        grid.addWidget(dataLabel, 1, 0)
        grid.addWidget(self.dataLine, 1, 1)
        grid.addWidget(dataBtn, 1, 2)
        grid.addWidget(allelesLabel, 2, 0)
        grid.addWidget(self.allelesLine, 2, 1)
        grid.addWidget(groupsLabel, 3, 0)
        grid.addWidget(self.groupsLine, 3, 1)
        grid.addWidget(self.b1, 4, 1)

        self.setLayout(grid)
Ejemplo n.º 28
0
    def get_parameter_layout(self):
        self.parameter = QtWidgets.QGroupBox('Model Parameters')

        # line edits for all of the parameters
        self.nparameters = len(self.qube.initpar)
        self.lepar_label = []
        self.lepar = []
        for idx, key in enumerate(self.qube.initpar.keys()):
            self.lepar_label.append(QtWidgets.QLabel(self))
            self.lepar_label[idx].setText(key + ': ')
            strval = str(self.qube.initpar[key]['Value'])
            self.lepar.append(QtWidgets.QLineEdit(strval, self))

        # the GO button
        self.gobutton = QtWidgets.QPushButton('OK', self)
        self.gobutton.clicked.connect(self.update_model)

        # layout
        layout = QtWidgets.QGridLayout()
        for idx in np.arange(self.nparameters):
            layout.addWidget(self.lepar_label[idx], idx, 0)
            layout.addWidget(self.lepar[idx], idx, 1)
        layout.addWidget(self.gobutton, idx + 1, 0, 1, 2)
        self.parameter.setLayout(layout)
Ejemplo n.º 29
0
    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)

        # get the individual panels
        self.get_chanselect_layout()
        self.get_controls_layout()
        self.get_dataselection_layout()
        self.get_moment_layout()
        self.get_plotselection_layout()
        self.get_canvas_layout()

        # add to layout
        mainLayout = QtWidgets.QGridLayout()
        mainLayout.addWidget(self.canvas, 0, 0, 3, 3)
        mainLayout.addWidget(self.chanselect, 3, 1)
        mainLayout.addWidget(self.controls, 3, 0)
        mainLayout.addWidget(self.dataselection, 0, 3)
        mainLayout.addWidget(self.moment, 1, 3)
        mainLayout.addWidget(self.plotselection, 3, 3)
        self.setLayout(mainLayout)

        # update/create the figures
        self.update_figure()
Ejemplo n.º 30
0
 def __init__(self,wib_server='127.0.0.1',config='default.json',rows=1,cols=1,layout=None):
     super().__init__()
     plot_layout = layout
     
     self.context = zmq.Context()
     self.socket = self.context.socket(zmq.REQ)
     self.socket.connect('tcp://%s:1234'%wib_server)
     self.config = config
     
     self.samples = None
     self.timestamps = None
     
     self._main = QtWidgets.QWidget()
     self._main.setFocusPolicy(QtCore.Qt.StrongFocus)
     self.setCentralWidget(self._main)
     layout = QtWidgets.QVBoxLayout(self._main)
     
     button_layout = QtWidgets.QHBoxLayout()
     
     button = QtWidgets.QPushButton('Reshape')
     button_layout.addWidget(button)
     button.setToolTip('Change the plot grid shape')
     button.clicked.connect(self.reshape_prompt)
     
     button = QtWidgets.QPushButton('Load Layout')
     button_layout.addWidget(button)
     button.setToolTip('Save plot layout and selected signals')
     button.clicked.connect(self.load_layout)
     
     button = QtWidgets.QPushButton('Save Layout')
     button_layout.addWidget(button)
     button.setToolTip('Load plot layout and selected signals')
     button.clicked.connect(self.save_layout)
     
     layout.addLayout(button_layout)
     
     self.grid = QtWidgets.QGridLayout()
     self.views = []
     self.reshape(rows,cols)
     layout.addLayout(self.grid)
     
     nav_layout = QtWidgets.QHBoxLayout()
     
     button = QtWidgets.QPushButton('Configure')
     nav_layout.addWidget(button)
     button.setToolTip('Configure WIB and front end')
     button.clicked.connect(self.configure_wib)
     
     button = QtWidgets.QPushButton('Enable Pulser')
     nav_layout.addWidget(button)
     button.setToolTip('Toggle calibration pulser')
     button.clicked.connect(self.toggle_pulser)
     self.pulser_button = button
     
     button = QtWidgets.QPushButton('Acquire')
     nav_layout.addWidget(button)
     button.setToolTip('Read WIB Spy Buffer')
     button.clicked.connect(self.acquire_data)
     
     button = QtWidgets.QPushButton('Continuous')
     nav_layout.addWidget(button)
     button.setToolTip('Repeat acquisitions until stopped')
     button.clicked.connect(self.toggle_continuious)
     self.continuious_button = button
     
     self.timer = QtCore.QTimer(self)
     self.timer.timeout.connect(self.acquire_data)
     
     layout.addLayout(nav_layout)
     
     if plot_layout:
         self.load_layout(plot_layout)
     self.plot_selected()