Surface NMR processing and inversion GUI
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

mainui.py 68KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187
  1. # -*- coding: utf-8 -*-
  2. # Form implementation generated from reading ui file '/srv/home/tirons/src/akvo/akvo/gui/main.ui'
  3. #
  4. # Created by: PyQt5 UI code generator 5.7.1
  5. #
  6. # WARNING! All changes made in this file will be lost!
  7. from PyQt5 import QtCore, QtGui, QtWidgets
  8. class Ui_MainWindow(object):
  9. def setupUi(self, MainWindow):
  10. MainWindow.setObjectName("MainWindow")
  11. MainWindow.resize(1000, 980)
  12. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
  13. sizePolicy.setHorizontalStretch(0)
  14. sizePolicy.setVerticalStretch(0)
  15. sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
  16. MainWindow.setSizePolicy(sizePolicy)
  17. MainWindow.setMinimumSize(QtCore.QSize(60, 60))
  18. MainWindow.setMaximumSize(QtCore.QSize(1000, 980))
  19. MainWindow.setWindowOpacity(1.0)
  20. MainWindow.setAutoFillBackground(True)
  21. self.centralwidget = QtWidgets.QWidget(MainWindow)
  22. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
  23. sizePolicy.setHorizontalStretch(0)
  24. sizePolicy.setVerticalStretch(0)
  25. sizePolicy.setHeightForWidth(self.centralwidget.sizePolicy().hasHeightForWidth())
  26. self.centralwidget.setSizePolicy(sizePolicy)
  27. self.centralwidget.setMinimumSize(QtCore.QSize(0, 0))
  28. self.centralwidget.setMaximumSize(QtCore.QSize(1000, 980))
  29. self.centralwidget.setObjectName("centralwidget")
  30. self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralwidget)
  31. self.horizontalLayout.setObjectName("horizontalLayout")
  32. self.scrollArea = QtWidgets.QScrollArea(self.centralwidget)
  33. self.scrollArea.setMaximumSize(QtCore.QSize(16777215, 980))
  34. self.scrollArea.setWidgetResizable(True)
  35. self.scrollArea.setObjectName("scrollArea")
  36. self.scrollAreaWidgetContents = QtWidgets.QWidget()
  37. self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 967, 920))
  38. self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
  39. self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.scrollAreaWidgetContents)
  40. self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
  41. self.horizontalLayout_2.setObjectName("horizontalLayout_2")
  42. self.tabWidget = QtWidgets.QTabWidget(self.scrollAreaWidgetContents)
  43. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
  44. sizePolicy.setHorizontalStretch(0)
  45. sizePolicy.setVerticalStretch(0)
  46. sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth())
  47. self.tabWidget.setSizePolicy(sizePolicy)
  48. self.tabWidget.setMinimumSize(QtCore.QSize(940, 0))
  49. self.tabWidget.setLayoutDirection(QtCore.Qt.LeftToRight)
  50. self.tabWidget.setObjectName("tabWidget")
  51. self.tab = QtWidgets.QWidget()
  52. self.tab.setMinimumSize(QtCore.QSize(940, 870))
  53. self.tab.setObjectName("tab")
  54. self.inputRAWParametersBox = QtWidgets.QGroupBox(self.tab)
  55. self.inputRAWParametersBox.setEnabled(False)
  56. self.inputRAWParametersBox.setGeometry(QtCore.QRect(5, 750, 460, 125))
  57. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
  58. sizePolicy.setHorizontalStretch(0)
  59. sizePolicy.setVerticalStretch(0)
  60. sizePolicy.setHeightForWidth(self.inputRAWParametersBox.sizePolicy().hasHeightForWidth())
  61. self.inputRAWParametersBox.setSizePolicy(sizePolicy)
  62. self.inputRAWParametersBox.setMinimumSize(QtCore.QSize(460, 125))
  63. self.inputRAWParametersBox.setObjectName("inputRAWParametersBox")
  64. self.stacksLineEdit = QtWidgets.QLineEdit(self.inputRAWParametersBox)
  65. self.stacksLineEdit.setGeometry(QtCore.QRect(110, 30, 91, 21))
  66. self.stacksLineEdit.setToolTip("<html><head/><body><p>Set the stacks that you would like processed.</p><p>This must be a valid set of numpy array indices. Remember that Python uses non end-inclusive indexing. </p><p>So things like [1:24] will include stacks 1-23</p><p>Furthermore [1:8,12:24] will include stacks 1-7 and 12:23. Any list of valid indices will be accepted, but they must be comma seperated. </p></body></html>")
  67. self.stacksLineEdit.setObjectName("stacksLineEdit")
  68. self.label = QtWidgets.QLabel(self.inputRAWParametersBox)
  69. self.label.setGeometry(QtCore.QRect(10, 30, 51, 20))
  70. self.label.setToolTip("")
  71. self.label.setStatusTip("")
  72. self.label.setObjectName("label")
  73. self.label_23 = QtWidgets.QLabel(self.inputRAWParametersBox)
  74. self.label_23.setGeometry(QtCore.QRect(10, 65, 101, 16))
  75. self.label_23.setObjectName("label_23")
  76. self.dataChanLineEdit = QtWidgets.QLineEdit(self.inputRAWParametersBox)
  77. self.dataChanLineEdit.setGeometry(QtCore.QRect(110, 60, 91, 21))
  78. self.dataChanLineEdit.setObjectName("dataChanLineEdit")
  79. self.label_24 = QtWidgets.QLabel(self.inputRAWParametersBox)
  80. self.label_24.setGeometry(QtCore.QRect(220, 36, 101, 16))
  81. self.label_24.setObjectName("label_24")
  82. self.DeadTimeSpinBox = QtWidgets.QDoubleSpinBox(self.inputRAWParametersBox)
  83. self.DeadTimeSpinBox.setGeometry(QtCore.QRect(360, 30, 91, 25))
  84. self.DeadTimeSpinBox.setMinimum(0.5)
  85. self.DeadTimeSpinBox.setSingleStep(0.5)
  86. self.DeadTimeSpinBox.setProperty("value", 5.0)
  87. self.DeadTimeSpinBox.setObjectName("DeadTimeSpinBox")
  88. self.label_28 = QtWidgets.QLabel(self.inputRAWParametersBox)
  89. self.label_28.setGeometry(QtCore.QRect(220, 64, 131, 16))
  90. self.label_28.setObjectName("label_28")
  91. self.refChanLineEdit = QtWidgets.QLineEdit(self.inputRAWParametersBox)
  92. self.refChanLineEdit.setGeometry(QtCore.QRect(360, 60, 91, 21))
  93. self.refChanLineEdit.setText("")
  94. self.refChanLineEdit.setObjectName("refChanLineEdit")
  95. self.label_29 = QtWidgets.QLabel(self.inputRAWParametersBox)
  96. self.label_29.setGeometry(QtCore.QRect(10, 95, 91, 16))
  97. self.label_29.setObjectName("label_29")
  98. self.FIDProcComboBox = QtWidgets.QComboBox(self.inputRAWParametersBox)
  99. self.FIDProcComboBox.setGeometry(QtCore.QRect(110, 90, 91, 25))
  100. self.FIDProcComboBox.setObjectName("FIDProcComboBox")
  101. self.loadDataPushButton = QtWidgets.QPushButton(self.inputRAWParametersBox)
  102. self.loadDataPushButton.setEnabled(False)
  103. self.loadDataPushButton.setGeometry(QtCore.QRect(360, 90, 91, 31))
  104. self.loadDataPushButton.setStyleSheet("#loadDataPushButton {\n"
  105. " background: green;\n"
  106. "}\n"
  107. "\n"
  108. "#loadDataPushButton:disabled {\n"
  109. " background: black;\n"
  110. "}")
  111. self.loadDataPushButton.setObjectName("loadDataPushButton")
  112. self.plotImportCheckBox = QtWidgets.QCheckBox(self.inputRAWParametersBox)
  113. self.plotImportCheckBox.setEnabled(False)
  114. self.plotImportCheckBox.setGeometry(QtCore.QRect(225, 90, 81, 21))
  115. self.plotImportCheckBox.setChecked(True)
  116. self.plotImportCheckBox.setObjectName("plotImportCheckBox")
  117. self.BandPassBox = QtWidgets.QGroupBox(self.tab)
  118. self.BandPassBox.setEnabled(False)
  119. self.BandPassBox.setGeometry(QtCore.QRect(470, 240, 480, 180))
  120. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
  121. sizePolicy.setHorizontalStretch(0)
  122. sizePolicy.setVerticalStretch(0)
  123. sizePolicy.setHeightForWidth(self.BandPassBox.sizePolicy().hasHeightForWidth())
  124. self.BandPassBox.setSizePolicy(sizePolicy)
  125. self.BandPassBox.setMinimumSize(QtCore.QSize(480, 180))
  126. self.BandPassBox.setCheckable(True)
  127. self.BandPassBox.setChecked(False)
  128. self.BandPassBox.setObjectName("BandPassBox")
  129. self.fTypeComboBox = QtWidgets.QComboBox(self.BandPassBox)
  130. self.fTypeComboBox.setGeometry(QtCore.QRect(200, 50, 141, 22))
  131. self.fTypeComboBox.setMouseTracking(True)
  132. self.fTypeComboBox.setToolTip("")
  133. self.fTypeComboBox.setStatusTip("")
  134. self.fTypeComboBox.setWhatsThis("")
  135. self.fTypeComboBox.setObjectName("fTypeComboBox")
  136. self.fTypeComboBox.addItem("")
  137. self.fTypeComboBox.addItem("")
  138. self.fTypeComboBox.addItem("")
  139. self.bandPassGO = QtWidgets.QPushButton(self.BandPassBox)
  140. self.bandPassGO.setGeometry(QtCore.QRect(370, 150, 99, 23))
  141. self.bandPassGO.setStyleSheet("#bandPassGO {\n"
  142. " background: green;\n"
  143. "}\n"
  144. "\n"
  145. "#bandPassGO:disabled{\n"
  146. " background: black;\n"
  147. "}")
  148. self.bandPassGO.setObjectName("bandPassGO")
  149. self.passBandSpinBox = QtWidgets.QDoubleSpinBox(self.BandPassBox)
  150. self.passBandSpinBox.setGeometry(QtCore.QRect(110, 60, 71, 22))
  151. self.passBandSpinBox.setMinimum(25.0)
  152. self.passBandSpinBox.setMaximum(500.0)
  153. self.passBandSpinBox.setSingleStep(5.0)
  154. self.passBandSpinBox.setProperty("value", 50.0)
  155. self.passBandSpinBox.setObjectName("passBandSpinBox")
  156. self.stopBandSpinBox = QtWidgets.QDoubleSpinBox(self.BandPassBox)
  157. self.stopBandSpinBox.setGeometry(QtCore.QRect(110, 90, 71, 22))
  158. self.stopBandSpinBox.setMinimum(100.0)
  159. self.stopBandSpinBox.setMaximum(1000.0)
  160. self.stopBandSpinBox.setProperty("value", 280.0)
  161. self.stopBandSpinBox.setObjectName("stopBandSpinBox")
  162. self.label_19 = QtWidgets.QLabel(self.BandPassBox)
  163. self.label_19.setGeometry(QtCore.QRect(10, 62, 91, 16))
  164. self.label_19.setObjectName("label_19")
  165. self.label_20 = QtWidgets.QLabel(self.BandPassBox)
  166. self.label_20.setGeometry(QtCore.QRect(10, 93, 91, 16))
  167. self.label_20.setObjectName("label_20")
  168. self.filterDesignPushButton = QtWidgets.QPushButton(self.BandPassBox)
  169. self.filterDesignPushButton.setGeometry(QtCore.QRect(370, 120, 99, 23))
  170. self.filterDesignPushButton.setStyleSheet("")
  171. self.filterDesignPushButton.setObjectName("filterDesignPushButton")
  172. self.lcdNumberFilterOrder = QtWidgets.QLCDNumber(self.BandPassBox)
  173. self.lcdNumberFilterOrder.setGeometry(QtCore.QRect(290, 100, 64, 23))
  174. self.lcdNumberFilterOrder.setStyleSheet("#lcdNumberFilterOrder {\n"
  175. "color: green;\n"
  176. "background: black;\n"
  177. "}\n"
  178. "\n"
  179. "#lcdNumberFilterOrder:disabled {\n"
  180. "color: grey;\n"
  181. "background: dark grey;\n"
  182. "}")
  183. self.lcdNumberFilterOrder.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
  184. self.lcdNumberFilterOrder.setObjectName("lcdNumberFilterOrder")
  185. self.lcdNumberFTauDead = QtWidgets.QLCDNumber(self.BandPassBox)
  186. self.lcdNumberFTauDead.setGeometry(QtCore.QRect(290, 140, 64, 23))
  187. self.lcdNumberFTauDead.setStyleSheet("#lcdNumberFTauDead {\n"
  188. "color: green;\n"
  189. "background: black;\n"
  190. "}\n"
  191. "\n"
  192. "#lcdNumberFTauDead:disabled {\n"
  193. "color: grey;\n"
  194. "background: dark grey;\n"
  195. "}")
  196. self.lcdNumberFTauDead.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
  197. self.lcdNumberFTauDead.setObjectName("lcdNumberFTauDead")
  198. self.label_18 = QtWidgets.QLabel(self.BandPassBox)
  199. self.label_18.setGeometry(QtCore.QRect(190, 104, 57, 14))
  200. self.label_18.setObjectName("label_18")
  201. self.label_21 = QtWidgets.QLabel(self.BandPassBox)
  202. self.label_21.setGeometry(QtCore.QRect(190, 142, 101, 20))
  203. self.label_21.setObjectName("label_21")
  204. self.label_22 = QtWidgets.QLabel(self.BandPassBox)
  205. self.label_22.setGeometry(QtCore.QRect(10, 122, 81, 16))
  206. self.label_22.setObjectName("label_22")
  207. self.label_32 = QtWidgets.QLabel(self.BandPassBox)
  208. self.label_32.setGeometry(QtCore.QRect(10, 153, 71, 16))
  209. self.label_32.setObjectName("label_32")
  210. self.gpassSpinBox = QtWidgets.QDoubleSpinBox(self.BandPassBox)
  211. self.gpassSpinBox.setGeometry(QtCore.QRect(110, 120, 71, 22))
  212. self.gpassSpinBox.setSuffix("")
  213. self.gpassSpinBox.setDecimals(3)
  214. self.gpassSpinBox.setMaximum(1.0)
  215. self.gpassSpinBox.setSingleStep(0.01)
  216. self.gpassSpinBox.setProperty("value", 0.01)
  217. self.gpassSpinBox.setObjectName("gpassSpinBox")
  218. self.gstopSpinBox = QtWidgets.QDoubleSpinBox(self.BandPassBox)
  219. self.gstopSpinBox.setGeometry(QtCore.QRect(110, 150, 71, 22))
  220. self.gstopSpinBox.setProperty("value", 5.0)
  221. self.gstopSpinBox.setObjectName("gstopSpinBox")
  222. self.CentralVSpinBox = QtWidgets.QDoubleSpinBox(self.BandPassBox)
  223. self.CentralVSpinBox.setGeometry(QtCore.QRect(110, 30, 71, 25))
  224. self.CentralVSpinBox.setDecimals(0)
  225. self.CentralVSpinBox.setMinimum(100.0)
  226. self.CentralVSpinBox.setMaximum(5001.0)
  227. self.CentralVSpinBox.setSingleStep(1.0)
  228. self.CentralVSpinBox.setProperty("value", 1000.0)
  229. self.CentralVSpinBox.setObjectName("CentralVSpinBox")
  230. self.label_30 = QtWidgets.QLabel(self.BandPassBox)
  231. self.label_30.setGeometry(QtCore.QRect(10, 33, 91, 16))
  232. self.label_30.setObjectName("label_30")
  233. self.label_10 = QtWidgets.QLabel(self.BandPassBox)
  234. self.label_10.setGeometry(QtCore.QRect(250, 30, 41, 16))
  235. self.label_10.setObjectName("label_10")
  236. self.pushButton_4 = QtWidgets.QPushButton(self.BandPassBox)
  237. self.pushButton_4.setGeometry(QtCore.QRect(370, 250, 99, 23))
  238. self.pushButton_4.setObjectName("pushButton_4")
  239. self.headerFileBox = QtWidgets.QGroupBox(self.tab)
  240. self.headerFileBox.setEnabled(False)
  241. self.headerFileBox.setGeometry(QtCore.QRect(5, 510, 460, 230))
  242. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
  243. sizePolicy.setHorizontalStretch(0)
  244. sizePolicy.setVerticalStretch(0)
  245. sizePolicy.setHeightForWidth(self.headerFileBox.sizePolicy().hasHeightForWidth())
  246. self.headerFileBox.setSizePolicy(sizePolicy)
  247. self.headerFileBox.setMinimumSize(QtCore.QSize(460, 230))
  248. self.headerFileBox.setAutoFillBackground(False)
  249. self.headerFileBox.setFlat(False)
  250. self.headerFileBox.setObjectName("headerFileBox")
  251. self.headerFileTextBrowser = QtWidgets.QTextBrowser(self.headerFileBox)
  252. self.headerFileTextBrowser.setGeometry(QtCore.QRect(10, 20, 441, 51))
  253. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
  254. sizePolicy.setHorizontalStretch(0)
  255. sizePolicy.setVerticalStretch(0)
  256. sizePolicy.setHeightForWidth(self.headerFileTextBrowser.sizePolicy().hasHeightForWidth())
  257. self.headerFileTextBrowser.setSizePolicy(sizePolicy)
  258. font = QtGui.QFont()
  259. font.setPointSize(8)
  260. font.setItalic(True)
  261. self.headerFileTextBrowser.setFont(font)
  262. self.headerFileTextBrowser.setObjectName("headerFileTextBrowser")
  263. self.label_4 = QtWidgets.QLabel(self.headerFileBox)
  264. self.label_4.setGeometry(QtCore.QRect(10, 70, 81, 21))
  265. self.label_4.setObjectName("label_4")
  266. self.pulseTypeTextBrowser = QtWidgets.QTextBrowser(self.headerFileBox)
  267. self.pulseTypeTextBrowser.setGeometry(QtCore.QRect(90, 70, 361, 23))
  268. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
  269. sizePolicy.setHorizontalStretch(0)
  270. sizePolicy.setVerticalStretch(0)
  271. sizePolicy.setHeightForWidth(self.pulseTypeTextBrowser.sizePolicy().hasHeightForWidth())
  272. self.pulseTypeTextBrowser.setSizePolicy(sizePolicy)
  273. font = QtGui.QFont()
  274. font.setItalic(True)
  275. self.pulseTypeTextBrowser.setFont(font)
  276. self.pulseTypeTextBrowser.setAcceptDrops(True)
  277. self.pulseTypeTextBrowser.setToolTip("")
  278. self.pulseTypeTextBrowser.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
  279. self.pulseTypeTextBrowser.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
  280. self.pulseTypeTextBrowser.setObjectName("pulseTypeTextBrowser")
  281. self.lcdNumberNuTx = QtWidgets.QLCDNumber(self.headerFileBox)
  282. self.lcdNumberNuTx.setGeometry(QtCore.QRect(160, 100, 64, 23))
  283. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
  284. sizePolicy.setHorizontalStretch(0)
  285. sizePolicy.setVerticalStretch(0)
  286. sizePolicy.setHeightForWidth(self.lcdNumberNuTx.sizePolicy().hasHeightForWidth())
  287. self.lcdNumberNuTx.setSizePolicy(sizePolicy)
  288. font = QtGui.QFont()
  289. font.setPointSize(8)
  290. self.lcdNumberNuTx.setFont(font)
  291. self.lcdNumberNuTx.setWhatsThis("")
  292. self.lcdNumberNuTx.setAutoFillBackground(False)
  293. self.lcdNumberNuTx.setStyleSheet("#lcdNumberNuTx {\n"
  294. "color: green;\n"
  295. "background: black;\n"
  296. "}\n"
  297. "\n"
  298. "#lcdNumberNuTx:disabled {\n"
  299. "color: grey;\n"
  300. "background: dark grey;\n"
  301. "}")
  302. self.lcdNumberNuTx.setFrameShadow(QtWidgets.QFrame.Raised)
  303. self.lcdNumberNuTx.setLineWidth(1)
  304. self.lcdNumberNuTx.setMidLineWidth(0)
  305. self.lcdNumberNuTx.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
  306. self.lcdNumberNuTx.setProperty("value", 0.0)
  307. self.lcdNumberNuTx.setObjectName("lcdNumberNuTx")
  308. self.lcdNumberTuneuF = QtWidgets.QLCDNumber(self.headerFileBox)
  309. self.lcdNumberTuneuF.setGeometry(QtCore.QRect(370, 100, 64, 23))
  310. self.lcdNumberTuneuF.setStyleSheet("#lcdNumberTuneuF {\n"
  311. "color: green;\n"
  312. "background: black;\n"
  313. "}\n"
  314. "\n"
  315. "#lcdNumberTuneuF:disabled {\n"
  316. "color: grey;\n"
  317. "background: dark grey;\n"
  318. "}")
  319. self.lcdNumberTuneuF.setLineWidth(1)
  320. self.lcdNumberTuneuF.setMidLineWidth(0)
  321. self.lcdNumberTuneuF.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
  322. self.lcdNumberTuneuF.setObjectName("lcdNumberTuneuF")
  323. self.lcdNumberTauPulse1 = QtWidgets.QLCDNumber(self.headerFileBox)
  324. self.lcdNumberTauPulse1.setGeometry(QtCore.QRect(160, 130, 64, 23))
  325. self.lcdNumberTauPulse1.setStyleSheet("#lcdNumberTauPulse1 {\n"
  326. "color: green;\n"
  327. "background: black;\n"
  328. "}\n"
  329. "\n"
  330. "#lcdNumberTauPulse1:disabled {\n"
  331. "color: grey;\n"
  332. "background: dark grey;\n"
  333. "}")
  334. self.lcdNumberTauPulse1.setFrameShadow(QtWidgets.QFrame.Raised)
  335. self.lcdNumberTauPulse1.setLineWidth(1)
  336. self.lcdNumberTauPulse1.setMidLineWidth(0)
  337. self.lcdNumberTauPulse1.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
  338. self.lcdNumberTauPulse1.setObjectName("lcdNumberTauPulse1")
  339. self.label_6 = QtWidgets.QLabel(self.headerFileBox)
  340. self.label_6.setGeometry(QtCore.QRect(10, 100, 91, 21))
  341. self.label_6.setObjectName("label_6")
  342. self.label_7 = QtWidgets.QLabel(self.headerFileBox)
  343. self.label_7.setGeometry(QtCore.QRect(10, 130, 141, 21))
  344. self.label_7.setObjectName("label_7")
  345. self.label_13 = QtWidgets.QLabel(self.headerFileBox)
  346. self.label_13.setGeometry(QtCore.QRect(250, 160, 91, 21))
  347. self.label_13.setObjectName("label_13")
  348. self.lcdNumberTauPulse2 = QtWidgets.QLCDNumber(self.headerFileBox)
  349. self.lcdNumberTauPulse2.setGeometry(QtCore.QRect(160, 160, 64, 23))
  350. self.lcdNumberTauPulse2.setStyleSheet("#lcdNumberTauPulse2 {\n"
  351. "color: green;\n"
  352. "background: black;\n"
  353. "}\n"
  354. "\n"
  355. "#lcdNumberTauPulse2:disabled{\n"
  356. "color: grey;\n"
  357. "background: dark grey;\n"
  358. "}")
  359. self.lcdNumberTauPulse2.setLineWidth(1)
  360. self.lcdNumberTauPulse2.setMidLineWidth(0)
  361. self.lcdNumberTauPulse2.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
  362. self.lcdNumberTauPulse2.setObjectName("lcdNumberTauPulse2")
  363. self.label_14 = QtWidgets.QLabel(self.headerFileBox)
  364. self.label_14.setGeometry(QtCore.QRect(250, 100, 111, 21))
  365. self.label_14.setObjectName("label_14")
  366. self.label_15 = QtWidgets.QLabel(self.headerFileBox)
  367. self.label_15.setGeometry(QtCore.QRect(250, 130, 111, 21))
  368. self.label_15.setObjectName("label_15")
  369. self.lcdNumberSampFreq = QtWidgets.QLCDNumber(self.headerFileBox)
  370. self.lcdNumberSampFreq.setEnabled(False)
  371. self.lcdNumberSampFreq.setGeometry(QtCore.QRect(370, 130, 64, 23))
  372. self.lcdNumberSampFreq.setStyleSheet("#lcdNumberSampFreq {\n"
  373. "color: green;\n"
  374. "background: black;\n"
  375. "}\n"
  376. "\n"
  377. "#lcdNumberSampFreq:disabled{\n"
  378. "color: grey;\n"
  379. "background: dark grey;\n"
  380. "}")
  381. self.lcdNumberSampFreq.setLineWidth(1)
  382. self.lcdNumberSampFreq.setMidLineWidth(0)
  383. self.lcdNumberSampFreq.setDigitCount(5)
  384. self.lcdNumberSampFreq.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
  385. self.lcdNumberSampFreq.setObjectName("lcdNumberSampFreq")
  386. self.lcdNumberTauDelay = QtWidgets.QLCDNumber(self.headerFileBox)
  387. self.lcdNumberTauDelay.setEnabled(False)
  388. self.lcdNumberTauDelay.setGeometry(QtCore.QRect(370, 160, 64, 23))
  389. self.lcdNumberTauDelay.setStyleSheet("#lcdNumberTauDelay {\n"
  390. "color: green;\n"
  391. "background: black;\n"
  392. "}\n"
  393. "\n"
  394. "#lcdNumberTauDelay:disabled {\n"
  395. "color: grey;\n"
  396. "background: dark grey;\n"
  397. "}")
  398. self.lcdNumberTauDelay.setLineWidth(1)
  399. self.lcdNumberTauDelay.setMidLineWidth(0)
  400. self.lcdNumberTauDelay.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
  401. self.lcdNumberTauDelay.setObjectName("lcdNumberTauDelay")
  402. self.label_16 = QtWidgets.QLabel(self.headerFileBox)
  403. self.label_16.setGeometry(QtCore.QRect(10, 160, 131, 21))
  404. self.label_16.setObjectName("label_16")
  405. self.lcdNumberNQ = QtWidgets.QLCDNumber(self.headerFileBox)
  406. self.lcdNumberNQ.setGeometry(QtCore.QRect(160, 190, 64, 23))
  407. self.lcdNumberNQ.setStyleSheet("#lcdNumberNQ {\n"
  408. "color: green;\n"
  409. "background: black;\n"
  410. "}\n"
  411. "\n"
  412. "#lcdNumberNQ:disabled{\n"
  413. "color: grey;\n"
  414. "background: dark grey;\n"
  415. "}")
  416. self.lcdNumberNQ.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
  417. self.lcdNumberNQ.setObjectName("lcdNumberNQ")
  418. self.label_9 = QtWidgets.QLabel(self.headerFileBox)
  419. self.label_9.setGeometry(QtCore.QRect(10, 190, 141, 21))
  420. self.label_9.setObjectName("label_9")
  421. self.downSampleGroupBox = QtWidgets.QGroupBox(self.tab)
  422. self.downSampleGroupBox.setEnabled(False)
  423. self.downSampleGroupBox.setGeometry(QtCore.QRect(470, 20, 480, 90))
  424. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
  425. sizePolicy.setHorizontalStretch(0)
  426. sizePolicy.setVerticalStretch(0)
  427. sizePolicy.setHeightForWidth(self.downSampleGroupBox.sizePolicy().hasHeightForWidth())
  428. self.downSampleGroupBox.setSizePolicy(sizePolicy)
  429. self.downSampleGroupBox.setMinimumSize(QtCore.QSize(480, 90))
  430. self.downSampleGroupBox.setCheckable(True)
  431. self.downSampleGroupBox.setObjectName("downSampleGroupBox")
  432. self.label_3 = QtWidgets.QLabel(self.downSampleGroupBox)
  433. self.label_3.setGeometry(QtCore.QRect(10, 33, 111, 16))
  434. self.label_3.setObjectName("label_3")
  435. self.truncateSpinBox = QtWidgets.QSpinBox(self.downSampleGroupBox)
  436. self.truncateSpinBox.setGeometry(QtCore.QRect(170, 30, 101, 25))
  437. self.truncateSpinBox.setMaximum(1000)
  438. self.truncateSpinBox.setProperty("value", 0)
  439. self.truncateSpinBox.setObjectName("truncateSpinBox")
  440. self.downSampleGO = QtWidgets.QPushButton(self.downSampleGroupBox)
  441. self.downSampleGO.setGeometry(QtCore.QRect(370, 60, 99, 23))
  442. self.downSampleGO.setStyleSheet("#downSampleGO {\n"
  443. " background: green;\n"
  444. "}\n"
  445. "\n"
  446. "#downSampleGO:disabled{\n"
  447. " background: black;\n"
  448. "}")
  449. self.downSampleGO.setObjectName("downSampleGO")
  450. self.label_12 = QtWidgets.QLabel(self.downSampleGroupBox)
  451. self.label_12.setGeometry(QtCore.QRect(10, 63, 131, 16))
  452. self.label_12.setObjectName("label_12")
  453. self.downSampleSpinBox = QtWidgets.QSpinBox(self.downSampleGroupBox)
  454. self.downSampleSpinBox.setGeometry(QtCore.QRect(170, 60, 101, 25))
  455. self.downSampleSpinBox.setMaximum(5)
  456. self.downSampleSpinBox.setProperty("value", 5)
  457. self.downSampleSpinBox.setObjectName("downSampleSpinBox")
  458. self.mplwidget = MyDynamicMplCanvas(self.tab)
  459. self.mplwidget.setGeometry(QtCore.QRect(3, 10, 460, 460))
  460. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
  461. sizePolicy.setHorizontalStretch(0)
  462. sizePolicy.setVerticalStretch(0)
  463. sizePolicy.setHeightForWidth(self.mplwidget.sizePolicy().hasHeightForWidth())
  464. self.mplwidget.setSizePolicy(sizePolicy)
  465. self.mplwidget.setMinimumSize(QtCore.QSize(460, 460))
  466. self.mplwidget.setObjectName("mplwidget")
  467. self.mplwidget_navigator = MyDynamicMplCanvasNavigator(self.tab)
  468. self.mplwidget_navigator.setGeometry(QtCore.QRect(3, 470, 460, 30))
  469. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
  470. sizePolicy.setHorizontalStretch(0)
  471. sizePolicy.setVerticalStretch(0)
  472. sizePolicy.setHeightForWidth(self.mplwidget_navigator.sizePolicy().hasHeightForWidth())
  473. self.mplwidget_navigator.setSizePolicy(sizePolicy)
  474. self.mplwidget_navigator.setMinimumSize(QtCore.QSize(460, 30))
  475. self.mplwidget_navigator.setObjectName("mplwidget_navigator")
  476. self.adaptBox = QtWidgets.QGroupBox(self.tab)
  477. self.adaptBox.setEnabled(False)
  478. self.adaptBox.setGeometry(QtCore.QRect(470, 440, 480, 120))
  479. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
  480. sizePolicy.setHorizontalStretch(0)
  481. sizePolicy.setVerticalStretch(0)
  482. sizePolicy.setHeightForWidth(self.adaptBox.sizePolicy().hasHeightForWidth())
  483. self.adaptBox.setSizePolicy(sizePolicy)
  484. self.adaptBox.setMinimumSize(QtCore.QSize(480, 120))
  485. self.adaptBox.setFlat(False)
  486. self.adaptBox.setCheckable(True)
  487. self.adaptBox.setObjectName("adaptBox")
  488. self.adaptGO = QtWidgets.QPushButton(self.adaptBox)
  489. self.adaptGO.setGeometry(QtCore.QRect(370, 90, 99, 23))
  490. self.adaptGO.setStyleSheet("#adaptGO {\n"
  491. " background: green;\n"
  492. "}\n"
  493. "\n"
  494. "#adaptGO:disabled{\n"
  495. " background: black;\n"
  496. "}")
  497. self.adaptGO.setObjectName("adaptGO")
  498. self.MTapsSpinBox = QtWidgets.QSpinBox(self.adaptBox)
  499. self.MTapsSpinBox.setGeometry(QtCore.QRect(150, 30, 71, 22))
  500. self.MTapsSpinBox.setMaximum(2000)
  501. self.MTapsSpinBox.setProperty("value", 200)
  502. self.MTapsSpinBox.setObjectName("MTapsSpinBox")
  503. self.adaptLambdaSpinBox = QtWidgets.QDoubleSpinBox(self.adaptBox)
  504. self.adaptLambdaSpinBox.setGeometry(QtCore.QRect(150, 60, 71, 22))
  505. self.adaptLambdaSpinBox.setMinimum(0.2)
  506. self.adaptLambdaSpinBox.setMaximum(1.0)
  507. self.adaptLambdaSpinBox.setProperty("value", 0.99)
  508. self.adaptLambdaSpinBox.setObjectName("adaptLambdaSpinBox")
  509. self.label_41 = QtWidgets.QLabel(self.adaptBox)
  510. self.label_41.setGeometry(QtCore.QRect(10, 32, 71, 16))
  511. self.label_41.setObjectName("label_41")
  512. self.label_42 = QtWidgets.QLabel(self.adaptBox)
  513. self.label_42.setGeometry(QtCore.QRect(10, 62, 131, 16))
  514. self.label_42.setObjectName("label_42")
  515. self.label_43 = QtWidgets.QLabel(self.adaptBox)
  516. self.label_43.setGeometry(QtCore.QRect(10, 92, 111, 16))
  517. self.label_43.setObjectName("label_43")
  518. self.adaptTruncateSpinBox = QtWidgets.QDoubleSpinBox(self.adaptBox)
  519. self.adaptTruncateSpinBox.setGeometry(QtCore.QRect(150, 90, 71, 22))
  520. self.adaptTruncateSpinBox.setMaximum(1000.0)
  521. self.adaptTruncateSpinBox.setProperty("value", 800.0)
  522. self.adaptTruncateSpinBox.setObjectName("adaptTruncateSpinBox")
  523. self.adaptMuSpinBox = QtWidgets.QDoubleSpinBox(self.adaptBox)
  524. self.adaptMuSpinBox.setGeometry(QtCore.QRect(380, 30, 81, 22))
  525. self.adaptMuSpinBox.setDecimals(4)
  526. self.adaptMuSpinBox.setMinimum(0.0001)
  527. self.adaptMuSpinBox.setMaximum(0.1)
  528. self.adaptMuSpinBox.setSingleStep(0.0001)
  529. self.adaptMuSpinBox.setProperty("value", 0.01)
  530. self.adaptMuSpinBox.setObjectName("adaptMuSpinBox")
  531. self.label_44 = QtWidgets.QLabel(self.adaptBox)
  532. self.label_44.setGeometry(QtCore.QRect(280, 30, 57, 14))
  533. self.label_44.setObjectName("label_44")
  534. self.windowFilterGroupBox = QtWidgets.QGroupBox(self.tab)
  535. self.windowFilterGroupBox.setEnabled(False)
  536. self.windowFilterGroupBox.setGeometry(QtCore.QRect(470, 130, 480, 90))
  537. self.windowFilterGroupBox.setMinimumSize(QtCore.QSize(0, 90))
  538. self.windowFilterGroupBox.setCheckable(True)
  539. self.windowFilterGroupBox.setObjectName("windowFilterGroupBox")
  540. self.windowTypeComboBox = QtWidgets.QComboBox(self.windowFilterGroupBox)
  541. self.windowTypeComboBox.setGeometry(QtCore.QRect(120, 30, 111, 23))
  542. self.windowTypeComboBox.setObjectName("windowTypeComboBox")
  543. self.windowTypeComboBox.addItem("")
  544. self.windowTypeComboBox.addItem("")
  545. self.windowTypeComboBox.addItem("")
  546. self.windowTypeComboBox.addItem("")
  547. self.label_45 = QtWidgets.QLabel(self.windowFilterGroupBox)
  548. self.label_45.setGeometry(QtCore.QRect(20, 35, 57, 14))
  549. self.label_45.setObjectName("label_45")
  550. self.label_48 = QtWidgets.QLabel(self.windowFilterGroupBox)
  551. self.label_48.setGeometry(QtCore.QRect(20, 63, 71, 16))
  552. self.label_48.setObjectName("label_48")
  553. self.windowBandwidthSpinBox = QtWidgets.QDoubleSpinBox(self.windowFilterGroupBox)
  554. self.windowBandwidthSpinBox.setGeometry(QtCore.QRect(120, 60, 111, 22))
  555. self.windowBandwidthSpinBox.setDecimals(1)
  556. self.windowBandwidthSpinBox.setMaximum(1000.0)
  557. self.windowBandwidthSpinBox.setProperty("value", 600.0)
  558. self.windowBandwidthSpinBox.setObjectName("windowBandwidthSpinBox")
  559. self.windowFilterGO = QtWidgets.QPushButton(self.windowFilterGroupBox)
  560. self.windowFilterGO.setGeometry(QtCore.QRect(370, 60, 99, 23))
  561. self.windowFilterGO.setStyleSheet("#windowFilterGO {\n"
  562. " background: green;\n"
  563. "}\n"
  564. "\n"
  565. "#windowFilterGO:disabled{\n"
  566. " background: black;\n"
  567. "}")
  568. self.windowFilterGO.setObjectName("windowFilterGO")
  569. self.label_49 = QtWidgets.QLabel(self.windowFilterGroupBox)
  570. self.label_49.setGeometry(QtCore.QRect(250, 33, 191, 16))
  571. self.label_49.setObjectName("label_49")
  572. self.ProcessedBox = QtWidgets.QGroupBox(self.tab)
  573. self.ProcessedBox.setEnabled(False)
  574. self.ProcessedBox.setGeometry(QtCore.QRect(470, 750, 480, 101))
  575. self.ProcessedBox.setMinimumSize(QtCore.QSize(0, 100))
  576. self.ProcessedBox.setObjectName("ProcessedBox")
  577. self.label_17 = QtWidgets.QLabel(self.ProcessedBox)
  578. self.label_17.setGeometry(QtCore.QRect(20, 33, 111, 16))
  579. self.label_17.setObjectName("label_17")
  580. self.lcdNumberFID1Length = QtWidgets.QLCDNumber(self.ProcessedBox)
  581. self.lcdNumberFID1Length.setEnabled(False)
  582. self.lcdNumberFID1Length.setGeometry(QtCore.QRect(150, 30, 64, 23))
  583. self.lcdNumberFID1Length.setStyleSheet("#lcdNumberFID1Length {\n"
  584. "color: green;\n"
  585. "background: black;\n"
  586. "}\n"
  587. "\n"
  588. "#lcdNumberFID1Length:disabled {\n"
  589. "color: grey;\n"
  590. "background: dark grey;\n"
  591. "}")
  592. self.lcdNumberFID1Length.setLineWidth(1)
  593. self.lcdNumberFID1Length.setMidLineWidth(0)
  594. self.lcdNumberFID1Length.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
  595. self.lcdNumberFID1Length.setObjectName("lcdNumberFID1Length")
  596. self.lcdNumberFID2Length = QtWidgets.QLCDNumber(self.ProcessedBox)
  597. self.lcdNumberFID2Length.setEnabled(False)
  598. self.lcdNumberFID2Length.setGeometry(QtCore.QRect(150, 60, 64, 23))
  599. self.lcdNumberFID2Length.setStyleSheet("#lcdNumberFID2Length {\n"
  600. "color: green;\n"
  601. "background: black;\n"
  602. "}\n"
  603. "\n"
  604. "#lcdNumberFID2Length:disabled {\n"
  605. "color: grey;\n"
  606. "background: dark grey;\n"
  607. "}")
  608. self.lcdNumberFID2Length.setLineWidth(1)
  609. self.lcdNumberFID2Length.setMidLineWidth(0)
  610. self.lcdNumberFID2Length.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
  611. self.lcdNumberFID2Length.setObjectName("lcdNumberFID2Length")
  612. self.label_39 = QtWidgets.QLabel(self.ProcessedBox)
  613. self.label_39.setGeometry(QtCore.QRect(20, 63, 111, 16))
  614. self.label_39.setObjectName("label_39")
  615. self.lcdNumberResampFreq = QtWidgets.QLCDNumber(self.ProcessedBox)
  616. self.lcdNumberResampFreq.setEnabled(False)
  617. self.lcdNumberResampFreq.setGeometry(QtCore.QRect(370, 33, 64, 23))
  618. self.lcdNumberResampFreq.setStyleSheet("#lcdNumberResampFreq {\n"
  619. "color: green;\n"
  620. "background: black;\n"
  621. "}\n"
  622. "\n"
  623. "#lcdNumberResampFreq:disabled {\n"
  624. "color: grey;\n"
  625. "background: dark grey;\n"
  626. "}")
  627. self.lcdNumberResampFreq.setLineWidth(1)
  628. self.lcdNumberResampFreq.setMidLineWidth(0)
  629. self.lcdNumberResampFreq.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
  630. self.lcdNumberResampFreq.setObjectName("lcdNumberResampFreq")
  631. self.label_40 = QtWidgets.QLabel(self.ProcessedBox)
  632. self.label_40.setGeometry(QtCore.QRect(240, 33, 121, 21))
  633. self.label_40.setObjectName("label_40")
  634. self.label_47 = QtWidgets.QLabel(self.ProcessedBox)
  635. self.label_47.setGeometry(QtCore.QRect(240, 63, 121, 16))
  636. self.label_47.setObjectName("label_47")
  637. self.lcdTotalDeadTime = QtWidgets.QLCDNumber(self.ProcessedBox)
  638. self.lcdTotalDeadTime.setEnabled(False)
  639. self.lcdTotalDeadTime.setGeometry(QtCore.QRect(370, 60, 64, 23))
  640. self.lcdTotalDeadTime.setStyleSheet("#lcdTotalDeadTime {\n"
  641. "color: green;\n"
  642. "background: black;\n"
  643. "}\n"
  644. "\n"
  645. "#lcdTotalDeadTime:disabled {\n"
  646. "color: grey;\n"
  647. "background: dark grey;\n"
  648. "}")
  649. self.lcdTotalDeadTime.setLineWidth(1)
  650. self.lcdTotalDeadTime.setMidLineWidth(0)
  651. self.lcdTotalDeadTime.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
  652. self.lcdTotalDeadTime.setObjectName("lcdTotalDeadTime")
  653. self.sumDataBox = QtWidgets.QGroupBox(self.tab)
  654. self.sumDataBox.setEnabled(False)
  655. self.sumDataBox.setGeometry(QtCore.QRect(480, 580, 461, 80))
  656. self.sumDataBox.setCheckable(True)
  657. self.sumDataBox.setObjectName("sumDataBox")
  658. self.sumDataGO = QtWidgets.QPushButton(self.sumDataBox)
  659. self.sumDataGO.setGeometry(QtCore.QRect(360, 50, 99, 23))
  660. self.sumDataGO.setStyleSheet("#sumDataGO {\n"
  661. " background: green;\n"
  662. "}\n"
  663. "\n"
  664. "#sumDataGO:disabled{\n"
  665. " background: black;\n"
  666. "}")
  667. self.sumDataGO.setObjectName("sumDataGO")
  668. self.tabWidget.addTab(self.tab, "")
  669. self.tab_3 = QtWidgets.QWidget()
  670. self.tab_3.setObjectName("tab_3")
  671. self.mplwidget_2 = MyDynamicMplCanvas(self.tab_3)
  672. self.mplwidget_2.setGeometry(QtCore.QRect(3, 10, 460, 460))
  673. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
  674. sizePolicy.setHorizontalStretch(0)
  675. sizePolicy.setVerticalStretch(0)
  676. sizePolicy.setHeightForWidth(self.mplwidget_2.sizePolicy().hasHeightForWidth())
  677. self.mplwidget_2.setSizePolicy(sizePolicy)
  678. self.mplwidget_2.setMinimumSize(QtCore.QSize(460, 460))
  679. self.mplwidget_2.setObjectName("mplwidget_2")
  680. self.mplwidget_navigator_2 = MyDynamicMplCanvasNavigator(self.tab_3)
  681. self.mplwidget_navigator_2.setGeometry(QtCore.QRect(3, 470, 460, 30))
  682. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
  683. sizePolicy.setHorizontalStretch(0)
  684. sizePolicy.setVerticalStretch(0)
  685. sizePolicy.setHeightForWidth(self.mplwidget_navigator_2.sizePolicy().hasHeightForWidth())
  686. self.mplwidget_navigator_2.setSizePolicy(sizePolicy)
  687. self.mplwidget_navigator_2.setMinimumSize(QtCore.QSize(460, 30))
  688. self.mplwidget_navigator_2.setObjectName("mplwidget_navigator_2")
  689. self.FDSmartStackGroupBox = QtWidgets.QGroupBox(self.tab_3)
  690. self.FDSmartStackGroupBox.setEnabled(False)
  691. self.FDSmartStackGroupBox.setGeometry(QtCore.QRect(480, 120, 480, 100))
  692. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
  693. sizePolicy.setHorizontalStretch(0)
  694. sizePolicy.setVerticalStretch(0)
  695. sizePolicy.setHeightForWidth(self.FDSmartStackGroupBox.sizePolicy().hasHeightForWidth())
  696. self.FDSmartStackGroupBox.setSizePolicy(sizePolicy)
  697. self.FDSmartStackGroupBox.setMinimumSize(QtCore.QSize(480, 100))
  698. self.FDSmartStackGroupBox.setCheckable(True)
  699. self.FDSmartStackGroupBox.setObjectName("FDSmartStackGroupBox")
  700. self.outlierTestCB = QtWidgets.QComboBox(self.FDSmartStackGroupBox)
  701. self.outlierTestCB.setGeometry(QtCore.QRect(104, 65, 78, 25))
  702. self.outlierTestCB.setObjectName("outlierTestCB")
  703. self.outlierTestCB.addItem("")
  704. self.outlierTestCB.addItem("")
  705. self.label_5 = QtWidgets.QLabel(self.FDSmartStackGroupBox)
  706. self.label_5.setGeometry(QtCore.QRect(20, 70, 71, 16))
  707. self.label_5.setObjectName("label_5")
  708. self.FDSmartStackGO = QtWidgets.QPushButton(self.FDSmartStackGroupBox)
  709. self.FDSmartStackGO.setGeometry(QtCore.QRect(350, 70, 99, 23))
  710. self.FDSmartStackGO.setStyleSheet("#FDSmartStackGO {\n"
  711. " background: green;\n"
  712. "}\n"
  713. "\n"
  714. "#FDSmartStackGO:disabled{\n"
  715. " background: black;\n"
  716. "}")
  717. self.FDSmartStackGO.setObjectName("FDSmartStackGO")
  718. self.qCalcGroupBox = QtWidgets.QGroupBox(self.tab_3)
  719. self.qCalcGroupBox.setEnabled(False)
  720. self.qCalcGroupBox.setGeometry(QtCore.QRect(480, 10, 461, 101))
  721. self.qCalcGroupBox.setCheckable(True)
  722. self.qCalcGroupBox.setObjectName("qCalcGroupBox")
  723. self.calcQGO = QtWidgets.QPushButton(self.qCalcGroupBox)
  724. self.calcQGO.setGeometry(QtCore.QRect(350, 70, 99, 23))
  725. self.calcQGO.setStyleSheet("#calcQGO {\n"
  726. " background: green;\n"
  727. "}\n"
  728. "\n"
  729. "#calcQGO:disabled{\n"
  730. " background: black;\n"
  731. "}")
  732. self.calcQGO.setObjectName("calcQGO")
  733. self.qdGroupBox = QtWidgets.QGroupBox(self.tab_3)
  734. self.qdGroupBox.setEnabled(False)
  735. self.qdGroupBox.setGeometry(QtCore.QRect(479, 230, 461, 101))
  736. self.qdGroupBox.setCheckable(True)
  737. self.qdGroupBox.setObjectName("qdGroupBox")
  738. self.qdGO = QtWidgets.QPushButton(self.qdGroupBox)
  739. self.qdGO.setGeometry(QtCore.QRect(350, 70, 99, 23))
  740. self.qdGO.setStyleSheet("#qdGO {\n"
  741. " background: green;\n"
  742. "}\n"
  743. "\n"
  744. "#qdGO:disabled{\n"
  745. " background: black;\n"
  746. "}")
  747. self.qdGO.setObjectName("qdGO")
  748. self.trimSpin = QtWidgets.QSpinBox(self.qdGroupBox)
  749. self.trimSpin.setGeometry(QtCore.QRect(90, 60, 64, 28))
  750. self.trimSpin.setMinimum(1)
  751. self.trimSpin.setObjectName("trimSpin")
  752. self.phaseCheck = QtWidgets.QCheckBox(self.qdGroupBox)
  753. self.phaseCheck.setGeometry(QtCore.QRect(170, 64, 121, 23))
  754. self.phaseCheck.setObjectName("phaseCheck")
  755. self.label_35 = QtWidgets.QLabel(self.qdGroupBox)
  756. self.label_35.setGeometry(QtCore.QRect(13, 65, 70, 18))
  757. self.label_35.setObjectName("label_35")
  758. self.gateBox = QtWidgets.QGroupBox(self.tab_3)
  759. self.gateBox.setEnabled(False)
  760. self.gateBox.setGeometry(QtCore.QRect(480, 340, 461, 91))
  761. self.gateBox.setCheckable(True)
  762. self.gateBox.setObjectName("gateBox")
  763. self.gateIntegrateGO = QtWidgets.QPushButton(self.gateBox)
  764. self.gateIntegrateGO.setGeometry(QtCore.QRect(350, 60, 99, 23))
  765. self.gateIntegrateGO.setStyleSheet("#gateIntegrateGO {\n"
  766. " background: green;\n"
  767. "}\n"
  768. "\n"
  769. "#gateIntegrateGO:disabled{\n"
  770. " background: black;\n"
  771. "}")
  772. self.gateIntegrateGO.setObjectName("gateIntegrateGO")
  773. self.GPDspinBox = QtWidgets.QSpinBox(self.gateBox)
  774. self.GPDspinBox.setGeometry(QtCore.QRect(150, 50, 71, 23))
  775. self.GPDspinBox.setMinimum(6)
  776. self.GPDspinBox.setMaximum(30)
  777. self.GPDspinBox.setProperty("value", 20)
  778. self.GPDspinBox.setObjectName("GPDspinBox")
  779. self.label_8 = QtWidgets.QLabel(self.gateBox)
  780. self.label_8.setGeometry(QtCore.QRect(20, 53, 111, 16))
  781. self.label_8.setObjectName("label_8")
  782. self.tabWidget.addTab(self.tab_3, "")
  783. self.tab_2 = QtWidgets.QWidget()
  784. self.tab_2.setObjectName("tab_2")
  785. self.gridLayout_2 = QtWidgets.QGridLayout(self.tab_2)
  786. self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
  787. self.gridLayout_2.setObjectName("gridLayout_2")
  788. self.groupBox = QtWidgets.QGroupBox(self.tab_2)
  789. self.groupBox.setObjectName("groupBox")
  790. self.label_34 = QtWidgets.QLabel(self.groupBox)
  791. self.label_34.setGeometry(QtCore.QRect(20, 33, 111, 16))
  792. self.label_34.setObjectName("label_34")
  793. self.dateTimeEdit = QtWidgets.QDateTimeEdit(self.groupBox)
  794. self.dateTimeEdit.setGeometry(QtCore.QRect(140, 60, 121, 22))
  795. self.dateTimeEdit.setDateTime(QtCore.QDateTime(QtCore.QDate(2012, 1, 1), QtCore.QTime(0, 0, 0)))
  796. self.dateTimeEdit.setCalendarPopup(True)
  797. self.dateTimeEdit.setObjectName("dateTimeEdit")
  798. self.lineEdit = QtWidgets.QLineEdit(self.groupBox)
  799. self.lineEdit.setGeometry(QtCore.QRect(140, 30, 81, 22))
  800. self.lineEdit.setObjectName("lineEdit")
  801. self.label_33 = QtWidgets.QLabel(self.groupBox)
  802. self.label_33.setGeometry(QtCore.QRect(20, 63, 81, 16))
  803. self.label_33.setObjectName("label_33")
  804. self.label_36 = QtWidgets.QLabel(self.groupBox)
  805. self.label_36.setGeometry(QtCore.QRect(20, 140, 61, 16))
  806. self.label_36.setObjectName("label_36")
  807. self.lineEdit_2 = QtWidgets.QLineEdit(self.groupBox)
  808. self.lineEdit_2.setGeometry(QtCore.QRect(140, 140, 321, 22))
  809. self.lineEdit_2.setObjectName("lineEdit_2")
  810. self.doubleSpinBox_2 = QtWidgets.QDoubleSpinBox(self.groupBox)
  811. self.doubleSpinBox_2.setGeometry(QtCore.QRect(400, 60, 62, 22))
  812. self.doubleSpinBox_2.setDecimals(1)
  813. self.doubleSpinBox_2.setMinimum(-90.0)
  814. self.doubleSpinBox_2.setMaximum(90.0)
  815. self.doubleSpinBox_2.setProperty("value", 0.0)
  816. self.doubleSpinBox_2.setObjectName("doubleSpinBox_2")
  817. self.doubleSpinBox_3 = QtWidgets.QDoubleSpinBox(self.groupBox)
  818. self.doubleSpinBox_3.setGeometry(QtCore.QRect(400, 30, 62, 22))
  819. self.doubleSpinBox_3.setDecimals(1)
  820. self.doubleSpinBox_3.setMinimum(-90.0)
  821. self.doubleSpinBox_3.setMaximum(90.0)
  822. self.doubleSpinBox_3.setProperty("value", 45.0)
  823. self.doubleSpinBox_3.setObjectName("doubleSpinBox_3")
  824. self.label_37 = QtWidgets.QLabel(self.groupBox)
  825. self.label_37.setGeometry(QtCore.QRect(280, 30, 111, 20))
  826. self.label_37.setObjectName("label_37")
  827. self.label_38 = QtWidgets.QLabel(self.groupBox)
  828. self.label_38.setGeometry(QtCore.QRect(280, 61, 111, 20))
  829. self.label_38.setObjectName("label_38")
  830. self.spnIntensity = QtWidgets.QDoubleSpinBox(self.groupBox)
  831. self.spnIntensity.setGeometry(QtCore.QRect(400, 90, 61, 21))
  832. self.spnIntensity.setObjectName("spnIntensity")
  833. self.label_51 = QtWidgets.QLabel(self.groupBox)
  834. self.label_51.setGeometry(QtCore.QRect(280, 90, 111, 20))
  835. self.label_51.setObjectName("label_51")
  836. self.line = QtWidgets.QFrame(self.groupBox)
  837. self.line.setGeometry(QtCore.QRect(20, 120, 441, 16))
  838. self.line.setFrameShape(QtWidgets.QFrame.HLine)
  839. self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
  840. self.line.setObjectName("line")
  841. self.label_52 = QtWidgets.QLabel(self.groupBox)
  842. self.label_52.setGeometry(QtCore.QRect(20, 180, 91, 16))
  843. self.label_52.setObjectName("label_52")
  844. self.txtComments = QtWidgets.QTextBrowser(self.groupBox)
  845. self.txtComments.setGeometry(QtCore.QRect(140, 170, 321, 192))
  846. self.txtComments.setReadOnly(False)
  847. self.txtComments.setObjectName("txtComments")
  848. self.btnSave = QtWidgets.QPushButton(self.groupBox)
  849. self.btnSave.setGeometry(QtCore.QRect(360, 380, 99, 27))
  850. self.btnSave.setObjectName("btnSave")
  851. self.gridLayout_2.addWidget(self.groupBox, 0, 0, 1, 1)
  852. self.tabWidget.addTab(self.tab_2, "")
  853. self.tab_6 = QtWidgets.QWidget()
  854. self.tab_6.setObjectName("tab_6")
  855. self.despikeGroupBox = QtWidgets.QGroupBox(self.tab_6)
  856. self.despikeGroupBox.setEnabled(False)
  857. self.despikeGroupBox.setGeometry(QtCore.QRect(110, 100, 480, 120))
  858. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
  859. sizePolicy.setHorizontalStretch(0)
  860. sizePolicy.setVerticalStretch(0)
  861. sizePolicy.setHeightForWidth(self.despikeGroupBox.sizePolicy().hasHeightForWidth())
  862. self.despikeGroupBox.setSizePolicy(sizePolicy)
  863. self.despikeGroupBox.setMinimumSize(QtCore.QSize(480, 120))
  864. self.despikeGroupBox.setCheckable(True)
  865. self.despikeGroupBox.setChecked(False)
  866. self.despikeGroupBox.setObjectName("despikeGroupBox")
  867. self.label_25 = QtWidgets.QLabel(self.despikeGroupBox)
  868. self.label_25.setGeometry(QtCore.QRect(280, 60, 91, 16))
  869. self.label_25.setObjectName("label_25")
  870. self.despikeGO = QtWidgets.QPushButton(self.despikeGroupBox)
  871. self.despikeGO.setGeometry(QtCore.QRect(370, 90, 99, 23))
  872. self.despikeGO.setStyleSheet("#despikeGO {\n"
  873. " background: green;\n"
  874. "}\n"
  875. "\n"
  876. "#despikeGO:disabled{\n"
  877. " background: black;\n"
  878. "}")
  879. self.despikeGO.setObjectName("despikeGO")
  880. self.replComboBox = QtWidgets.QComboBox(self.despikeGroupBox)
  881. self.replComboBox.setGeometry(QtCore.QRect(390, 60, 81, 23))
  882. self.replComboBox.setObjectName("replComboBox")
  883. self.replComboBox.addItem("")
  884. self.replComboBox.addItem("")
  885. self.replComboBox.addItem("")
  886. self.replComboBox.addItem("")
  887. self.replComboBox.addItem("")
  888. self.replComboBox.addItem("")
  889. self.windowSpinBox = QtWidgets.QSpinBox(self.despikeGroupBox)
  890. self.windowSpinBox.setGeometry(QtCore.QRect(180, 30, 81, 22))
  891. self.windowSpinBox.setMaximum(20000)
  892. self.windowSpinBox.setProperty("value", 500)
  893. self.windowSpinBox.setObjectName("windowSpinBox")
  894. self.thresholdSpinBox = QtWidgets.QDoubleSpinBox(self.despikeGroupBox)
  895. self.thresholdSpinBox.setGeometry(QtCore.QRect(180, 60, 81, 22))
  896. self.thresholdSpinBox.setDecimals(1)
  897. self.thresholdSpinBox.setProperty("value", 5.0)
  898. self.thresholdSpinBox.setObjectName("thresholdSpinBox")
  899. self.label_26 = QtWidgets.QLabel(self.despikeGroupBox)
  900. self.label_26.setGeometry(QtCore.QRect(10, 33, 151, 16))
  901. self.label_26.setObjectName("label_26")
  902. self.label_27 = QtWidgets.QLabel(self.despikeGroupBox)
  903. self.label_27.setGeometry(QtCore.QRect(10, 62, 141, 16))
  904. self.label_27.setObjectName("label_27")
  905. self.label_31 = QtWidgets.QLabel(self.despikeGroupBox)
  906. self.label_31.setGeometry(QtCore.QRect(10, 94, 57, 14))
  907. self.label_31.setObjectName("label_31")
  908. self.rollOnSpinBox = QtWidgets.QSpinBox(self.despikeGroupBox)
  909. self.rollOnSpinBox.setGeometry(QtCore.QRect(180, 90, 81, 22))
  910. self.rollOnSpinBox.setMaximum(5000)
  911. self.rollOnSpinBox.setProperty("value", 500)
  912. self.rollOnSpinBox.setObjectName("rollOnSpinBox")
  913. self.despikeInterpWinSpinBox = QtWidgets.QSpinBox(self.despikeGroupBox)
  914. self.despikeInterpWinSpinBox.setGeometry(QtCore.QRect(410, 30, 56, 22))
  915. self.despikeInterpWinSpinBox.setMaximum(500)
  916. self.despikeInterpWinSpinBox.setProperty("value", 20)
  917. self.despikeInterpWinSpinBox.setObjectName("despikeInterpWinSpinBox")
  918. self.label_11 = QtWidgets.QLabel(self.despikeGroupBox)
  919. self.label_11.setGeometry(QtCore.QRect(280, 30, 121, 20))
  920. self.label_11.setObjectName("label_11")
  921. self.adaptFDBox = QtWidgets.QGroupBox(self.tab_6)
  922. self.adaptFDBox.setEnabled(False)
  923. self.adaptFDBox.setGeometry(QtCore.QRect(100, 260, 480, 83))
  924. self.adaptFDBox.setCheckable(True)
  925. self.adaptFDBox.setObjectName("adaptFDBox")
  926. self.adaptFDGO = QtWidgets.QPushButton(self.adaptFDBox)
  927. self.adaptFDGO.setGeometry(QtCore.QRect(370, 50, 99, 23))
  928. self.adaptFDGO.setStyleSheet("#adaptFDGO {\n"
  929. " background: green;\n"
  930. "}\n"
  931. "\n"
  932. "#adaptFDGO:disabled{\n"
  933. " background: black;\n"
  934. "}")
  935. self.adaptFDGO.setObjectName("adaptFDGO")
  936. self.label_2 = QtWidgets.QLabel(self.adaptFDBox)
  937. self.label_2.setGeometry(QtCore.QRect(20, 30, 271, 16))
  938. self.label_2.setObjectName("label_2")
  939. self.label_50 = QtWidgets.QLabel(self.adaptFDBox)
  940. self.label_50.setGeometry(QtCore.QRect(20, 50, 281, 16))
  941. self.label_50.setObjectName("label_50")
  942. self.tabWidget.addTab(self.tab_6, "")
  943. self.tab_4 = QtWidgets.QWidget()
  944. self.tab_4.setObjectName("tab_4")
  945. self.invertButton = QtWidgets.QPushButton(self.tab_4)
  946. self.invertButton.setGeometry(QtCore.QRect(290, 140, 311, 141))
  947. self.invertButton.setStyleSheet("#invertButton {\n"
  948. "font-size:29pt;\n"
  949. "font-weight: bold;\n"
  950. "color: white;\n"
  951. "background: red;\n"
  952. "}")
  953. self.invertButton.setObjectName("invertButton")
  954. self.tabWidget.addTab(self.tab_4, "")
  955. self.tab_5 = QtWidgets.QWidget()
  956. self.tab_5.setObjectName("tab_5")
  957. self.logTextBrowser = QtWidgets.QTextBrowser(self.tab_5)
  958. self.logTextBrowser.setGeometry(QtCore.QRect(10, 30, 921, 821))
  959. sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding)
  960. sizePolicy.setHorizontalStretch(0)
  961. sizePolicy.setVerticalStretch(0)
  962. sizePolicy.setHeightForWidth(self.logTextBrowser.sizePolicy().hasHeightForWidth())
  963. self.logTextBrowser.setSizePolicy(sizePolicy)
  964. self.logTextBrowser.setObjectName("logTextBrowser")
  965. self.label_53 = QtWidgets.QLabel(self.tab_5)
  966. self.label_53.setGeometry(QtCore.QRect(420, 10, 121, 20))
  967. self.label_53.setObjectName("label_53")
  968. self.tabWidget.addTab(self.tab_5, "")
  969. self.horizontalLayout_2.addWidget(self.tabWidget)
  970. self.scrollArea.setWidget(self.scrollAreaWidgetContents)
  971. self.horizontalLayout.addWidget(self.scrollArea)
  972. MainWindow.setCentralWidget(self.centralwidget)
  973. self.menubar = QtWidgets.QMenuBar(MainWindow)
  974. self.menubar.setGeometry(QtCore.QRect(0, 0, 1000, 23))
  975. self.menubar.setObjectName("menubar")
  976. self.menuFile = QtWidgets.QMenu(self.menubar)
  977. self.menuFile.setObjectName("menuFile")
  978. self.menuAbout = QtWidgets.QMenu(self.menubar)
  979. self.menuAbout.setObjectName("menuAbout")
  980. MainWindow.setMenuBar(self.menubar)
  981. self.statusbar = QtWidgets.QStatusBar(MainWindow)
  982. self.statusbar.setObjectName("statusbar")
  983. MainWindow.setStatusBar(self.statusbar)
  984. self.actionClose = QtWidgets.QAction(MainWindow)
  985. self.actionClose.setObjectName("actionClose")
  986. self.actionAboutBrewCentral = QtWidgets.QAction(MainWindow)
  987. self.actionAboutBrewCentral.setObjectName("actionAboutBrewCentral")
  988. self.actionNothing = QtWidgets.QAction(MainWindow)
  989. self.actionNothing.setObjectName("actionNothing")
  990. self.actionTemperature = QtWidgets.QAction(MainWindow)
  991. self.actionTemperature.setObjectName("actionTemperature")
  992. self.actionOpen_GMR = QtWidgets.QAction(MainWindow)
  993. self.actionOpen_GMR.setCheckable(False)
  994. self.actionOpen_GMR.setObjectName("actionOpen_GMR")
  995. self.actionProcess = QtWidgets.QAction(MainWindow)
  996. self.actionProcess.setCheckable(True)
  997. self.actionProcess.setObjectName("actionProcess")
  998. self.actionOpen_Preprocessed_Dataset = QtWidgets.QAction(MainWindow)
  999. self.actionOpen_Preprocessed_Dataset.setEnabled(True)
  1000. self.actionOpen_Preprocessed_Dataset.setObjectName("actionOpen_Preprocessed_Dataset")
  1001. self.actionOpen_VC_Preprocessed_dataset = QtWidgets.QAction(MainWindow)
  1002. self.actionOpen_VC_Preprocessed_dataset.setEnabled(False)
  1003. self.actionOpen_VC_Preprocessed_dataset.setObjectName("actionOpen_VC_Preprocessed_dataset")
  1004. self.actionSave_Preprocessed_Dataset = QtWidgets.QAction(MainWindow)
  1005. self.actionSave_Preprocessed_Dataset.setEnabled(True)
  1006. self.actionSave_Preprocessed_Dataset.setObjectName("actionSave_Preprocessed_Dataset")
  1007. self.actionExport_Preprocessed_Dataset = QtWidgets.QAction(MainWindow)
  1008. self.actionExport_Preprocessed_Dataset.setObjectName("actionExport_Preprocessed_Dataset")
  1009. self.menuFile.addAction(self.actionOpen_GMR)
  1010. self.menuFile.addSeparator()
  1011. self.menuFile.addAction(self.actionOpen_Preprocessed_Dataset)
  1012. self.menuFile.addAction(self.actionOpen_VC_Preprocessed_dataset)
  1013. self.menuFile.addSeparator()
  1014. self.menuFile.addAction(self.actionSave_Preprocessed_Dataset)
  1015. self.menuFile.addSeparator()
  1016. self.menuFile.addAction(self.actionExport_Preprocessed_Dataset)
  1017. self.menuFile.addSeparator()
  1018. self.menuFile.addAction(self.actionClose)
  1019. self.menuAbout.addAction(self.actionAboutBrewCentral)
  1020. self.menubar.addAction(self.menuFile.menuAction())
  1021. self.menubar.addAction(self.menuAbout.menuAction())
  1022. self.retranslateUi(MainWindow)
  1023. self.tabWidget.setCurrentIndex(0)
  1024. self.actionClose.activated.connect(MainWindow.close)
  1025. self.actionAboutBrewCentral.activated.connect(MainWindow.show)
  1026. QtCore.QMetaObject.connectSlotsByName(MainWindow)
  1027. def retranslateUi(self, MainWindow):
  1028. _translate = QtCore.QCoreApplication.translate
  1029. MainWindow.setWindowTitle(_translate("MainWindow", "Akvo - sNMR Workbench"))
  1030. self.inputRAWParametersBox.setTitle(_translate("MainWindow", "Input parameters"))
  1031. self.stacksLineEdit.setPlaceholderText(_translate("MainWindow", "required"))
  1032. self.label.setText(_translate("MainWindow", "Stacks"))
  1033. self.label_23.setText(_translate("MainWindow", "Data Channels"))
  1034. self.dataChanLineEdit.setToolTip(_translate("MainWindow", "<html><head/><body><p>Set the data channels that you would like processed.</p><p>This must be a valid set of numpy array indices. Remember that Python uses non end-inclusive indexing. </p><p>So things like [1:3] will use channels 1 and 2</p><p>Any list of valid indices will be accepted, but they must be comma seperated. </p></body></html>"))
  1035. self.dataChanLineEdit.setPlaceholderText(_translate("MainWindow", "required"))
  1036. self.label_24.setText(_translate("MainWindow", "Dead time [ms]"))
  1037. self.DeadTimeSpinBox.setToolTip(_translate("MainWindow", "<html><head/><body><p>This is the instrument dead time that is used. You may remove additonal or less dead time as an option. By default Akvo uses the recommended instrument dead times.</p></body></html>"))
  1038. self.label_28.setText(_translate("MainWindow", "Reference Channels"))
  1039. self.refChanLineEdit.setToolTip(_translate("MainWindow", "<html><head/><body><p>Set the reference channels that you would like processed.</p><p>This must be a valid set of numpy array indices. Remember that Python uses non end-inclusive indexing. </p><p>So things like [1:3] will use channels 1 and 2</p><p>Any list of valid indices will be accepted, but they must be comma seperated. </p><p>Optionally no reference channels are allowed, just leave this field black so it says none</p></body></html>"))
  1040. self.refChanLineEdit.setPlaceholderText(_translate("MainWindow", "none"))
  1041. self.label_29.setText(_translate("MainWindow", "Process FID"))
  1042. self.FIDProcComboBox.setToolTip(_translate("MainWindow", "<html><head/><body><p>For T1 or CPMG pulses, which pulse(s) would you like to process. Note that for very short delay T1 pulses, the first pulse may be disabled. </p></body></html>"))
  1043. self.loadDataPushButton.setText(_translate("MainWindow", "Load Data"))
  1044. self.plotImportCheckBox.setText(_translate("MainWindow", "Plot"))
  1045. self.BandPassBox.setTitle(_translate("MainWindow", "IIR Band-Pass Filter"))
  1046. self.fTypeComboBox.setAccessibleDescription(_translate("MainWindow", "Hello"))
  1047. self.fTypeComboBox.setItemText(0, _translate("MainWindow", "Butterworth"))
  1048. self.fTypeComboBox.setItemText(1, _translate("MainWindow", "Chebychev Type II"))
  1049. self.fTypeComboBox.setItemText(2, _translate("MainWindow", "Elliptic"))
  1050. self.bandPassGO.setText(_translate("MainWindow", "GO"))
  1051. self.label_19.setText(_translate("MainWindow", "Pass Band [Hz]"))
  1052. self.label_20.setText(_translate("MainWindow", "Stop Band [Hz]"))
  1053. self.filterDesignPushButton.setText(_translate("MainWindow", "design"))
  1054. self.label_18.setText(_translate("MainWindow", "Order"))
  1055. self.label_21.setText(_translate("MainWindow", "dead time [ms]"))
  1056. self.label_22.setText(_translate("MainWindow", "gpass [dB]"))
  1057. self.label_32.setText(_translate("MainWindow", "gstop [db]"))
  1058. self.CentralVSpinBox.setToolTip(_translate("MainWindow", "<html><head/><body><p>In case of off-resonant transmitter pulse, you can set the central frequency that will be used for all processing. This has the biggest impact on the band-pass filter, and the frequencies used in inversion. </p></body></html>"))
  1059. self.label_30.setText(_translate("MainWindow", "Central ν Hz"))
  1060. self.label_10.setText(_translate("MainWindow", "Type"))
  1061. self.pushButton_4.setText(_translate("MainWindow", "save"))
  1062. self.headerFileBox.setTitle(_translate("MainWindow", "Header file info"))
  1063. self.headerFileTextBrowser.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
  1064. "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
  1065. "p, li { white-space: pre-wrap; }\n"
  1066. "</style></head><body style=\" font-family:\'Sans\'; font-size:8pt; font-weight:400; font-style:italic;\">\n"
  1067. "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'DejaVu Serif\'; font-size:9pt;\">Load supported RAW Dataset header from file menu</span></p></body></html>"))
  1068. self.label_4.setText(_translate("MainWindow", "Pulse Type"))
  1069. self.pulseTypeTextBrowser.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
  1070. "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
  1071. "p, li { white-space: pre-wrap; }\n"
  1072. "</style></head><body style=\" font-family:\'Sans\'; font-size:10pt; font-weight:400; font-style:italic;\">\n"
  1073. "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:\'DejaVu Serif\';\"><br /></p></body></html>"))
  1074. self.label_6.setText(_translate("MainWindow", "ν Tx [Hz]"))
  1075. self.label_7.setText(_translate("MainWindow", "τ Pulse 1 [ms]"))
  1076. self.label_13.setText(_translate("MainWindow", "τ Delay [ms]"))
  1077. self.label_14.setText(_translate("MainWindow", "Tx tuning [μF]"))
  1078. self.label_15.setText(_translate("MainWindow", "ν Sampling [Hz]"))
  1079. self.label_16.setText(_translate("MainWindow", "τ Pulse 2 [ms]"))
  1080. self.label_9.setText(_translate("MainWindow", "Num. pulse moments"))
  1081. self.downSampleGroupBox.setTitle(_translate("MainWindow", "Downsample and truncate (anti-alias)"))
  1082. self.label_3.setText(_translate("MainWindow", "Truncate [ms]"))
  1083. self.truncateSpinBox.setToolTip(_translate("MainWindow", "<html><head/><body><p>Set the final length of your processed record. Note that the use of Adaptive filtering allows for the removal of additional late times. If you do not wish to truncate, leave as 0.</p></body></html>"))
  1084. self.downSampleGO.setText(_translate("MainWindow", "GO"))
  1085. self.label_12.setText(_translate("MainWindow", "Downsample factor"))
  1086. self.adaptBox.setTitle(_translate("MainWindow", "Time-domain RLS Active Noise Suppresion"))
  1087. self.adaptGO.setText(_translate("MainWindow", "GO"))
  1088. self.MTapsSpinBox.setToolTip(_translate("MainWindow", "<html><head/><body><p>Number of taps in the time-domain filter</p></body></html>"))
  1089. self.adaptLambdaSpinBox.setToolTip(_translate("MainWindow", "Forgetting factor, how quickly does the filter adapt."))
  1090. self.label_41.setText(_translate("MainWindow", "Filter Taps"))
  1091. self.label_42.setText(_translate("MainWindow", "Forgetting factor (λ)"))
  1092. self.label_43.setText(_translate("MainWindow", "Truncate [ms]"))
  1093. self.adaptTruncateSpinBox.setToolTip(_translate("MainWindow", "<html><head/><body><p>This filter is a time-domain filter that takes some time to get going. Time-domain filters do a better job compared to frequency-domain filters in the presence of non-stationary noise. </p><p>The filter is run backwards, so often the late times will not be cancelled as well. You may trim records off the back using this input. </p></body></html>"))
  1094. self.adaptTruncateSpinBox.setWhatsThis(_translate("MainWindow", "<html><head/><body><p>This filter is a time-domain filter that takes some time to get going. Time-domain filters do a better job compared to frequency-domain filters in the presence of non-stationary noise. </p><p>The filter is run backwards, so often the late times will not be cancelled as well. You may trim records off the back using this input. </p></body></html>"))
  1095. self.label_44.setText(_translate("MainWindow", "Mu"))
  1096. self.windowFilterGroupBox.setTitle(_translate("MainWindow", "FD Window Filter"))
  1097. self.windowTypeComboBox.setItemText(0, _translate("MainWindow", "Hamming"))
  1098. self.windowTypeComboBox.setItemText(1, _translate("MainWindow", "Hanning"))
  1099. self.windowTypeComboBox.setItemText(2, _translate("MainWindow", "Flat top"))
  1100. self.windowTypeComboBox.setItemText(3, _translate("MainWindow", "Rectangular"))
  1101. self.label_45.setText(_translate("MainWindow", "Type"))
  1102. self.label_48.setText(_translate("MainWindow", "Width [Hz]"))
  1103. self.windowFilterGO.setText(_translate("MainWindow", "GO"))
  1104. self.label_49.setText(_translate("MainWindow", "Central freq from Band-Pass"))
  1105. self.ProcessedBox.setTitle(_translate("MainWindow", "Processed data paramaters"))
  1106. self.label_17.setText(_translate("MainWindow", "FID 1 length [s]"))
  1107. self.label_39.setText(_translate("MainWindow", "FID 2 length [s]"))
  1108. self.label_40.setText(_translate("MainWindow", "ν Sampling [Hz]"))
  1109. self.label_47.setText(_translate("MainWindow", "total dead time"))
  1110. self.sumDataBox.setTitle(_translate("MainWindow", "Combine (sum) data channels"))
  1111. self.sumDataGO.setText(_translate("MainWindow", "GO"))
  1112. self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Preprocess RAW"))
  1113. self.FDSmartStackGroupBox.setTitle(_translate("MainWindow", "TD SmartStack^TM"))
  1114. self.outlierTestCB.setItemText(0, _translate("MainWindow", "MAD"))
  1115. self.outlierTestCB.setItemText(1, _translate("MainWindow", "none"))
  1116. self.label_5.setText(_translate("MainWindow", "Outlier test"))
  1117. self.FDSmartStackGO.setText(_translate("MainWindow", "GO"))
  1118. self.qCalcGroupBox.setTitle(_translate("MainWindow", "Pulse Moment Calculation "))
  1119. self.calcQGO.setText(_translate("MainWindow", "GO"))
  1120. self.qdGroupBox.setTitle(_translate("MainWindow", "Quadrature Detect"))
  1121. self.qdGO.setText(_translate("MainWindow", "GO"))
  1122. self.phaseCheck.setText(_translate("MainWindow", "phase data"))
  1123. self.label_35.setText(_translate("MainWindow", "Trim"))
  1124. self.gateBox.setTitle(_translate("MainWindow", "Gate integrate"))
  1125. self.gateIntegrateGO.setText(_translate("MainWindow", "GO"))
  1126. self.label_8.setText(_translate("MainWindow", "Gates per decade "))
  1127. self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("MainWindow", "Data QC"))
  1128. self.groupBox.setTitle(_translate("MainWindow", "META data"))
  1129. self.label_34.setText(_translate("MainWindow", "Temperature [°C]"))
  1130. self.dateTimeEdit.setDisplayFormat(_translate("MainWindow", "d MMM yyyy HH"))
  1131. self.label_33.setText(_translate("MainWindow", "Survey date"))
  1132. self.label_36.setText(_translate("MainWindow", "Location"))
  1133. self.label_37.setText(_translate("MainWindow", "B Inclination [°]"))
  1134. self.label_38.setText(_translate("MainWindow", "B Declination [°] "))
  1135. self.label_51.setText(_translate("MainWindow", "B Intensity [nT]"))
  1136. self.label_52.setText(_translate("MainWindow", "Comments"))
  1137. self.btnSave.setText(_translate("MainWindow", "&Save"))
  1138. self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Survey Parameters"))
  1139. self.despikeGroupBox.setToolTip(_translate("MainWindow", "<html><head/><body><p>Use of the despike filter is not recommended at the current stage. Any input is welcome in improving its functionality. It may be useful in a heavily truncated envelope as is. But for now, it\'s effects cause serious ringing in the filtered signal. </p></body></html>"))
  1140. self.despikeGroupBox.setTitle(_translate("MainWindow", "Despi&ke Filter"))
  1141. self.label_25.setText(_translate("MainWindow", "interpolation "))
  1142. self.despikeGO.setText(_translate("MainWindow", "GO"))
  1143. self.replComboBox.setItemText(0, _translate("MainWindow", "linear"))
  1144. self.replComboBox.setItemText(1, _translate("MainWindow", "nearest"))
  1145. self.replComboBox.setItemText(2, _translate("MainWindow", "zero"))
  1146. self.replComboBox.setItemText(3, _translate("MainWindow", "slinear"))
  1147. self.replComboBox.setItemText(4, _translate("MainWindow", "quadric"))
  1148. self.replComboBox.setItemText(5, _translate("MainWindow", "cubic"))
  1149. self.label_26.setText(_translate("MainWindow", "window width [samples]"))
  1150. self.label_27.setText(_translate("MainWindow", "Threshold [σ]"))
  1151. self.label_31.setText(_translate("MainWindow", "Roll on"))
  1152. self.label_11.setText(_translate("MainWindow", "Inerpolation Widow"))
  1153. self.adaptFDBox.setTitle(_translate("MainWindow", "FD (static transfer function) Noise cancellation"))
  1154. self.adaptFDGO.setText(_translate("MainWindow", "GO"))
  1155. self.label_2.setText(_translate("MainWindow", "Utilizes a window filter (as defined above) "))
  1156. self.label_50.setText(_translate("MainWindow", "Uses central v from Band-pass filter"))
  1157. self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_6), _translate("MainWindow", "Forward modelling"))
  1158. self.invertButton.setText(_translate("MainWindow", "Invert"))
  1159. self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _translate("MainWindow", "Inversion"))
  1160. self.logTextBrowser.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
  1161. "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
  1162. "p, li { white-space: pre-wrap; }\n"
  1163. "</style></head><body style=\" font-family:\'Sans\'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
  1164. "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-family:\'Sans Serif\'; font-size:9pt;\">All processing steps are recorded here for your records</span></p></body></html>"))
  1165. self.label_53.setText(_translate("MainWindow", "Processing log"))
  1166. self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5), _translate("MainWindow", "Log"))
  1167. self.menuFile.setTitle(_translate("MainWindow", "&File"))
  1168. self.menuAbout.setTitle(_translate("MainWindow", "Abo&ut"))
  1169. self.actionClose.setText(_translate("MainWindow", "&Close"))
  1170. self.actionAboutBrewCentral.setText(_translate("MainWindow", "&Brew Central"))
  1171. self.actionNothing.setText(_translate("MainWindow", "Nothing"))
  1172. self.actionTemperature.setText(_translate("MainWindow", "Temperature"))
  1173. self.actionOpen_GMR.setText(_translate("MainWindow", "&Open GMR RAW header"))
  1174. self.actionOpen_GMR.setIconText(_translate("MainWindow", "Open GMR RAW dataset(s)"))
  1175. self.actionProcess.setText(_translate("MainWindow", "Process"))
  1176. self.actionOpen_Preprocessed_Dataset.setText(_translate("MainWindow", "Load Avko &Preprocessed dataset"))
  1177. self.actionOpen_VC_Preprocessed_dataset.setText(_translate("MainWindow", "Load &VC Preprocessed dataset"))
  1178. self.actionSave_Preprocessed_Dataset.setText(_translate("MainWindow", "&Save Preprocessed Dataset"))
  1179. self.actionExport_Preprocessed_Dataset.setText(_translate("MainWindow", "Export to Lemma"))
  1180. from akvo.gui.mydynamicmplcanvas import MyDynamicMplCanvas
  1181. from akvo.gui.mydynamicmplcanvasnavigator import MyDynamicMplCanvasNavigator