restructured GUI and added first Seismic Array options

This commit is contained in:
Marcel Paffrath 2016-06-16 13:57:15 +02:00
parent c3d134e6ca
commit 9f71bf8082
8 changed files with 747 additions and 351 deletions

View File

@ -3,7 +3,11 @@
import os import os
from PySide import QtCore, QtGui, QtCore from PySide import QtCore, QtGui, QtCore
from asp3d_layout import * from asp3d_layout import *
from pylot.core.active import activeSeismoPick, surveyUtils, fmtomoUtils from fmtomo_parameters_layout import *
from generate_survey_layout import *
from generate_seisarray_layout import *
from picking_parameters_layout import *
from pylot.core.active import activeSeismoPick, surveyUtils, fmtomoUtils, seismicArrayPreparation
class gui_control(object): class gui_control(object):
def __init__(self): def __init__(self):
@ -11,8 +15,23 @@ class gui_control(object):
self.mainUI = ui self.mainUI = ui
self.connectButtons() self.connectButtons()
self.survey = None self.survey = None
self.seisarray = None
self.cancelpixmap = self.mainwindow.style().standardPixmap(QtGui.QStyle.SP_DialogCancelButton)
self.applypixmap = self.mainwindow.style().standardPixmap(QtGui.QStyle.SP_DialogApplyButton)
self.setInitStates()
def setInitStates(self):
self.setPickState(False)
self.setSurveyState(False)
self.setSeisArrayState(False)
self.setConnected2SurveyState(False)
def connectButtons(self): def connectButtons(self):
QtCore.QObject.connect(self.mainUI.gen_new_seisarray, QtCore.SIGNAL("clicked()"), self.gen_seisarray)
QtCore.QObject.connect(self.mainUI.load_seisarray, QtCore.SIGNAL("clicked()"), self.load_seisarray)
QtCore.QObject.connect(self.mainUI.save_seisarray, QtCore.SIGNAL("clicked()"), self.save_seisarray)
QtCore.QObject.connect(self.mainUI.connect_to_survey, QtCore.SIGNAL("clicked()"), self.connect2Survey)
QtCore.QObject.connect(self.mainUI.interpolate_receivers, QtCore.SIGNAL("clicked()"), self.interpolate_receivers)
QtCore.QObject.connect(self.mainUI.gen_new_survey, QtCore.SIGNAL("clicked()"), self.gen_survey) QtCore.QObject.connect(self.mainUI.gen_new_survey, QtCore.SIGNAL("clicked()"), self.gen_survey)
QtCore.QObject.connect(self.mainUI.load_survey, QtCore.SIGNAL("clicked()"), self.load_survey) QtCore.QObject.connect(self.mainUI.load_survey, QtCore.SIGNAL("clicked()"), self.load_survey)
QtCore.QObject.connect(self.mainUI.save_survey, QtCore.SIGNAL("clicked()"), self.save_survey) QtCore.QObject.connect(self.mainUI.save_survey, QtCore.SIGNAL("clicked()"), self.save_survey)
@ -20,12 +39,32 @@ class gui_control(object):
QtCore.QObject.connect(self.mainUI.postprocessing, QtCore.SIGNAL("clicked()"), self.postprocessing) QtCore.QObject.connect(self.mainUI.postprocessing, QtCore.SIGNAL("clicked()"), self.postprocessing)
QtCore.QObject.connect(self.mainUI.fmtomo, QtCore.SIGNAL("clicked()"), self.startFMTOMO) QtCore.QObject.connect(self.mainUI.fmtomo, QtCore.SIGNAL("clicked()"), self.startFMTOMO)
def gen_survey(self): def gen_seisarray(self):
if self.checkSurveyState(): if self.checkSeisArrayState():
if not self.continueSurveyDialog(): if not self.continueDialogExists('Seismic Array'):
return return
qdialog = QtGui.QDialog(self.mainwindow) qdialog = QtGui.QDialog(self.mainwindow)
ui = Ui_Dialog() ui = Ui_generate_seisarray()
ui.setupUi(qdialog)
self.gen_new_seisarray = ui
self.connectButtons_gen_seisarray()
if qdialog.exec_():
srcfile = self.gen_new_seisarray.lineEdit_src.text()
recfile = self.gen_new_seisarray.lineEdit_rec.text()
ptsfile = self.gen_new_seisarray.lineEdit_pts.text()
self.seisarray = seismicArrayPreparation.SeisArray(recfile)
if len(srcfile) > 0:
self.seisarray.addSourceLocations(srcfile)
if len(ptsfile) > 0:
self.seisarray.addMeasuredTopographyPoints(ptsfile)
self.setSeisArrayState(True)
def gen_survey(self):
if self.checkSurveyState():
if not self.continueDialogExists('Survey'):
return
qdialog = QtGui.QDialog(self.mainwindow)
ui = Ui_generate_survey()
ui.setupUi(qdialog) ui.setupUi(qdialog)
self.gen_new_survey = ui self.gen_new_survey = ui
self.connectButtons_gen_survey() self.connectButtons_gen_survey()
@ -37,7 +76,12 @@ class gui_control(object):
useDefaultParas = True) useDefaultParas = True)
self.survey.setArtificialPick(0, 0) # artificial pick at source origin self.survey.setArtificialPick(0, 0) # artificial pick at source origin
surveyUtils.setDynamicFittedSNR(self.survey.getShotDict()) surveyUtils.setDynamicFittedSNR(self.survey.getShotDict())
self.setSurveyState('active') self.setSurveyState(True)
def interpolate_receivers(self):
if not self.seisarray:
print('No Seismic Array defined.')
self.seisarray.interpolateAll()
def getPickParameters(self, ui, Picking_parameters): def getPickParameters(self, ui, Picking_parameters):
if Picking_parameters.exec_(): if Picking_parameters.exec_():
@ -49,10 +93,27 @@ class gui_control(object):
aicwindow = [int(val) for val in ui.lineEdit_aicwindow.text().split(',')] aicwindow = [int(val) for val in ui.lineEdit_aicwindow.text().split(',')]
return ncores, vmin, vmax, folm, AIC, tuple(aicwindow) return ncores, vmin, vmax, folm, AIC, tuple(aicwindow)
def callPicker(self): def connect2Survey(self):
if self.survey is None: if not self.checkSurveyState():
print('Survey not defined.') print('Survey not defined.')
return return
if not self.checkSeisArrayState():
print('Got no Seismic Array.')
return
if self.checkConnected2SurveyState():
if self.continueDialogMessage('Existing Survey already got Seismic Array object. Continue?'):
pass
self.survey.seisarray = self.seisarray
self.setConnected2SurveyState(True)
print('Connected Seismic Array to active Survey object.')
def callPicker(self):
if not self.checkSurveyState():
print('Survey not defined.')
return
if self.checkPickState():
if not self.continueDialogMessage('Survey already picked. Continue?'):
return
Picking_parameters = QtGui.QDialog(self.mainwindow) Picking_parameters = QtGui.QDialog(self.mainwindow)
ui = Ui_Picking_parameters() ui = Ui_Picking_parameters()
ui.setupUi(Picking_parameters) ui.setupUi(Picking_parameters)
@ -69,10 +130,10 @@ class gui_control(object):
self.survey.pickAllShots(vmin = vmin, vmax = vmax, self.survey.pickAllShots(vmin = vmin, vmax = vmax,
folm = folm, HosAic = HosAic, folm = folm, HosAic = HosAic,
aicwindow = aicwindow, cores = ncores) aicwindow = aicwindow, cores = ncores)
self.setPickState('active') self.setPickState(True)
def startFMTOMO(self): def startFMTOMO(self):
if self.survey is None: if not self.checkSurveyState():
print('Survey not defined.') print('Survey not defined.')
return return
fmtomo_parameters = QtGui.QDialog(self.mainwindow) fmtomo_parameters = QtGui.QDialog(self.mainwindow)
@ -95,18 +156,16 @@ class gui_control(object):
customgrid = ui.customgrid.text() customgrid = ui.customgrid.text()
simuldir = ui.simuldir.text() simuldir = ui.simuldir.text()
picks_dir = os.path.join(simuldir, 'picks') picks_dir = os.path.join(simuldir, 'picks')
seisarray_loc = ui.seisarray.text()
if not os.path.isdir(picks_dir): if not os.path.isdir(picks_dir):
err = os.mkdir(picks_dir) err = os.mkdir(picks_dir)
self.survey.exportFMTOMO(picks_dir) self.survey.exportFMTOMO(picks_dir)
self.survey.loadArrayFromPickle(seisarray_loc)
cwd = os.getcwd() cwd = os.getcwd()
interpolationMethod = 'linear' interpolationMethod = 'linear'
os.chdir(simuldir) os.chdir(simuldir)
self.survey.seisArray.generateFMTOMOinputFromArray(propgrid, vgrid, (bbot, btop), cushionfactor, self.survey.seisarray.generateFMTOMOinputFromArray(propgrid, vgrid, (bbot, btop), cushionfactor,
interpolationMethod, customgrid = customgrid, interpolationMethod, customgrid = customgrid,
writeVTK = False) writeVTK = False)
os.chdir(cwd) os.chdir(cwd)
@ -124,82 +183,136 @@ class gui_control(object):
self.fmtomo_parameters_ui.fmtomo_dir.setText(self.browseDir()) self.fmtomo_parameters_ui.fmtomo_dir.setText(self.browseDir())
def chooseCustomgrid(self): def chooseCustomgrid(self):
self.fmtomo_parameters_ui.customgrid.setText(self.browseFile()) self.fmtomo_parameters_ui.customgrid.setText(self.openFile())
def chooseSimuldir(self): def chooseSimuldir(self):
self.fmtomo_parameters_ui.simuldir.setText(self.browseDir()) self.fmtomo_parameters_ui.simuldir.setText(self.browseDir())
def chooseSeisarray(self): def chooseSeisarray(self):
self.fmtomo_parameters_ui.seisarray.setText(self.browseFile()) self.fmtomo_parameters_ui.seisarray.setText(self.openFile())
def postprocessing(self): def postprocessing(self):
if self.survey is None: if not self.checkSurveyState():
print('Survey not defined.') print('Survey not defined.')
return return
self.survey.plotAllPicks() self.survey.plotAllPicks()
def load_survey(self): def load_survey(self):
if self.checkSurveyState(): if self.checkSurveyState():
if not self.continueSurveyDialog(): if not self.continueDialogExists('Survey'):
return return
filename = self.browseFile() filename = self.openFile()
if filename is None: if filename is None:
return return
self.survey = activeSeismoPick.Survey.from_pickle(filename) self.survey = activeSeismoPick.Survey.from_pickle(filename)
self.setSurveyState('active') self.setSurveyState(True)
if self.survey.picked: if self.survey.picked:
self.setPickState('active') self.setPickState(True)
else:
self.setPickState(False)
if self.survey.seisarray != None:
self.seisarray = self.survey.seisarray
self.setConnected2SurveyState(True)
self.setSeisArrayState(True)
print('Loaded Survey with active Seismic Array.')
def load_seisarray(self):
if self.checkSeisArrayState():
if not self.continueDialogExists('Seismic Array'):
return
filename = self.openFile()
if filename is None:
return
self.seisarray = seismicArrayPreparation.SeisArray.from_pickle(filename)
self.setSeisArrayState(True)
def save_seisarray(self):
if not self.checkSeisArrayState():
print('No Seismic Array defined.')
return
filename = self.saveFile()
if filename is None:
return
self.seisarray.saveSeisArray(filename)
def save_survey(self): def save_survey(self):
if not self.checkSurveyState(): if not self.checkSurveyState():
print('No Survey defined.') print('No Survey defined.')
return return
if self.checkSurveyState: filename = self.saveFile()
filename = self.browseFile()
if filename is None: if filename is None:
return return
self.survey.saveSurvey(filename) self.survey.saveSurvey(filename)
else:
print('No active Survey.')
def setSurveyState(self, state): def setSurveyState(self, state):
if state == 'active': if state == True:
self.mainUI.survey_active.setCheckable(True) self.mainUI.survey_active.setPixmap(self.applypixmap)
self.mainUI.survey_active.setChecked(True) elif state == False:
self.mainUI.survey_active.setCheckable(False) self.mainUI.survey_active.setPixmap(self.cancelpixmap)
elif state == 'inactive':
self.mainUI.survey_active.setCheckable(True)
self.mainUI.survey_active.setChecked(False)
self.mainUI.survey_active.setCheckable(False)
def checkSurveyState(self): def checkSurveyState(self):
if self.mainUI.survey_active.checkState() == QtCore.Qt.CheckState.Checked: if self.survey == None:
return True
if self.mainUI.survey_active.checkState() == QtCore.Qt.CheckState.Unchecked:
return False return False
else:
return True
def checkSeisArrayState(self):
if self.seisarray == None:
return False
else:
return True
def setPickState(self, state): def setPickState(self, state):
if state == 'active' and self.checkSurveyState(): if state == True and self.checkSurveyState():
self.mainUI.picked_active.setCheckable(True) self.mainUI.picked_active.setPixmap(self.applypixmap)
self.mainUI.picked_active.setChecked(True) self.survey.picked = True
self.mainUI.picked_active.setCheckable(True) elif state == True and self.checkSurveyState() is False:
elif self.checkSurveyState() is False:
print('No Survey defined.') print('No Survey defined.')
return return
elif state == 'inactive': elif state == False:
self.mainUI.picked_active.setCheckable(True) self.mainUI.picked_active.setPixmap(self.cancelpixmap)
self.mainUI.picked_active.setChecked(False) if self.checkSurveyState():
self.mainUI.picked_active.setCheckable(True) self.survey.picked = False
def checkPickState(self): def setSeisArrayState(self, state):
if self.mainUI.picked_active.checkState() == QtCore.Qt.CheckState.Checked: if state == True:
self.mainUI.seisarray_active.setPixmap(self.applypixmap)
elif state == False:
self.mainUI.seisarray_active.setPixmap(self.cancelpixmap)
def setConnected2SurveyState(self, state):
if state == True:
self.mainUI.seisarray_on_survey_active.setPixmap(self.applypixmap)
elif state == False:
self.mainUI.seisarray_on_survey_active.setPixmap(self.cancelpixmap)
def checkConnected2SurveyState(self):
if self.checkSurveyState():
if self.survey.seisarray != None:
return True return True
if self.mainUI.picked_active.checkState() == QtCore.Qt.CheckState.Unchecked: else:
return False return False
def continueSurveyDialog(self): def checkPickState(self):
if not self.survey:
print ('No Survey defined.')
return
return self.survey.picked
def continueDialogExists(self, name):
qmb = QtGui.QMessageBox() qmb = QtGui.QMessageBox()
qmb.setText('Survey already exists. Overwrite?') qmb.setText('%s object already exists. Overwrite?'%name)
qmb.setStandardButtons(QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel)
qmb.setIcon(QtGui.QMessageBox.Warning)
answer = qmb.exec_()
if answer == 1024:
return True
else:
return False
def continueDialogMessage(self, message):
qmb = QtGui.QMessageBox()
qmb.setText(message)
qmb.setStandardButtons(QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel) qmb.setStandardButtons(QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel)
qmb.setIcon(QtGui.QMessageBox.Warning) qmb.setIcon(QtGui.QMessageBox.Warning)
answer = qmb.exec_() answer = qmb.exec_()
@ -213,21 +326,41 @@ class gui_control(object):
QtCore.QObject.connect(self.gen_new_survey.pushButton_src, QtCore.SIGNAL("clicked()"), self.chooseSourcefile) QtCore.QObject.connect(self.gen_new_survey.pushButton_src, QtCore.SIGNAL("clicked()"), self.chooseSourcefile)
QtCore.QObject.connect(self.gen_new_survey.pushButton_obs, QtCore.SIGNAL("clicked()"), self.chooseObsdir) QtCore.QObject.connect(self.gen_new_survey.pushButton_obs, QtCore.SIGNAL("clicked()"), self.chooseObsdir)
def connectButtons_gen_seisarray(self):
QtCore.QObject.connect(self.gen_new_seisarray.pushButton_rec, QtCore.SIGNAL("clicked()"), self.chooseMeasuredRec)
QtCore.QObject.connect(self.gen_new_seisarray.pushButton_src, QtCore.SIGNAL("clicked()"), self.chooseMeasuredSrc)
QtCore.QObject.connect(self.gen_new_seisarray.pushButton_obs, QtCore.SIGNAL("clicked()"), self.chooseMeasuredPts)
def chooseMeasuredSrc(self):
self.gen_new_seisarray.lineEdit_src.setText(self.openFile())
def chooseMeasuredRec(self):
self.gen_new_seisarray.lineEdit_rec.setText(self.openFile())
def chooseMeasuredPts(self):
self.gen_new_seisarray.lineEdit_pts.setText(self.browseDir())
def chooseSourcefile(self): def chooseSourcefile(self):
self.gen_new_survey.lineEdit_src.setText(self.browseFile()) self.gen_new_survey.lineEdit_src.setText(self.openFile())
def chooseReceiverfile(self): def chooseReceiverfile(self):
self.gen_new_survey.lineEdit_rec.setText(self.browseFile()) self.gen_new_survey.lineEdit_rec.setText(self.openFile())
def chooseObsdir(self): def chooseObsdir(self):
self.gen_new_survey.lineEdit_obs.setText(self.browseDir()) self.gen_new_survey.lineEdit_obs.setText(self.browseDir())
def browseFile(self): def openFile(self):
dialog = QtGui.QFileDialog() dialog = QtGui.QFileDialog()
filename = dialog.getOpenFileName() filename = dialog.getOpenFileName()
if len(filename[0]) > 0: if len(filename[0]) > 0:
return filename[0] return filename[0]
def saveFile(self):
dialog = QtGui.QFileDialog()
filename = dialog.getSaveFileName()
if len(filename[0]) > 0:
return filename[0]
def browseDir(self): def browseDir(self):
dialog = QtGui.QFileDialog() dialog = QtGui.QFileDialog()
directory = dialog.getExistingDirectory() directory = dialog.getExistingDirectory()

View File

@ -24,7 +24,7 @@ class Survey(object):
creating plots for all shots. creating plots for all shots.
''' '''
self.data = {} self.data = {}
self.seisArray = None self.seisarray = None
self._topography = None self._topography = None
self._recfile = receiverfile self._recfile = receiverfile
self._sourcefile = sourcefile self._sourcefile = sourcefile
@ -123,15 +123,14 @@ class Survey(object):
def loadArrayFromPickle(self, filename): def loadArrayFromPickle(self, filename):
from pylot.core.active.seismicArrayPreparation import SeisArray from pylot.core.active.seismicArrayPreparation import SeisArray
array = SeisArray.from_pickle(filename) array = SeisArray.from_pickle(filename)
self.seisArray = array self.seisarray = array
def loadArray(self, path, receiverfile, sourcefile): def loadArray(self, path, receiverfile, sourcefile):
from pylot.core.active.seismicArrayPreparation import SeisArray from pylot.core.active.seismicArrayPreparation import SeisArray
array = SeisArray(os.path.join(path, receiverfile)) array = SeisArray(os.path.join(path, receiverfile))
array.addSourceLocations(os.path.join(path, sourcefile)) array.addSourceLocations(os.path.join(path, sourcefile))
self.seisArray = array self.seisarray = array
def setManualPicksFromFiles(self, directory='picks'): def setManualPicksFromFiles(self, directory='picks'):
''' '''

View File

@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'asp3d_layout.ui' # Form implementation generated from reading ui file 'asp3d_layout.ui'
# #
# Created: Wed Jun 15 11:55:58 2016 # Created: Thu Jun 16 12:18:04 2016
# by: pyside-uic 0.2.15 running on PySide 1.2.2 # by: pyside-uic 0.2.15 running on PySide 1.2.2
# #
# WARNING! All changes made in this file will be lost! # WARNING! All changes made in this file will be lost!
@ -13,75 +13,227 @@ class Ui_MainWindow(object):
def setupUi(self, MainWindow): def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow") MainWindow.setObjectName("MainWindow")
MainWindow.setEnabled(True) MainWindow.setEnabled(True)
MainWindow.resize(252, 350) MainWindow.resize(300, 585)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
MainWindow.setSizePolicy(sizePolicy) MainWindow.setSizePolicy(sizePolicy)
MainWindow.setMinimumSize(QtCore.QSize(252, 350)) MainWindow.setMinimumSize(QtCore.QSize(300, 585))
MainWindow.setMaximumSize(QtCore.QSize(252, 350)) MainWindow.setMaximumSize(QtCore.QSize(250000, 350000))
MainWindow.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu) MainWindow.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
icon = QtGui.QIcon() icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("../asp3d_icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon.addPixmap(QtGui.QPixmap("../asp3d_icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setWindowIcon(icon) MainWindow.setWindowIcon(icon)
self.centralwidget = QtGui.QWidget(MainWindow) self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget") self.centralwidget.setObjectName("centralwidget")
self.postprocessing = QtGui.QPushButton(self.centralwidget) self.verticalLayout_5 = QtGui.QVBoxLayout(self.centralwidget)
self.postprocessing.setGeometry(QtCore.QRect(0, 220, 251, 27)) self.verticalLayout_5.setObjectName("verticalLayout_5")
self.postprocessing.setObjectName("postprocessing") self.verticalLayout = QtGui.QVBoxLayout()
self.verticalLayoutWidget = QtGui.QWidget(self.centralwidget) self.verticalLayout.setObjectName("verticalLayout")
self.verticalLayoutWidget.setGeometry(QtCore.QRect(0, 0, 251, 41)) self.label_2 = QtGui.QLabel(self.centralwidget)
self.verticalLayoutWidget.setObjectName("verticalLayoutWidget") sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
self.horizontalLayout = QtGui.QHBoxLayout(self.verticalLayoutWidget) sizePolicy.setHorizontalStretch(0)
self.horizontalLayout.setContentsMargins(0, 0, 0, 0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
self.label_2.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Sans Serif")
font.setPointSize(10)
font.setWeight(75)
font.setBold(True)
self.label_2.setFont(font)
self.label_2.setAlignment(QtCore.Qt.AlignCenter)
self.label_2.setObjectName("label_2")
self.verticalLayout.addWidget(self.label_2)
self.gen_new_seisarray = QtGui.QPushButton(self.centralwidget)
self.gen_new_seisarray.setObjectName("gen_new_seisarray")
self.verticalLayout.addWidget(self.gen_new_seisarray)
self.load_seisarray = QtGui.QPushButton(self.centralwidget)
self.load_seisarray.setObjectName("load_seisarray")
self.verticalLayout.addWidget(self.load_seisarray)
self.save_seisarray = QtGui.QPushButton(self.centralwidget)
self.save_seisarray.setObjectName("save_seisarray")
self.verticalLayout.addWidget(self.save_seisarray)
self.interpolate_receivers = QtGui.QPushButton(self.centralwidget)
self.interpolate_receivers.setObjectName("interpolate_receivers")
self.verticalLayout.addWidget(self.interpolate_receivers)
self.connect_to_survey = QtGui.QPushButton(self.centralwidget)
self.connect_to_survey.setObjectName("connect_to_survey")
self.verticalLayout.addWidget(self.connect_to_survey)
self.horizontalLayout_2 = QtGui.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.seisarray_active = QtGui.QLabel(self.centralwidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.seisarray_active.sizePolicy().hasHeightForWidth())
self.seisarray_active.setSizePolicy(sizePolicy)
self.seisarray_active.setMaximumSize(QtCore.QSize(20, 20))
self.seisarray_active.setMidLineWidth(0)
self.seisarray_active.setText("")
self.seisarray_active.setObjectName("seisarray_active")
self.horizontalLayout_2.addWidget(self.seisarray_active)
self.label_5 = QtGui.QLabel(self.centralwidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
self.label_5.setSizePolicy(sizePolicy)
self.label_5.setObjectName("label_5")
self.horizontalLayout_2.addWidget(self.label_5)
self.seisarray_on_survey_active = QtGui.QLabel(self.centralwidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.seisarray_on_survey_active.sizePolicy().hasHeightForWidth())
self.seisarray_on_survey_active.setSizePolicy(sizePolicy)
self.seisarray_on_survey_active.setMaximumSize(QtCore.QSize(20, 20))
self.seisarray_on_survey_active.setMidLineWidth(0)
self.seisarray_on_survey_active.setText("")
self.seisarray_on_survey_active.setObjectName("seisarray_on_survey_active")
self.horizontalLayout_2.addWidget(self.seisarray_on_survey_active)
self.label_6 = QtGui.QLabel(self.centralwidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_6.sizePolicy().hasHeightForWidth())
self.label_6.setSizePolicy(sizePolicy)
self.label_6.setObjectName("label_6")
self.horizontalLayout_2.addWidget(self.label_6)
self.verticalLayout.addLayout(self.horizontalLayout_2)
self.verticalLayout_5.addLayout(self.verticalLayout)
self.line = QtGui.QFrame(self.centralwidget)
self.line.setFrameShape(QtGui.QFrame.HLine)
self.line.setFrameShadow(QtGui.QFrame.Sunken)
self.line.setObjectName("line")
self.verticalLayout_5.addWidget(self.line)
self.verticalLayout_2 = QtGui.QVBoxLayout()
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.label_3 = QtGui.QLabel(self.centralwidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
self.label_3.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Sans Serif")
font.setPointSize(10)
font.setWeight(75)
font.setBold(True)
self.label_3.setFont(font)
self.label_3.setAlignment(QtCore.Qt.AlignCenter)
self.label_3.setObjectName("label_3")
self.verticalLayout_2.addWidget(self.label_3)
self.gen_new_survey = QtGui.QPushButton(self.centralwidget)
self.gen_new_survey.setObjectName("gen_new_survey")
self.verticalLayout_2.addWidget(self.gen_new_survey)
self.load_survey = QtGui.QPushButton(self.centralwidget)
self.load_survey.setObjectName("load_survey")
self.verticalLayout_2.addWidget(self.load_survey)
self.save_survey = QtGui.QPushButton(self.centralwidget)
self.save_survey.setObjectName("save_survey")
self.verticalLayout_2.addWidget(self.save_survey)
self.horizontalLayout = QtGui.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout") self.horizontalLayout.setObjectName("horizontalLayout")
self.survey_active = QtGui.QLabel(self.verticalLayoutWidget) self.survey_active = QtGui.QLabel(self.centralwidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.survey_active.sizePolicy().hasHeightForWidth())
self.survey_active.setSizePolicy(sizePolicy)
self.survey_active.setMaximumSize(QtCore.QSize(20, 20)) self.survey_active.setMaximumSize(QtCore.QSize(20, 20))
self.survey_active.setMidLineWidth(0) self.survey_active.setMidLineWidth(0)
self.survey_active.setText("") self.survey_active.setText("")
self.survey_active.setObjectName("survey_active") self.survey_active.setObjectName("survey_active")
self.horizontalLayout.addWidget(self.survey_active) self.horizontalLayout.addWidget(self.survey_active)
self.label_4 = QtGui.QLabel(self.verticalLayoutWidget) self.label_4 = QtGui.QLabel(self.centralwidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth())
self.label_4.setSizePolicy(sizePolicy)
self.label_4.setObjectName("label_4") self.label_4.setObjectName("label_4")
self.horizontalLayout.addWidget(self.label_4) self.horizontalLayout.addWidget(self.label_4)
self.picked_active = QtGui.QLabel(self.verticalLayoutWidget) self.picked_active = QtGui.QLabel(self.centralwidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.picked_active.sizePolicy().hasHeightForWidth())
self.picked_active.setSizePolicy(sizePolicy)
self.picked_active.setMaximumSize(QtCore.QSize(20, 20)) self.picked_active.setMaximumSize(QtCore.QSize(20, 20))
self.picked_active.setMidLineWidth(0) self.picked_active.setMidLineWidth(0)
self.picked_active.setText("") self.picked_active.setText("")
self.picked_active.setObjectName("picked_active") self.picked_active.setObjectName("picked_active")
self.horizontalLayout.addWidget(self.picked_active) self.horizontalLayout.addWidget(self.picked_active)
self.label = QtGui.QLabel(self.verticalLayoutWidget) self.label = QtGui.QLabel(self.centralwidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
self.label.setSizePolicy(sizePolicy)
self.label.setObjectName("label") self.label.setObjectName("label")
self.horizontalLayout.addWidget(self.label) self.horizontalLayout.addWidget(self.label)
self.gen_new_survey = QtGui.QPushButton(self.centralwidget) self.verticalLayout_2.addLayout(self.horizontalLayout)
self.gen_new_survey.setGeometry(QtCore.QRect(1, 47, 251, 27)) self.verticalLayout_5.addLayout(self.verticalLayout_2)
self.gen_new_survey.setObjectName("gen_new_survey") self.line_3 = QtGui.QFrame(self.centralwidget)
self.line = QtGui.QFrame(self.centralwidget) self.line_3.setFrameShape(QtGui.QFrame.HLine)
self.line.setGeometry(QtCore.QRect(1, 160, 249, 16)) self.line_3.setFrameShadow(QtGui.QFrame.Sunken)
self.line.setFrameShape(QtGui.QFrame.HLine) self.line_3.setObjectName("line_3")
self.line.setFrameShadow(QtGui.QFrame.Sunken) self.verticalLayout_5.addWidget(self.line_3)
self.line.setObjectName("line") self.verticalLayout_3 = QtGui.QVBoxLayout()
self.load_survey = QtGui.QPushButton(self.centralwidget) self.verticalLayout_3.setObjectName("verticalLayout_3")
self.load_survey.setGeometry(QtCore.QRect(1, 86, 251, 27)) self.label_7 = QtGui.QLabel(self.centralwidget)
self.load_survey.setObjectName("load_survey") sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
self.save_survey = QtGui.QPushButton(self.centralwidget) sizePolicy.setHorizontalStretch(0)
self.save_survey.setGeometry(QtCore.QRect(1, 125, 251, 27)) sizePolicy.setVerticalStretch(0)
self.save_survey.setObjectName("save_survey") sizePolicy.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth())
self.label_7.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Sans Serif")
font.setPointSize(10)
font.setWeight(75)
font.setBold(True)
self.label_7.setFont(font)
self.label_7.setAlignment(QtCore.Qt.AlignCenter)
self.label_7.setObjectName("label_7")
self.verticalLayout_3.addWidget(self.label_7)
self.picker = QtGui.QPushButton(self.centralwidget) self.picker = QtGui.QPushButton(self.centralwidget)
self.picker.setGeometry(QtCore.QRect(1, 179, 251, 27))
self.picker.setObjectName("picker") self.picker.setObjectName("picker")
self.verticalLayout_3.addWidget(self.picker)
self.postprocessing = QtGui.QPushButton(self.centralwidget)
self.postprocessing.setObjectName("postprocessing")
self.verticalLayout_3.addWidget(self.postprocessing)
self.verticalLayout_5.addLayout(self.verticalLayout_3)
self.line_2 = QtGui.QFrame(self.centralwidget) self.line_2 = QtGui.QFrame(self.centralwidget)
self.line_2.setGeometry(QtCore.QRect(1, 250, 249, 16))
self.line_2.setFrameShape(QtGui.QFrame.HLine) self.line_2.setFrameShape(QtGui.QFrame.HLine)
self.line_2.setFrameShadow(QtGui.QFrame.Sunken) self.line_2.setFrameShadow(QtGui.QFrame.Sunken)
self.line_2.setObjectName("line_2") self.line_2.setObjectName("line_2")
self.verticalLayout_5.addWidget(self.line_2)
self.verticalLayout_4 = QtGui.QVBoxLayout()
self.verticalLayout_4.setObjectName("verticalLayout_4")
self.label_8 = QtGui.QLabel(self.centralwidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_8.sizePolicy().hasHeightForWidth())
self.label_8.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Sans Serif")
font.setPointSize(10)
font.setWeight(75)
font.setBold(True)
self.label_8.setFont(font)
self.label_8.setAlignment(QtCore.Qt.AlignCenter)
self.label_8.setObjectName("label_8")
self.verticalLayout_4.addWidget(self.label_8)
self.fmtomo = QtGui.QPushButton(self.centralwidget) self.fmtomo = QtGui.QPushButton(self.centralwidget)
self.fmtomo.setGeometry(QtCore.QRect(1, 270, 251, 27))
self.fmtomo.setObjectName("fmtomo") self.fmtomo.setObjectName("fmtomo")
self.verticalLayout_4.addWidget(self.fmtomo)
self.verticalLayout_5.addLayout(self.verticalLayout_4)
MainWindow.setCentralWidget(self.centralwidget) MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow) self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 252, 23)) self.menubar.setGeometry(QtCore.QRect(0, 0, 300, 23))
self.menubar.setObjectName("menubar") self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar) MainWindow.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(MainWindow) self.statusbar = QtGui.QStatusBar(MainWindow)
@ -93,12 +245,23 @@ class Ui_MainWindow(object):
def retranslateUi(self, MainWindow): def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "ActiveSeismoPick 3D", None, QtGui.QApplication.UnicodeUTF8)) MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "ActiveSeismoPick 3D", None, QtGui.QApplication.UnicodeUTF8))
self.postprocessing.setText(QtGui.QApplication.translate("MainWindow", "Postprocessing", None, QtGui.QApplication.UnicodeUTF8)) self.label_2.setText(QtGui.QApplication.translate("MainWindow", "Seismic Array", None, QtGui.QApplication.UnicodeUTF8))
self.label_4.setText(QtGui.QApplication.translate("MainWindow", "Survey active", None, QtGui.QApplication.UnicodeUTF8)) self.gen_new_seisarray.setText(QtGui.QApplication.translate("MainWindow", "Generate new Seismic Array", None, QtGui.QApplication.UnicodeUTF8))
self.label.setText(QtGui.QApplication.translate("MainWindow", "Survey picked", None, QtGui.QApplication.UnicodeUTF8)) self.load_seisarray.setText(QtGui.QApplication.translate("MainWindow", "Load Seismic Array", None, QtGui.QApplication.UnicodeUTF8))
self.save_seisarray.setText(QtGui.QApplication.translate("MainWindow", "Save Seismic Array", None, QtGui.QApplication.UnicodeUTF8))
self.interpolate_receivers.setText(QtGui.QApplication.translate("MainWindow", "Interpolate Receivers", None, QtGui.QApplication.UnicodeUTF8))
self.connect_to_survey.setText(QtGui.QApplication.translate("MainWindow", "Connect to Survey", None, QtGui.QApplication.UnicodeUTF8))
self.label_5.setText(QtGui.QApplication.translate("MainWindow", "active", None, QtGui.QApplication.UnicodeUTF8))
self.label_6.setText(QtGui.QApplication.translate("MainWindow", "connected to Survey", None, QtGui.QApplication.UnicodeUTF8))
self.label_3.setText(QtGui.QApplication.translate("MainWindow", "Survey", None, QtGui.QApplication.UnicodeUTF8))
self.gen_new_survey.setText(QtGui.QApplication.translate("MainWindow", "Generate new Survey", None, QtGui.QApplication.UnicodeUTF8)) self.gen_new_survey.setText(QtGui.QApplication.translate("MainWindow", "Generate new Survey", None, QtGui.QApplication.UnicodeUTF8))
self.load_survey.setText(QtGui.QApplication.translate("MainWindow", "Load Survey", None, QtGui.QApplication.UnicodeUTF8)) self.load_survey.setText(QtGui.QApplication.translate("MainWindow", "Load Survey", None, QtGui.QApplication.UnicodeUTF8))
self.save_survey.setText(QtGui.QApplication.translate("MainWindow", "Save Survey", None, QtGui.QApplication.UnicodeUTF8)) self.save_survey.setText(QtGui.QApplication.translate("MainWindow", "Save Survey", None, QtGui.QApplication.UnicodeUTF8))
self.picker.setText(QtGui.QApplication.translate("MainWindow", "Autopicker", None, QtGui.QApplication.UnicodeUTF8)) self.label_4.setText(QtGui.QApplication.translate("MainWindow", "active", None, QtGui.QApplication.UnicodeUTF8))
self.label.setText(QtGui.QApplication.translate("MainWindow", "picked", None, QtGui.QApplication.UnicodeUTF8))
self.label_7.setText(QtGui.QApplication.translate("MainWindow", "Picking", None, QtGui.QApplication.UnicodeUTF8))
self.picker.setText(QtGui.QApplication.translate("MainWindow", "Automatic Picking", None, QtGui.QApplication.UnicodeUTF8))
self.postprocessing.setText(QtGui.QApplication.translate("MainWindow", "Postprocessing", None, QtGui.QApplication.UnicodeUTF8))
self.label_8.setText(QtGui.QApplication.translate("MainWindow", "Simulation", None, QtGui.QApplication.UnicodeUTF8))
self.fmtomo.setText(QtGui.QApplication.translate("MainWindow", "FMTOMO Simulation", None, QtGui.QApplication.UnicodeUTF8)) self.fmtomo.setText(QtGui.QApplication.translate("MainWindow", "FMTOMO Simulation", None, QtGui.QApplication.UnicodeUTF8))

View File

@ -1,281 +1,269 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'fmtomo_parameters.ui' # Form implementation generated from reading ui file 'fmtomo_parameters_layout.ui'
# #
# Created: Wed Jun 15 11:56:04 2016 # Created: Thu Jun 16 13:20:37 2016
# by: pyside-uic 0.2.15 running on PySide 1.2.2 # by: pyside-uic 0.2.15 running on PySide 1.2.2
# #
# WARNING! All changes made in this file will be lost! # WARNING! All changes made in this file will be lost!
from PySide import QtCore, QtGui from PySide import QtCore, QtGui
class Ui_Dialog(object): class Ui_fmtomo_parameters(object):
def setupUi(self, Dialog): def setupUi(self, fmtomo_parameters):
Dialog.setObjectName("Dialog") fmtomo_parameters.setObjectName("fmtomo_parameters")
Dialog.resize(320, 520) fmtomo_parameters.resize(380, 440)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(Dialog.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(fmtomo_parameters.sizePolicy().hasHeightForWidth())
Dialog.setSizePolicy(sizePolicy) fmtomo_parameters.setSizePolicy(sizePolicy)
Dialog.setMinimumSize(QtCore.QSize(320, 520)) fmtomo_parameters.setMinimumSize(QtCore.QSize(380, 440))
Dialog.setMaximumSize(QtCore.QSize(320, 520)) fmtomo_parameters.setMaximumSize(QtCore.QSize(320000, 520000))
icon = QtGui.QIcon() icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("../asp3d_icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon.addPixmap(QtGui.QPixmap("../asp3d_icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
Dialog.setWindowIcon(icon) fmtomo_parameters.setWindowIcon(icon)
self.buttonBox = QtGui.QDialogButtonBox(Dialog) self.verticalLayout = QtGui.QVBoxLayout(fmtomo_parameters)
self.buttonBox.setGeometry(QtCore.QRect(10, 480, 301, 32)) self.verticalLayout.setObjectName("verticalLayout")
self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.horizontalLayout_4 = QtGui.QHBoxLayout()
self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok) self.horizontalLayout_4.setObjectName("horizontalLayout_4")
self.buttonBox.setObjectName("buttonBox") self.label_17 = QtGui.QLabel(fmtomo_parameters)
self.gridLayoutWidget = QtGui.QWidget(Dialog) self.label_17.setObjectName("label_17")
self.gridLayoutWidget.setGeometry(QtCore.QRect(10, 240, 281, 79)) self.horizontalLayout_4.addWidget(self.label_17)
self.gridLayoutWidget.setObjectName("gridLayoutWidget") self.fmtomo_dir = QtGui.QLineEdit(fmtomo_parameters)
self.gridLayout = QtGui.QGridLayout(self.gridLayoutWidget) self.fmtomo_dir.setObjectName("fmtomo_dir")
self.gridLayout.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_4.addWidget(self.fmtomo_dir)
self.gridLayout.setObjectName("gridLayout") self.browse_tomodir = QtGui.QPushButton(fmtomo_parameters)
self.label_4 = QtGui.QLabel(self.gridLayoutWidget) self.browse_tomodir.setObjectName("browse_tomodir")
self.label_4.setObjectName("label_4") self.horizontalLayout_4.addWidget(self.browse_tomodir)
self.gridLayout.addWidget(self.label_4, 0, 0, 1, 1) self.verticalLayout.addLayout(self.horizontalLayout_4)
self.label_5 = QtGui.QLabel(self.gridLayoutWidget) self.line_5 = QtGui.QFrame(fmtomo_parameters)
self.label_5.setLayoutDirection(QtCore.Qt.LeftToRight) self.line_5.setFrameShape(QtGui.QFrame.HLine)
self.label_5.setAlignment(QtCore.Qt.AlignCenter) self.line_5.setFrameShadow(QtGui.QFrame.Sunken)
self.label_5.setObjectName("label_5") self.line_5.setObjectName("line_5")
self.gridLayout.addWidget(self.label_5, 0, 1, 1, 1) self.verticalLayout.addWidget(self.line_5)
self.label_6 = QtGui.QLabel(self.gridLayoutWidget) self.horizontalLayout_2 = QtGui.QHBoxLayout()
self.label_6.setLayoutDirection(QtCore.Qt.LeftToRight) self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.label_6.setAlignment(QtCore.Qt.AlignCenter) self.label_14 = QtGui.QLabel(fmtomo_parameters)
self.label_6.setObjectName("label_6") self.label_14.setObjectName("label_14")
self.gridLayout.addWidget(self.label_6, 0, 2, 1, 1) self.horizontalLayout_2.addWidget(self.label_14)
self.label_7 = QtGui.QLabel(self.gridLayoutWidget) self.nproc = QtGui.QLineEdit(fmtomo_parameters)
self.label_7.setLayoutDirection(QtCore.Qt.LeftToRight) self.nproc.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.label_7.setAlignment(QtCore.Qt.AlignCenter) self.nproc.setObjectName("nproc")
self.label_7.setObjectName("label_7") self.horizontalLayout_2.addWidget(self.nproc)
self.gridLayout.addWidget(self.label_7, 0, 3, 1, 1) self.verticalLayout.addLayout(self.horizontalLayout_2)
self.label_8 = QtGui.QLabel(self.gridLayoutWidget) self.gridLayout_3 = QtGui.QGridLayout()
self.label_8.setObjectName("label_8")
self.gridLayout.addWidget(self.label_8, 1, 0, 1, 1)
self.pgrid_x = QtGui.QLineEdit(self.gridLayoutWidget)
self.pgrid_x.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.pgrid_x.setObjectName("pgrid_x")
self.gridLayout.addWidget(self.pgrid_x, 1, 1, 1, 1)
self.pgrid_y = QtGui.QLineEdit(self.gridLayoutWidget)
self.pgrid_y.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.pgrid_y.setObjectName("pgrid_y")
self.gridLayout.addWidget(self.pgrid_y, 1, 2, 1, 1)
self.pgrid_z = QtGui.QLineEdit(self.gridLayoutWidget)
self.pgrid_z.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.pgrid_z.setObjectName("pgrid_z")
self.gridLayout.addWidget(self.pgrid_z, 1, 3, 1, 1)
self.label_9 = QtGui.QLabel(self.gridLayoutWidget)
self.label_9.setObjectName("label_9")
self.gridLayout.addWidget(self.label_9, 2, 0, 1, 1)
self.invgrid_x = QtGui.QLineEdit(self.gridLayoutWidget)
self.invgrid_x.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.invgrid_x.setObjectName("invgrid_x")
self.gridLayout.addWidget(self.invgrid_x, 2, 1, 1, 1)
self.invgrid_y = QtGui.QLineEdit(self.gridLayoutWidget)
self.invgrid_y.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.invgrid_y.setObjectName("invgrid_y")
self.gridLayout.addWidget(self.invgrid_y, 2, 2, 1, 1)
self.invgrid_z = QtGui.QLineEdit(self.gridLayoutWidget)
self.invgrid_z.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.invgrid_z.setObjectName("invgrid_z")
self.gridLayout.addWidget(self.invgrid_z, 2, 3, 1, 1)
self.gridLayoutWidget_2 = QtGui.QWidget(Dialog)
self.gridLayoutWidget_2.setGeometry(QtCore.QRect(10, 160, 201, 61))
self.gridLayoutWidget_2.setObjectName("gridLayoutWidget_2")
self.gridLayout_2 = QtGui.QGridLayout(self.gridLayoutWidget_2)
self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
self.gridLayout_2.setObjectName("gridLayout_2")
self.label_3 = QtGui.QLabel(self.gridLayoutWidget_2)
self.label_3.setObjectName("label_3")
self.gridLayout_2.addWidget(self.label_3, 1, 0, 1, 1)
self.bbot = QtGui.QLineEdit(self.gridLayoutWidget_2)
self.bbot.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.bbot.setObjectName("bbot")
self.gridLayout_2.addWidget(self.bbot, 1, 1, 1, 1)
self.label_11 = QtGui.QLabel(self.gridLayoutWidget_2)
self.label_11.setObjectName("label_11")
self.gridLayout_2.addWidget(self.label_11, 1, 2, 1, 1)
self.label_2 = QtGui.QLabel(self.gridLayoutWidget_2)
self.label_2.setObjectName("label_2")
self.gridLayout_2.addWidget(self.label_2, 0, 0, 1, 1)
self.btop = QtGui.QLineEdit(self.gridLayoutWidget_2)
self.btop.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.btop.setObjectName("btop")
self.gridLayout_2.addWidget(self.btop, 0, 1, 1, 1)
self.label_10 = QtGui.QLabel(self.gridLayoutWidget_2)
self.label_10.setObjectName("label_10")
self.gridLayout_2.addWidget(self.label_10, 0, 2, 1, 1)
self.gridLayoutWidget_3 = QtGui.QWidget(Dialog)
self.gridLayoutWidget_3.setGeometry(QtCore.QRect(10, 60, 201, 31))
self.gridLayoutWidget_3.setObjectName("gridLayoutWidget_3")
self.gridLayout_3 = QtGui.QGridLayout(self.gridLayoutWidget_3)
self.gridLayout_3.setContentsMargins(0, 0, 0, 0)
self.gridLayout_3.setObjectName("gridLayout_3") self.gridLayout_3.setObjectName("gridLayout_3")
self.nIter = QtGui.QSpinBox(self.gridLayoutWidget_3) self.nIter = QtGui.QSpinBox(fmtomo_parameters)
self.nIter.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.nIter.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.nIter.setProperty("value", 1) self.nIter.setProperty("value", 1)
self.nIter.setObjectName("nIter") self.nIter.setObjectName("nIter")
self.gridLayout_3.addWidget(self.nIter, 0, 1, 1, 1) self.gridLayout_3.addWidget(self.nIter, 0, 1, 1, 1)
self.label = QtGui.QLabel(self.gridLayoutWidget_3) self.label = QtGui.QLabel(fmtomo_parameters)
self.label.setObjectName("label") self.label.setObjectName("label")
self.gridLayout_3.addWidget(self.label, 0, 0, 1, 1) self.gridLayout_3.addWidget(self.label, 0, 0, 1, 1)
self.horizontalLayoutWidget = QtGui.QWidget(Dialog) self.verticalLayout.addLayout(self.gridLayout_3)
self.horizontalLayoutWidget.setGeometry(QtCore.QRect(10, 340, 161, 31)) self.line_4 = QtGui.QFrame(fmtomo_parameters)
self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
self.horizontalLayout = QtGui.QHBoxLayout(self.horizontalLayoutWidget)
self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout.setObjectName("horizontalLayout")
self.label_13 = QtGui.QLabel(self.horizontalLayoutWidget)
self.label_13.setObjectName("label_13")
self.horizontalLayout.addWidget(self.label_13)
self.cushion = QtGui.QLineEdit(self.horizontalLayoutWidget)
self.cushion.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.cushion.setObjectName("cushion")
self.horizontalLayout.addWidget(self.cushion)
self.label_12 = QtGui.QLabel(self.horizontalLayoutWidget)
self.label_12.setObjectName("label_12")
self.horizontalLayout.addWidget(self.label_12)
self.horizontalLayoutWidget_4 = QtGui.QWidget(Dialog)
self.horizontalLayoutWidget_4.setGeometry(QtCore.QRect(10, 10, 291, 32))
self.horizontalLayoutWidget_4.setObjectName("horizontalLayoutWidget_4")
self.horizontalLayout_4 = QtGui.QHBoxLayout(self.horizontalLayoutWidget_4)
self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
self.label_17 = QtGui.QLabel(self.horizontalLayoutWidget_4)
self.label_17.setObjectName("label_17")
self.horizontalLayout_4.addWidget(self.label_17)
self.fmtomo_dir = QtGui.QLineEdit(self.horizontalLayoutWidget_4)
self.fmtomo_dir.setObjectName("fmtomo_dir")
self.horizontalLayout_4.addWidget(self.fmtomo_dir)
self.browse_tomodir = QtGui.QPushButton(self.horizontalLayoutWidget_4)
self.browse_tomodir.setObjectName("browse_tomodir")
self.horizontalLayout_4.addWidget(self.browse_tomodir)
self.line = QtGui.QFrame(Dialog)
self.line.setGeometry(QtCore.QRect(7, 220, 301, 20))
self.line.setFrameShape(QtGui.QFrame.HLine)
self.line.setFrameShadow(QtGui.QFrame.Sunken)
self.line.setObjectName("line")
self.line_2 = QtGui.QFrame(Dialog)
self.line_2.setGeometry(QtCore.QRect(10, 320, 301, 20))
self.line_2.setFrameShape(QtGui.QFrame.HLine)
self.line_2.setFrameShadow(QtGui.QFrame.Sunken)
self.line_2.setObjectName("line_2")
self.gridLayoutWidget_4 = QtGui.QWidget(Dialog)
self.gridLayoutWidget_4.setGeometry(QtCore.QRect(10, 390, 291, 80))
self.gridLayoutWidget_4.setObjectName("gridLayoutWidget_4")
self.gridLayout_4 = QtGui.QGridLayout(self.gridLayoutWidget_4)
self.gridLayout_4.setContentsMargins(0, 0, 0, 0)
self.gridLayout_4.setObjectName("gridLayout_4")
self.label_15 = QtGui.QLabel(self.gridLayoutWidget_4)
self.label_15.setObjectName("label_15")
self.gridLayout_4.addWidget(self.label_15, 0, 0, 1, 1)
self.customgrid = QtGui.QLineEdit(self.gridLayoutWidget_4)
self.customgrid.setObjectName("customgrid")
self.gridLayout_4.addWidget(self.customgrid, 0, 1, 1, 1)
self.browse_customgrid = QtGui.QPushButton(self.gridLayoutWidget_4)
self.browse_customgrid.setObjectName("browse_customgrid")
self.gridLayout_4.addWidget(self.browse_customgrid, 0, 2, 1, 1)
self.label_16 = QtGui.QLabel(self.gridLayoutWidget_4)
self.label_16.setObjectName("label_16")
self.gridLayout_4.addWidget(self.label_16, 1, 0, 1, 1)
self.simuldir = QtGui.QLineEdit(self.gridLayoutWidget_4)
self.simuldir.setObjectName("simuldir")
self.gridLayout_4.addWidget(self.simuldir, 1, 1, 1, 1)
self.browse_simuldir = QtGui.QPushButton(self.gridLayoutWidget_4)
self.browse_simuldir.setObjectName("browse_simuldir")
self.gridLayout_4.addWidget(self.browse_simuldir, 1, 2, 1, 1)
self.line_3 = QtGui.QFrame(Dialog)
self.line_3.setGeometry(QtCore.QRect(10, 370, 301, 20))
self.line_3.setFrameShape(QtGui.QFrame.HLine)
self.line_3.setFrameShadow(QtGui.QFrame.Sunken)
self.line_3.setObjectName("line_3")
self.line_4 = QtGui.QFrame(Dialog)
self.line_4.setGeometry(QtCore.QRect(10, 90, 301, 20))
self.line_4.setFrameShape(QtGui.QFrame.HLine) self.line_4.setFrameShape(QtGui.QFrame.HLine)
self.line_4.setFrameShadow(QtGui.QFrame.Sunken) self.line_4.setFrameShadow(QtGui.QFrame.Sunken)
self.line_4.setObjectName("line_4") self.line_4.setObjectName("line_4")
self.line_5 = QtGui.QFrame(Dialog) self.verticalLayout.addWidget(self.line_4)
self.line_5.setGeometry(QtCore.QRect(10, 40, 301, 20)) self.label_18 = QtGui.QLabel(fmtomo_parameters)
self.line_5.setFrameShape(QtGui.QFrame.HLine) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
self.line_5.setFrameShadow(QtGui.QFrame.Sunken) sizePolicy.setHorizontalStretch(0)
self.line_5.setObjectName("line_5") sizePolicy.setVerticalStretch(0)
self.horizontalLayoutWidget_2 = QtGui.QWidget(Dialog) sizePolicy.setHeightForWidth(self.label_18.sizePolicy().hasHeightForWidth())
self.horizontalLayoutWidget_2.setGeometry(QtCore.QRect(220, 60, 81, 31)) self.label_18.setSizePolicy(sizePolicy)
self.horizontalLayoutWidget_2.setObjectName("horizontalLayoutWidget_2")
self.horizontalLayout_2 = QtGui.QHBoxLayout(self.horizontalLayoutWidget_2)
self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.label_14 = QtGui.QLabel(self.horizontalLayoutWidget_2)
self.label_14.setObjectName("label_14")
self.horizontalLayout_2.addWidget(self.label_14)
self.nproc = QtGui.QLineEdit(self.horizontalLayoutWidget_2)
self.nproc.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.nproc.setObjectName("nproc")
self.horizontalLayout_2.addWidget(self.nproc)
self.label_18 = QtGui.QLabel(Dialog)
self.label_18.setGeometry(QtCore.QRect(10, 102, 271, 16))
self.label_18.setObjectName("label_18") self.label_18.setObjectName("label_18")
self.horizontalLayoutWidget_5 = QtGui.QWidget(Dialog) self.verticalLayout.addWidget(self.label_18)
self.horizontalLayoutWidget_5.setGeometry(QtCore.QRect(10, 120, 291, 32)) self.gridLayout_2 = QtGui.QGridLayout()
self.horizontalLayoutWidget_5.setObjectName("horizontalLayoutWidget_5") self.gridLayout_2.setObjectName("gridLayout_2")
self.horizontalLayout_5 = QtGui.QHBoxLayout(self.horizontalLayoutWidget_5) self.label_3 = QtGui.QLabel(fmtomo_parameters)
self.horizontalLayout_5.setContentsMargins(0, 0, 0, 0) self.label_3.setObjectName("label_3")
self.horizontalLayout_5.setObjectName("horizontalLayout_5") self.gridLayout_2.addWidget(self.label_3, 1, 0, 1, 1)
self.label_19 = QtGui.QLabel(self.horizontalLayoutWidget_5) self.bbot = QtGui.QLineEdit(fmtomo_parameters)
self.label_19.setObjectName("label_19") self.bbot.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.horizontalLayout_5.addWidget(self.label_19) self.bbot.setObjectName("bbot")
self.seisarray = QtGui.QLineEdit(self.horizontalLayoutWidget_5) self.gridLayout_2.addWidget(self.bbot, 1, 1, 1, 1)
self.seisarray.setObjectName("seisarray") self.label_11 = QtGui.QLabel(fmtomo_parameters)
self.horizontalLayout_5.addWidget(self.seisarray) self.label_11.setObjectName("label_11")
self.browse_seisarray = QtGui.QPushButton(self.horizontalLayoutWidget_5) self.gridLayout_2.addWidget(self.label_11, 1, 2, 1, 1)
self.browse_seisarray.setObjectName("browse_seisarray") self.label_2 = QtGui.QLabel(fmtomo_parameters)
self.horizontalLayout_5.addWidget(self.browse_seisarray) self.label_2.setObjectName("label_2")
self.gridLayout_2.addWidget(self.label_2, 0, 0, 1, 1)
self.btop = QtGui.QLineEdit(fmtomo_parameters)
self.btop.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.btop.setObjectName("btop")
self.gridLayout_2.addWidget(self.btop, 0, 1, 1, 1)
self.label_10 = QtGui.QLabel(fmtomo_parameters)
self.label_10.setObjectName("label_10")
self.gridLayout_2.addWidget(self.label_10, 0, 2, 1, 1)
self.horizontalLayout = QtGui.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.label_13 = QtGui.QLabel(fmtomo_parameters)
self.label_13.setObjectName("label_13")
self.horizontalLayout.addWidget(self.label_13)
self.cushion = QtGui.QLineEdit(fmtomo_parameters)
self.cushion.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.cushion.setObjectName("cushion")
self.horizontalLayout.addWidget(self.cushion)
self.label_12 = QtGui.QLabel(fmtomo_parameters)
self.label_12.setObjectName("label_12")
self.horizontalLayout.addWidget(self.label_12)
self.gridLayout_2.addLayout(self.horizontalLayout, 0, 3, 1, 1)
self.verticalLayout.addLayout(self.gridLayout_2)
self.line = QtGui.QFrame(fmtomo_parameters)
self.line.setFrameShape(QtGui.QFrame.HLine)
self.line.setFrameShadow(QtGui.QFrame.Sunken)
self.line.setObjectName("line")
self.verticalLayout.addWidget(self.line)
self.gridLayout = QtGui.QGridLayout()
self.gridLayout.setObjectName("gridLayout")
self.label_4 = QtGui.QLabel(fmtomo_parameters)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth())
self.label_4.setSizePolicy(sizePolicy)
self.label_4.setObjectName("label_4")
self.gridLayout.addWidget(self.label_4, 0, 0, 1, 1)
self.label_5 = QtGui.QLabel(fmtomo_parameters)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
self.label_5.setSizePolicy(sizePolicy)
self.label_5.setLayoutDirection(QtCore.Qt.LeftToRight)
self.label_5.setAlignment(QtCore.Qt.AlignCenter)
self.label_5.setObjectName("label_5")
self.gridLayout.addWidget(self.label_5, 0, 1, 1, 1)
self.label_6 = QtGui.QLabel(fmtomo_parameters)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_6.sizePolicy().hasHeightForWidth())
self.label_6.setSizePolicy(sizePolicy)
self.label_6.setLayoutDirection(QtCore.Qt.LeftToRight)
self.label_6.setAlignment(QtCore.Qt.AlignCenter)
self.label_6.setObjectName("label_6")
self.gridLayout.addWidget(self.label_6, 0, 2, 1, 1)
self.label_7 = QtGui.QLabel(fmtomo_parameters)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth())
self.label_7.setSizePolicy(sizePolicy)
self.label_7.setLayoutDirection(QtCore.Qt.LeftToRight)
self.label_7.setAlignment(QtCore.Qt.AlignCenter)
self.label_7.setObjectName("label_7")
self.gridLayout.addWidget(self.label_7, 0, 3, 1, 1)
self.label_8 = QtGui.QLabel(fmtomo_parameters)
self.label_8.setObjectName("label_8")
self.gridLayout.addWidget(self.label_8, 1, 0, 1, 1)
self.pgrid_x = QtGui.QLineEdit(fmtomo_parameters)
self.pgrid_x.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.pgrid_x.setObjectName("pgrid_x")
self.gridLayout.addWidget(self.pgrid_x, 1, 1, 1, 1)
self.pgrid_y = QtGui.QLineEdit(fmtomo_parameters)
self.pgrid_y.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.pgrid_y.setObjectName("pgrid_y")
self.gridLayout.addWidget(self.pgrid_y, 1, 2, 1, 1)
self.pgrid_z = QtGui.QLineEdit(fmtomo_parameters)
self.pgrid_z.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.pgrid_z.setObjectName("pgrid_z")
self.gridLayout.addWidget(self.pgrid_z, 1, 3, 1, 1)
self.label_9 = QtGui.QLabel(fmtomo_parameters)
self.label_9.setObjectName("label_9")
self.gridLayout.addWidget(self.label_9, 2, 0, 1, 1)
self.invgrid_x = QtGui.QLineEdit(fmtomo_parameters)
self.invgrid_x.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.invgrid_x.setObjectName("invgrid_x")
self.gridLayout.addWidget(self.invgrid_x, 2, 1, 1, 1)
self.invgrid_y = QtGui.QLineEdit(fmtomo_parameters)
self.invgrid_y.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.invgrid_y.setObjectName("invgrid_y")
self.gridLayout.addWidget(self.invgrid_y, 2, 2, 1, 1)
self.invgrid_z = QtGui.QLineEdit(fmtomo_parameters)
self.invgrid_z.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.invgrid_z.setObjectName("invgrid_z")
self.gridLayout.addWidget(self.invgrid_z, 2, 3, 1, 1)
self.verticalLayout.addLayout(self.gridLayout)
self.line_2 = QtGui.QFrame(fmtomo_parameters)
self.line_2.setFrameShape(QtGui.QFrame.HLine)
self.line_2.setFrameShadow(QtGui.QFrame.Sunken)
self.line_2.setObjectName("line_2")
self.verticalLayout.addWidget(self.line_2)
self.line_3 = QtGui.QFrame(fmtomo_parameters)
self.line_3.setFrameShape(QtGui.QFrame.HLine)
self.line_3.setFrameShadow(QtGui.QFrame.Sunken)
self.line_3.setObjectName("line_3")
self.verticalLayout.addWidget(self.line_3)
self.gridLayout_4 = QtGui.QGridLayout()
self.gridLayout_4.setObjectName("gridLayout_4")
self.label_15 = QtGui.QLabel(fmtomo_parameters)
self.label_15.setObjectName("label_15")
self.gridLayout_4.addWidget(self.label_15, 0, 0, 1, 1)
self.customgrid = QtGui.QLineEdit(fmtomo_parameters)
self.customgrid.setObjectName("customgrid")
self.gridLayout_4.addWidget(self.customgrid, 0, 1, 1, 1)
self.browse_customgrid = QtGui.QPushButton(fmtomo_parameters)
self.browse_customgrid.setObjectName("browse_customgrid")
self.gridLayout_4.addWidget(self.browse_customgrid, 0, 2, 1, 1)
self.label_16 = QtGui.QLabel(fmtomo_parameters)
self.label_16.setObjectName("label_16")
self.gridLayout_4.addWidget(self.label_16, 1, 0, 1, 1)
self.simuldir = QtGui.QLineEdit(fmtomo_parameters)
self.simuldir.setObjectName("simuldir")
self.gridLayout_4.addWidget(self.simuldir, 1, 1, 1, 1)
self.browse_simuldir = QtGui.QPushButton(fmtomo_parameters)
self.browse_simuldir.setObjectName("browse_simuldir")
self.gridLayout_4.addWidget(self.browse_simuldir, 1, 2, 1, 1)
self.verticalLayout.addLayout(self.gridLayout_4)
self.buttonBox = QtGui.QDialogButtonBox(fmtomo_parameters)
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
self.buttonBox.setObjectName("buttonBox")
self.verticalLayout.addWidget(self.buttonBox)
self.retranslateUi(Dialog) self.retranslateUi(fmtomo_parameters)
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("accepted()"), Dialog.accept) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("accepted()"), fmtomo_parameters.accept)
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("rejected()"), Dialog.reject) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("rejected()"), fmtomo_parameters.reject)
QtCore.QMetaObject.connectSlotsByName(Dialog) QtCore.QMetaObject.connectSlotsByName(fmtomo_parameters)
def retranslateUi(self, Dialog): def retranslateUi(self, fmtomo_parameters):
Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog", "Choose FMTOMO parameters", None, QtGui.QApplication.UnicodeUTF8)) fmtomo_parameters.setWindowTitle(QtGui.QApplication.translate("fmtomo_parameters", "Choose FMTOMO parameters", None, QtGui.QApplication.UnicodeUTF8))
self.label_4.setText(QtGui.QApplication.translate("Dialog", "Number of Ponts", None, QtGui.QApplication.UnicodeUTF8)) self.label_17.setText(QtGui.QApplication.translate("fmtomo_parameters", "FMTOMO\n"
self.label_5.setText(QtGui.QApplication.translate("Dialog", "X", None, QtGui.QApplication.UnicodeUTF8))
self.label_6.setText(QtGui.QApplication.translate("Dialog", "Y", None, QtGui.QApplication.UnicodeUTF8))
self.label_7.setText(QtGui.QApplication.translate("Dialog", "Z", None, QtGui.QApplication.UnicodeUTF8))
self.label_8.setText(QtGui.QApplication.translate("Dialog", "Propagation Grid", None, QtGui.QApplication.UnicodeUTF8))
self.pgrid_x.setText(QtGui.QApplication.translate("Dialog", "100", None, QtGui.QApplication.UnicodeUTF8))
self.pgrid_y.setText(QtGui.QApplication.translate("Dialog", "100", None, QtGui.QApplication.UnicodeUTF8))
self.pgrid_z.setText(QtGui.QApplication.translate("Dialog", "100", None, QtGui.QApplication.UnicodeUTF8))
self.label_9.setText(QtGui.QApplication.translate("Dialog", "Inversion Grid", None, QtGui.QApplication.UnicodeUTF8))
self.invgrid_x.setText(QtGui.QApplication.translate("Dialog", "50", None, QtGui.QApplication.UnicodeUTF8))
self.invgrid_y.setText(QtGui.QApplication.translate("Dialog", "50", None, QtGui.QApplication.UnicodeUTF8))
self.invgrid_z.setText(QtGui.QApplication.translate("Dialog", "50", None, QtGui.QApplication.UnicodeUTF8))
self.label_3.setText(QtGui.QApplication.translate("Dialog", "Bottom boundary", None, QtGui.QApplication.UnicodeUTF8))
self.bbot.setText(QtGui.QApplication.translate("Dialog", "-50", None, QtGui.QApplication.UnicodeUTF8))
self.label_11.setText(QtGui.QApplication.translate("Dialog", "m", None, QtGui.QApplication.UnicodeUTF8))
self.label_2.setText(QtGui.QApplication.translate("Dialog", "Top boundary", None, QtGui.QApplication.UnicodeUTF8))
self.btop.setText(QtGui.QApplication.translate("Dialog", "5", None, QtGui.QApplication.UnicodeUTF8))
self.label_10.setText(QtGui.QApplication.translate("Dialog", "m", None, QtGui.QApplication.UnicodeUTF8))
self.label.setText(QtGui.QApplication.translate("Dialog", "Iterations", None, QtGui.QApplication.UnicodeUTF8))
self.label_13.setText(QtGui.QApplication.translate("Dialog", "Cushion factor", None, QtGui.QApplication.UnicodeUTF8))
self.cushion.setText(QtGui.QApplication.translate("Dialog", "10", None, QtGui.QApplication.UnicodeUTF8))
self.label_12.setText(QtGui.QApplication.translate("Dialog", "%", None, QtGui.QApplication.UnicodeUTF8))
self.label_17.setText(QtGui.QApplication.translate("Dialog", "FMTOMO\n"
"installation", None, QtGui.QApplication.UnicodeUTF8)) "installation", None, QtGui.QApplication.UnicodeUTF8))
self.browse_tomodir.setText(QtGui.QApplication.translate("Dialog", "Browse", None, QtGui.QApplication.UnicodeUTF8)) self.browse_tomodir.setText(QtGui.QApplication.translate("fmtomo_parameters", "Browse", None, QtGui.QApplication.UnicodeUTF8))
self.label_15.setText(QtGui.QApplication.translate("Dialog", "Custom velocity\n" self.label_14.setText(QtGui.QApplication.translate("fmtomo_parameters", "nproc", None, QtGui.QApplication.UnicodeUTF8))
self.nproc.setText(QtGui.QApplication.translate("fmtomo_parameters", "1", None, QtGui.QApplication.UnicodeUTF8))
self.label.setText(QtGui.QApplication.translate("fmtomo_parameters", "Iterations", None, QtGui.QApplication.UnicodeUTF8))
self.label_18.setText(QtGui.QApplication.translate("fmtomo_parameters", "Grid definitions from seismic Array:", None, QtGui.QApplication.UnicodeUTF8))
self.label_3.setText(QtGui.QApplication.translate("fmtomo_parameters", "Bottom boundary", None, QtGui.QApplication.UnicodeUTF8))
self.bbot.setText(QtGui.QApplication.translate("fmtomo_parameters", "-50", None, QtGui.QApplication.UnicodeUTF8))
self.label_11.setText(QtGui.QApplication.translate("fmtomo_parameters", "m", None, QtGui.QApplication.UnicodeUTF8))
self.label_2.setText(QtGui.QApplication.translate("fmtomo_parameters", "Top boundary", None, QtGui.QApplication.UnicodeUTF8))
self.btop.setText(QtGui.QApplication.translate("fmtomo_parameters", "5", None, QtGui.QApplication.UnicodeUTF8))
self.label_10.setText(QtGui.QApplication.translate("fmtomo_parameters", "m", None, QtGui.QApplication.UnicodeUTF8))
self.label_13.setText(QtGui.QApplication.translate("fmtomo_parameters", "Cushion factor", None, QtGui.QApplication.UnicodeUTF8))
self.cushion.setText(QtGui.QApplication.translate("fmtomo_parameters", "10", None, QtGui.QApplication.UnicodeUTF8))
self.label_12.setText(QtGui.QApplication.translate("fmtomo_parameters", "%", None, QtGui.QApplication.UnicodeUTF8))
self.label_4.setText(QtGui.QApplication.translate("fmtomo_parameters", "Number of Ponts", None, QtGui.QApplication.UnicodeUTF8))
self.label_5.setText(QtGui.QApplication.translate("fmtomo_parameters", "X", None, QtGui.QApplication.UnicodeUTF8))
self.label_6.setText(QtGui.QApplication.translate("fmtomo_parameters", "Y", None, QtGui.QApplication.UnicodeUTF8))
self.label_7.setText(QtGui.QApplication.translate("fmtomo_parameters", "Z", None, QtGui.QApplication.UnicodeUTF8))
self.label_8.setText(QtGui.QApplication.translate("fmtomo_parameters", "Propagation Grid", None, QtGui.QApplication.UnicodeUTF8))
self.pgrid_x.setText(QtGui.QApplication.translate("fmtomo_parameters", "100", None, QtGui.QApplication.UnicodeUTF8))
self.pgrid_y.setText(QtGui.QApplication.translate("fmtomo_parameters", "100", None, QtGui.QApplication.UnicodeUTF8))
self.pgrid_z.setText(QtGui.QApplication.translate("fmtomo_parameters", "100", None, QtGui.QApplication.UnicodeUTF8))
self.label_9.setText(QtGui.QApplication.translate("fmtomo_parameters", "Inversion Grid", None, QtGui.QApplication.UnicodeUTF8))
self.invgrid_x.setText(QtGui.QApplication.translate("fmtomo_parameters", "50", None, QtGui.QApplication.UnicodeUTF8))
self.invgrid_y.setText(QtGui.QApplication.translate("fmtomo_parameters", "50", None, QtGui.QApplication.UnicodeUTF8))
self.invgrid_z.setText(QtGui.QApplication.translate("fmtomo_parameters", "50", None, QtGui.QApplication.UnicodeUTF8))
self.label_15.setText(QtGui.QApplication.translate("fmtomo_parameters", "Custom velocity\n"
"grid (earthmodel)", None, QtGui.QApplication.UnicodeUTF8)) "grid (earthmodel)", None, QtGui.QApplication.UnicodeUTF8))
self.browse_customgrid.setText(QtGui.QApplication.translate("Dialog", "Browse", None, QtGui.QApplication.UnicodeUTF8)) self.browse_customgrid.setText(QtGui.QApplication.translate("fmtomo_parameters", "Browse", None, QtGui.QApplication.UnicodeUTF8))
self.label_16.setText(QtGui.QApplication.translate("Dialog", "Simulation\n" self.label_16.setText(QtGui.QApplication.translate("fmtomo_parameters", "Simulation\n"
"Directory", None, QtGui.QApplication.UnicodeUTF8)) "Directory", None, QtGui.QApplication.UnicodeUTF8))
self.browse_simuldir.setText(QtGui.QApplication.translate("Dialog", "Browse", None, QtGui.QApplication.UnicodeUTF8)) self.browse_simuldir.setText(QtGui.QApplication.translate("fmtomo_parameters", "Browse", None, QtGui.QApplication.UnicodeUTF8))
self.label_14.setText(QtGui.QApplication.translate("Dialog", "nproc", None, QtGui.QApplication.UnicodeUTF8))
self.nproc.setText(QtGui.QApplication.translate("Dialog", "1", None, QtGui.QApplication.UnicodeUTF8))
self.label_18.setText(QtGui.QApplication.translate("Dialog", "Grid definitions from seismic Array:", None, QtGui.QApplication.UnicodeUTF8))
self.label_19.setText(QtGui.QApplication.translate("Dialog", "Seismic\n"
"Array", None, QtGui.QApplication.UnicodeUTF8))
self.browse_seisarray.setText(QtGui.QApplication.translate("Dialog", "Browse", None, QtGui.QApplication.UnicodeUTF8))

View File

@ -0,0 +1,101 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'generate_seisarray_layout.ui'
#
# Created: Thu Jun 16 12:10:38 2016
# by: pyside-uic 0.2.15 running on PySide 1.2.2
#
# WARNING! All changes made in this file will be lost!
from PySide import QtCore, QtGui
class Ui_generate_seisarray(object):
def setupUi(self, generate_seisarray):
generate_seisarray.setObjectName("generate_seisarray")
generate_seisarray.resize(400, 220)
generate_seisarray.setMinimumSize(QtCore.QSize(400, 220))
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("../asp3d_icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
generate_seisarray.setWindowIcon(icon)
self.verticalLayout = QtGui.QVBoxLayout(generate_seisarray)
self.verticalLayout.setObjectName("verticalLayout")
self.gridLayout = QtGui.QGridLayout()
self.gridLayout.setObjectName("gridLayout")
self.label_rec = QtGui.QLabel(generate_seisarray)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_rec.sizePolicy().hasHeightForWidth())
self.label_rec.setSizePolicy(sizePolicy)
self.label_rec.setObjectName("label_rec")
self.gridLayout.addWidget(self.label_rec, 0, 0, 1, 1)
self.horizontalLayout_4 = QtGui.QHBoxLayout()
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
self.lineEdit_rec = QtGui.QLineEdit(generate_seisarray)
self.lineEdit_rec.setObjectName("lineEdit_rec")
self.horizontalLayout_4.addWidget(self.lineEdit_rec)
self.pushButton_rec = QtGui.QPushButton(generate_seisarray)
self.pushButton_rec.setObjectName("pushButton_rec")
self.horizontalLayout_4.addWidget(self.pushButton_rec)
self.gridLayout.addLayout(self.horizontalLayout_4, 1, 0, 1, 1)
self.verticalLayout.addLayout(self.gridLayout)
self.gridLayout_2 = QtGui.QGridLayout()
self.gridLayout_2.setObjectName("gridLayout_2")
self.horizontalLayout_5 = QtGui.QHBoxLayout()
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
self.lineEdit_src = QtGui.QLineEdit(generate_seisarray)
self.lineEdit_src.setObjectName("lineEdit_src")
self.horizontalLayout_5.addWidget(self.lineEdit_src)
self.pushButton_src = QtGui.QPushButton(generate_seisarray)
self.pushButton_src.setObjectName("pushButton_src")
self.horizontalLayout_5.addWidget(self.pushButton_src)
self.gridLayout_2.addLayout(self.horizontalLayout_5, 1, 0, 1, 1)
self.label_src = QtGui.QLabel(generate_seisarray)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_src.sizePolicy().hasHeightForWidth())
self.label_src.setSizePolicy(sizePolicy)
self.label_src.setObjectName("label_src")
self.gridLayout_2.addWidget(self.label_src, 0, 0, 1, 1)
self.verticalLayout.addLayout(self.gridLayout_2)
self.gridLayout_3 = QtGui.QGridLayout()
self.gridLayout_3.setObjectName("gridLayout_3")
self.horizontalLayout_6 = QtGui.QHBoxLayout()
self.horizontalLayout_6.setObjectName("horizontalLayout_6")
self.lineEdit_pts = QtGui.QLineEdit(generate_seisarray)
self.lineEdit_pts.setObjectName("lineEdit_pts")
self.horizontalLayout_6.addWidget(self.lineEdit_pts)
self.pushButton_obs = QtGui.QPushButton(generate_seisarray)
self.pushButton_obs.setObjectName("pushButton_obs")
self.horizontalLayout_6.addWidget(self.pushButton_obs)
self.gridLayout_3.addLayout(self.horizontalLayout_6, 1, 0, 1, 1)
self.label_obs = QtGui.QLabel(generate_seisarray)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_obs.sizePolicy().hasHeightForWidth())
self.label_obs.setSizePolicy(sizePolicy)
self.label_obs.setObjectName("label_obs")
self.gridLayout_3.addWidget(self.label_obs, 0, 0, 1, 1)
self.verticalLayout.addLayout(self.gridLayout_3)
self.buttonBox = QtGui.QDialogButtonBox(generate_seisarray)
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
self.buttonBox.setObjectName("buttonBox")
self.verticalLayout.addWidget(self.buttonBox)
self.retranslateUi(generate_seisarray)
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("rejected()"), generate_seisarray.reject)
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("accepted()"), generate_seisarray.accept)
QtCore.QMetaObject.connectSlotsByName(generate_seisarray)
def retranslateUi(self, generate_seisarray):
generate_seisarray.setWindowTitle(QtGui.QApplication.translate("generate_seisarray", "Generate new Seismic Array", None, QtGui.QApplication.UnicodeUTF8))
self.label_rec.setText(QtGui.QApplication.translate("generate_seisarray", "Measured Receivers", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton_rec.setText(QtGui.QApplication.translate("generate_seisarray", "Browse", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton_src.setText(QtGui.QApplication.translate("generate_seisarray", "Browse", None, QtGui.QApplication.UnicodeUTF8))
self.label_src.setText(QtGui.QApplication.translate("generate_seisarray", "Measured Sources (optional)", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton_obs.setText(QtGui.QApplication.translate("generate_seisarray", "Browse", None, QtGui.QApplication.UnicodeUTF8))
self.label_obs.setText(QtGui.QApplication.translate("generate_seisarray", "Additional measured points (optional)", None, QtGui.QApplication.UnicodeUTF8))

View File

@ -9,7 +9,7 @@
from PySide import QtCore, QtGui from PySide import QtCore, QtGui
class Ui_Dialog(object): class Ui_generate_survey(object):
def setupUi(self, Dialog): def setupUi(self, Dialog):
Dialog.setObjectName("Dialog") Dialog.setObjectName("Dialog")
Dialog.resize(380, 160) Dialog.resize(380, 160)

View File

@ -1,3 +1,14 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'fmtomo_parameters.ui'
#
# Created: Wed Jun 15 11:56:04 2016
# by: pyside-uic 0.2.15 running on PySide 1.2.2
#
# WARNING! All changes made in this file will be lost!
from PySide import QtCore, QtGui
class Ui_Picking_parameters(object): class Ui_Picking_parameters(object):
def setupUi(self, Picking_parameters): def setupUi(self, Picking_parameters):
Picking_parameters.setObjectName("Picking_parameters") Picking_parameters.setObjectName("Picking_parameters")

View File

@ -316,6 +316,7 @@ class SeisArray(object):
def interpolateAll(self): def interpolateAll(self):
self._interpolateXY4rec() self._interpolateXY4rec()
self.interpZcoords4rec() self.interpZcoords4rec()
print('Interpolated receiver locations.')
def interpolateTopography(self, nTheta, nPhi, thetaSN, phiWE, elevation=0.25, method='linear'): def interpolateTopography(self, nTheta, nPhi, thetaSN, phiWE, elevation=0.25, method='linear'):
''' '''