示例#1
0
文件: config.py 项目: wuxyair/kite
    def __init__(self, *args, **kwargs):
        QtWidgets.QDialog.__init__(self, *args, **kwargs)

        self.completer = QtWidgets.QCompleter()
        self.completer_model = QtWidgets.QFileSystemModel(self.completer)
        self.completer.setModel(self.completer_model)
        self.completer.setMaxVisibleItems(8)

        loadUi(get_resource('dialog_config.ui'), self)

        self.ok_button.released.connect(self.setAttributes)
        self.ok_button.released.connect(self.close)

        self.apply_button.released.connect(self.setAttributes)

        self.vector_color_picker = QtWidgets.QColorDialog(self)
        self.vector_color_picker. \
            setCurrentColor(QtGui.QColor(*getConfig().vector_color))
        self.vector_color_picker. \
            setOption(self.vector_color_picker.ShowAlphaChannel)
        self.vector_color_picker.colorSelected.connect(self.updateVectorColor)
        self.vector_color_picker.setModal(True)
        self.vector_color.clicked.connect(self.vector_color_picker.show)

        self.vector_color.setValue = self.setButtonColor
        self.vector_color.value = self.getButtonColor

        self.chooseStoreDirButton.released.connect(self.chooseStoreDir)
        self.completer_model.setRootPath('')
        self.completer.setParent(self.default_gf_dir)
        self.default_gf_dir.setCompleter(self.completer)

        self.getAttributes()
示例#2
0
    def __init__(self, plot, parent=None):
        QtGui.QDialog.__init__(self, parent)

        loadUi(get_resource('transect.ui'), baseinstance=self)

        pxmap = self.style().standardPixmap

        self.closeButton.setIcon(pxmap(QtGui.QStyle.SP_DialogCloseButton))
        self.createButton.setIcon(pxmap(QtGui.QStyle.SP_ArrowUp))
        self.removeButton.setIcon(pxmap(QtGui.QStyle.SP_DialogDiscardButton))

        self.plot = plot
        self.poly_line = None

        self.trans_plot = pg.PlotDataItem(antialias=True,
                                          fillLevel=0.,
                                          fillBrush=pg.mkBrush(0, 127, 0, 150))

        self.plt_wdgt = pg.PlotWidget()
        self.plt_wdgt.setLabels(bottom={'Distance', 'm'},
                                left='Displacement [m]')

        self.plt_wdgt.showGrid(True, True, alpha=.5)
        self.plt_wdgt.enableAutoRange()
        self.plt_wdgt.addItem(self.trans_plot)

        self.layoutPlot.addWidget(self.plt_wdgt)
        self.plot.image.sigImageChanged.connect(self.updateTransPlot)
        self.createButton.released.connect(self.addPolyLine)
        self.removeButton.released.connect(self.removePolyLine)

        parent.model.sigConfigChanged.connect(self.close)
示例#3
0
    def __init__(self, *args, **kwargs):
        filename = kwargs.pop('filename', None)
        QtWidgets.QMainWindow.__init__(self, *args, **kwargs)
        loadUi(get_resource('talpa.ui'), baseinstance=self)
        self.sandbox = SandboxModel.empty()

        self.log = SceneLog(self, self.sandbox)

        self.actionSaveModel.triggered.connect(self.onSaveModel)
        self.actionLoadModel.triggered.connect(self.loadModel)
        self.actionExportKiteScene.triggered.connect(self.onExportScene)
        self.actionChangeExtent.triggered.connect(self.extentDialog)
        self.actionChangeLos.triggered.connect(self.losDialog)
        self.actionLoadReferenceScene.triggered.connect(
            self.onLoadReferenceScene)

        self.actionConfiguration.triggered.connect(self.configDialog)

        self.actionHelp.triggered.connect(
            lambda: QtGui.QDesktopServices.openUrl('https://pyrocko.org'))
        self.actionAbout_Talpa.triggered.connect(self.aboutDialog().show)
        self.actionLog.triggered.connect(self.log.show)

        self.sandbox.sigModelChanged.connect(self.createMisfitWindow)

        if filename is not None:
            self.loadModel(filename)
        self.createView(self.sandbox)
示例#4
0
    def __init__(self, sandbox, *args, **kwargs):
        QtWidgets.QDialog.__init__(self, *args, **kwargs)
        loadUi(get_resource('dialog_extent.ui'), self)
        self.setSizeGripEnabled(False)

        self.move(self.parent().window().mapToGlobal(
            self.parent().window().rect().center()) -
                  self.mapToGlobal(self.rect().center()))

        self.sandbox = sandbox
        model = self.sandbox.model
        dE, dN = model.frame.dE, model.frame.dN

        def getKm(px, dp):
            return '%.2f km ' % (dp * px * 1e-3)

        self.spinEastPx.valueChanged.connect(
            lambda px: self.eastKm.setText(getKm(px, dE)))
        self.spinNorthPx.valueChanged.connect(
            lambda px: self.northKm.setText(getKm(px, dN)))

        self.applyButton.released.connect(self.updateValues)
        self.okButton.released.connect(self.updateValues)
        self.okButton.released.connect(self.close)

        self.setValues()
示例#5
0
    def __init__(self, model, parent=None):
        QtWidgets.QDialog.__init__(self, parent)
        self.model = model

        loadUi(get_resource("gacos_correction.ui"), baseinstance=self)
        self.closeButton.setIcon(self.style().standardIcon(
            QtWidgets.QStyle.SP_DialogCloseButton))

        self.gacos_plot = self.GACOSPlot(model, self)
        self.dockarea = dockarea.DockArea(self)

        self.dockarea.addDock(
            dockarea.Dock(
                "GACOS.get_correction()",
                widget=self.gacos_plot,
                size=(4, 4),
                autoOrientation=False,
            ),
            position="left",
        )

        self.horizontalLayoutPlot.addWidget(self.dockarea)
        self.loadGrids.released.connect(self.load_grids)
        self.toggleGACOS.released.connect(self.toggle_gacos)
        self.update_widgets()
示例#6
0
    def __init__(self, delegate, ui_file, *args, **kwargs):
        QtGui.QDialog.__init__(self, *args, **kwargs)
        loadUi(get_resource(ui_file), self)
        self.delegate = delegate

        self.delegate.sourceParametersChanged.connect(self.getSourceParameters)
        self.applyButton.released.connect(self.setSourceParameters)
        self.okButton.released.connect(self.setSourceParameters)
        self.okButton.released.connect(self.close)
示例#7
0
    def __init__(self, model, parent=None):
        QtWidgets.QDialog.__init__(self, parent)

        loadUi(get_resource("noise_dialog.ui"), baseinstance=self)
        self.closeButton.setIcon(self.style().standardIcon(
            QtWidgets.QStyle.SP_DialogCloseButton))
        self.setWindowFlags(QtCore.Qt.Window)

        self.noise_patch = self.NoisePlot(model)
        self.noise_synthetic = self.NoiseSyntheticPlot(model)

        colormap = KiteToolColormap(self.noise_patch)
        self.noise_synthetic.setGradientEditor(colormap)

        self.dockarea = dockarea.DockArea(self)

        self.dockarea.addDock(
            dockarea.Dock(
                "Covariance.noise_data",
                widget=self.noise_patch,
                size=(6, 6),
                autoOrientation=False,
            ),
            position="top",
        )

        self.dockarea.addDock(
            dockarea.Dock(
                "Covariance.syntheticNoise",
                widget=self.noise_synthetic,
                size=(6, 6),
                autoOrientation=False,
            ),
            position="bottom",
        )

        self.dockarea.addDock(
            dockarea.Dock(
                "Colormap",
                widget=colormap,
                size=(1, 1),
                autoOrientation=False,
            ),
            position="right",
        )
        self.horizontalLayoutPlot.addWidget(self.dockarea)

        self.resetSizeButton.released.connect(self.noise_synthetic.resetSize)
        self.anisotropicCB.toggled.connect(
            lambda b: self.noise_synthetic.enableAnisotropic(b))
示例#8
0
    def __init__(self, sandbox, *args, **kwargs):
        QtWidgets.QMainWindow.__init__(self, *args, **kwargs)
        loadUi(get_resource('window_reference.ui'), self)

        self.move(self.parent().window().mapToGlobal(
            self.parent().window().rect().center()) -
                  self.mapToGlobal(self.rect().center()))

        self.sandbox = sandbox

        self.actionOptimizeSource.triggered.connect(
            self.sandbox.optimizeSource)

        self.createView(self.sandbox)
示例#9
0
    def __init__(self, sandbox, *args, **kwargs):
        QtWidgets.QDialog.__init__(self, *args, **kwargs)
        loadUi(get_resource('dialog_los.ui'), self)
        self.setSizeGripEnabled(False)

        self.move(self.parent().window().mapToGlobal(
            self.parent().window().rect().center()) -
                  self.mapToGlobal(self.rect().center()))

        self.sandbox = sandbox
        model = self.sandbox.model
        self.applyButton.released.connect(self.updateValues)
        self.okButton.released.connect(self.updateValues)
        self.okButton.released.connect(self.close)

        self.setValues()
示例#10
0
    def __init__(self, *args, **kwargs):
        QtWidgets.QMainWindow.__init__(self, *args, **kwargs)
        loadUi(get_resource('spool.ui'), baseinstance=self)

        self.views = [KiteScene, KiteQuadtree, KiteCovariance]

        self.ptree = KiteParameterTree(showHeader=False)
        self.ptree_dock = QtWidgets.QDockWidget('Parameters', self)
        self.ptree_dock.setFeatures(QtWidgets.QDockWidget.DockWidgetFloatable
                                    | QtWidgets.QDockWidget.DockWidgetMovable)
        self.ptree_dock.setWidget(self.ptree)
        self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, self.ptree_dock)

        self.model = SceneModel()
        self.model.sigSceneModelChanged.connect(self.buildViews)

        self.sigLoadFile.connect(self.model.loadFile)
        self.sigImportFile.connect(self.model.importFile)
        self.sigLoadConfig.connect(self.model.loadConfig)
        self.sigExportWeightMatrix.connect(self.model.exportWeightMatrix)

        self.actionSave_config.triggered.connect(self.onSaveConfig)
        self.actionSave_scene.triggered.connect(self.onSaveScene)
        self.actionLoad_config.triggered.connect(self.onLoadConfig)
        self.actionLoad_scene.triggered.connect(self.onOpenScene)

        self.actionImport_scene.triggered.connect(self.onImportScene)
        self.actionExport_quadtree.triggered.connect(self.onExportQuadtree)
        self.actionExport_weights.triggered.connect(self.onExportWeightMatrix)

        self.actionAbout_Spool.triggered.connect(self.aboutDialog().show)
        self.actionAbout_Qt5.triggered.connect(
            lambda: QtGui.QMessageBox.aboutQt(self))
        self.actionHelp.triggered.connect(
            lambda: QtGui.QDesktopServices.openUrl('https://pyrocko.org'))

        self.log = SceneLog(self, self.model)
        self.actionLog.triggered.connect(self.log.show)

        self.progress = QtWidgets.QProgressDialog('', None, 0, 0, self)
        self.progress.setValue(0)
        self.progress.closeEvent = lambda ev: ev.ignore()
        self.progress.setMinimumWidth(400)
        self.progress.setWindowTitle('Processing...')
        self.model.sigProcessingFinished.connect(
            self.progress.reset, type=QtCore.Qt.QueuedConnection)
        self.progress.reset()
示例#11
0
    def __init__(self, model, parent=None):
        QtGui.QDialog.__init__(self, parent)

        loadUi(get_resource('covariance_matrix.ui'), baseinstance=self)
        self.closeButton.setIcon(self.style().standardPixmap(
            QtGui.QStyle.SP_DialogCloseButton))

        self.weight_matrix = self.MatrixPlot(model)
        self.dockarea = dockarea.DockArea(self)

        self.dockarea.addDock(dockarea.Dock(
            'Covariance.weight_matrix_focal',
            widget=self.weight_matrix,
            size=(4, 4),
            autoOrientation=False,
        ),
                              position='left')

        self.horizontalLayoutPlot.addWidget(self.dockarea)
示例#12
0
文件: talpa.py 项目: hvasbath/kite
    def __init__(self, *args, **kwargs):
        filename = kwargs.pop('filename', None)

        QtGui.QMainWindow.__init__(self, *args, **kwargs)
        loadUi(get_resource('talpa.ui'), baseinstance=self)

        self.sandbox = SandboxModel.empty()

        self.log = SceneLog(self, self.sandbox)

        self.actionSaveModel.triggered.connect(self.onSaveModel)
        self.actionLoadModel.triggered.connect(self.loadModel)
        self.actionExportKiteScene.triggered.connect(self.onExportScene)
        self.actionChangeExtent.triggered.connect(self.extentDialog)
        self.actionLoadReferenceScene.triggered.connect(
            self.onLoadReferenceScene)

        self.actionConfiguration.triggered.connect(self.configDialog)

        self.actionHelp.triggered.connect(
            lambda: QtGui.QDesktopServices.openUrl('http://pyrocko.org'))
        self.actionAbout_Talpa.triggered.connect(self.aboutDialog().show)
        self.actionLog.triggered.connect(self.log.show)

        self.sandbox.sigModelChanged.connect(self.createMisfitWindow)

        self.progress = QtGui.QProgressDialog('', None, 0, 0, self)
        self.progress.setValue(0)
        self.progress.closeEvent = lambda ev: ev.ignore()
        self.progress.setMinimumWidth(400)
        self.progress.setWindowTitle('processing...')
        self.sandbox.sigProcessingFinished.connect(self.processingFinished)
        self.sandbox.sigProcessingStarted.connect(self.processingStarted)

        if filename is not None:
            self.loadModel(filename)
        self.createView(self.sandbox)
示例#13
0
    def __init__(self, model, parent=None):
        QtWidgets.QDialog.__init__(self, parent)
        self.model = model

        loadUi(get_resource("weight_matrix.ui"), baseinstance=self)
        self.closeButton.setIcon(self.style().standardIcon(
            QtWidgets.QStyle.SP_DialogCloseButton))

        self.weight_matrix = self.MatrixPlot(model, self)
        self.dockarea = dockarea.DockArea(self)

        self.dockarea.addDock(
            dockarea.Dock(
                "Covariance.weight_matrix_focal",
                widget=self.weight_matrix,
                size=(4, 4),
                autoOrientation=False,
            ),
            position="left",
        )

        self.horizontalLayoutPlot.addWidget(self.dockarea)
        self.model.sigCovarianceChanged.connect(self.updateMatrixButtons)
        self.model.sigCovarianceConfigChanged.connect(self.updateMatrixButtons)
示例#14
0
 def aboutDialog(self):
     self._about = QtWidgets.QDialog(self)
     loadUi(get_resource('about.ui'), baseinstance=self._about)
     return self._about
示例#15
0
    def __init__(self, *args, **kwargs):
        QtWidgets.QMainWindow.__init__(self, *args, **kwargs)
        loadUi(get_resource("spool.ui"), baseinstance=self)

        self.views = []
        self.active_view = None

        self.ptree = KiteParameterTree(showHeader=False)
        self.ptree.setMinimumWidth(400)
        self.dock_ptree = QtWidgets.QDockWidget("Parameters", self)
        self.dock_ptree.setFeatures(
            QtWidgets.QDockWidget.DockWidgetMovable
            | QtWidgets.QDockWidget.DockWidgetFloatable)
        self.dock_ptree.setWidget(self.ptree)
        self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, self.dock_ptree)

        self.tabs = QtWidgets.QTabWidget(self)
        self.dock_tabs = QtWidgets.QDockWidget(self)
        self.dock_tabs.setTitleBarWidget(QtWidgets.QWidget())
        self.dock_tabs.setWidget(self.tabs)
        self.dock_tabs.setFeatures(QtWidgets.QDockWidget.NoDockWidgetFeatures)

        self.addDockWidget(QtCore.Qt.RightDockWidgetArea, self.dock_tabs)
        self.setCentralWidget(self.dock_tabs)

        self.model = SceneModel(self)
        self.model.sigSceneModelChanged.connect(self.buildViews)

        # Connecting signals
        self.sigLoadFile.connect(self.model.loadFile)
        self.sigImportFile.connect(self.model.importFile)
        self.sigLoadConfig.connect(self.model.loadConfig)
        self.sigExportWeightMatrix.connect(self.model.exportWeightMatrix)

        self.actionSave_config.triggered.connect(self.onSaveConfig)
        self.actionSave_scene.triggered.connect(self.onSaveScene)
        self.actionLoad_config.triggered.connect(self.onLoadConfig)
        self.actionLoad_scene.triggered.connect(self.onOpenScene)

        self.actionImport_scene.triggered.connect(self.onImportScene)
        self.actionExport_quadtree.triggered.connect(self.onExportQuadtree)
        self.actionExport_weights.triggered.connect(self.onExportWeightMatrix)

        self.actionAbout_Spool.triggered.connect(self.aboutDialog().show)
        self.actionAbout_Qt5.triggered.connect(
            lambda: QtWidgets.QMessageBox.aboutQt(self))
        self.actionHelp.triggered.connect(
            lambda: QtGui.QDesktopServices.openUrl(
                QtCore.QUrl("https://pyrocko.org")))

        self.log = SceneLog(self, self.model)
        self.actionLog.triggered.connect(self.log.show)

        self.progress = QtWidgets.QProgressDialog("", None, 0, 0, self)
        self.progress.setValue(0)
        self.progress.closeEvent = lambda ev: ev.ignore()
        self.progress.setMinimumWidth(400)
        self.progress.reset()
        self.progress_timer = None

        self.state_hash = None
示例#16
0
文件: spool.py 项目: hvasbath/kite
 def loadUi(self):
     loadUi(get_resource('spool.ui'), baseinstance=self)