##// END OF EJS Templates
GUI: Every icon were resized
Miguel Valdez -
r667:e6e33e90d008
parent child
Show More
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
1 NO CONTENT: file renamed from schainpy/gui/figures/startServer.png to schainpy/gui/figures/start.png
NO CONTENT: file renamed from schainpy/gui/figures/startServer.png to schainpy/gui/figures/start.png
1 NO CONTENT: file renamed from schainpy/gui/figures/stopServer.png to schainpy/gui/figures/stop.png
NO CONTENT: file renamed from schainpy/gui/figures/stopServer.png to schainpy/gui/figures/stop.png
@@ -1,5862 +1,5854
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2 """
2 """
3 Module implementing MainWindow.
3 Module implementing MainWindow.
4 #+++++++++++++GUI V1++++++++++++++#
4 #+++++++++++++GUI V1++++++++++++++#
5 @author: AlexanderValdezPortocarrero ñ_ñ
5 @author: AlexanderValdezPortocarrero ñ_ñ
6 """
6 """
7 import os, sys, time
7 import os, sys, time
8 import datetime
8 import datetime
9 import numpy
9 import numpy
10 import Queue
10 import Queue
11
11
12 from collections import OrderedDict
12 from collections import OrderedDict
13 from os.path import expanduser
13 from os.path import expanduser
14 from time import sleep
14 from time import sleep
15 # from gevent import sleep
15 # from gevent import sleep
16
16
17 import ast
17 import ast
18
18
19 from PyQt4.QtGui import QMainWindow
19 from PyQt4.QtGui import QMainWindow
20 from PyQt4.QtCore import pyqtSignature
20 from PyQt4.QtCore import pyqtSignature
21 from PyQt4.QtCore import pyqtSignal
21 from PyQt4.QtCore import pyqtSignal
22 from PyQt4 import QtCore
22 from PyQt4 import QtCore
23 from PyQt4 import QtGui
23 from PyQt4 import QtGui
24 # from PyQt4.QtCore import QThread
24 # from PyQt4.QtCore import QThread
25 # from PyQt4.QtCore import QObject, SIGNAL
25 # from PyQt4.QtCore import QObject, SIGNAL
26
26
27 from schainpy.gui.viewer.ui_unitprocess import Ui_UnitProcess
27 from schainpy.gui.viewer.ui_unitprocess import Ui_UnitProcess
28 from schainpy.gui.viewer.ui_ftp import Ui_Ftp
28 from schainpy.gui.viewer.ui_ftp import Ui_Ftp
29 from schainpy.gui.viewer.ui_mainwindow import Ui_BasicWindow
29 from schainpy.gui.viewer.ui_mainwindow import Ui_BasicWindow
30 from schainpy.controller_api import ControllerThread
30 from schainpy.controller_api import ControllerThread
31 from schainpy.controller import Project
31 from schainpy.controller import Project
32
32
33 from propertiesViewModel import TreeModel, PropertyBuffer
33 from propertiesViewModel import TreeModel, PropertyBuffer
34 from parametersModel import ProjectParms
34 from parametersModel import ProjectParms
35
35
36 from schainpy.gui.figures import tools
36 from schainpy.gui.figures import tools
37
37
38 FIGURES_PATH = tools.get_path()
38 FIGURES_PATH = tools.get_path()
39 TEMPORAL_FILE = ".temp.xml"
39 TEMPORAL_FILE = ".temp.xml"
40
40
41 def isRadarFile(file):
41 def isRadarFile(file):
42 try:
42 try:
43 year = int(file[1:5])
43 year = int(file[1:5])
44 doy = int(file[5:8])
44 doy = int(file[5:8])
45 set = int(file[8:11])
45 set = int(file[8:11])
46 except:
46 except:
47 return 0
47 return 0
48
48
49 return 1
49 return 1
50
50
51 def isRadarPath(path):
51 def isRadarPath(path):
52 try:
52 try:
53 year = int(path[1:5])
53 year = int(path[1:5])
54 doy = int(path[5:8])
54 doy = int(path[5:8])
55 except:
55 except:
56 return 0
56 return 0
57
57
58 return 1
58 return 1
59
59
60 def isInt(value):
60 def isInt(value):
61
61
62 try:
62 try:
63 int(value)
63 int(value)
64 except:
64 except:
65 return 0
65 return 0
66
66
67 return 1
67 return 1
68
68
69 def isFloat(value):
69 def isFloat(value):
70
70
71 try:
71 try:
72 float(value)
72 float(value)
73 except:
73 except:
74 return 0
74 return 0
75
75
76 return 1
76 return 1
77
77
78 def isList(value):
78 def isList(value):
79
79
80 x = ast.literal_eval(value)
80 x = ast.literal_eval(value)
81
81
82 if type(x) in (tuple, list):
82 if type(x) in (tuple, list):
83 return 1
83 return 1
84
84
85 return 0
85 return 0
86
86
87 class BasicWindow(QMainWindow, Ui_BasicWindow):
87 class BasicWindow(QMainWindow, Ui_BasicWindow):
88 """
88 """
89 """
89 """
90 def __init__(self, parent=None):
90 def __init__(self, parent=None):
91 """
91 """
92
92
93 """
93 """
94 QMainWindow.__init__(self, parent)
94 QMainWindow.__init__(self, parent)
95 self.setupUi(self)
95 self.setupUi(self)
96 self.__puObjDict = {}
96 self.__puObjDict = {}
97 self.__itemTreeDict = {}
97 self.__itemTreeDict = {}
98 self.readUnitConfObjList = []
98 self.readUnitConfObjList = []
99 self.operObjList = []
99 self.operObjList = []
100 self.projecObjView = None
100 self.projecObjView = None
101 self.idProject = 0
101 self.idProject = 0
102 # self.idImag = 0
102 # self.idImag = 0
103
103
104 self.idImagscope = 0
104 self.idImagscope = 0
105 self.idImagspectra = 0
105 self.idImagspectra = 0
106 self.idImagcross = 0
106 self.idImagcross = 0
107 self.idImagrti = 0
107 self.idImagrti = 0
108 self.idImagcoherence = 0
108 self.idImagcoherence = 0
109 self.idImagpower = 0
109 self.idImagpower = 0
110 self.idImagrtinoise = 0
110 self.idImagrtinoise = 0
111 self.idImagspectraHeis = 0
111 self.idImagspectraHeis = 0
112 self.idImagrtiHeis = 0
112 self.idImagrtiHeis = 0
113
113
114 self.dataPath = None
114 self.dataPath = None
115 self.online = 0
115 self.online = 0
116 self.walk = 0
116 self.walk = 0
117 self.create = False
117 self.create = False
118 self.selectedItemTree = None
118 self.selectedItemTree = None
119 self.controllerThread = None
119 self.controllerThread = None
120 # self.commCtrlPThread = None
120 # self.commCtrlPThread = None
121 # self.create_figure()
121 # self.create_figure()
122 self.temporalFTP = ftpBuffer()
122 self.temporalFTP = ftpBuffer()
123 self.projectProperCaracteristica = []
123 self.projectProperCaracteristica = []
124 self.projectProperPrincipal = []
124 self.projectProperPrincipal = []
125 self.projectProperDescripcion = []
125 self.projectProperDescripcion = []
126 self.volProperCaracteristica = []
126 self.volProperCaracteristica = []
127 self.volProperPrincipal = []
127 self.volProperPrincipal = []
128 self.volProperDescripcion = []
128 self.volProperDescripcion = []
129 self.specProperCaracteristica = []
129 self.specProperCaracteristica = []
130 self.specProperPrincipal = []
130 self.specProperPrincipal = []
131 self.specProperDescripcion = []
131 self.specProperDescripcion = []
132
132
133 self.specHeisProperCaracteristica = []
133 self.specHeisProperCaracteristica = []
134 self.specHeisProperPrincipal = []
134 self.specHeisProperPrincipal = []
135 self.specHeisProperDescripcion = []
135 self.specHeisProperDescripcion = []
136
136
137 # self.pathWorkSpace = './'
137 # self.pathWorkSpace = './'
138
138
139 self.__projectObjDict = {}
139 self.__projectObjDict = {}
140 self.__operationObjDict = {}
140 self.__operationObjDict = {}
141
141
142 self.__puLocalFolder2FTP = {}
142 self.__puLocalFolder2FTP = {}
143 self.__enable = False
143 self.threadStarted = False
144
144
145 # self.create_comm()
145 # self.create_comm()
146 self.create_updating_timer()
146 self.create_updating_timer()
147 self.setGUIStatus()
147 self.setGUIStatus()
148
148
149 @pyqtSignature("")
149 @pyqtSignature("")
150 def on_actionOpen_triggered(self):
150 def on_actionOpen_triggered(self):
151 """
151 """
152 Slot documentation goes here.
152 Slot documentation goes here.
153 """
153 """
154 self.openProject()
154 self.openProject()
155
155
156 @pyqtSignature("")
156 @pyqtSignature("")
157 def on_actionCreate_triggered(self):
157 def on_actionCreate_triggered(self):
158 """
158 """
159 Slot documentation goes here.
159 Slot documentation goes here.
160 """
160 """
161 self.setInputsProject_View()
161 self.setInputsProject_View()
162 self.create = True
162 self.create = True
163
163
164 @pyqtSignature("")
164 @pyqtSignature("")
165 def on_actionSave_triggered(self):
165 def on_actionSave_triggered(self):
166 """
166 """
167 Slot documentation goes here.
167 Slot documentation goes here.
168 """
168 """
169 self.saveProject()
169 self.saveProject()
170
170
171 @pyqtSignature("")
171 @pyqtSignature("")
172 def on_actionClose_triggered(self):
172 def on_actionClose_triggered(self):
173 """
173 """
174 Slot documentation goes here.
174 Slot documentation goes here.
175 """
175 """
176 self.close()
176 self.close()
177
177
178 @pyqtSignature("")
178 @pyqtSignature("")
179 def on_actionStart_triggered(self):
179 def on_actionStart_triggered(self):
180 """
180 """
181 """
181 """
182 self.playProject()
182 self.playProject()
183
183
184 @pyqtSignature("")
184 @pyqtSignature("")
185 def on_actionPause_triggered(self):
185 def on_actionPause_triggered(self):
186 """
186 """
187 """
187 """
188 self.pauseProject()
188 self.pauseProject()
189
189
190 @pyqtSignature("")
190 @pyqtSignature("")
191 def on_actionStop_triggered(self):
191 def on_actionStop_triggered(self):
192 """
192 """
193 """
193 """
194 self.stopProject()
194 self.stopProject()
195
195
196 @pyqtSignature("")
196 @pyqtSignature("")
197 def on_actionAbout_triggered(self):
197 def on_actionAbout_triggered(self):
198 """
198 """
199 """
199 """
200 self.aboutEvent()
200 self.aboutEvent()
201
201
202 @pyqtSignature("")
202 @pyqtSignature("")
203 def on_actionFTP_triggered(self):
203 def on_actionFTP_triggered(self):
204 """
204 """
205 """
205 """
206 self.configFTPWindowObj = Ftp(self)
206 self.configFTPWindowObj = Ftp(self)
207
207
208 if not self.temporalFTP.create:
208 if not self.temporalFTP.create:
209 self.temporalFTP.setwithoutconfiguration()
209 self.temporalFTP.setwithoutconfiguration()
210
210
211 self.configFTPWindowObj.setParmsfromTemporal(self.temporalFTP.server,
211 self.configFTPWindowObj.setParmsfromTemporal(self.temporalFTP.server,
212 self.temporalFTP.remotefolder,
212 self.temporalFTP.remotefolder,
213 self.temporalFTP.username,
213 self.temporalFTP.username,
214 self.temporalFTP.password,
214 self.temporalFTP.password,
215 self.temporalFTP.ftp_wei,
215 self.temporalFTP.ftp_wei,
216 self.temporalFTP.exp_code,
216 self.temporalFTP.exp_code,
217 self.temporalFTP.sub_exp_code,
217 self.temporalFTP.sub_exp_code,
218 self.temporalFTP.plot_pos)
218 self.temporalFTP.plot_pos)
219
219
220 self.configFTPWindowObj.show()
220 self.configFTPWindowObj.show()
221 self.configFTPWindowObj.closed.connect(self.createFTPConfig)
221 self.configFTPWindowObj.closed.connect(self.createFTPConfig)
222
222
223 def createFTPConfig(self):
223 def createFTPConfig(self):
224
224
225 if not self.configFTPWindowObj.create:
225 if not self.configFTPWindowObj.create:
226 self.console.clear()
226 self.console.clear()
227 self.console.append("There is no FTP configuration")
227 self.console.append("There is no FTP configuration")
228 return
228 return
229
229
230 self.console.append("Push Ok in Spectra view to Add FTP Configuration")
230 self.console.append("Push Ok in Spectra view to Add FTP Configuration")
231
231
232 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.configFTPWindowObj.getParmsFromFtpWindow()
232 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.configFTPWindowObj.getParmsFromFtpWindow()
233 self.temporalFTP.save(server=server,
233 self.temporalFTP.save(server=server,
234 remotefolder=remotefolder,
234 remotefolder=remotefolder,
235 username=username,
235 username=username,
236 password=password,
236 password=password,
237 ftp_wei=ftp_wei,
237 ftp_wei=ftp_wei,
238 exp_code=exp_code,
238 exp_code=exp_code,
239 sub_exp_code=sub_exp_code,
239 sub_exp_code=sub_exp_code,
240 plot_pos=plot_pos)
240 plot_pos=plot_pos)
241
241
242 @pyqtSignature("")
242 @pyqtSignature("")
243 def on_actionOpenToolbar_triggered(self):
243 def on_actionOpenToolbar_triggered(self):
244 """
244 """
245 Slot documentation goes here.
245 Slot documentation goes here.
246 """
246 """
247 self.openProject()
247 self.openProject()
248
248
249 @pyqtSignature("")
249 @pyqtSignature("")
250 def on_actionCreateToolbar_triggered(self):
250 def on_actionCreateToolbar_triggered(self):
251 """
251 """
252 Slot documentation goes here.
252 Slot documentation goes here.
253 """
253 """
254 self.setInputsProject_View()
254 self.setInputsProject_View()
255 self.create = True
255 self.create = True
256
256
257 @pyqtSignature("")
257 @pyqtSignature("")
258 def on_actionAddPU_triggered(self):
258 def on_actionAddPU_triggered(self):
259 if len(self.__projectObjDict) == 0:
259 if len(self.__projectObjDict) == 0:
260 outputstr = "First Create a Project then add Processing Unit"
260 outputstr = "First Create a Project then add Processing Unit"
261 self.console.clear()
261 self.console.clear()
262 self.console.append(outputstr)
262 self.console.append(outputstr)
263 return 0
263 return 0
264 else:
264 else:
265 self.addPUWindow()
265 self.addPUWindow()
266 self.console.clear()
266 self.console.clear()
267 self.console.append("Please, Choose the type of Processing Unit")
267 self.console.append("Please, Choose the type of Processing Unit")
268 self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
268 self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
269 self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
269 self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
270 self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
270 self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
271
271
272
272
273 @pyqtSignature("")
273 @pyqtSignature("")
274 def on_actionSaveToolbar_triggered(self):
274 def on_actionSaveToolbar_triggered(self):
275 """
275 """
276 Slot documentation goes here.
276 Slot documentation goes here.
277 """
277 """
278 self.saveProject()
278 self.saveProject()
279
279
280 @pyqtSignature("")
280 @pyqtSignature("")
281 def on_actionStarToolbar_triggered(self):
281 def on_actionStarToolbar_triggered(self):
282 """
282 """
283 Slot documentation goes here.
283 Slot documentation goes here.
284 """
284 """
285 self.playProject()
285 self.playProject()
286
286
287 @pyqtSignature("")
287 @pyqtSignature("")
288 def on_actionPauseToolbar_triggered(self):
288 def on_actionPauseToolbar_triggered(self):
289
289
290 self.pauseProject()
290 self.pauseProject()
291
291
292 @pyqtSignature("")
292 @pyqtSignature("")
293 def on_actionStopToolbar_triggered(self):
293 def on_actionStopToolbar_triggered(self):
294 """
294 """
295 Slot documentation goes here.
295 Slot documentation goes here.
296 """
296 """
297 self.stopProject()
297 self.stopProject()
298
298
299 @pyqtSignature("int")
299 @pyqtSignature("int")
300 def on_proComReadMode_activated(self, index):
300 def on_proComReadMode_activated(self, index):
301 """
301 """
302 SELECCION DEL MODO DE LECTURA ON=1, OFF=0
302 SELECCION DEL MODO DE LECTURA ON=1, OFF=0
303 """
303 """
304 if index == 0:
304 if index == 0:
305 self.online = 0
305 self.online = 0
306 self.proDelay.setText("0")
306 self.proDelay.setText("0")
307 self.proSet.setText("")
307 self.proSet.setText("")
308 self.proSet.setEnabled(False)
308 self.proSet.setEnabled(False)
309 self.proDelay.setEnabled(False)
309 self.proDelay.setEnabled(False)
310 elif index == 1:
310 elif index == 1:
311 self.online = 1
311 self.online = 1
312 self.proSet.setText("")
312 self.proSet.setText("")
313 self.proDelay.setText("5")
313 self.proDelay.setText("5")
314 self.proSet.setEnabled(True)
314 self.proSet.setEnabled(True)
315 self.proDelay.setEnabled(True)
315 self.proDelay.setEnabled(True)
316
316
317 @pyqtSignature("int")
317 @pyqtSignature("int")
318 def on_proComDataType_activated(self, index):
318 def on_proComDataType_activated(self, index):
319 """
319 """
320 Voltage or Spectra
320 Voltage or Spectra
321 """
321 """
322 self.labelSet.show()
322 self.labelSet.show()
323 self.proSet.show()
323 self.proSet.show()
324
324
325 self.labExpLabel.show()
325 self.labExpLabel.show()
326 self.proExpLabel.show()
326 self.proExpLabel.show()
327
327
328 self.labelIPPKm.hide()
328 self.labelIPPKm.hide()
329 self.proIPPKm.hide()
329 self.proIPPKm.hide()
330
330
331 if index == 0:
331 if index == 0:
332 extension = '.r'
332 extension = '.r'
333 elif index == 1:
333 elif index == 1:
334 extension = '.pdata'
334 extension = '.pdata'
335 elif index == 2:
335 elif index == 2:
336 extension = '.fits'
336 extension = '.fits'
337 elif index == 3:
337 elif index == 3:
338 extension = '.hdf5'
338 extension = '.hdf5'
339
339
340 self.labelIPPKm.show()
340 self.labelIPPKm.show()
341 self.proIPPKm.show()
341 self.proIPPKm.show()
342
342
343 self.labelSet.hide()
343 self.labelSet.hide()
344 self.proSet.hide()
344 self.proSet.hide()
345
345
346 self.labExpLabel.hide()
346 self.labExpLabel.hide()
347 self.proExpLabel.hide()
347 self.proExpLabel.hide()
348
348
349 self.proDataType.setText(extension)
349 self.proDataType.setText(extension)
350
350
351 @pyqtSignature("int")
351 @pyqtSignature("int")
352 def on_proComWalk_activated(self, index):
352 def on_proComWalk_activated(self, index):
353 """
353 """
354
354
355 """
355 """
356 if index == 0:
356 if index == 0:
357 self.walk = 0
357 self.walk = 0
358 elif index == 1:
358 elif index == 1:
359 self.walk = 1
359 self.walk = 1
360
360
361 @pyqtSignature("")
361 @pyqtSignature("")
362 def on_proToolPath_clicked(self):
362 def on_proToolPath_clicked(self):
363 """
363 """
364 Choose your path
364 Choose your path
365 """
365 """
366
366
367 current_dpath = './'
367 current_dpath = './'
368 if self.dataPath:
368 if self.dataPath:
369 current_dpath = self.dataPath
369 current_dpath = self.dataPath
370
370
371 datapath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', current_dpath, QtGui.QFileDialog.ShowDirsOnly))
371 datapath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', current_dpath, QtGui.QFileDialog.ShowDirsOnly))
372
372
373 #If it was canceled
373 #If it was canceled
374 if not datapath:
374 if not datapath:
375 return
375 return
376
376
377 #If any change was done
377 #If any change was done
378 if datapath == self.dataPath:
378 if datapath == self.dataPath:
379 return
379 return
380
380
381 self.proDataPath.setText(datapath)
381 self.proDataPath.setText(datapath)
382
382
383 self.actionStart.setEnabled(False)
383 self.actionStart.setEnabled(False)
384 self.actionStarToolbar.setEnabled(False)
384 self.actionStarToolbar.setEnabled(False)
385 self.proOk.setEnabled(False)
385 self.proOk.setEnabled(False)
386
386
387 self.proComStartDate.clear()
387 self.proComStartDate.clear()
388 self.proComEndDate.clear()
388 self.proComEndDate.clear()
389
389
390 if not os.path.exists(datapath):
390 if not os.path.exists(datapath):
391
391
392 self.console.clear()
392 self.console.clear()
393 self.console.append("Write a valid path")
393 self.console.append("Write a valid path")
394 return
394 return
395
395
396 self.dataPath = datapath
396 self.dataPath = datapath
397
397
398 self.console.clear()
398 self.console.clear()
399 self.console.append("Select the read mode and press 'load button'")
399 self.console.append("Select the read mode and press 'load button'")
400
400
401
401
402 @pyqtSignature("")
402 @pyqtSignature("")
403 def on_proLoadButton_clicked(self):
403 def on_proLoadButton_clicked(self):
404
404
405 self.console.clear()
405 self.console.clear()
406
406
407 # if not self.getSelectedProjectObj():
407 # if not self.getSelectedProjectObj():
408 # self.console.append("Please select a project before load files")
408 # self.console.append("Please select a project before load files")
409 # return
409 # return
410
410
411 parameter_list = self.checkInputsProject()
411 parameter_list = self.checkInputsProject()
412
412
413 if not parameter_list[0]:
413 if not parameter_list[0]:
414 return
414 return
415
415
416 parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set, expLabel = parameter_list
416 parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set, expLabel = parameter_list
417
417
418 if read_mode == "Offline":
418 if read_mode == "Offline":
419 self.proComStartDate.clear()
419 self.proComStartDate.clear()
420 self.proComEndDate.clear()
420 self.proComEndDate.clear()
421 self.proComStartDate.setEnabled(True)
421 self.proComStartDate.setEnabled(True)
422 self.proComEndDate.setEnabled(True)
422 self.proComEndDate.setEnabled(True)
423 self.proStartTime.setEnabled(True)
423 self.proStartTime.setEnabled(True)
424 self.proEndTime.setEnabled(True)
424 self.proEndTime.setEnabled(True)
425 self.frame_2.setEnabled(True)
425 self.frame_2.setEnabled(True)
426
426
427 if read_mode == "Online":
427 if read_mode == "Online":
428 self.proComStartDate.addItem("1960/01/30")
428 self.proComStartDate.addItem("1960/01/30")
429 self.proComEndDate.addItem("2018/12/31")
429 self.proComEndDate.addItem("2018/12/31")
430 self.proComStartDate.setEnabled(False)
430 self.proComStartDate.setEnabled(False)
431 self.proComEndDate.setEnabled(False)
431 self.proComEndDate.setEnabled(False)
432 self.proStartTime.setEnabled(False)
432 self.proStartTime.setEnabled(False)
433 self.proEndTime.setEnabled(False)
433 self.proEndTime.setEnabled(False)
434 self.frame_2.setEnabled(True)
434 self.frame_2.setEnabled(True)
435
435
436 self.loadDays(data_path, ext, walk, expLabel)
436 self.loadDays(data_path, ext, walk, expLabel)
437
437
438 @pyqtSignature("int")
438 @pyqtSignature("int")
439 def on_proComStartDate_activated(self, index):
439 def on_proComStartDate_activated(self, index):
440 """
440 """
441 SELECCION DEL RANGO DE FECHAS -START DATE
441 SELECCION DEL RANGO DE FECHAS -START DATE
442 """
442 """
443 stopIndex = self.proComEndDate.count() - self.proComEndDate.currentIndex() - 1
443 stopIndex = self.proComEndDate.count() - self.proComEndDate.currentIndex() - 1
444
444
445 self.proComEndDate.clear()
445 self.proComEndDate.clear()
446 for i in self.dateList[index:]:
446 for i in self.dateList[index:]:
447 self.proComEndDate.addItem(i)
447 self.proComEndDate.addItem(i)
448
448
449 if self.proComEndDate.count() - stopIndex - 1 >= 0:
449 if self.proComEndDate.count() - stopIndex - 1 >= 0:
450 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - stopIndex - 1)
450 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - stopIndex - 1)
451 else:
451 else:
452 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - 1)
452 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - 1)
453
453
454 @pyqtSignature("int")
454 @pyqtSignature("int")
455 def on_proComEndDate_activated(self, index):
455 def on_proComEndDate_activated(self, index):
456 """
456 """
457 SELECCION DEL RANGO DE FECHAS-END DATE
457 SELECCION DEL RANGO DE FECHAS-END DATE
458 """
458 """
459 pass
459 pass
460
460
461 @pyqtSignature("")
461 @pyqtSignature("")
462 def on_proOk_clicked(self):
462 def on_proOk_clicked(self):
463 """
463 """
464 Añade al Obj XML de Projecto, name,datatype,date,time,readmode,wait,etc, crea el readUnitProcess del archivo xml.
464 Añade al Obj XML de Projecto, name,datatype,date,time,readmode,wait,etc, crea el readUnitProcess del archivo xml.
465 Prepara la configuración del diágrama del Arbol del treeView numero 2
465 Prepara la configuración del diágrama del Arbol del treeView numero 2
466 """
466 """
467
467
468 self.actionStart.setEnabled(False)
468 self.actionStart.setEnabled(False)
469 self.actionStarToolbar.setEnabled(False)
469 self.actionStarToolbar.setEnabled(False)
470
470
471 self.console.clear()
471 self.console.clear()
472
472
473 if self.create:
473 if self.create:
474
474
475 projectId = self.__getNewProjectId()
475 projectId = self.__getNewProjectId()
476
476
477 if not projectId:
477 if not projectId:
478 return 0
478 return 0
479
479
480 projectObjView = self.createProjectView(projectId)
480 projectObjView = self.createProjectView(projectId)
481
481
482 if not projectObjView:
482 if not projectObjView:
483 return 0
483 return 0
484
484
485 self.create = False
485 self.create = False
486
486
487 readUnitObj = self.createReadUnitView(projectObjView)
487 readUnitObj = self.createReadUnitView(projectObjView)
488
488
489 if not readUnitObj:
489 if not readUnitObj:
490 return 0
490 return 0
491
491
492 else:
492 else:
493 projectObjView = self.updateProjectView()
493 projectObjView = self.updateProjectView()
494
494
495 if not projectObjView:
495 if not projectObjView:
496 return 0
496 return 0
497
497
498 projectId = projectObjView.getId()
498 projectId = projectObjView.getId()
499 idReadUnit = projectObjView.getReadUnitId()
499 idReadUnit = projectObjView.getReadUnitId()
500 readUnitObj = self.updateReadUnitView(projectObjView, idReadUnit)
500 readUnitObj = self.updateReadUnitView(projectObjView, idReadUnit)
501
501
502 if not readUnitObj:
502 if not readUnitObj:
503 return 0
503 return 0
504
504
505 self.__itemTreeDict[projectId].setText(projectObjView.name)
505 self.__itemTreeDict[projectId].setText(projectObjView.name)
506 # Project Properties
506 # Project Properties
507 self.refreshProjectProperties(projectObjView)
507 self.refreshProjectProperties(projectObjView)
508 # Disable tabProject after finish the creation
508 # Disable tabProject after finish the creation
509
509
510 self.actionStart.setEnabled(True)
510 self.actionStart.setEnabled(True)
511 self.actionStarToolbar.setEnabled(True)
511 self.actionStarToolbar.setEnabled(True)
512 self.console.clear()
512 self.console.clear()
513 self.console.append("The project parameters were validated")
513 self.console.append("The project parameters were validated")
514
514
515 return 1
515 return 1
516
516
517 @pyqtSignature("")
517 @pyqtSignature("")
518 def on_proClear_clicked(self):
518 def on_proClear_clicked(self):
519
519
520 self.console.clear()
520 self.console.clear()
521
521
522 @pyqtSignature("int")
522 @pyqtSignature("int")
523 def on_volOpCebChannels_stateChanged(self, p0):
523 def on_volOpCebChannels_stateChanged(self, p0):
524 """
524 """
525 Check Box habilita operaciones de Seleccin de Canales
525 Check Box habilita operaciones de Seleccin de Canales
526 """
526 """
527 if p0 == 2:
527 if p0 == 2:
528 self.volOpComChannels.setEnabled(True)
528 self.volOpComChannels.setEnabled(True)
529 self.volOpChannel.setEnabled(True)
529 self.volOpChannel.setEnabled(True)
530
530
531 if p0 == 0:
531 if p0 == 0:
532 self.volOpComChannels.setEnabled(False)
532 self.volOpComChannels.setEnabled(False)
533 self.volOpChannel.setEnabled(False)
533 self.volOpChannel.setEnabled(False)
534 self.volOpChannel.clear()
534 self.volOpChannel.clear()
535
535
536 @pyqtSignature("int")
536 @pyqtSignature("int")
537 def on_volOpCebHeights_stateChanged(self, p0):
537 def on_volOpCebHeights_stateChanged(self, p0):
538 """
538 """
539 Check Box habilita operaciones de Seleccin de Alturas
539 Check Box habilita operaciones de Seleccin de Alturas
540 """
540 """
541 if p0 == 2:
541 if p0 == 2:
542 self.volOpHeights.setEnabled(True)
542 self.volOpHeights.setEnabled(True)
543 self.volOpComHeights.setEnabled(True)
543 self.volOpComHeights.setEnabled(True)
544
544
545 if p0 == 0:
545 if p0 == 0:
546 self.volOpHeights.setEnabled(False)
546 self.volOpHeights.setEnabled(False)
547 self.volOpHeights.clear()
547 self.volOpHeights.clear()
548 self.volOpComHeights.setEnabled(False)
548 self.volOpComHeights.setEnabled(False)
549
549
550 @pyqtSignature("int")
550 @pyqtSignature("int")
551 def on_volOpCebFilter_stateChanged(self, p0):
551 def on_volOpCebFilter_stateChanged(self, p0):
552 """
552 """
553 Name='Decoder', optype='other'
553 Name='Decoder', optype='other'
554 """
554 """
555 if p0 == 2:
555 if p0 == 2:
556 self.volOpFilter.setEnabled(True)
556 self.volOpFilter.setEnabled(True)
557
557
558 if p0 == 0:
558 if p0 == 0:
559 self.volOpFilter.setEnabled(False)
559 self.volOpFilter.setEnabled(False)
560 self.volOpFilter.clear()
560 self.volOpFilter.clear()
561
561
562 @pyqtSignature("int")
562 @pyqtSignature("int")
563 def on_volOpCebProfile_stateChanged(self, p0):
563 def on_volOpCebProfile_stateChanged(self, p0):
564 """
564 """
565 Check Box habilita ingreso del rango de Perfiles
565 Check Box habilita ingreso del rango de Perfiles
566 """
566 """
567 if p0 == 2:
567 if p0 == 2:
568 self.volOpComProfile.setEnabled(True)
568 self.volOpComProfile.setEnabled(True)
569 self.volOpProfile.setEnabled(True)
569 self.volOpProfile.setEnabled(True)
570
570
571 if p0 == 0:
571 if p0 == 0:
572 self.volOpComProfile.setEnabled(False)
572 self.volOpComProfile.setEnabled(False)
573 self.volOpProfile.setEnabled(False)
573 self.volOpProfile.setEnabled(False)
574 self.volOpProfile.clear()
574 self.volOpProfile.clear()
575
575
576 @pyqtSignature("int")
576 @pyqtSignature("int")
577 def on_volOpComProfile_activated(self, index):
577 def on_volOpComProfile_activated(self, index):
578 """
578 """
579 Check Box habilita ingreso del rango de Perfiles
579 Check Box habilita ingreso del rango de Perfiles
580 """
580 """
581 #Profile List
581 #Profile List
582 if index == 0:
582 if index == 0:
583 self.volOpProfile.setToolTip('List of selected profiles. Example: 0, 1, 2, 3, 4, 5, 6, 7')
583 self.volOpProfile.setToolTip('List of selected profiles. Example: 0, 1, 2, 3, 4, 5, 6, 7')
584
584
585 #Profile Range
585 #Profile Range
586 if index == 1:
586 if index == 1:
587 self.volOpProfile.setToolTip('Minimum and maximum profile index. Example: 0, 7')
587 self.volOpProfile.setToolTip('Minimum and maximum profile index. Example: 0, 7')
588
588
589 #Profile Range List
589 #Profile Range List
590 if index == 2:
590 if index == 2:
591 self.volOpProfile.setToolTip('List of profile ranges. Example: (0, 7), (12, 19), (100, 200)')
591 self.volOpProfile.setToolTip('List of profile ranges. Example: (0, 7), (12, 19), (100, 200)')
592
592
593 @pyqtSignature("int")
593 @pyqtSignature("int")
594 def on_volOpCebDecodification_stateChanged(self, p0):
594 def on_volOpCebDecodification_stateChanged(self, p0):
595 """
595 """
596 Check Box habilita
596 Check Box habilita
597 """
597 """
598 if p0 == 2:
598 if p0 == 2:
599 self.volOpComCode.setEnabled(True)
599 self.volOpComCode.setEnabled(True)
600 self.volOpComMode.setEnabled(True)
600 self.volOpComMode.setEnabled(True)
601 if p0 == 0:
601 if p0 == 0:
602 self.volOpComCode.setEnabled(False)
602 self.volOpComCode.setEnabled(False)
603 self.volOpComMode.setEnabled(False)
603 self.volOpComMode.setEnabled(False)
604
604
605 @pyqtSignature("int")
605 @pyqtSignature("int")
606 def on_volOpComCode_activated(self, index):
606 def on_volOpComCode_activated(self, index):
607 """
607 """
608 Check Box habilita ingreso
608 Check Box habilita ingreso
609 """
609 """
610 if index == 13:
610 if index == 13:
611 self.volOpCode.setEnabled(True)
611 self.volOpCode.setEnabled(True)
612 else:
612 else:
613 self.volOpCode.setEnabled(False)
613 self.volOpCode.setEnabled(False)
614
614
615 if index == 0:
615 if index == 0:
616 code = ''
616 code = ''
617 self.volOpCode.setText(str(code))
617 self.volOpCode.setText(str(code))
618 return
618 return
619
619
620 if index == 1:
620 if index == 1:
621 code = '(1,1,-1)'
621 code = '(1,1,-1)'
622 nCode = '1'
622 nCode = '1'
623 nBaud = '3'
623 nBaud = '3'
624 if index == 2:
624 if index == 2:
625 code = '(1,1,-1,1)'
625 code = '(1,1,-1,1)'
626 nCode = '1'
626 nCode = '1'
627 nBaud = '4'
627 nBaud = '4'
628 if index == 3:
628 if index == 3:
629 code = '(1,1,1,-1,1)'
629 code = '(1,1,1,-1,1)'
630 nCode = '1'
630 nCode = '1'
631 nBaud = '5'
631 nBaud = '5'
632 if index == 4:
632 if index == 4:
633 code = '(1,1,1,-1,-1,1,-1)'
633 code = '(1,1,1,-1,-1,1,-1)'
634 nCode = '1'
634 nCode = '1'
635 nBaud = '7'
635 nBaud = '7'
636 if index == 5:
636 if index == 5:
637 code = '(1,1,1,-1,-1,-1,1,-1,-1,1,-1)'
637 code = '(1,1,1,-1,-1,-1,1,-1,-1,1,-1)'
638 nCode = '1'
638 nCode = '1'
639 nBaud = '11'
639 nBaud = '11'
640 if index == 6:
640 if index == 6:
641 code = '(1,1,1,1,1,-1,-1,1,1,-1,1,-1,1)'
641 code = '(1,1,1,1,1,-1,-1,1,1,-1,1,-1,1)'
642 nCode = '1'
642 nCode = '1'
643 nBaud = '13'
643 nBaud = '13'
644 if index == 7:
644 if index == 7:
645 code = '(1,1,-1,-1,-1,1)'
645 code = '(1,1,-1,-1,-1,1)'
646 nCode = '2'
646 nCode = '2'
647 nBaud = '3'
647 nBaud = '3'
648 if index == 8:
648 if index == 8:
649 code = '(1,1,-1,1,-1,-1,1,-1)'
649 code = '(1,1,-1,1,-1,-1,1,-1)'
650 nCode = '2'
650 nCode = '2'
651 nBaud = '4'
651 nBaud = '4'
652 if index == 9:
652 if index == 9:
653 code = '(1,1,1,-1,1,-1,-1,-1,1,-1)'
653 code = '(1,1,1,-1,1,-1,-1,-1,1,-1)'
654 nCode = '2'
654 nCode = '2'
655 nBaud = '5'
655 nBaud = '5'
656 if index == 10:
656 if index == 10:
657 code = '(1,1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1)'
657 code = '(1,1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1)'
658 nCode = '2'
658 nCode = '2'
659 nBaud = '7'
659 nBaud = '7'
660 if index == 11:
660 if index == 11:
661 code = '(1,1,1,-1,-1,-1,1,-1,-1,1,-1,-1 ,-1 ,-1 ,1 ,1,1,-1 ,1 ,1 ,-1 ,1)'
661 code = '(1,1,1,-1,-1,-1,1,-1,-1,1,-1,-1 ,-1 ,-1 ,1 ,1,1,-1 ,1 ,1 ,-1 ,1)'
662 nCode = '2'
662 nCode = '2'
663 nBaud = '11'
663 nBaud = '11'
664 if index == 12:
664 if index == 12:
665 code = '(1,1,1,1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1)'
665 code = '(1,1,1,1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1)'
666 nCode = '2'
666 nCode = '2'
667 nBaud = '13'
667 nBaud = '13'
668
668
669 code = ast.literal_eval(code)
669 code = ast.literal_eval(code)
670 nCode = int(nCode)
670 nCode = int(nCode)
671 nBaud = int(nBaud)
671 nBaud = int(nBaud)
672
672
673 code = numpy.asarray(code).reshape((nCode, nBaud)).tolist()
673 code = numpy.asarray(code).reshape((nCode, nBaud)).tolist()
674
674
675 self.volOpCode.setText(str(code))
675 self.volOpCode.setText(str(code))
676
676
677 @pyqtSignature("int")
677 @pyqtSignature("int")
678 def on_volOpCebFlip_stateChanged(self, p0):
678 def on_volOpCebFlip_stateChanged(self, p0):
679 """
679 """
680 Check Box habilita ingresode del numero de Integraciones a realizar
680 Check Box habilita ingresode del numero de Integraciones a realizar
681 """
681 """
682 if p0 == 2:
682 if p0 == 2:
683 self.volOpFlip.setEnabled(True)
683 self.volOpFlip.setEnabled(True)
684 if p0 == 0:
684 if p0 == 0:
685 self.volOpFlip.setEnabled(False)
685 self.volOpFlip.setEnabled(False)
686 self.volOpFlip.clear()
686 self.volOpFlip.clear()
687
687
688 @pyqtSignature("int")
688 @pyqtSignature("int")
689 def on_volOpCebCohInt_stateChanged(self, p0):
689 def on_volOpCebCohInt_stateChanged(self, p0):
690 """
690 """
691 Check Box habilita ingresode del numero de Integraciones a realizar
691 Check Box habilita ingresode del numero de Integraciones a realizar
692 """
692 """
693 if p0 == 2:
693 if p0 == 2:
694 self.volOpCohInt.setEnabled(True)
694 self.volOpCohInt.setEnabled(True)
695 if p0 == 0:
695 if p0 == 0:
696 self.volOpCohInt.setEnabled(False)
696 self.volOpCohInt.setEnabled(False)
697 self.volOpCohInt.clear()
697 self.volOpCohInt.clear()
698
698
699 @pyqtSignature("int")
699 @pyqtSignature("int")
700 def on_volOpCebRadarfrequency_stateChanged(self, p0):
700 def on_volOpCebRadarfrequency_stateChanged(self, p0):
701 """
701 """
702 Check Box habilita ingresode del numero de Integraciones a realizar
702 Check Box habilita ingresode del numero de Integraciones a realizar
703 """
703 """
704 if p0 == 2:
704 if p0 == 2:
705 self.volOpRadarfrequency.setEnabled(True)
705 self.volOpRadarfrequency.setEnabled(True)
706 if p0 == 0:
706 if p0 == 0:
707 self.volOpRadarfrequency.clear()
707 self.volOpRadarfrequency.clear()
708 self.volOpRadarfrequency.setEnabled(False)
708 self.volOpRadarfrequency.setEnabled(False)
709
709
710 @pyqtSignature("")
710 @pyqtSignature("")
711 def on_volOutputToolPath_clicked(self):
711 def on_volOutputToolPath_clicked(self):
712 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
712 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
713 self.volOutputPath.setText(dirOutPath)
713 self.volOutputPath.setText(dirOutPath)
714
714
715 @pyqtSignature("")
715 @pyqtSignature("")
716 def on_specOutputToolPath_clicked(self):
716 def on_specOutputToolPath_clicked(self):
717 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
717 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
718 self.specOutputPath.setText(dirOutPath)
718 self.specOutputPath.setText(dirOutPath)
719
719
720 @pyqtSignature("")
720 @pyqtSignature("")
721 def on_specHeisOutputToolPath_clicked(self):
721 def on_specHeisOutputToolPath_clicked(self):
722 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
722 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
723 self.specHeisOutputPath.setText(dirOutPath)
723 self.specHeisOutputPath.setText(dirOutPath)
724
724
725 @pyqtSignature("")
725 @pyqtSignature("")
726 def on_specHeisOutputMetadaToolPath_clicked(self):
726 def on_specHeisOutputMetadaToolPath_clicked(self):
727
727
728 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.pathWorkSpace, self.tr("Text Files (*.xml)")))
728 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.pathWorkSpace, self.tr("Text Files (*.xml)")))
729 self.specHeisOutputMetada.setText(filename)
729 self.specHeisOutputMetada.setText(filename)
730
730
731 @pyqtSignature("")
731 @pyqtSignature("")
732 def on_volOpOk_clicked(self):
732 def on_volOpOk_clicked(self):
733 """
733 """
734 BUSCA EN LA LISTA DE OPERACIONES DEL TIPO VOLTAJE Y LES AADE EL PARAMETRO ADECUADO ESPERANDO LA ACEPTACION DEL USUARIO
734 BUSCA EN LA LISTA DE OPERACIONES DEL TIPO VOLTAJE Y LES AADE EL PARAMETRO ADECUADO ESPERANDO LA ACEPTACION DEL USUARIO
735 PARA AGREGARLO AL ARCHIVO DE CONFIGURACION XML
735 PARA AGREGARLO AL ARCHIVO DE CONFIGURACION XML
736 """
736 """
737
737
738 checkPath = False
738 checkPath = False
739
739
740 self.actionSaveToolbar.setEnabled(False)
740 self.actionSaveToolbar.setEnabled(False)
741 self.actionStarToolbar.setEnabled(False)
741 self.actionStarToolbar.setEnabled(False)
742
742
743 self.console.clear()
743 self.console.clear()
744 self.console.append("Checking input parameters ...")
744 self.console.append("Checking input parameters ...")
745
745
746 puObj = self.getSelectedItemObj()
746 puObj = self.getSelectedItemObj()
747 puObj.removeOperations()
747 puObj.removeOperations()
748
748
749 if self.volOpCebRadarfrequency.isChecked():
749 if self.volOpCebRadarfrequency.isChecked():
750 value = str(self.volOpRadarfrequency.text())
750 value = str(self.volOpRadarfrequency.text())
751 format = 'float'
751 format = 'float'
752 name_operation = 'setRadarFrequency'
752 name_operation = 'setRadarFrequency'
753 name_parameter = 'frequency'
753 name_parameter = 'frequency'
754 if not value == "":
754 if not value == "":
755 try:
755 try:
756 radarfreq = float(self.volOpRadarfrequency.text())*1e6
756 radarfreq = float(self.volOpRadarfrequency.text())*1e6
757 except:
757 except:
758 self.console.clear()
758 self.console.clear()
759 self.console.append("Invalid value '%s' for Radar Frequency" %value)
759 self.console.append("Invalid value '%s' for Radar Frequency" %value)
760 return 0
760 return 0
761
761
762 opObj = puObj.addOperation(name=name_operation)
762 opObj = puObj.addOperation(name=name_operation)
763 if not opObj.addParameter(name=name_parameter, value=radarfreq, format=format):
763 if not opObj.addParameter(name=name_parameter, value=radarfreq, format=format):
764 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
764 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
765 return 0
765 return 0
766
766
767 if self.volOpCebChannels.isChecked():
767 if self.volOpCebChannels.isChecked():
768 value = str(self.volOpChannel.text())
768 value = str(self.volOpChannel.text())
769
769
770 if value == "":
770 if value == "":
771 print "Please fill channel list"
771 print "Please fill channel list"
772 return 0
772 return 0
773
773
774 format = 'intlist'
774 format = 'intlist'
775 if self.volOpComChannels.currentIndex() == 0:
775 if self.volOpComChannels.currentIndex() == 0:
776 name_operation = "selectChannels"
776 name_operation = "selectChannels"
777 name_parameter = 'channelList'
777 name_parameter = 'channelList'
778 else:
778 else:
779 name_operation = "selectChannelsByIndex"
779 name_operation = "selectChannelsByIndex"
780 name_parameter = 'channelIndexList'
780 name_parameter = 'channelIndexList'
781
781
782 opObj = puObj.addOperation(name=name_operation)
782 opObj = puObj.addOperation(name=name_operation)
783 if not opObj.addParameter(name=name_parameter, value=value, format=format):
783 if not opObj.addParameter(name=name_parameter, value=value, format=format):
784 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
784 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
785 return 0
785 return 0
786
786
787 if self.volOpCebHeights.isChecked():
787 if self.volOpCebHeights.isChecked():
788 value = str(self.volOpHeights.text())
788 value = str(self.volOpHeights.text())
789
789
790 if value == "":
790 if value == "":
791 print "Please fill height range"
791 print "Please fill height range"
792 return 0
792 return 0
793
793
794 valueList = value.split(',')
794 valueList = value.split(',')
795 format = 'float'
795
796 if self.volOpComHeights.currentIndex() == 0:
796 if self.volOpComHeights.currentIndex() == 0:
797 format = 'float'
797 name_operation = 'selectHeights'
798 name_operation = 'selectHeights'
798 name_parameter1 = 'minHei'
799 name_parameter1 = 'minHei'
799 name_parameter2 = 'maxHei'
800 name_parameter2 = 'maxHei'
800 else:
801 else:
802 format = 'int'
801 name_operation = 'selectHeightsByIndex'
803 name_operation = 'selectHeightsByIndex'
802 name_parameter1 = 'minIndex'
804 name_parameter1 = 'minIndex'
803 name_parameter2 = 'maxIndex'
805 name_parameter2 = 'maxIndex'
804
806
805 opObj = puObj.addOperation(name=name_operation)
807 opObj = puObj.addOperation(name=name_operation)
806 opObj.addParameter(name=name_parameter1, value=valueList[0], format=format)
808 opObj.addParameter(name=name_parameter1, value=valueList[0], format=format)
807 opObj.addParameter(name=name_parameter2, value=valueList[1], format=format)
809 opObj.addParameter(name=name_parameter2, value=valueList[1], format=format)
808
810
809 if self.volOpCebFilter.isChecked():
811 if self.volOpCebFilter.isChecked():
810 value = str(self.volOpFilter.text())
812 value = str(self.volOpFilter.text())
811 if value == "":
813 if value == "":
812 print "Please fill filter value"
814 print "Please fill filter value"
813 return 0
815 return 0
814
816
815 format = 'int'
817 format = 'int'
816 name_operation = 'filterByHeights'
818 name_operation = 'filterByHeights'
817 name_parameter = 'window'
819 name_parameter = 'window'
818 opObj = puObj.addOperation(name=name_operation)
820 opObj = puObj.addOperation(name=name_operation)
819 if not opObj.addParameter(name=name_parameter, value=value, format=format):
821 if not opObj.addParameter(name=name_parameter, value=value, format=format):
820 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
822 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
821 return 0
823 return 0
822
824
823 if self.volOpCebProfile.isChecked():
825 if self.volOpCebProfile.isChecked():
824 value = str(self.volOpProfile.text())
826 value = str(self.volOpProfile.text())
825
827
826 if value == "":
828 if value == "":
827 print "Please fill profile value"
829 print "Please fill profile value"
828 return 0
830 return 0
829
831
830 format = 'intlist'
832 format = 'intlist'
831 optype = 'other'
833 optype = 'other'
832 name_operation = 'ProfileSelector'
834 name_operation = 'ProfileSelector'
833 if self.volOpComProfile.currentIndex() == 0:
835 if self.volOpComProfile.currentIndex() == 0:
834 name_parameter = 'profileList'
836 name_parameter = 'profileList'
835 if self.volOpComProfile.currentIndex() == 1:
837 if self.volOpComProfile.currentIndex() == 1:
836 name_parameter = 'profileRangeList'
838 name_parameter = 'profileRangeList'
837 if self.volOpComProfile.currentIndex() == 2:
839 if self.volOpComProfile.currentIndex() == 2:
838 name_parameter = 'rangeList'
840 name_parameter = 'rangeList'
839
841
840 opObj = puObj.addOperation(name='ProfileSelector', optype='other')
842 opObj = puObj.addOperation(name='ProfileSelector', optype='other')
841 if not opObj.addParameter(name=name_parameter, value=value, format=format):
843 if not opObj.addParameter(name=name_parameter, value=value, format=format):
842 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
844 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
843 return 0
845 return 0
844
846
845 if self.volOpCebDecodification.isChecked():
847 if self.volOpCebDecodification.isChecked():
846 name_operation = 'Decoder'
848 name_operation = 'Decoder'
847 opObj = puObj.addOperation(name=name_operation, optype='other')
849 opObj = puObj.addOperation(name=name_operation, optype='other')
848
850
849 #User defined
851 #User defined
850 nBaud = None
852 nBaud = None
851 nCode = None
853 nCode = None
852
854
853 code = str(self.volOpCode.text())
855 code = str(self.volOpCode.text())
854 try:
856 try:
855 code_tmp = ast.literal_eval(code)
857 code_tmp = ast.literal_eval(code)
856 except:
858 except:
857 code_tmp = []
859 code_tmp = []
858
860
859 if len(code_tmp) > 0:
861 if len(code_tmp) > 0:
860
862
861 if type(code_tmp) not in (tuple, list):
863 if type(code_tmp) not in (tuple, list):
862 self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])")
864 self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])")
863 return 0
865 return 0
864
866
865 if len(code_tmp) > 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1], [1,1,-1] ]
867 if len(code_tmp) > 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1], [1,1,-1] ]
866 nBaud = len(code_tmp[0])
868 nBaud = len(code_tmp[0])
867 nCode = len(code_tmp)
869 nCode = len(code_tmp)
868 elif len(code_tmp) == 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1] ]
870 elif len(code_tmp) == 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1] ]
869 nBaud = len(code_tmp[0])
871 nBaud = len(code_tmp[0])
870 nCode = 1
872 nCode = 1
871 elif type(code_tmp[0]) in (int, float): #[1,-1,1] or (1,-1,1)
873 elif type(code_tmp[0]) in (int, float): #[1,-1,1] or (1,-1,1)
872 nBaud = len(code_tmp)
874 nBaud = len(code_tmp)
873 nCode = 1
875 nCode = 1
874 else:
876 else:
875 self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])")
877 self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])")
876 return 0
878 return 0
877
879
878 if not nBaud or not nCode:
880 if not nBaud or not nCode:
879 self.console.append("Please write a right value for Code")
881 self.console.append("Please write a right value for Code")
880 return 0
882 return 0
881
883
882 code = code.replace("(", "")
884 code = code.replace("(", "")
883 code = code.replace(")", "")
885 code = code.replace(")", "")
884 code = code.replace("[", "")
886 code = code.replace("[", "")
885 code = code.replace("]", "")
887 code = code.replace("]", "")
886
888
887 if not opObj.addParameter(name='code', value=code, format='intlist'):
889 if not opObj.addParameter(name='code', value=code, format='intlist'):
888 self.console.append("Please write a right value for Code")
890 self.console.append("Please write a right value for Code")
889 return 0
891 return 0
890 if not opObj.addParameter(name='nCode', value=nCode, format='int'):
892 if not opObj.addParameter(name='nCode', value=nCode, format='int'):
891 self.console.append("Please write a right value for Code")
893 self.console.append("Please write a right value for Code")
892 return 0
894 return 0
893 if not opObj.addParameter(name='nBaud', value=nBaud, format='int'):
895 if not opObj.addParameter(name='nBaud', value=nBaud, format='int'):
894 self.console.append("Please write a right value for Code")
896 self.console.append("Please write a right value for Code")
895 return 0
897 return 0
896
898
897 name_parameter = 'mode'
899 name_parameter = 'mode'
898 format = 'int'
900 format = 'int'
899
901
900 value = str(self.volOpComMode.currentIndex())
902 value = str(self.volOpComMode.currentIndex())
901
903
902 if not opObj.addParameter(name=name_parameter, value=value, format=format):
904 if not opObj.addParameter(name=name_parameter, value=value, format=format):
903 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
905 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
904 return 0
906 return 0
905
907
906
908
907 if self.volOpCebFlip.isChecked():
909 if self.volOpCebFlip.isChecked():
908 name_operation = 'deFlip'
910 name_operation = 'deFlip'
909 optype = 'self'
911 optype = 'self'
910
912
911 opObj = puObj.addOperation(name=name_operation, optype=optype)
913 opObj = puObj.addOperation(name=name_operation, optype=optype)
912
914
913 name_parameter = 'channelList'
915 name_parameter = 'channelList'
914 format = 'intlist'
916 format = 'intlist'
915 value = str(self.volOpFlip.text())
917 value = str(self.volOpFlip.text())
916
918
917 if value != "":
919 if value != "":
918 if not opObj.addParameter(name=name_parameter, value=value, format=format):
920 if not opObj.addParameter(name=name_parameter, value=value, format=format):
919 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
921 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
920 return 0
922 return 0
921
923
922 if self.volOpCebCohInt.isChecked():
924 if self.volOpCebCohInt.isChecked():
923 name_operation = 'CohInt'
925 name_operation = 'CohInt'
924 optype = 'other'
926 optype = 'other'
925 value = str(self.volOpCohInt.text())
927 value = str(self.volOpCohInt.text())
926
928
927 if value == "":
929 if value == "":
928 print "Please fill number of coherent integrations"
930 print "Please fill number of coherent integrations"
929 return 0
931 return 0
930
932
931 name_parameter = 'n'
933 name_parameter = 'n'
932 format = 'float'
934 format = 'int'
933
935
934 opObj = puObj.addOperation(name=name_operation, optype=optype)
936 opObj = puObj.addOperation(name=name_operation, optype=optype)
935
937
936 if not opObj.addParameter(name=name_parameter, value=value, format=format):
938 if not opObj.addParameter(name=name_parameter, value=value, format=format):
937 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
939 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
938 return 0
940 return 0
939
941
940 if self.volGraphCebshow.isChecked():
942 if self.volGraphCebshow.isChecked():
941 name_operation = 'Scope'
943 name_operation = 'Scope'
942 optype = 'other'
944 optype = 'other'
943 name_parameter = 'type'
945 name_parameter = 'type'
944 value = 'Scope'
946 value = 'Scope'
945 if self.idImagscope == 0:
947 if self.idImagscope == 0:
946 self.idImagscope = 100
948 self.idImagscope = 100
947 else:
949 else:
948 self.idImagscope = self.idImagscope + 1
950 self.idImagscope = self.idImagscope + 1
949
951
950 name_parameter1 = 'id'
952 name_parameter1 = 'id'
951 value1 = int(self.idImagscope)
953 value1 = int(self.idImagscope)
952 format1 = 'int'
954 format1 = 'int'
953 format = 'str'
955 format = 'str'
954
956
955 opObj = puObj.addOperation(name=name_operation, optype=optype)
957 opObj = puObj.addOperation(name=name_operation, optype=optype)
956 # opObj.addParameter(name=name_parameter, value=value, format=format)
958 # opObj.addParameter(name=name_parameter, value=value, format=format)
957 opObj.addParameter(name=name_parameter1, value=opObj.id, format=format1)
959 opObj.addParameter(name=name_parameter1, value=opObj.id, format=format1)
958
960
959 channelList = str(self.volGraphChannelList.text()).replace(" ","")
961 channelList = str(self.volGraphChannelList.text()).replace(" ","")
960 xvalue = str(self.volGraphfreqrange.text()).replace(" ","")
962 xvalue = str(self.volGraphfreqrange.text()).replace(" ","")
961 yvalue = str(self.volGraphHeightrange.text()).replace(" ","")
963 yvalue = str(self.volGraphHeightrange.text()).replace(" ","")
962
964
963 if channelList:
965 if channelList:
964 opObj.addParameter(name='channelList', value=channelList, format='intlist')
966 opObj.addParameter(name='channelList', value=channelList, format='intlist')
965
967
966 if xvalue:
968 if xvalue:
967 xvalueList = xvalue.split(',')
969 xvalueList = xvalue.split(',')
968 try:
970 try:
969 value0 = float(xvalueList[0])
971 value0 = float(xvalueList[0])
970 value1 = float(xvalueList[1])
972 value1 = float(xvalueList[1])
971 except:
973 except:
972 return 0
974 return 0
973 opObj.addParameter(name='xmin', value=value0, format='float')
975 opObj.addParameter(name='xmin', value=value0, format='float')
974 opObj.addParameter(name='xmax', value=value1, format='float')
976 opObj.addParameter(name='xmax', value=value1, format='float')
975
977
976
978
977 if not yvalue == "":
979 if not yvalue == "":
978 yvalueList = yvalue.split(",")
980 yvalueList = yvalue.split(",")
979 try:
981 try:
980 value0 = int(yvalueList[0])
982 value0 = int(yvalueList[0])
981 value1 = int(yvalueList[1])
983 value1 = int(yvalueList[1])
982 except:
984 except:
983 return 0
985 return 0
984
986
985 opObj.addParameter(name='ymin', value=value0, format='int')
987 opObj.addParameter(name='ymin', value=value0, format='int')
986 opObj.addParameter(name='ymax', value=value1, format='int')
988 opObj.addParameter(name='ymax', value=value1, format='int')
987
989
988 if self.volGraphCebSave.isChecked():
990 if self.volGraphCebSave.isChecked():
989 checkPath = True
991 checkPath = True
990 opObj.addParameter(name='save', value='1', format='int')
992 opObj.addParameter(name='save', value='1', format='int')
991 opObj.addParameter(name='figpath', value=str(self.volGraphPath.text()), format='str')
993 opObj.addParameter(name='figpath', value=str(self.volGraphPath.text()), format='str')
992 value = str(self.volGraphPrefix.text()).replace(" ","")
994 value = str(self.volGraphPrefix.text()).replace(" ","")
993 if value:
995 if value:
994 opObj.addParameter(name='figfile', value=value, format='str')
996 opObj.addParameter(name='figfile', value=value, format='str')
995
997
996 localfolder = None
998 localfolder = None
997 if checkPath:
999 if checkPath:
998 localfolder = str(self.volGraphPath.text())
1000 localfolder = str(self.volGraphPath.text())
999 if localfolder == '':
1001 if localfolder == '':
1000 self.console.clear()
1002 self.console.clear()
1001 self.console.append("Graphic path should be defined")
1003 self.console.append("Graphic path should be defined")
1002 return 0
1004 return 0
1003
1005
1004 # if something happend
1006 # if something happend
1005 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Voltage')
1007 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Voltage')
1006 if parms_ok:
1008 if parms_ok:
1007 name_operation = 'VoltageWriter'
1009 name_operation = 'VoltageWriter'
1008 optype = 'other'
1010 optype = 'other'
1009 name_parameter1 = 'path'
1011 name_parameter1 = 'path'
1010 name_parameter2 = 'blocksPerFile'
1012 name_parameter2 = 'blocksPerFile'
1011 name_parameter3 = 'profilesPerBlock'
1013 name_parameter3 = 'profilesPerBlock'
1012 value1 = output_path
1014 value1 = output_path
1013 value2 = blocksperfile
1015 value2 = blocksperfile
1014 value3 = profilesperblock
1016 value3 = profilesperblock
1015 format = "int"
1017 format = "int"
1016 opObj = puObj.addOperation(name=name_operation, optype=optype)
1018 opObj = puObj.addOperation(name=name_operation, optype=optype)
1017 opObj.addParameter(name=name_parameter1, value=value1)
1019 opObj.addParameter(name=name_parameter1, value=value1)
1018 opObj.addParameter(name=name_parameter2, value=value2, format=format)
1020 opObj.addParameter(name=name_parameter2, value=value2, format=format)
1019 opObj.addParameter(name=name_parameter3, value=value3, format=format)
1021 opObj.addParameter(name=name_parameter3, value=value3, format=format)
1020
1022
1021 self.console.clear()
1023 self.console.clear()
1022 try:
1024 try:
1023 self.refreshPUProperties(puObj)
1025 self.refreshPUProperties(puObj)
1024 except:
1026 except:
1025 self.console.append("An error reading input parameters was found ...Check them!")
1027 self.console.append("An error reading input parameters was found ...Check them!")
1026 return 0
1028 return 0
1027
1029
1028 self.console.append("Save your project and press Play button to start signal processing")
1030 self.console.append("Save your project and press Play button to start signal processing")
1029
1031
1030 self.actionSaveToolbar.setEnabled(True)
1032 self.actionSaveToolbar.setEnabled(True)
1031 self.actionStarToolbar.setEnabled(True)
1033 self.actionStarToolbar.setEnabled(True)
1032
1034
1033 return 1
1035 return 1
1034
1036
1035 """
1037 """
1036 Voltage Graph
1038 Voltage Graph
1037 """
1039 """
1038 @pyqtSignature("int")
1040 @pyqtSignature("int")
1039 def on_volGraphCebSave_stateChanged(self, p0):
1041 def on_volGraphCebSave_stateChanged(self, p0):
1040 """
1042 """
1041 Check Box habilita ingresode del numero de Integraciones a realizar
1043 Check Box habilita ingresode del numero de Integraciones a realizar
1042 """
1044 """
1043 if p0 == 2:
1045 if p0 == 2:
1044 self.volGraphPath.setEnabled(True)
1046 self.volGraphPath.setEnabled(True)
1045 self.volGraphPrefix.setEnabled(True)
1047 self.volGraphPrefix.setEnabled(True)
1046 self.volGraphToolPath.setEnabled(True)
1048 self.volGraphToolPath.setEnabled(True)
1047
1049
1048 if p0 == 0:
1050 if p0 == 0:
1049 self.volGraphPath.setEnabled(False)
1051 self.volGraphPath.setEnabled(False)
1050 self.volGraphPrefix.setEnabled(False)
1052 self.volGraphPrefix.setEnabled(False)
1051 self.volGraphToolPath.setEnabled(False)
1053 self.volGraphToolPath.setEnabled(False)
1052
1054
1053 @pyqtSignature("")
1055 @pyqtSignature("")
1054 def on_volGraphToolPath_clicked(self):
1056 def on_volGraphToolPath_clicked(self):
1055 """
1057 """
1056 Donde se guardan los DATOS
1058 Donde se guardan los DATOS
1057 """
1059 """
1058 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
1060 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
1059 self.volGraphPath.setText(save_path)
1061 self.volGraphPath.setText(save_path)
1060
1062
1061 if not os.path.exists(save_path):
1063 if not os.path.exists(save_path):
1062 self.console.clear()
1064 self.console.clear()
1063 self.console.append("Set a valid path")
1065 self.console.append("Set a valid path")
1064 self.volGraphOk.setEnabled(False)
1066 self.volGraphOk.setEnabled(False)
1065 return
1067 return
1066
1068
1067 @pyqtSignature("int")
1069 @pyqtSignature("int")
1068 def on_volGraphCebshow_stateChanged(self, p0):
1070 def on_volGraphCebshow_stateChanged(self, p0):
1069 """
1071 """
1070 Check Box habilita ingresode del numero de Integraciones a realizar
1072 Check Box habilita ingresode del numero de Integraciones a realizar
1071 """
1073 """
1072 if p0 == 0:
1074 if p0 == 0:
1073
1075
1074 self.volGraphChannelList.setEnabled(False)
1076 self.volGraphChannelList.setEnabled(False)
1075 self.volGraphfreqrange.setEnabled(False)
1077 self.volGraphfreqrange.setEnabled(False)
1076 self.volGraphHeightrange.setEnabled(False)
1078 self.volGraphHeightrange.setEnabled(False)
1077 if p0 == 2:
1079 if p0 == 2:
1078
1080
1079 self.volGraphChannelList.setEnabled(True)
1081 self.volGraphChannelList.setEnabled(True)
1080 self.volGraphfreqrange.setEnabled(True)
1082 self.volGraphfreqrange.setEnabled(True)
1081 self.volGraphHeightrange.setEnabled(True)
1083 self.volGraphHeightrange.setEnabled(True)
1082
1084
1083 """
1085 """
1084 Spectra operation
1086 Spectra operation
1085 """
1087 """
1086 @pyqtSignature("int")
1088 @pyqtSignature("int")
1087 def on_specOpCebRadarfrequency_stateChanged(self, p0):
1089 def on_specOpCebRadarfrequency_stateChanged(self, p0):
1088 """
1090 """
1089 Check Box habilita ingresode del numero de Integraciones a realizar
1091 Check Box habilita ingresode del numero de Integraciones a realizar
1090 """
1092 """
1091 if p0 == 2:
1093 if p0 == 2:
1092 self.specOpRadarfrequency.setEnabled(True)
1094 self.specOpRadarfrequency.setEnabled(True)
1093 if p0 == 0:
1095 if p0 == 0:
1094 self.specOpRadarfrequency.clear()
1096 self.specOpRadarfrequency.clear()
1095 self.specOpRadarfrequency.setEnabled(False)
1097 self.specOpRadarfrequency.setEnabled(False)
1096
1098
1097
1099
1098 @pyqtSignature("int")
1100 @pyqtSignature("int")
1099 def on_specOpCebCrossSpectra_stateChanged(self, p0):
1101 def on_specOpCebCrossSpectra_stateChanged(self, p0):
1100 """
1102 """
1101 Habilita la opcion de aadir el parmetro CrossSpectra a la Unidad de Procesamiento .
1103 Habilita la opcion de aadir el parmetro CrossSpectra a la Unidad de Procesamiento .
1102 """
1104 """
1103 if p0 == 2:
1105 if p0 == 2:
1104 # self.specOpnFFTpoints.setEnabled(True)
1106 # self.specOpnFFTpoints.setEnabled(True)
1105 self.specOppairsList.setEnabled(True)
1107 self.specOppairsList.setEnabled(True)
1106 if p0 == 0:
1108 if p0 == 0:
1107 # self.specOpnFFTpoints.setEnabled(False)
1109 # self.specOpnFFTpoints.setEnabled(False)
1108 self.specOppairsList.setEnabled(False)
1110 self.specOppairsList.setEnabled(False)
1109
1111
1110 @pyqtSignature("int")
1112 @pyqtSignature("int")
1111 def on_specOpCebChannel_stateChanged(self, p0):
1113 def on_specOpCebChannel_stateChanged(self, p0):
1112 """
1114 """
1113 Habilita la opcion de aadir el parmetro numero de Canales a la Unidad de Procesamiento .
1115 Habilita la opcion de aadir el parmetro numero de Canales a la Unidad de Procesamiento .
1114 """
1116 """
1115 if p0 == 2:
1117 if p0 == 2:
1116 self.specOpChannel.setEnabled(True)
1118 self.specOpChannel.setEnabled(True)
1117 self.specOpComChannel.setEnabled(True)
1119 self.specOpComChannel.setEnabled(True)
1118 if p0 == 0:
1120 if p0 == 0:
1119 self.specOpChannel.setEnabled(False)
1121 self.specOpChannel.setEnabled(False)
1120 self.specOpComChannel.setEnabled(False)
1122 self.specOpComChannel.setEnabled(False)
1121
1123
1122 @pyqtSignature("int")
1124 @pyqtSignature("int")
1123 def on_specOpCebHeights_stateChanged(self, p0):
1125 def on_specOpCebHeights_stateChanged(self, p0):
1124 """
1126 """
1125 Habilita la opcion de aadir el parmetro de alturas a la Unidad de Procesamiento .
1127 Habilita la opcion de aadir el parmetro de alturas a la Unidad de Procesamiento .
1126 """
1128 """
1127 if p0 == 2:
1129 if p0 == 2:
1128 self.specOpComHeights.setEnabled(True)
1130 self.specOpComHeights.setEnabled(True)
1129 self.specOpHeights.setEnabled(True)
1131 self.specOpHeights.setEnabled(True)
1130 if p0 == 0:
1132 if p0 == 0:
1131 self.specOpComHeights.setEnabled(False)
1133 self.specOpComHeights.setEnabled(False)
1132 self.specOpHeights.setEnabled(False)
1134 self.specOpHeights.setEnabled(False)
1133
1135
1134
1136
1135 @pyqtSignature("int")
1137 @pyqtSignature("int")
1136 def on_specOpCebIncoherent_stateChanged(self, p0):
1138 def on_specOpCebIncoherent_stateChanged(self, p0):
1137 """
1139 """
1138 Habilita la opcion de aadir el parmetro integraciones incoherentes a la Unidad de Procesamiento .
1140 Habilita la opcion de aadir el parmetro integraciones incoherentes a la Unidad de Procesamiento .
1139 """
1141 """
1140 if p0 == 2:
1142 if p0 == 2:
1141 self.specOpIncoherent.setEnabled(True)
1143 self.specOpIncoherent.setEnabled(True)
1142 if p0 == 0:
1144 if p0 == 0:
1143 self.specOpIncoherent.setEnabled(False)
1145 self.specOpIncoherent.setEnabled(False)
1144
1146
1145 @pyqtSignature("int")
1147 @pyqtSignature("int")
1146 def on_specOpCebRemoveDC_stateChanged(self, p0):
1148 def on_specOpCebRemoveDC_stateChanged(self, p0):
1147 """
1149 """
1148 Habilita la opcion de aadir el parmetro remover DC a la Unidad de Procesamiento .
1150 Habilita la opcion de aadir el parmetro remover DC a la Unidad de Procesamiento .
1149 """
1151 """
1150 if p0 == 2:
1152 if p0 == 2:
1151 self.specOpComRemoveDC.setEnabled(True)
1153 self.specOpComRemoveDC.setEnabled(True)
1152 if p0 == 0:
1154 if p0 == 0:
1153 self.specOpComRemoveDC.setEnabled(False)
1155 self.specOpComRemoveDC.setEnabled(False)
1154
1156
1155 @pyqtSignature("int")
1157 @pyqtSignature("int")
1156 def on_specOpCebgetNoise_stateChanged(self, p0):
1158 def on_specOpCebgetNoise_stateChanged(self, p0):
1157 """
1159 """
1158 Habilita la opcion de aadir la estimacion de ruido a la Unidad de Procesamiento .
1160 Habilita la opcion de aadir la estimacion de ruido a la Unidad de Procesamiento .
1159 """
1161 """
1160 if p0 == 2:
1162 if p0 == 2:
1161 self.specOpgetNoise.setEnabled(True)
1163 self.specOpgetNoise.setEnabled(True)
1162
1164
1163 if p0 == 0:
1165 if p0 == 0:
1164 self.specOpgetNoise.setEnabled(False)
1166 self.specOpgetNoise.setEnabled(False)
1165
1167
1166 @pyqtSignature("")
1168 @pyqtSignature("")
1167 def on_specOpOk_clicked(self):
1169 def on_specOpOk_clicked(self):
1168 """
1170 """
1169 AÑADE OPERACION SPECTRA
1171 AÑADE OPERACION SPECTRA
1170 """
1172 """
1171
1173
1172 addFTP = False
1174 addFTP = False
1173 checkPath = False
1175 checkPath = False
1174
1176
1175 self.actionSaveToolbar.setEnabled(False)
1177 self.actionSaveToolbar.setEnabled(False)
1176 self.actionStarToolbar.setEnabled(False)
1178 self.actionStarToolbar.setEnabled(False)
1177
1179
1178 self.console.clear()
1180 self.console.clear()
1179 self.console.append("Checking input parameters ...")
1181 self.console.append("Checking input parameters ...")
1180
1182
1181 projectObj = self.getSelectedProjectObj()
1183 projectObj = self.getSelectedProjectObj()
1182
1184
1183 if not projectObj:
1185 if not projectObj:
1184 self.console.append("Please select a project before update it")
1186 self.console.append("Please select a project before update it")
1185 return
1187 return
1186
1188
1187 puObj = self.getSelectedItemObj()
1189 puObj = self.getSelectedItemObj()
1188
1190
1189 puObj.removeOperations()
1191 puObj.removeOperations()
1190
1192
1191 if self.specOpCebRadarfrequency.isChecked():
1193 if self.specOpCebRadarfrequency.isChecked():
1192 value = str(self.specOpRadarfrequency.text())
1194 value = str(self.specOpRadarfrequency.text())
1193 format = 'float'
1195 format = 'float'
1194 name_operation = 'setRadarFrequency'
1196 name_operation = 'setRadarFrequency'
1195 name_parameter = 'frequency'
1197 name_parameter = 'frequency'
1196
1198
1197 if not isFloat(value):
1199 if not isFloat(value):
1198 self.console.clear()
1200 self.console.clear()
1199 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1201 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1200 return 0
1202 return 0
1201
1203
1202 radarfreq = float(value)*1e6
1204 radarfreq = float(value)*1e6
1203 opObj = puObj.addOperation(name=name_operation)
1205 opObj = puObj.addOperation(name=name_operation)
1204 opObj.addParameter(name=name_parameter, value=radarfreq, format=format)
1206 opObj.addParameter(name=name_parameter, value=radarfreq, format=format)
1205
1207
1206 inputId = puObj.getInputId()
1208 inputId = puObj.getInputId()
1207 inputPuObj = projectObj.getProcUnitObj(inputId)
1209 inputPuObj = projectObj.getProcUnitObj(inputId)
1208
1210
1209 if inputPuObj.datatype == 'Voltage' or inputPuObj.datatype == 'USRP':
1211 if inputPuObj.datatype == 'Voltage' or inputPuObj.datatype == 'USRP':
1210
1212
1211 value = str(self.specOpnFFTpoints.text())
1213 value = str(self.specOpnFFTpoints.text())
1212
1214
1213 if not isInt(value):
1215 if not isInt(value):
1214 self.console.append("Invalid value '%s' for '%s'" %(value, 'nFFTPoints'))
1216 self.console.append("Invalid value '%s' for '%s'" %(value, 'nFFTPoints'))
1215 return 0
1217 return 0
1216
1218
1217 puObj.addParameter(name='nFFTPoints', value=value, format='int')
1219 puObj.addParameter(name='nFFTPoints', value=value, format='int')
1218
1220
1219 value = str(self.specOpProfiles.text())
1221 value = str(self.specOpProfiles.text())
1220 if not isInt(value):
1222 if not isInt(value):
1221 self.console.append("Please write a value on Profiles field")
1223 self.console.append("Please write a value on Profiles field")
1222 else:
1224 else:
1223 puObj.addParameter(name='nProfiles', value=value, format='int')
1225 puObj.addParameter(name='nProfiles', value=value, format='int')
1224
1226
1225 value = str(self.specOpippFactor.text())
1227 value = str(self.specOpippFactor.text())
1226 if not isInt(value):
1228 if not isInt(value):
1227 self.console.append("Please write a value on IppFactor field")
1229 self.console.append("Please write a value on IppFactor field")
1228 else:
1230 else:
1229 puObj.addParameter(name='ippFactor' , value=value , format='int')
1231 puObj.addParameter(name='ippFactor' , value=value , format='int')
1230
1232
1231 if self.specOpCebCrossSpectra.isChecked():
1233 if self.specOpCebCrossSpectra.isChecked():
1232 name_parameter = 'pairsList'
1234 name_parameter = 'pairsList'
1233 format = 'pairslist'
1235 format = 'pairslist'
1234 value = str(self.specOppairsList.text())
1236 value = str(self.specOppairsList.text())
1235
1237
1236 if value == "":
1238 if value == "":
1237 print "Please fill the pairs list field"
1239 print "Please fill the pairs list field"
1238 return 0
1240 return 0
1239
1241
1240 if not opObj.addParameter(name=name_parameter, value=value, format=format):
1242 if not opObj.addParameter(name=name_parameter, value=value, format=format):
1241 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
1243 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
1242 return 0
1244 return 0
1243
1245
1244 if self.specOpCebHeights.isChecked():
1246 if self.specOpCebHeights.isChecked():
1245 value = str(self.specOpHeights.text())
1247 value = str(self.specOpHeights.text())
1246
1248
1247 if value == "":
1249 if value == "":
1248 self.console.append("Empty value for '%s'" %(value, "Height range"))
1250 self.console.append("Empty value for '%s'" %(value, "Height range"))
1249 return 0
1251 return 0
1250
1252
1251 valueList = value.split(',')
1253 valueList = value.split(',')
1252 format = 'float'
1254 format = 'float'
1253 value0 = valueList[0]
1255 value0 = valueList[0]
1254 value1 = valueList[1]
1256 value1 = valueList[1]
1255
1257
1256 if not isFloat(value0) or not isFloat(value1):
1258 if not isFloat(value0) or not isFloat(value1):
1257 self.console.append("Invalid value '%s' for '%s'" %(value, "Height range"))
1259 self.console.append("Invalid value '%s' for '%s'" %(value, "Height range"))
1258 return 0
1260 return 0
1259
1261
1260 if self.specOpComHeights.currentIndex() == 0:
1262 if self.specOpComHeights.currentIndex() == 0:
1261 name_operation = 'selectHeights'
1263 name_operation = 'selectHeights'
1262 name_parameter1 = 'minHei'
1264 name_parameter1 = 'minHei'
1263 name_parameter2 = 'maxHei'
1265 name_parameter2 = 'maxHei'
1264 else:
1266 else:
1265 name_operation = 'selectHeightsByIndex'
1267 name_operation = 'selectHeightsByIndex'
1266 name_parameter1 = 'minIndex'
1268 name_parameter1 = 'minIndex'
1267 name_parameter2 = 'maxIndex'
1269 name_parameter2 = 'maxIndex'
1268
1270
1269 opObj = puObj.addOperation(name=name_operation)
1271 opObj = puObj.addOperation(name=name_operation)
1270 opObj.addParameter(name=name_parameter1, value=value0, format=format)
1272 opObj.addParameter(name=name_parameter1, value=value0, format=format)
1271 opObj.addParameter(name=name_parameter2, value=value1, format=format)
1273 opObj.addParameter(name=name_parameter2, value=value1, format=format)
1272
1274
1273 if self.specOpCebChannel.isChecked():
1275 if self.specOpCebChannel.isChecked():
1274
1276
1275 if self.specOpComChannel.currentIndex() == 0:
1277 if self.specOpComChannel.currentIndex() == 0:
1276 name_operation = "selectChannels"
1278 name_operation = "selectChannels"
1277 name_parameter = 'channelList'
1279 name_parameter = 'channelList'
1278 else:
1280 else:
1279 name_operation = "selectChannelsByIndex"
1281 name_operation = "selectChannelsByIndex"
1280 name_parameter = 'channelIndexList'
1282 name_parameter = 'channelIndexList'
1281
1283
1282 format = 'intlist'
1284 format = 'intlist'
1283 value = str(self.specOpChannel.text())
1285 value = str(self.specOpChannel.text())
1284
1286
1285 if value == "":
1287 if value == "":
1286 print "Please fill channel list"
1288 print "Please fill channel list"
1287 return 0
1289 return 0
1288
1290
1289 if not isList(value):
1291 if not isList(value):
1290 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1292 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1291 return 0
1293 return 0
1292
1294
1293 opObj = puObj.addOperation(name=name_operation)
1295 opObj = puObj.addOperation(name=name_operation)
1294 opObj.addParameter(name=name_parameter, value=value, format=format)
1296 opObj.addParameter(name=name_parameter, value=value, format=format)
1295
1297
1296 if self.specOpCebIncoherent.isChecked():
1298 if self.specOpCebIncoherent.isChecked():
1297
1299
1298 name_operation = 'IncohInt'
1300 name_operation = 'IncohInt'
1299 optype = 'other'
1301 optype = 'other'
1300
1302
1301 if self.specOpCobIncInt.currentIndex() == 0:
1303 if self.specOpCobIncInt.currentIndex() == 0:
1302 name_parameter = 'timeInterval'
1304 name_parameter = 'timeInterval'
1303 format = 'float'
1305 format = 'float'
1304 else:
1306 else:
1305 name_parameter = 'n'
1307 name_parameter = 'n'
1306 format = 'float'
1308 format = 'int'
1307
1309
1308 value = str(self.specOpIncoherent.text())
1310 value = str(self.specOpIncoherent.text())
1309
1311
1310 if value == "":
1312 if value == "":
1311 print "Please fill Incoherent integration value"
1313 print "Please fill Incoherent integration value"
1312 return 0
1314 return 0
1313
1315
1314 if not isFloat(value):
1316 if not isFloat(value):
1315 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1317 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1316 return 0
1318 return 0
1317
1319
1318 opObj = puObj.addOperation(name=name_operation, optype=optype)
1320 opObj = puObj.addOperation(name=name_operation, optype=optype)
1319 opObj.addParameter(name=name_parameter, value=value, format=format)
1321 opObj.addParameter(name=name_parameter, value=value, format=format)
1320
1322
1321 if self.specOpCebRemoveDC.isChecked():
1323 if self.specOpCebRemoveDC.isChecked():
1322 name_operation = 'removeDC'
1324 name_operation = 'removeDC'
1323 name_parameter = 'mode'
1325 name_parameter = 'mode'
1324 format = 'int'
1326 format = 'int'
1325 if self.specOpComRemoveDC.currentIndex() == 0:
1327 if self.specOpComRemoveDC.currentIndex() == 0:
1326 value = 1
1328 value = 1
1327 else:
1329 else:
1328 value = 2
1330 value = 2
1329 opObj = puObj.addOperation(name=name_operation)
1331 opObj = puObj.addOperation(name=name_operation)
1330 opObj.addParameter(name=name_parameter, value=value, format=format)
1332 opObj.addParameter(name=name_parameter, value=value, format=format)
1331
1333
1332 if self.specOpCebRemoveInt.isChecked():
1334 if self.specOpCebRemoveInt.isChecked():
1333 name_operation = 'removeInterference'
1335 name_operation = 'removeInterference'
1334 opObj = puObj.addOperation(name=name_operation)
1336 opObj = puObj.addOperation(name=name_operation)
1335
1337
1336
1338
1337 if self.specOpCebgetNoise.isChecked():
1339 if self.specOpCebgetNoise.isChecked():
1338 value = str(self.specOpgetNoise.text())
1340 value = str(self.specOpgetNoise.text())
1339 valueList = value.split(',')
1341 valueList = value.split(',')
1340 format = 'float'
1342 format = 'float'
1341 name_operation = "getNoise"
1343 name_operation = "getNoise"
1342 opObj = puObj.addOperation(name=name_operation)
1344 opObj = puObj.addOperation(name=name_operation)
1343
1345
1344 if not value == '':
1346 if not value == '':
1345 valueList = value.split(',')
1347 valueList = value.split(',')
1346 length = len(valueList)
1348 length = len(valueList)
1347 if length == 1:
1349 if length == 1:
1348 try:
1350 try:
1349 value1 = float(valueList[0])
1351 value1 = float(valueList[0])
1350 except:
1352 except:
1351 self.console.clear()
1353 self.console.clear()
1352 self.console.append("Please Write correct parameter Get Noise")
1354 self.console.append("Please Write correct parameter Get Noise")
1353 return 0
1355 return 0
1354 name1 = 'minHei'
1356 name1 = 'minHei'
1355 opObj.addParameter(name=name1, value=value1, format=format)
1357 opObj.addParameter(name=name1, value=value1, format=format)
1356 elif length == 2:
1358 elif length == 2:
1357 try:
1359 try:
1358 value1 = float(valueList[0])
1360 value1 = float(valueList[0])
1359 value2 = float(valueList[1])
1361 value2 = float(valueList[1])
1360 except:
1362 except:
1361 self.console.clear()
1363 self.console.clear()
1362 self.console.append("Please Write corrects parameter Get Noise")
1364 self.console.append("Please Write corrects parameter Get Noise")
1363 return 0
1365 return 0
1364 name1 = 'minHei'
1366 name1 = 'minHei'
1365 name2 = 'maxHei'
1367 name2 = 'maxHei'
1366 opObj.addParameter(name=name1, value=value1, format=format)
1368 opObj.addParameter(name=name1, value=value1, format=format)
1367 opObj.addParameter(name=name2, value=value2, format=format)
1369 opObj.addParameter(name=name2, value=value2, format=format)
1368
1370
1369 elif length == 3:
1371 elif length == 3:
1370 try:
1372 try:
1371 value1 = float(valueList[0])
1373 value1 = float(valueList[0])
1372 value2 = float(valueList[1])
1374 value2 = float(valueList[1])
1373 value3 = float(valueList[2])
1375 value3 = float(valueList[2])
1374 except:
1376 except:
1375 self.console.clear()
1377 self.console.clear()
1376 self.console.append("Please Write corrects parameter Get Noise")
1378 self.console.append("Please Write corrects parameter Get Noise")
1377 return 0
1379 return 0
1378 name1 = 'minHei'
1380 name1 = 'minHei'
1379 name2 = 'maxHei'
1381 name2 = 'maxHei'
1380 name3 = 'minVel'
1382 name3 = 'minVel'
1381 opObj.addParameter(name=name1, value=value1, format=format)
1383 opObj.addParameter(name=name1, value=value1, format=format)
1382 opObj.addParameter(name=name2, value=value2, format=format)
1384 opObj.addParameter(name=name2, value=value2, format=format)
1383 opObj.addParameter(name=name3, value=value3, format=format)
1385 opObj.addParameter(name=name3, value=value3, format=format)
1384
1386
1385 elif length == 4:
1387 elif length == 4:
1386 try:
1388 try:
1387 value1 = float(valueList[0])
1389 value1 = float(valueList[0])
1388 value2 = float(valueList[1])
1390 value2 = float(valueList[1])
1389 value3 = float(valueList[2])
1391 value3 = float(valueList[2])
1390 value4 = float(valueList[3])
1392 value4 = float(valueList[3])
1391 except:
1393 except:
1392 self.console.clear()
1394 self.console.clear()
1393 self.console.append("Please Write corrects parameter Get Noise")
1395 self.console.append("Please Write corrects parameter Get Noise")
1394 return 0
1396 return 0
1395 name1 = 'minHei'
1397 name1 = 'minHei'
1396 name2 = 'maxHei'
1398 name2 = 'maxHei'
1397 name3 = 'minVel'
1399 name3 = 'minVel'
1398 name4 = 'maxVel'
1400 name4 = 'maxVel'
1399 opObj.addParameter(name=name1, value=value1, format=format)
1401 opObj.addParameter(name=name1, value=value1, format=format)
1400 opObj.addParameter(name=name2, value=value2, format=format)
1402 opObj.addParameter(name=name2, value=value2, format=format)
1401 opObj.addParameter(name=name3, value=value3, format=format)
1403 opObj.addParameter(name=name3, value=value3, format=format)
1402 opObj.addParameter(name=name4, value=value4, format=format)
1404 opObj.addParameter(name=name4, value=value4, format=format)
1403
1405
1404 elif length > 4:
1406 elif length > 4:
1405 self.console.clear()
1407 self.console.clear()
1406 self.console.append("Get Noise Operation only accepts 4 parameters")
1408 self.console.append("Get Noise Operation only accepts 4 parameters")
1407 return 0
1409 return 0
1408
1410
1409 channelList = str(self.specGgraphChannelList.text()).replace(" ","")
1411 channelList = str(self.specGgraphChannelList.text()).replace(" ","")
1410 vel_range = str(self.specGgraphFreq.text()).replace(" ","")
1412 vel_range = str(self.specGgraphFreq.text()).replace(" ","")
1411 hei_range = str(self.specGgraphHeight.text()).replace(" ","")
1413 hei_range = str(self.specGgraphHeight.text()).replace(" ","")
1412 db_range = str(self.specGgraphDbsrange.text()).replace(" ","")
1414 db_range = str(self.specGgraphDbsrange.text()).replace(" ","")
1413
1415
1414 trange = str(self.specGgraphTminTmax.text()).replace(" ","")
1416 trange = str(self.specGgraphTminTmax.text()).replace(" ","")
1415 magrange = str(self.specGgraphmagnitud.text()).replace(" ","")
1417 magrange = str(self.specGgraphmagnitud.text()).replace(" ","")
1416 phaserange = str(self.specGgraphPhase.text()).replace(" ","")
1418 phaserange = str(self.specGgraphPhase.text()).replace(" ","")
1417 # timerange = str(self.specGgraphTimeRange.text()).replace(" ","")
1419 # timerange = str(self.specGgraphTimeRange.text()).replace(" ","")
1418
1420
1419 figpath = str(self.specGraphPath.text())
1421 figpath = str(self.specGraphPath.text())
1420 figfile = str(self.specGraphPrefix.text()).replace(" ","")
1422 figfile = str(self.specGraphPrefix.text()).replace(" ","")
1421 try:
1423 try:
1422 wrperiod = int(str(self.specGgraphftpratio.text()).replace(" ",""))
1424 wrperiod = int(str(self.specGgraphftpratio.text()).replace(" ",""))
1423 except:
1425 except:
1424 wrperiod = None
1426 wrperiod = None
1425
1427
1426 #-----Spectra Plot-----
1428 #-----Spectra Plot-----
1427 if self.specGraphCebSpectraplot.isChecked():
1429 if self.specGraphCebSpectraplot.isChecked():
1428
1430
1429 opObj = puObj.addOperation(name='SpectraPlot', optype='other')
1431 opObj = puObj.addOperation(name='SpectraPlot', optype='other')
1430 opObj.addParameter(name='id', value=opObj.id, format='int')
1432 opObj.addParameter(name='id', value=opObj.id, format='int')
1431
1433
1432 if not channelList == '':
1434 if not channelList == '':
1433
1435
1434 if not isList(channelList):
1436 if not isList(channelList):
1435 self.console.append("Invalid channelList")
1437 self.console.append("Invalid channelList")
1436 return 0
1438 return 0
1437
1439
1438 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1440 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1439
1441
1440 if not vel_range == '':
1442 if not vel_range == '':
1441 xvalueList = vel_range.split(',')
1443 xvalueList = vel_range.split(',')
1442 try:
1444 try:
1443 value1 = float(xvalueList[0])
1445 value1 = float(xvalueList[0])
1444 value2 = float(xvalueList[1])
1446 value2 = float(xvalueList[1])
1445 except:
1447 except:
1446 self.console.clear()
1448 self.console.clear()
1447 self.console.append("Invalid velocity/frequency range")
1449 self.console.append("Invalid velocity/frequency range")
1448 return 0
1450 return 0
1449
1451
1450 opObj.addParameter(name='xmin', value=value1, format='float')
1452 opObj.addParameter(name='xmin', value=value1, format='float')
1451 opObj.addParameter(name='xmax', value=value2, format='float')
1453 opObj.addParameter(name='xmax', value=value2, format='float')
1452
1454
1453 if not hei_range == '':
1455 if not hei_range == '':
1454 yvalueList = hei_range.split(",")
1456 yvalueList = hei_range.split(",")
1455 try:
1457 try:
1456 value1 = float(yvalueList[0])
1458 value1 = float(yvalueList[0])
1457 value2 = float(yvalueList[1])
1459 value2 = float(yvalueList[1])
1458 except:
1460 except:
1459 self.console.clear()
1461 self.console.clear()
1460 self.console.append("Invalid height range")
1462 self.console.append("Invalid height range")
1461 return 0
1463 return 0
1462
1464
1463 opObj.addParameter(name='ymin', value=value1, format='float')
1465 opObj.addParameter(name='ymin', value=value1, format='float')
1464 opObj.addParameter(name='ymax', value=value2, format='float')
1466 opObj.addParameter(name='ymax', value=value2, format='float')
1465
1467
1466 if not db_range == '':
1468 if not db_range == '':
1467 zvalueList = db_range.split(",")
1469 zvalueList = db_range.split(",")
1468 try:
1470 try:
1469 value1 = float(zvalueList[0])
1471 value1 = float(zvalueList[0])
1470 value2 = float(zvalueList[1])
1472 value2 = float(zvalueList[1])
1471 except:
1473 except:
1472 self.console.clear()
1474 self.console.clear()
1473 self.console.append("Invalid db range")
1475 self.console.append("Invalid db range")
1474 return 0
1476 return 0
1475
1477
1476 opObj.addParameter(name='zmin', value=value1, format='float')
1478 opObj.addParameter(name='zmin', value=value1, format='float')
1477 opObj.addParameter(name='zmax', value=value2, format='float')
1479 opObj.addParameter(name='zmax', value=value2, format='float')
1478
1480
1479 if self.specGraphSaveSpectra.isChecked():
1481 if self.specGraphSaveSpectra.isChecked():
1480 checkPath = True
1482 checkPath = True
1481 opObj.addParameter(name='save', value=1 , format='bool')
1483 opObj.addParameter(name='save', value=1 , format='bool')
1482 opObj.addParameter(name='figpath', value=figpath, format='str')
1484 opObj.addParameter(name='figpath', value=figpath, format='str')
1483 if figfile:
1485 if figfile:
1484 opObj.addParameter(name='figfile', value=figfile, format='str')
1486 opObj.addParameter(name='figfile', value=figfile, format='str')
1485 if wrperiod:
1487 if wrperiod:
1486 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1488 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1487
1489
1488 if self.specGraphftpSpectra.isChecked():
1490 if self.specGraphftpSpectra.isChecked():
1489 opObj.addParameter(name='ftp', value='1', format='int')
1491 opObj.addParameter(name='ftp', value='1', format='int')
1490 self.addFTPConf2Operation(puObj, opObj)
1492 self.addFTPConf2Operation(puObj, opObj)
1491 addFTP = True
1493 addFTP = True
1492
1494
1493 if self.specGraphCebCrossSpectraplot.isChecked():
1495 if self.specGraphCebCrossSpectraplot.isChecked():
1494
1496
1495 opObj = puObj.addOperation(name='CrossSpectraPlot', optype='other')
1497 opObj = puObj.addOperation(name='CrossSpectraPlot', optype='other')
1496 # opObj.addParameter(name='power_cmap', value='jet', format='str')
1498 # opObj.addParameter(name='power_cmap', value='jet', format='str')
1497 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1499 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1498 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1500 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1499 opObj.addParameter(name='id', value=opObj.id, format='int')
1501 opObj.addParameter(name='id', value=opObj.id, format='int')
1500
1502
1501 if not vel_range == '':
1503 if not vel_range == '':
1502 xvalueList = vel_range.split(',')
1504 xvalueList = vel_range.split(',')
1503 try:
1505 try:
1504 value1 = float(xvalueList[0])
1506 value1 = float(xvalueList[0])
1505 value2 = float(xvalueList[1])
1507 value2 = float(xvalueList[1])
1506 except:
1508 except:
1507 self.console.clear()
1509 self.console.clear()
1508 self.console.append("Invalid velocity/frequency range")
1510 self.console.append("Invalid velocity/frequency range")
1509 return 0
1511 return 0
1510
1512
1511 opObj.addParameter(name='xmin', value=value1, format='float')
1513 opObj.addParameter(name='xmin', value=value1, format='float')
1512 opObj.addParameter(name='xmax', value=value2, format='float')
1514 opObj.addParameter(name='xmax', value=value2, format='float')
1513
1515
1514 if not hei_range == '':
1516 if not hei_range == '':
1515 yvalueList = hei_range.split(",")
1517 yvalueList = hei_range.split(",")
1516 try:
1518 try:
1517 value1 = float(yvalueList[0])
1519 value1 = float(yvalueList[0])
1518 value2 = float(yvalueList[1])
1520 value2 = float(yvalueList[1])
1519 except:
1521 except:
1520 self.console.clear()
1522 self.console.clear()
1521 self.console.append("Invalid height range")
1523 self.console.append("Invalid height range")
1522 return 0
1524 return 0
1523
1525
1524 opObj.addParameter(name='ymin', value=value1, format='float')
1526 opObj.addParameter(name='ymin', value=value1, format='float')
1525 opObj.addParameter(name='ymax', value=value2, format='float')
1527 opObj.addParameter(name='ymax', value=value2, format='float')
1526
1528
1527 if not db_range == '':
1529 if not db_range == '':
1528 zvalueList = db_range.split(",")
1530 zvalueList = db_range.split(",")
1529 try:
1531 try:
1530 value1 = float(zvalueList[0])
1532 value1 = float(zvalueList[0])
1531 value2 = float(zvalueList[1])
1533 value2 = float(zvalueList[1])
1532 except:
1534 except:
1533 self.console.clear()
1535 self.console.clear()
1534 self.console.append("Invalid db range")
1536 self.console.append("Invalid db range")
1535 return 0
1537 return 0
1536
1538
1537 opObj.addParameter(name='zmin', value=value1, format='float')
1539 opObj.addParameter(name='zmin', value=value1, format='float')
1538 opObj.addParameter(name='zmax', value=value2, format='float')
1540 opObj.addParameter(name='zmax', value=value2, format='float')
1539
1541
1540 if not magrange == '':
1542 if not magrange == '':
1541 zvalueList = magrange.split(",")
1543 zvalueList = magrange.split(",")
1542 try:
1544 try:
1543 value1 = float(zvalueList[0])
1545 value1 = float(zvalueList[0])
1544 value2 = float(zvalueList[1])
1546 value2 = float(zvalueList[1])
1545 except:
1547 except:
1546 self.console.clear()
1548 self.console.clear()
1547 self.console.append("Invalid magnitude range")
1549 self.console.append("Invalid magnitude range")
1548 return 0
1550 return 0
1549
1551
1550 opObj.addParameter(name='coh_min', value=value1, format='float')
1552 opObj.addParameter(name='coh_min', value=value1, format='float')
1551 opObj.addParameter(name='coh_max', value=value2, format='float')
1553 opObj.addParameter(name='coh_max', value=value2, format='float')
1552
1554
1553 if not phaserange == '':
1555 if not phaserange == '':
1554 zvalueList = phaserange.split(",")
1556 zvalueList = phaserange.split(",")
1555 try:
1557 try:
1556 value1 = float(zvalueList[0])
1558 value1 = float(zvalueList[0])
1557 value2 = float(zvalueList[1])
1559 value2 = float(zvalueList[1])
1558 except:
1560 except:
1559 self.console.clear()
1561 self.console.clear()
1560 self.console.append("Invalid phase range")
1562 self.console.append("Invalid phase range")
1561 return 0
1563 return 0
1562
1564
1563 opObj.addParameter(name='phase_min', value=value1, format='float')
1565 opObj.addParameter(name='phase_min', value=value1, format='float')
1564 opObj.addParameter(name='phase_max', value=value2, format='float')
1566 opObj.addParameter(name='phase_max', value=value2, format='float')
1565
1567
1566 if self.specGraphSaveCross.isChecked():
1568 if self.specGraphSaveCross.isChecked():
1567 checkPath = True
1569 checkPath = True
1568 opObj.addParameter(name='save', value='1', format='bool')
1570 opObj.addParameter(name='save', value='1', format='bool')
1569 opObj.addParameter(name='figpath', value=figpath, format='str')
1571 opObj.addParameter(name='figpath', value=figpath, format='str')
1570 if figfile:
1572 if figfile:
1571 opObj.addParameter(name='figfile', value=figfile, format='str')
1573 opObj.addParameter(name='figfile', value=figfile, format='str')
1572 if wrperiod:
1574 if wrperiod:
1573 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1575 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1574
1576
1575 if self.specGraphftpCross.isChecked():
1577 if self.specGraphftpCross.isChecked():
1576 opObj.addParameter(name='ftp', value='1', format='int')
1578 opObj.addParameter(name='ftp', value='1', format='int')
1577 self.addFTPConf2Operation(puObj, opObj)
1579 self.addFTPConf2Operation(puObj, opObj)
1578 addFTP = True
1580 addFTP = True
1579
1581
1580 if self.specGraphCebRTIplot.isChecked():
1582 if self.specGraphCebRTIplot.isChecked():
1581
1583
1582 opObj = puObj.addOperation(name='RTIPlot', optype='other')
1584 opObj = puObj.addOperation(name='RTIPlot', optype='other')
1583 opObj.addParameter(name='id', value=opObj.id, format='int')
1585 opObj.addParameter(name='id', value=opObj.id, format='int')
1584
1586
1585 if not channelList == '':
1587 if not channelList == '':
1586 if not isList(channelList):
1588 if not isList(channelList):
1587 self.console.append("Invalid channelList")
1589 self.console.append("Invalid channelList")
1588 return 0
1590 return 0
1589 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1591 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1590
1592
1591 if not trange == '':
1593 if not trange == '':
1592 xvalueList = trange.split(',')
1594 xvalueList = trange.split(',')
1593 try:
1595 try:
1594 value1 = float(xvalueList[0])
1596 value1 = float(xvalueList[0])
1595 value2 = float(xvalueList[1])
1597 value2 = float(xvalueList[1])
1596 except:
1598 except:
1597 self.console.clear()
1599 self.console.clear()
1598 self.console.append("Invalid time range")
1600 self.console.append("Invalid time range")
1599 return 0
1601 return 0
1600
1602
1601 opObj.addParameter(name='xmin', value=value1, format='float')
1603 opObj.addParameter(name='xmin', value=value1, format='float')
1602 opObj.addParameter(name='xmax', value=value2, format='float')
1604 opObj.addParameter(name='xmax', value=value2, format='float')
1603
1605
1604 # if not timerange == '':
1606 # if not timerange == '':
1605 # try:
1607 # try:
1606 # timerange = float(timerange)
1608 # timerange = float(timerange)
1607 # except:
1609 # except:
1608 # self.console.clear()
1610 # self.console.clear()
1609 # self.console.append("Invalid time range")
1611 # self.console.append("Invalid time range")
1610 # return 0
1612 # return 0
1611 #
1613 #
1612 # opObj.addParameter(name='timerange', value=timerange, format='float')
1614 # opObj.addParameter(name='timerange', value=timerange, format='float')
1613
1615
1614 if not hei_range == '':
1616 if not hei_range == '':
1615 yvalueList = hei_range.split(",")
1617 yvalueList = hei_range.split(",")
1616 try:
1618 try:
1617 value1 = float(yvalueList[0])
1619 value1 = float(yvalueList[0])
1618 value2 = float(yvalueList[1])
1620 value2 = float(yvalueList[1])
1619 except:
1621 except:
1620 self.console.clear()
1622 self.console.clear()
1621 self.console.append("Invalid height range")
1623 self.console.append("Invalid height range")
1622 return 0
1624 return 0
1623
1625
1624 opObj.addParameter(name='ymin', value=value1, format='float')
1626 opObj.addParameter(name='ymin', value=value1, format='float')
1625 opObj.addParameter(name='ymax', value=value2, format='float')
1627 opObj.addParameter(name='ymax', value=value2, format='float')
1626
1628
1627 if not db_range == '':
1629 if not db_range == '':
1628 zvalueList = db_range.split(",")
1630 zvalueList = db_range.split(",")
1629 try:
1631 try:
1630 value1 = float(zvalueList[0])
1632 value1 = float(zvalueList[0])
1631 value2 = float(zvalueList[1])
1633 value2 = float(zvalueList[1])
1632 except:
1634 except:
1633 self.console.clear()
1635 self.console.clear()
1634 self.console.append("Invalid db range")
1636 self.console.append("Invalid db range")
1635 return 0
1637 return 0
1636
1638
1637 opObj.addParameter(name='zmin', value=value1, format='float')
1639 opObj.addParameter(name='zmin', value=value1, format='float')
1638 opObj.addParameter(name='zmax', value=value2, format='float')
1640 opObj.addParameter(name='zmax', value=value2, format='float')
1639
1641
1640 if self.specGraphSaveRTIplot.isChecked():
1642 if self.specGraphSaveRTIplot.isChecked():
1641 checkPath = True
1643 checkPath = True
1642 opObj.addParameter(name='save', value='1', format='bool')
1644 opObj.addParameter(name='save', value='1', format='bool')
1643 opObj.addParameter(name='figpath', value=figpath, format='str')
1645 opObj.addParameter(name='figpath', value=figpath, format='str')
1644 if figfile:
1646 if figfile:
1645 opObj.addParameter(name='figfile', value=value, format='str')
1647 opObj.addParameter(name='figfile', value=value, format='str')
1646 if wrperiod:
1648 if wrperiod:
1647 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1649 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1648
1650
1649 if self.specGraphftpRTIplot.isChecked():
1651 if self.specGraphftpRTIplot.isChecked():
1650 opObj.addParameter(name='ftp', value='1', format='int')
1652 opObj.addParameter(name='ftp', value='1', format='int')
1651 self.addFTPConf2Operation(puObj, opObj)
1653 self.addFTPConf2Operation(puObj, opObj)
1652 addFTP = True
1654 addFTP = True
1653
1655
1654 if self.specGraphCebCoherencmap.isChecked():
1656 if self.specGraphCebCoherencmap.isChecked():
1655
1657
1656 opObj = puObj.addOperation(name='CoherenceMap', optype='other')
1658 opObj = puObj.addOperation(name='CoherenceMap', optype='other')
1657 # opObj.addParameter(name=name_parameter, value=value, format=format)
1659 # opObj.addParameter(name=name_parameter, value=value, format=format)
1658 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1660 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1659 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1661 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1660 opObj.addParameter(name='id', value=opObj.id, format='int')
1662 opObj.addParameter(name='id', value=opObj.id, format='int')
1661
1663
1662 # if not timerange == '':
1664 # if not timerange == '':
1663 # try:
1665 # try:
1664 # timerange = int(timerange)
1666 # timerange = int(timerange)
1665 # except:
1667 # except:
1666 # self.console.clear()
1668 # self.console.clear()
1667 # self.console.append("Invalid time range")
1669 # self.console.append("Invalid time range")
1668 # return 0
1670 # return 0
1669 #
1671 #
1670 # opObj.addParameter(name='timerange', value=timerange, format='int')
1672 # opObj.addParameter(name='timerange', value=timerange, format='int')
1671
1673
1672 if not trange == '':
1674 if not trange == '':
1673 xvalueList = trange.split(',')
1675 xvalueList = trange.split(',')
1674 try:
1676 try:
1675 value1 = float(xvalueList[0])
1677 value1 = float(xvalueList[0])
1676 value2 = float(xvalueList[1])
1678 value2 = float(xvalueList[1])
1677 except:
1679 except:
1678 self.console.clear()
1680 self.console.clear()
1679 self.console.append("Invalid time range")
1681 self.console.append("Invalid time range")
1680 return 0
1682 return 0
1681
1683
1682 opObj.addParameter(name='xmin', value=value1, format='float')
1684 opObj.addParameter(name='xmin', value=value1, format='float')
1683 opObj.addParameter(name='xmax', value=value2, format='float')
1685 opObj.addParameter(name='xmax', value=value2, format='float')
1684
1686
1685 if not hei_range == '':
1687 if not hei_range == '':
1686 yvalueList = hei_range.split(",")
1688 yvalueList = hei_range.split(",")
1687 try:
1689 try:
1688 value1 = float(yvalueList[0])
1690 value1 = float(yvalueList[0])
1689 value2 = float(yvalueList[1])
1691 value2 = float(yvalueList[1])
1690 except:
1692 except:
1691 self.console.clear()
1693 self.console.clear()
1692 self.console.append("Invalid height range")
1694 self.console.append("Invalid height range")
1693 return 0
1695 return 0
1694
1696
1695 opObj.addParameter(name='ymin', value=value1, format='float')
1697 opObj.addParameter(name='ymin', value=value1, format='float')
1696 opObj.addParameter(name='ymax', value=value2, format='float')
1698 opObj.addParameter(name='ymax', value=value2, format='float')
1697
1699
1698 if not magrange == '':
1700 if not magrange == '':
1699 zvalueList = magrange.split(",")
1701 zvalueList = magrange.split(",")
1700 try:
1702 try:
1701 value1 = float(zvalueList[0])
1703 value1 = float(zvalueList[0])
1702 value2 = float(zvalueList[1])
1704 value2 = float(zvalueList[1])
1703 except:
1705 except:
1704 self.console.clear()
1706 self.console.clear()
1705 self.console.append("Invalid magnitude range")
1707 self.console.append("Invalid magnitude range")
1706 return 0
1708 return 0
1707
1709
1708 opObj.addParameter(name='zmin', value=value1, format='float')
1710 opObj.addParameter(name='zmin', value=value1, format='float')
1709 opObj.addParameter(name='zmax', value=value2, format='float')
1711 opObj.addParameter(name='zmax', value=value2, format='float')
1710
1712
1711 if not phaserange == '':
1713 if not phaserange == '':
1712 zvalueList = phaserange.split(",")
1714 zvalueList = phaserange.split(",")
1713 try:
1715 try:
1714 value1 = float(zvalueList[0])
1716 value1 = float(zvalueList[0])
1715 value2 = float(zvalueList[1])
1717 value2 = float(zvalueList[1])
1716 except:
1718 except:
1717 self.console.clear()
1719 self.console.clear()
1718 self.console.append("Invalid phase range")
1720 self.console.append("Invalid phase range")
1719 return 0
1721 return 0
1720
1722
1721 opObj.addParameter(name='phase_min', value=value1, format='float')
1723 opObj.addParameter(name='phase_min', value=value1, format='float')
1722 opObj.addParameter(name='phase_max', value=value2, format='float')
1724 opObj.addParameter(name='phase_max', value=value2, format='float')
1723
1725
1724 if self.specGraphSaveCoherencemap.isChecked():
1726 if self.specGraphSaveCoherencemap.isChecked():
1725 checkPath = True
1727 checkPath = True
1726 opObj.addParameter(name='save', value='1', format='bool')
1728 opObj.addParameter(name='save', value='1', format='bool')
1727 opObj.addParameter(name='figpath', value=figpath, format='str')
1729 opObj.addParameter(name='figpath', value=figpath, format='str')
1728 if figfile:
1730 if figfile:
1729 opObj.addParameter(name='figfile', value=value, format='str')
1731 opObj.addParameter(name='figfile', value=value, format='str')
1730 if wrperiod:
1732 if wrperiod:
1731 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1733 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1732
1734
1733 if self.specGraphftpCoherencemap.isChecked():
1735 if self.specGraphftpCoherencemap.isChecked():
1734 opObj.addParameter(name='ftp', value='1', format='int')
1736 opObj.addParameter(name='ftp', value='1', format='int')
1735 self.addFTPConf2Operation(puObj, opObj)
1737 self.addFTPConf2Operation(puObj, opObj)
1736 addFTP = True
1738 addFTP = True
1737
1739
1738 if self.specGraphPowerprofile.isChecked():
1740 if self.specGraphPowerprofile.isChecked():
1739
1741
1740 opObj = puObj.addOperation(name='PowerProfilePlot', optype='other')
1742 opObj = puObj.addOperation(name='PowerProfilePlot', optype='other')
1741 opObj.addParameter(name='id', value=opObj.id, format='int')
1743 opObj.addParameter(name='id', value=opObj.id, format='int')
1742
1744
1743 if not channelList == '':
1745 if not channelList == '':
1744 if not isList(channelList):
1746 if not isList(channelList):
1745 self.console.append("Invalid channelList")
1747 self.console.append("Invalid channelList")
1746 return 0
1748 return 0
1747
1749
1748 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1750 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1749
1751
1750 if not db_range == '':
1752 if not db_range == '':
1751 xvalueList = db_range.split(',')
1753 xvalueList = db_range.split(',')
1752 try:
1754 try:
1753 value1 = float(xvalueList[0])
1755 value1 = float(xvalueList[0])
1754 value2 = float(xvalueList[1])
1756 value2 = float(xvalueList[1])
1755 except:
1757 except:
1756 self.console.clear()
1758 self.console.clear()
1757 self.console.append("Invalid db range")
1759 self.console.append("Invalid db range")
1758 return 0
1760 return 0
1759
1761
1760 opObj.addParameter(name='xmin', value=value1, format='float')
1762 opObj.addParameter(name='xmin', value=value1, format='float')
1761 opObj.addParameter(name='xmax', value=value2, format='float')
1763 opObj.addParameter(name='xmax', value=value2, format='float')
1762
1764
1763 if not hei_range == '':
1765 if not hei_range == '':
1764 yvalueList = hei_range.split(",")
1766 yvalueList = hei_range.split(",")
1765 try:
1767 try:
1766 value1 = float(yvalueList[0])
1768 value1 = float(yvalueList[0])
1767 value2 = float(yvalueList[1])
1769 value2 = float(yvalueList[1])
1768 except:
1770 except:
1769 self.console.clear()
1771 self.console.clear()
1770 self.console.append("Invalid height range")
1772 self.console.append("Invalid height range")
1771 return 0
1773 return 0
1772
1774
1773 opObj.addParameter(name='ymin', value=value1, format='float')
1775 opObj.addParameter(name='ymin', value=value1, format='float')
1774 opObj.addParameter(name='ymax', value=value2, format='float')
1776 opObj.addParameter(name='ymax', value=value2, format='float')
1775
1777
1776 if self.specGraphSavePowerprofile.isChecked():
1778 if self.specGraphSavePowerprofile.isChecked():
1777 checkPath = True
1779 checkPath = True
1778 opObj.addParameter(name='save', value='1', format='bool')
1780 opObj.addParameter(name='save', value='1', format='bool')
1779 opObj.addParameter(name='figpath', value=figpath, format='str')
1781 opObj.addParameter(name='figpath', value=figpath, format='str')
1780 if figfile:
1782 if figfile:
1781 opObj.addParameter(name='figfile', value=value, format='str')
1783 opObj.addParameter(name='figfile', value=value, format='str')
1782 if wrperiod:
1784 if wrperiod:
1783 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1785 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1784
1786
1785 if self.specGraphftpPowerprofile.isChecked():
1787 if self.specGraphftpPowerprofile.isChecked():
1786 opObj.addParameter(name='ftp', value='1', format='int')
1788 opObj.addParameter(name='ftp', value='1', format='int')
1787 self.addFTPConf2Operation(puObj, opObj)
1789 self.addFTPConf2Operation(puObj, opObj)
1788 addFTP = True
1790 addFTP = True
1789 # rti noise
1791 # rti noise
1790
1792
1791 if self.specGraphCebRTInoise.isChecked():
1793 if self.specGraphCebRTInoise.isChecked():
1792
1794
1793 opObj = puObj.addOperation(name='Noise', optype='other')
1795 opObj = puObj.addOperation(name='Noise', optype='other')
1794 opObj.addParameter(name='id', value=opObj.id, format='int')
1796 opObj.addParameter(name='id', value=opObj.id, format='int')
1795
1797
1796 if not channelList == '':
1798 if not channelList == '':
1797 if not isList(channelList):
1799 if not isList(channelList):
1798 self.console.append("Invalid channelList")
1800 self.console.append("Invalid channelList")
1799 return 0
1801 return 0
1800 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1802 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1801
1803
1802 # if not timerange == '':
1804 # if not timerange == '':
1803 # try:
1805 # try:
1804 # timerange = float(timerange)
1806 # timerange = float(timerange)
1805 # except:
1807 # except:
1806 # self.console.clear()
1808 # self.console.clear()
1807 # self.console.append("Invalid time range")
1809 # self.console.append("Invalid time range")
1808 # return 0
1810 # return 0
1809 #
1811 #
1810 # opObj.addParameter(name='timerange', value=timerange, format='float')
1812 # opObj.addParameter(name='timerange', value=timerange, format='float')
1811
1813
1812 if not trange == '':
1814 if not trange == '':
1813 xvalueList = trange.split(',')
1815 xvalueList = trange.split(',')
1814 try:
1816 try:
1815 value1 = float(xvalueList[0])
1817 value1 = float(xvalueList[0])
1816 value2 = float(xvalueList[1])
1818 value2 = float(xvalueList[1])
1817 except:
1819 except:
1818 self.console.clear()
1820 self.console.clear()
1819 self.console.append("Invalid time range")
1821 self.console.append("Invalid time range")
1820 return 0
1822 return 0
1821
1823
1822 opObj.addParameter(name='xmin', value=value1, format='float')
1824 opObj.addParameter(name='xmin', value=value1, format='float')
1823 opObj.addParameter(name='xmax', value=value2, format='float')
1825 opObj.addParameter(name='xmax', value=value2, format='float')
1824
1826
1825 if not db_range == '':
1827 if not db_range == '':
1826 yvalueList = db_range.split(",")
1828 yvalueList = db_range.split(",")
1827 try:
1829 try:
1828 value1 = float(yvalueList[0])
1830 value1 = float(yvalueList[0])
1829 value2 = float(yvalueList[1])
1831 value2 = float(yvalueList[1])
1830 except:
1832 except:
1831 self.console.clear()
1833 self.console.clear()
1832 self.console.append("Invalid db range")
1834 self.console.append("Invalid db range")
1833 return 0
1835 return 0
1834
1836
1835 opObj.addParameter(name='ymin', value=value1, format='float')
1837 opObj.addParameter(name='ymin', value=value1, format='float')
1836 opObj.addParameter(name='ymax', value=value2, format='float')
1838 opObj.addParameter(name='ymax', value=value2, format='float')
1837
1839
1838 if self.specGraphSaveRTInoise.isChecked():
1840 if self.specGraphSaveRTInoise.isChecked():
1839 checkPath = True
1841 checkPath = True
1840 opObj.addParameter(name='save', value='1', format='bool')
1842 opObj.addParameter(name='save', value='1', format='bool')
1841 opObj.addParameter(name='figpath', value=figpath, format='str')
1843 opObj.addParameter(name='figpath', value=figpath, format='str')
1842 if figfile:
1844 if figfile:
1843 opObj.addParameter(name='figfile', value=value, format='str')
1845 opObj.addParameter(name='figfile', value=value, format='str')
1844 if wrperiod:
1846 if wrperiod:
1845 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1847 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1846
1848
1847 # test_ftp
1849 # test_ftp
1848 if self.specGraphftpRTInoise.isChecked():
1850 if self.specGraphftpRTInoise.isChecked():
1849 opObj.addParameter(name='ftp', value='1', format='int')
1851 opObj.addParameter(name='ftp', value='1', format='int')
1850 self.addFTPConf2Operation(puObj, opObj)
1852 self.addFTPConf2Operation(puObj, opObj)
1851 addFTP = True
1853 addFTP = True
1852
1854
1853 if checkPath:
1855 if checkPath:
1854 if not figpath:
1856 if not figpath:
1855 self.console.clear()
1857 self.console.clear()
1856 self.console.append("Graphic path should be defined")
1858 self.console.append("Graphic path should be defined")
1857 return 0
1859 return 0
1858
1860
1859 if addFTP and not figpath:
1861 if addFTP and not figpath:
1860 self.console.clear()
1862 self.console.clear()
1861 self.console.append("You have to save the plots before sending them to FTP Server")
1863 self.console.append("You have to save the plots before sending them to FTP Server")
1862 return 0
1864 return 0
1863
1865
1864 # if something happend
1866 # if something happend
1865 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Spectra')
1867 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Spectra')
1866 if parms_ok:
1868 if parms_ok:
1867 opObj = puObj.addOperation(name='SpectraWriter', optype='other')
1869 opObj = puObj.addOperation(name='SpectraWriter', optype='other')
1868 opObj.addParameter(name='path', value=output_path)
1870 opObj.addParameter(name='path', value=output_path)
1869 opObj.addParameter(name='blocksPerFile', value=blocksperfile, format='int')
1871 opObj.addParameter(name='blocksPerFile', value=blocksperfile, format='int')
1870
1872
1871 self.console.clear()
1873 self.console.clear()
1872 try:
1874 try:
1873 self.refreshPUProperties(puObj)
1875 self.refreshPUProperties(puObj)
1874 except:
1876 except:
1875 self.console.append("An error reading input parameters was found ... Check them!")
1877 self.console.append("An error reading input parameters was found ... Check them!")
1876 return 0
1878 return 0
1877
1879
1878 self.console.append("Save your project and press Play button to start signal processing")
1880 self.console.append("Save your project and press Play button to start signal processing")
1879
1881
1880 self.actionSaveToolbar.setEnabled(True)
1882 self.actionSaveToolbar.setEnabled(True)
1881 self.actionStarToolbar.setEnabled(True)
1883 self.actionStarToolbar.setEnabled(True)
1882
1884
1883 return 1
1885 return 1
1884
1886
1885 """
1887 """
1886 Spectra Graph
1888 Spectra Graph
1887 """
1889 """
1888 @pyqtSignature("int")
1890 @pyqtSignature("int")
1889 def on_specGraphCebSpectraplot_stateChanged(self, p0):
1891 def on_specGraphCebSpectraplot_stateChanged(self, p0):
1890
1892
1891 self.__checkSpecGraphFilters()
1893 self.__checkSpecGraphFilters()
1892
1894
1893
1895
1894 @pyqtSignature("int")
1896 @pyqtSignature("int")
1895 def on_specGraphCebCrossSpectraplot_stateChanged(self, p0):
1897 def on_specGraphCebCrossSpectraplot_stateChanged(self, p0):
1896
1898
1897 self.__checkSpecGraphFilters()
1899 self.__checkSpecGraphFilters()
1898
1900
1899 @pyqtSignature("int")
1901 @pyqtSignature("int")
1900 def on_specGraphCebRTIplot_stateChanged(self, p0):
1902 def on_specGraphCebRTIplot_stateChanged(self, p0):
1901
1903
1902 self.__checkSpecGraphFilters()
1904 self.__checkSpecGraphFilters()
1903
1905
1904
1906
1905 @pyqtSignature("int")
1907 @pyqtSignature("int")
1906 def on_specGraphCebRTInoise_stateChanged(self, p0):
1908 def on_specGraphCebRTInoise_stateChanged(self, p0):
1907
1909
1908 self.__checkSpecGraphFilters()
1910 self.__checkSpecGraphFilters()
1909
1911
1910
1912
1911 @pyqtSignature("int")
1913 @pyqtSignature("int")
1912 def on_specGraphCebCoherencmap_stateChanged(self, p0):
1914 def on_specGraphCebCoherencmap_stateChanged(self, p0):
1913
1915
1914 self.__checkSpecGraphFilters()
1916 self.__checkSpecGraphFilters()
1915
1917
1916 @pyqtSignature("int")
1918 @pyqtSignature("int")
1917 def on_specGraphPowerprofile_stateChanged(self, p0):
1919 def on_specGraphPowerprofile_stateChanged(self, p0):
1918
1920
1919 self.__checkSpecGraphFilters()
1921 self.__checkSpecGraphFilters()
1920
1922
1921 @pyqtSignature("int")
1923 @pyqtSignature("int")
1922 def on_specGraphPhase_stateChanged(self, p0):
1924 def on_specGraphPhase_stateChanged(self, p0):
1923
1925
1924 self.__checkSpecGraphFilters()
1926 self.__checkSpecGraphFilters()
1925
1927
1926 @pyqtSignature("int")
1928 @pyqtSignature("int")
1927 def on_specGraphSaveSpectra_stateChanged(self, p0):
1929 def on_specGraphSaveSpectra_stateChanged(self, p0):
1928 """
1930 """
1929 """
1931 """
1930 self.__checkSpecGraphSaving()
1932 self.__checkSpecGraphSaving()
1931
1933
1932 @pyqtSignature("int")
1934 @pyqtSignature("int")
1933 def on_specGraphSaveCross_stateChanged(self, p0):
1935 def on_specGraphSaveCross_stateChanged(self, p0):
1934
1936
1935 self.__checkSpecGraphSaving()
1937 self.__checkSpecGraphSaving()
1936
1938
1937 @pyqtSignature("int")
1939 @pyqtSignature("int")
1938 def on_specGraphSaveRTIplot_stateChanged(self, p0):
1940 def on_specGraphSaveRTIplot_stateChanged(self, p0):
1939
1941
1940 self.__checkSpecGraphSaving()
1942 self.__checkSpecGraphSaving()
1941
1943
1942 @pyqtSignature("int")
1944 @pyqtSignature("int")
1943 def on_specGraphSaveRTInoise_stateChanged(self, p0):
1945 def on_specGraphSaveRTInoise_stateChanged(self, p0):
1944
1946
1945 self.__checkSpecGraphSaving()
1947 self.__checkSpecGraphSaving()
1946
1948
1947 @pyqtSignature("int")
1949 @pyqtSignature("int")
1948 def on_specGraphSaveCoherencemap_stateChanged(self, p0):
1950 def on_specGraphSaveCoherencemap_stateChanged(self, p0):
1949
1951
1950 self.__checkSpecGraphSaving()
1952 self.__checkSpecGraphSaving()
1951
1953
1952 @pyqtSignature("int")
1954 @pyqtSignature("int")
1953 def on_specGraphSavePowerprofile_stateChanged(self, p0):
1955 def on_specGraphSavePowerprofile_stateChanged(self, p0):
1954
1956
1955 self.__checkSpecGraphSaving()
1957 self.__checkSpecGraphSaving()
1956
1958
1957 @pyqtSignature("int")
1959 @pyqtSignature("int")
1958 def on_specGraphftpSpectra_stateChanged(self, p0):
1960 def on_specGraphftpSpectra_stateChanged(self, p0):
1959 """
1961 """
1960 """
1962 """
1961 self.__checkSpecGraphFTP()
1963 self.__checkSpecGraphFTP()
1962
1964
1963
1965
1964 @pyqtSignature("int")
1966 @pyqtSignature("int")
1965 def on_specGraphftpCross_stateChanged(self, p0):
1967 def on_specGraphftpCross_stateChanged(self, p0):
1966
1968
1967 self.__checkSpecGraphFTP()
1969 self.__checkSpecGraphFTP()
1968
1970
1969 @pyqtSignature("int")
1971 @pyqtSignature("int")
1970 def on_specGraphftpRTIplot_stateChanged(self, p0):
1972 def on_specGraphftpRTIplot_stateChanged(self, p0):
1971
1973
1972 self.__checkSpecGraphFTP()
1974 self.__checkSpecGraphFTP()
1973
1975
1974 @pyqtSignature("int")
1976 @pyqtSignature("int")
1975 def on_specGraphftpRTInoise_stateChanged(self, p0):
1977 def on_specGraphftpRTInoise_stateChanged(self, p0):
1976
1978
1977 self.__checkSpecGraphFTP()
1979 self.__checkSpecGraphFTP()
1978
1980
1979 @pyqtSignature("int")
1981 @pyqtSignature("int")
1980 def on_specGraphftpCoherencemap_stateChanged(self, p0):
1982 def on_specGraphftpCoherencemap_stateChanged(self, p0):
1981
1983
1982 self.__checkSpecGraphFTP()
1984 self.__checkSpecGraphFTP()
1983
1985
1984 @pyqtSignature("int")
1986 @pyqtSignature("int")
1985 def on_specGraphftpPowerprofile_stateChanged(self, p0):
1987 def on_specGraphftpPowerprofile_stateChanged(self, p0):
1986
1988
1987 self.__checkSpecGraphFTP()
1989 self.__checkSpecGraphFTP()
1988
1990
1989 @pyqtSignature("")
1991 @pyqtSignature("")
1990 def on_specGraphToolPath_clicked(self):
1992 def on_specGraphToolPath_clicked(self):
1991 """
1993 """
1992 """
1994 """
1993 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
1995 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
1994 self.specGraphPath.setText(save_path)
1996 self.specGraphPath.setText(save_path)
1995 if not os.path.exists(save_path):
1997 if not os.path.exists(save_path):
1996 self.console.clear()
1998 self.console.clear()
1997 self.console.append("Write a valid path")
1999 self.console.append("Write a valid path")
1998 return
2000 return
1999
2001
2000 @pyqtSignature("")
2002 @pyqtSignature("")
2001 def on_specGraphClear_clicked(self):
2003 def on_specGraphClear_clicked(self):
2002 return
2004 return
2003
2005
2004 @pyqtSignature("")
2006 @pyqtSignature("")
2005 def on_specHeisGraphToolPath_clicked(self):
2007 def on_specHeisGraphToolPath_clicked(self):
2006 """
2008 """
2007 """
2009 """
2008 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
2010 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
2009 self.specHeisGraphPath.setText(save_path)
2011 self.specHeisGraphPath.setText(save_path)
2010 if not os.path.exists(save_path):
2012 if not os.path.exists(save_path):
2011 self.console.clear()
2013 self.console.clear()
2012 self.console.append("Write a valid path")
2014 self.console.append("Write a valid path")
2013 return
2015 return
2014
2016
2015 @pyqtSignature("int")
2017 @pyqtSignature("int")
2016 def on_specHeisOpCebIncoherent_stateChanged(self, p0):
2018 def on_specHeisOpCebIncoherent_stateChanged(self, p0):
2017 """
2019 """
2018 Habilita la opcion de aadir el parmetro integraciones incoherentes a la Unidad de Procesamiento .
2020 Habilita la opcion de aadir el parmetro integraciones incoherentes a la Unidad de Procesamiento .
2019 """
2021 """
2020 if p0 == 2:
2022 if p0 == 2:
2021 self.specHeisOpIncoherent.setEnabled(True)
2023 self.specHeisOpIncoherent.setEnabled(True)
2022 self.specHeisOpCobIncInt.setEnabled(True)
2024 self.specHeisOpCobIncInt.setEnabled(True)
2023 if p0 == 0:
2025 if p0 == 0:
2024 self.specHeisOpIncoherent.setEnabled(False)
2026 self.specHeisOpIncoherent.setEnabled(False)
2025 self.specHeisOpCobIncInt.setEnabled(False)
2027 self.specHeisOpCobIncInt.setEnabled(False)
2026
2028
2027 @pyqtSignature("")
2029 @pyqtSignature("")
2028 def on_specHeisOpOk_clicked(self):
2030 def on_specHeisOpOk_clicked(self):
2029 """
2031 """
2030 AÑADE OPERACION SPECTRAHEIS
2032 AÑADE OPERACION SPECTRAHEIS
2031 """
2033 """
2032 addFTP = False
2034 addFTP = False
2033 checkPath = False
2035 checkPath = False
2034
2036
2035 self.actionSaveToolbar.setEnabled(False)
2037 self.actionSaveToolbar.setEnabled(False)
2036 self.actionStarToolbar.setEnabled(False)
2038 self.actionStarToolbar.setEnabled(False)
2037
2039
2038 self.console.clear()
2040 self.console.clear()
2039 self.console.append("Checking input parameters ...")
2041 self.console.append("Checking input parameters ...")
2040
2042
2041 puObj = self.getSelectedItemObj()
2043 puObj = self.getSelectedItemObj()
2042 puObj.removeOperations()
2044 puObj.removeOperations()
2043
2045
2044 if self.specHeisOpCebIncoherent.isChecked():
2046 if self.specHeisOpCebIncoherent.isChecked():
2045 value = str(self.specHeisOpIncoherent.text())
2047 value = str(self.specHeisOpIncoherent.text())
2046 name_operation = 'IncohInt4SpectraHeis'
2048 name_operation = 'IncohInt4SpectraHeis'
2047 optype = 'other'
2049 optype = 'other'
2048
2050
2049 name_parameter = 'timeInterval'
2051 name_parameter = 'timeInterval'
2050 format = 'float'
2052 format = 'float'
2051
2053
2052 if self.specOpCobIncInt.currentIndex() == 0:
2054 if self.specOpCobIncInt.currentIndex() == 0:
2053 name_parameter = 'timeInterval'
2055 name_parameter = 'timeInterval'
2054 format = 'float'
2056 format = 'float'
2055
2057
2056 if not isFloat(value):
2058 if not isFloat(value):
2057 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2059 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2058 return 0
2060 return 0
2059
2061
2060 opObj = puObj.addOperation(name=name_operation, optype=optype)
2062 opObj = puObj.addOperation(name=name_operation, optype=optype)
2061
2063
2062 if not opObj.addParameter(name=name_parameter, value=value, format=format):
2064 if not opObj.addParameter(name=name_parameter, value=value, format=format):
2063 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2065 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2064 return 0
2066 return 0
2065
2067
2066 channelList = str(self.specHeisGgraphChannelList.text())
2068 channelList = str(self.specHeisGgraphChannelList.text())
2067 freq_range = str(self.specHeisGgraphXminXmax.text())
2069 freq_range = str(self.specHeisGgraphXminXmax.text())
2068 power_range = str(self.specHeisGgraphYminYmax.text())
2070 power_range = str(self.specHeisGgraphYminYmax.text())
2069 time_range = str(self.specHeisGgraphTminTmax.text())
2071 time_range = str(self.specHeisGgraphTminTmax.text())
2070 timerange = str(self.specHeisGgraphTimeRange.text())
2072 timerange = str(self.specHeisGgraphTimeRange.text())
2071
2073
2072 # ---- Spectra Plot-----
2074 # ---- Spectra Plot-----
2073 if self.specHeisGraphCebSpectraplot.isChecked():
2075 if self.specHeisGraphCebSpectraplot.isChecked():
2074
2076
2075 name_operation = 'SpectraHeisScope'
2077 name_operation = 'SpectraHeisScope'
2076 optype = 'other'
2078 optype = 'other'
2077 opObj = puObj.addOperation(name=name_operation, optype=optype)
2079 opObj = puObj.addOperation(name=name_operation, optype=optype)
2078
2080
2079 name_parameter = 'id'
2081 name_parameter = 'id'
2080 format = 'int'
2082 format = 'int'
2081 value = opObj.id
2083 value = opObj.id
2082
2084
2083 if not opObj.addParameter(name=name_parameter, value=value, format=format):
2085 if not opObj.addParameter(name=name_parameter, value=value, format=format):
2084 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2086 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2085 return 0
2087 return 0
2086
2088
2087 if not (channelList == ''):
2089 if not (channelList == ''):
2088 name_parameter = 'channelList'
2090 name_parameter = 'channelList'
2089 format = 'intlist'
2091 format = 'intlist'
2090
2092
2091 if not isList(channelList):
2093 if not isList(channelList):
2092 self.console.append("Invalid value '%s' for '%s'" %(channelList, name_parameter))
2094 self.console.append("Invalid value '%s' for '%s'" %(channelList, name_parameter))
2093 return 0
2095 return 0
2094
2096
2095 opObj.addParameter(name=name_parameter, value=channelList, format=format)
2097 opObj.addParameter(name=name_parameter, value=channelList, format=format)
2096
2098
2097 if not freq_range == '':
2099 if not freq_range == '':
2098 xvalueList = freq_range.split(',')
2100 xvalueList = freq_range.split(',')
2099
2101
2100 if len(xvalueList) != 2:
2102 if len(xvalueList) != 2:
2101 self.console.append("Invalid value '%s' for '%s'" %(freq_range, "xrange"))
2103 self.console.append("Invalid value '%s' for '%s'" %(freq_range, "xrange"))
2102 return 0
2104 return 0
2103
2105
2104 value1 = xvalueList[0]
2106 value1 = xvalueList[0]
2105 value2 = xvalueList[1]
2107 value2 = xvalueList[1]
2106
2108
2107 if not isFloat(value1) or not isFloat(value2):
2109 if not isFloat(value1) or not isFloat(value2):
2108 self.console.append("Invalid value '%s' for '%s'" %(freq_range, "xrange"))
2110 self.console.append("Invalid value '%s' for '%s'" %(freq_range, "xrange"))
2109 return 0
2111 return 0
2110
2112
2111 name1 = 'xmin'
2113 name1 = 'xmin'
2112 name2 = 'xmax'
2114 name2 = 'xmax'
2113 format = 'float'
2115 format = 'float'
2114
2116
2115 opObj.addParameter(name=name1, value=value1, format=format)
2117 opObj.addParameter(name=name1, value=value1, format=format)
2116 opObj.addParameter(name=name2, value=value2, format=format)
2118 opObj.addParameter(name=name2, value=value2, format=format)
2117
2119
2118 #------specHeisGgraphYmin-Ymax---
2120 #------specHeisGgraphYmin-Ymax---
2119 if not power_range == '':
2121 if not power_range == '':
2120 yvalueList = power_range.split(",")
2122 yvalueList = power_range.split(",")
2121
2123
2122 if len(yvalueList) != 2:
2124 if len(yvalueList) != 2:
2123 self.console.append("Invalid value '%s' for '%s'" %(power_range, "xrange"))
2125 self.console.append("Invalid value '%s' for '%s'" %(power_range, "xrange"))
2124 return 0
2126 return 0
2125
2127
2126 value1 = yvalueList[0]
2128 value1 = yvalueList[0]
2127 value2 = yvalueList[1]
2129 value2 = yvalueList[1]
2128
2130
2129 if not isFloat(value1) or not isFloat(value2):
2131 if not isFloat(value1) or not isFloat(value2):
2130 self.console.append("Invalid value '%s' for '%s'" %(power_range, "yrange"))
2132 self.console.append("Invalid value '%s' for '%s'" %(power_range, "yrange"))
2131 return 0
2133 return 0
2132
2134
2133 name1 = 'ymin'
2135 name1 = 'ymin'
2134 name2 = 'ymax'
2136 name2 = 'ymax'
2135 format = 'float'
2137 format = 'float'
2136 opObj.addParameter(name=name1, value=value1, format=format)
2138 opObj.addParameter(name=name1, value=value1, format=format)
2137 opObj.addParameter(name=name2, value=value2, format=format)
2139 opObj.addParameter(name=name2, value=value2, format=format)
2138
2140
2139 if self.specHeisGraphSaveSpectra.isChecked():
2141 if self.specHeisGraphSaveSpectra.isChecked():
2140 checkPath = True
2142 checkPath = True
2141 name_parameter1 = 'save'
2143 name_parameter1 = 'save'
2142 name_parameter2 = 'figpath'
2144 name_parameter2 = 'figpath'
2143 name_parameter3 = 'figfile'
2145 name_parameter3 = 'figfile'
2144 value1 = '1'
2146 value1 = '1'
2145 value2 = str(self.specHeisGraphPath.text())
2147 value2 = str(self.specHeisGraphPath.text())
2146 value3 = str(self.specHeisGraphPrefix.text())
2148 value3 = str(self.specHeisGraphPrefix.text())
2147 format1 = 'bool'
2149 format1 = 'bool'
2148 format2 = 'str'
2150 format2 = 'str'
2149 opObj.addParameter(name=name_parameter1, value=value1 , format=format1)
2151 opObj.addParameter(name=name_parameter1, value=value1 , format=format1)
2150 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2152 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2151 if not value3 == "":
2153 if not value3 == "":
2152 try:
2154 try:
2153 value3 = str(self.specHeisGraphPrefix.text())
2155 value3 = str(self.specHeisGraphPrefix.text())
2154 except:
2156 except:
2155 self.console.clear()
2157 self.console.clear()
2156 self.console.append("Please Write prefix")
2158 self.console.append("Please Write prefix")
2157 return 0
2159 return 0
2158 opObj.addParameter(name='figfile', value=str(self.specHeisGraphPrefix.text()), format='str')
2160 opObj.addParameter(name='figfile', value=str(self.specHeisGraphPrefix.text()), format='str')
2159
2161
2160 # opObj.addParameter(name=name_parameter3, value=value3, format=format2)
2162 # opObj.addParameter(name=name_parameter3, value=value3, format=format2)
2161 # opObj.addParameter(name='wr_period', value='5',format='int')
2163 # opObj.addParameter(name='wr_period', value='5',format='int')
2162
2164
2163 if self.specHeisGraphftpSpectra.isChecked():
2165 if self.specHeisGraphftpSpectra.isChecked():
2164 opObj.addParameter(name='ftp', value='1', format='int')
2166 opObj.addParameter(name='ftp', value='1', format='int')
2165 self.addFTPConf2Operation(puObj, opObj)
2167 self.addFTPConf2Operation(puObj, opObj)
2166 addFTP = True
2168 addFTP = True
2167
2169
2168 if self.specHeisGraphCebRTIplot.isChecked():
2170 if self.specHeisGraphCebRTIplot.isChecked():
2169 name_operation = 'RTIfromSpectraHeis'
2171 name_operation = 'RTIfromSpectraHeis'
2170 optype = 'other'
2172 optype = 'other'
2171
2173
2172 name_parameter = 'id'
2174 name_parameter = 'id'
2173 format = 'int'
2175 format = 'int'
2174
2176
2175 opObj = puObj.addOperation(name=name_operation, optype=optype)
2177 opObj = puObj.addOperation(name=name_operation, optype=optype)
2176 value = opObj.id
2178 value = opObj.id
2177 opObj.addParameter(name=name_parameter, value=value, format=format)
2179 opObj.addParameter(name=name_parameter, value=value, format=format)
2178
2180
2179 if not channelList == '':
2181 if not channelList == '':
2180 opObj.addParameter(name='channelList', value=channelList, format='intlist')
2182 opObj.addParameter(name='channelList', value=channelList, format='intlist')
2181
2183
2182 if not time_range == '':
2184 if not time_range == '':
2183 xvalueList = time_range.split(',')
2185 xvalueList = time_range.split(',')
2184 try:
2186 try:
2185 value = float(xvalueList[0])
2187 value = float(xvalueList[0])
2186 value = float(xvalueList[1])
2188 value = float(xvalueList[1])
2187 except:
2189 except:
2188 return 0
2190 return 0
2189 format = 'float'
2191 format = 'float'
2190 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
2192 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
2191 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
2193 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
2192
2194
2193 if not timerange == '':
2195 if not timerange == '':
2194 format = 'int'
2196 format = 'int'
2195 try:
2197 try:
2196 timerange = int(timerange)
2198 timerange = int(timerange)
2197 except:
2199 except:
2198 return 0
2200 return 0
2199 opObj.addParameter(name='timerange', value=timerange, format=format)
2201 opObj.addParameter(name='timerange', value=timerange, format=format)
2200
2202
2201
2203
2202 if not power_range == '':
2204 if not power_range == '':
2203 yvalueList = power_range.split(",")
2205 yvalueList = power_range.split(",")
2204 try:
2206 try:
2205 value = float(yvalueList[0])
2207 value = float(yvalueList[0])
2206 value = float(yvalueList[1])
2208 value = float(yvalueList[1])
2207 except:
2209 except:
2208 return 0
2210 return 0
2209
2211
2210 format = 'float'
2212 format = 'float'
2211 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
2213 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
2212 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
2214 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
2213
2215
2214 if self.specHeisGraphSaveRTIplot.isChecked():
2216 if self.specHeisGraphSaveRTIplot.isChecked():
2215 checkPath = True
2217 checkPath = True
2216 opObj.addParameter(name='save', value='1', format='bool')
2218 opObj.addParameter(name='save', value='1', format='bool')
2217 opObj.addParameter(name='figpath', value=str(self.specHeisGraphPath.text()), format='str')
2219 opObj.addParameter(name='figpath', value=str(self.specHeisGraphPath.text()), format='str')
2218 value = str(self.specHeisGraphPrefix.text())
2220 value = str(self.specHeisGraphPrefix.text())
2219 if not value == "":
2221 if not value == "":
2220 try:
2222 try:
2221 value = str(self.specHeisGraphPrefix.text())
2223 value = str(self.specHeisGraphPrefix.text())
2222 except:
2224 except:
2223 self.console.clear()
2225 self.console.clear()
2224 self.console.append("Please Write prefix")
2226 self.console.append("Please Write prefix")
2225 return 0
2227 return 0
2226 opObj.addParameter(name='figfile', value=value, format='str')
2228 opObj.addParameter(name='figfile', value=value, format='str')
2227
2229
2228 # test_ftp
2230 # test_ftp
2229 if self.specHeisGraphftpRTIplot.isChecked():
2231 if self.specHeisGraphftpRTIplot.isChecked():
2230 opObj.addParameter(name='ftp', value='1', format='int')
2232 opObj.addParameter(name='ftp', value='1', format='int')
2231 self.addFTPConf2Operation(puObj, opObj)
2233 self.addFTPConf2Operation(puObj, opObj)
2232 addFTP = True
2234 addFTP = True
2233
2235
2234 localfolder = None
2236 localfolder = None
2235 if checkPath:
2237 if checkPath:
2236 localfolder = str(self.specHeisGraphPath.text())
2238 localfolder = str(self.specHeisGraphPath.text())
2237 if localfolder == '':
2239 if localfolder == '':
2238 self.console.clear()
2240 self.console.clear()
2239 self.console.append("Graphic path should be defined")
2241 self.console.append("Graphic path should be defined")
2240 return 0
2242 return 0
2241
2243
2242 if addFTP and not localfolder:
2244 if addFTP and not localfolder:
2243 self.console.clear()
2245 self.console.clear()
2244 self.console.append("You should save plots before send them to FTP Server")
2246 self.console.append("You should save plots before send them to FTP Server")
2245 return 0
2247 return 0
2246
2248
2247 # if something happened
2249 # if something happened
2248 parms_ok, output_path, blocksperfile, metadata_file = self.checkInputsPUSave(datatype='SpectraHeis')
2250 parms_ok, output_path, blocksperfile, metadata_file = self.checkInputsPUSave(datatype='SpectraHeis')
2249 if parms_ok:
2251 if parms_ok:
2250 name_operation = 'FitsWriter'
2252 name_operation = 'FitsWriter'
2251 optype = 'other'
2253 optype = 'other'
2252 name_parameter1 = 'path'
2254 name_parameter1 = 'path'
2253 name_parameter2 = 'dataBlocksPerFile'
2255 name_parameter2 = 'dataBlocksPerFile'
2254 name_parameter3 = 'metadatafile'
2256 name_parameter3 = 'metadatafile'
2255 value1 = output_path
2257 value1 = output_path
2256 value2 = blocksperfile
2258 value2 = blocksperfile
2257 value3 = metadata_file
2259 value3 = metadata_file
2258 format2 = "int"
2260 format2 = "int"
2259 format3 = "str"
2261 format3 = "str"
2260 opObj = puObj.addOperation(name=name_operation, optype=optype)
2262 opObj = puObj.addOperation(name=name_operation, optype=optype)
2261
2263
2262 opObj.addParameter(name=name_parameter1, value=value1)
2264 opObj.addParameter(name=name_parameter1, value=value1)
2263
2265
2264 if blocksperfile:
2266 if blocksperfile:
2265 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2267 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2266
2268
2267 if metadata_file:
2269 if metadata_file:
2268 opObj.addParameter(name=name_parameter3, value=value3, format=format3)
2270 opObj.addParameter(name=name_parameter3, value=value3, format=format3)
2269
2271
2270 self.console.clear()
2272 self.console.clear()
2271 try:
2273 try:
2272 self.refreshPUProperties(puObj)
2274 self.refreshPUProperties(puObj)
2273 except:
2275 except:
2274 self.console.append("An error reading input parameters was found ... Check them!")
2276 self.console.append("An error reading input parameters was found ... Check them!")
2275 return 0
2277 return 0
2276
2278
2277 self.console.append("Save your project and press Play button to start signal processing")
2279 self.console.append("Save your project and press Play button to start signal processing")
2278
2280
2279 self.actionSaveToolbar.setEnabled(True)
2281 self.actionSaveToolbar.setEnabled(True)
2280 self.actionStarToolbar.setEnabled(True)
2282 self.actionStarToolbar.setEnabled(True)
2281
2283
2282 return 1
2284 return 1
2283 @pyqtSignature("int")
2285 @pyqtSignature("int")
2284 def on_specHeisGraphCebSpectraplot_stateChanged(self, p0):
2286 def on_specHeisGraphCebSpectraplot_stateChanged(self, p0):
2285
2287
2286 if p0 == 2:
2288 if p0 == 2:
2287 self.specHeisGgraphChannelList.setEnabled(True)
2289 self.specHeisGgraphChannelList.setEnabled(True)
2288 self.specHeisGgraphXminXmax.setEnabled(True)
2290 self.specHeisGgraphXminXmax.setEnabled(True)
2289 self.specHeisGgraphYminYmax.setEnabled(True)
2291 self.specHeisGgraphYminYmax.setEnabled(True)
2290 if p0 == 0:
2292 if p0 == 0:
2291 self.specHeisGgraphXminXmax.setEnabled(False)
2293 self.specHeisGgraphXminXmax.setEnabled(False)
2292 self.specHeisGgraphYminYmax.setEnabled(False)
2294 self.specHeisGgraphYminYmax.setEnabled(False)
2293
2295
2294 @pyqtSignature("int")
2296 @pyqtSignature("int")
2295 def on_specHeisGraphCebRTIplot_stateChanged(self, p0):
2297 def on_specHeisGraphCebRTIplot_stateChanged(self, p0):
2296
2298
2297 if p0 == 2:
2299 if p0 == 2:
2298 self.specHeisGgraphChannelList.setEnabled(True)
2300 self.specHeisGgraphChannelList.setEnabled(True)
2299 self.specHeisGgraphTminTmax.setEnabled(True)
2301 self.specHeisGgraphTminTmax.setEnabled(True)
2300 self.specHeisGgraphYminYmax.setEnabled(True)
2302 self.specHeisGgraphYminYmax.setEnabled(True)
2301 self.specHeisGgraphTimeRange.setEnabled(True)
2303 self.specHeisGgraphTimeRange.setEnabled(True)
2302
2304
2303 if p0 == 0:
2305 if p0 == 0:
2304 self.specHeisGgraphTminTmax.setEnabled(False)
2306 self.specHeisGgraphTminTmax.setEnabled(False)
2305 self.specHeisGgraphYminYmax.setEnabled(False)
2307 self.specHeisGgraphYminYmax.setEnabled(False)
2306 self.specHeisGgraphTimeRange.setEnabled(False)
2308 self.specHeisGgraphTimeRange.setEnabled(False)
2307
2309
2308 @pyqtSignature("int")
2310 @pyqtSignature("int")
2309 def on_specHeisGraphSaveSpectra_stateChanged(self, p0):
2311 def on_specHeisGraphSaveSpectra_stateChanged(self, p0):
2310 """
2312 """
2311 """
2313 """
2312 if p0 == 2:
2314 if p0 == 2:
2313 self.specHeisGraphPath.setEnabled(True)
2315 self.specHeisGraphPath.setEnabled(True)
2314 self.specHeisGraphPrefix.setEnabled(True)
2316 self.specHeisGraphPrefix.setEnabled(True)
2315 self.specHeisGraphToolPath.setEnabled(True)
2317 self.specHeisGraphToolPath.setEnabled(True)
2316 if p0 == 0:
2318 if p0 == 0:
2317 self.specHeisGraphPath.setEnabled(False)
2319 self.specHeisGraphPath.setEnabled(False)
2318 self.specHeisGraphPrefix.setEnabled(False)
2320 self.specHeisGraphPrefix.setEnabled(False)
2319 self.specHeisGraphToolPath.setEnabled(False)
2321 self.specHeisGraphToolPath.setEnabled(False)
2320
2322
2321 @pyqtSignature("int")
2323 @pyqtSignature("int")
2322 def on_specHeisGraphSaveRTIplot_stateChanged(self, p0):
2324 def on_specHeisGraphSaveRTIplot_stateChanged(self, p0):
2323 if p0 == 2:
2325 if p0 == 2:
2324 self.specHeisGraphPath.setEnabled(True)
2326 self.specHeisGraphPath.setEnabled(True)
2325 self.specHeisGraphPrefix.setEnabled(True)
2327 self.specHeisGraphPrefix.setEnabled(True)
2326 self.specHeisGraphToolPath.setEnabled(True)
2328 self.specHeisGraphToolPath.setEnabled(True)
2327
2329
2328 @pyqtSignature("int")
2330 @pyqtSignature("int")
2329 def on_specHeisGraphftpSpectra_stateChanged(self, p0):
2331 def on_specHeisGraphftpSpectra_stateChanged(self, p0):
2330 """
2332 """
2331 """
2333 """
2332 if p0 == 2:
2334 if p0 == 2:
2333 self.specHeisGgraphftpratio.setEnabled(True)
2335 self.specHeisGgraphftpratio.setEnabled(True)
2334
2336
2335 if p0 == 0:
2337 if p0 == 0:
2336 self.specHeisGgraphftpratio.setEnabled(False)
2338 self.specHeisGgraphftpratio.setEnabled(False)
2337
2339
2338 @pyqtSignature("int")
2340 @pyqtSignature("int")
2339 def on_specHeisGraphftpRTIplot_stateChanged(self, p0):
2341 def on_specHeisGraphftpRTIplot_stateChanged(self, p0):
2340 if p0 == 2:
2342 if p0 == 2:
2341 self.specHeisGgraphftpratio.setEnabled(True)
2343 self.specHeisGgraphftpratio.setEnabled(True)
2342
2344
2343 @pyqtSignature("")
2345 @pyqtSignature("")
2344 def on_specHeisGraphClear_clicked(self):
2346 def on_specHeisGraphClear_clicked(self):
2345 pass
2347 pass
2346
2348
2347 def __checkSpecGraphSaving(self):
2349 def __checkSpecGraphSaving(self):
2348
2350
2349 enable = False
2351 enable = False
2350
2352
2351 if self.specGraphSaveSpectra.checkState():
2353 if self.specGraphSaveSpectra.checkState():
2352 enable = True
2354 enable = True
2353
2355
2354 if self.specGraphSaveCross.checkState():
2356 if self.specGraphSaveCross.checkState():
2355 enable = True
2357 enable = True
2356
2358
2357 if self.specGraphSaveRTIplot.checkState():
2359 if self.specGraphSaveRTIplot.checkState():
2358 enable = True
2360 enable = True
2359
2361
2360 if self.specGraphSaveCoherencemap.checkState():
2362 if self.specGraphSaveCoherencemap.checkState():
2361 enable = True
2363 enable = True
2362
2364
2363 if self.specGraphSavePowerprofile.checkState():
2365 if self.specGraphSavePowerprofile.checkState():
2364 enable = True
2366 enable = True
2365
2367
2366 if self.specGraphSaveRTInoise.checkState():
2368 if self.specGraphSaveRTInoise.checkState():
2367 enable = True
2369 enable = True
2368
2370
2369 self.specGraphPath.setEnabled(enable)
2371 self.specGraphPath.setEnabled(enable)
2370 self.specGraphPrefix.setEnabled(enable)
2372 self.specGraphPrefix.setEnabled(enable)
2371 self.specGraphToolPath.setEnabled(enable)
2373 self.specGraphToolPath.setEnabled(enable)
2372
2374
2373 self.specGgraphftpratio.setEnabled(enable)
2375 self.specGgraphftpratio.setEnabled(enable)
2374
2376
2375 def __checkSpecGraphFTP(self):
2377 def __checkSpecGraphFTP(self):
2376
2378
2377 enable = False
2379 enable = False
2378
2380
2379 if self.specGraphftpSpectra.checkState():
2381 if self.specGraphftpSpectra.checkState():
2380 enable = True
2382 enable = True
2381
2383
2382 if self.specGraphftpCross.checkState():
2384 if self.specGraphftpCross.checkState():
2383 enable = True
2385 enable = True
2384
2386
2385 if self.specGraphftpRTIplot.checkState():
2387 if self.specGraphftpRTIplot.checkState():
2386 enable = True
2388 enable = True
2387
2389
2388 if self.specGraphftpCoherencemap.checkState():
2390 if self.specGraphftpCoherencemap.checkState():
2389 enable = True
2391 enable = True
2390
2392
2391 if self.specGraphftpPowerprofile.checkState():
2393 if self.specGraphftpPowerprofile.checkState():
2392 enable = True
2394 enable = True
2393
2395
2394 if self.specGraphftpRTInoise.checkState():
2396 if self.specGraphftpRTInoise.checkState():
2395 enable = True
2397 enable = True
2396
2398
2397 # self.specGgraphftpratio.setEnabled(enable)
2399 # self.specGgraphftpratio.setEnabled(enable)
2398
2400
2399 def __checkSpecGraphFilters(self):
2401 def __checkSpecGraphFilters(self):
2400
2402
2401 freq = False
2403 freq = False
2402 height = False
2404 height = False
2403 db = False
2405 db = False
2404 time = False
2406 time = False
2405 magnitud = False
2407 magnitud = False
2406 phase = False
2408 phase = False
2407 channelList = False
2409 channelList = False
2408
2410
2409 if self.specGraphCebSpectraplot.checkState():
2411 if self.specGraphCebSpectraplot.checkState():
2410 freq = True
2412 freq = True
2411 height = True
2413 height = True
2412 db = True
2414 db = True
2413 channelList = True
2415 channelList = True
2414
2416
2415 if self.specGraphCebCrossSpectraplot.checkState():
2417 if self.specGraphCebCrossSpectraplot.checkState():
2416 freq = True
2418 freq = True
2417 height = True
2419 height = True
2418 db = True
2420 db = True
2419 magnitud = True
2421 magnitud = True
2420 phase = True
2422 phase = True
2421
2423
2422 if self.specGraphCebRTIplot.checkState():
2424 if self.specGraphCebRTIplot.checkState():
2423 height = True
2425 height = True
2424 db = True
2426 db = True
2425 time = True
2427 time = True
2426 channelList = True
2428 channelList = True
2427
2429
2428 if self.specGraphCebCoherencmap.checkState():
2430 if self.specGraphCebCoherencmap.checkState():
2429 height = True
2431 height = True
2430 time = True
2432 time = True
2431 magnitud = True
2433 magnitud = True
2432 phase = True
2434 phase = True
2433
2435
2434 if self.specGraphPowerprofile.checkState():
2436 if self.specGraphPowerprofile.checkState():
2435 height = True
2437 height = True
2436 db = True
2438 db = True
2437 channelList = True
2439 channelList = True
2438
2440
2439 if self.specGraphCebRTInoise.checkState():
2441 if self.specGraphCebRTInoise.checkState():
2440 db = True
2442 db = True
2441 time = True
2443 time = True
2442 channelList = True
2444 channelList = True
2443
2445
2444
2446
2445 self.specGgraphFreq.setEnabled(freq)
2447 self.specGgraphFreq.setEnabled(freq)
2446 self.specGgraphHeight.setEnabled(height)
2448 self.specGgraphHeight.setEnabled(height)
2447 self.specGgraphDbsrange.setEnabled(db)
2449 self.specGgraphDbsrange.setEnabled(db)
2448 self.specGgraphTminTmax.setEnabled(time)
2450 self.specGgraphTminTmax.setEnabled(time)
2449
2451
2450 self.specGgraphmagnitud.setEnabled(magnitud)
2452 self.specGgraphmagnitud.setEnabled(magnitud)
2451 self.specGgraphPhase.setEnabled(phase)
2453 self.specGgraphPhase.setEnabled(phase)
2452 self.specGgraphChannelList.setEnabled(channelList)
2454 self.specGgraphChannelList.setEnabled(channelList)
2453
2455
2454 def __getParmsFromProjectWindow(self):
2456 def __getParmsFromProjectWindow(self):
2455 """
2457 """
2456 Check Inputs Project:
2458 Check Inputs Project:
2457 - project_name
2459 - project_name
2458 - datatype
2460 - datatype
2459 - ext
2461 - ext
2460 - data_path
2462 - data_path
2461 - readmode
2463 - readmode
2462 - delay
2464 - delay
2463 - set
2465 - set
2464 - walk
2466 - walk
2465 """
2467 """
2466 parms_ok = True
2468 parms_ok = True
2467
2469
2468 project_name = str(self.proName.text())
2470 project_name = str(self.proName.text())
2469
2471
2470 if project_name == '' or project_name == None:
2472 if project_name == '' or project_name == None:
2471 outputstr = "Enter a project Name"
2473 outputstr = "Enter a project Name"
2472 self.console.append(outputstr)
2474 self.console.append(outputstr)
2473 parms_ok = False
2475 parms_ok = False
2474 project_name = None
2476 project_name = None
2475
2477
2476 description = str(self.proDescription.toPlainText())
2478 description = str(self.proDescription.toPlainText())
2477
2479
2478 datatype = str(self.proComDataType.currentText())
2480 datatype = str(self.proComDataType.currentText())
2479
2481
2480 ext = str(self.proDataType.text())
2482 ext = str(self.proDataType.text())
2481
2483
2482 dpath = str(self.proDataPath.text())
2484 dpath = str(self.proDataPath.text())
2483
2485
2484 if dpath == '':
2486 if dpath == '':
2485 outputstr = 'Datapath is empty'
2487 outputstr = 'Datapath is empty'
2486 self.console.append(outputstr)
2488 self.console.append(outputstr)
2487 parms_ok = False
2489 parms_ok = False
2488 dpath = None
2490 dpath = None
2489
2491
2490 if dpath != None:
2492 if dpath != None:
2491 if not os.path.isdir(dpath):
2493 if not os.path.isdir(dpath):
2492 outputstr = 'Datapath (%s) does not exist' % dpath
2494 outputstr = 'Datapath (%s) does not exist' % dpath
2493 self.console.append(outputstr)
2495 self.console.append(outputstr)
2494 parms_ok = False
2496 parms_ok = False
2495 dpath = None
2497 dpath = None
2496
2498
2497 online = int(self.proComReadMode.currentIndex())
2499 online = int(self.proComReadMode.currentIndex())
2498
2500
2499 delay = None
2501 delay = None
2500 if online==1:
2502 if online==1:
2501 try:
2503 try:
2502 delay = int(str(self.proDelay.text()))
2504 delay = int(str(self.proDelay.text()))
2503 except:
2505 except:
2504 outputstr = 'Delay value (%s) must be a integer number' %str(self.proDelay.text())
2506 outputstr = 'Delay value (%s) must be a integer number' %str(self.proDelay.text())
2505 self.console.append(outputstr)
2507 self.console.append(outputstr)
2506 parms_ok = False
2508 parms_ok = False
2507
2509
2508
2510
2509 set = None
2511 set = None
2510 value = str(self.proSet.text())
2512 value = str(self.proSet.text())
2511 try:
2513 try:
2512 set = int(value)
2514 set = int(value)
2513 except:
2515 except:
2514 pass
2516 pass
2515
2517
2516 ippKm = None
2518 ippKm = None
2517
2519
2518 value = str(self.proIPPKm.text())
2520 value = str(self.proIPPKm.text())
2519
2521
2520 try:
2522 try:
2521 ippKm = float(value)
2523 ippKm = float(value)
2522 except:
2524 except:
2523 if datatype=="USRP":
2525 if datatype=="USRP":
2524 outputstr = 'IPP value "%s" must be a float number' % str(self.proIPPKm.text())
2526 outputstr = 'IPP value "%s" must be a float number' % str(self.proIPPKm.text())
2525 self.console.append(outputstr)
2527 self.console.append(outputstr)
2526 parms_ok = False
2528 parms_ok = False
2527
2529
2528 walk = int(self.proComWalk.currentIndex())
2530 walk = int(self.proComWalk.currentIndex())
2529 expLabel = str(self.proExpLabel.text())
2531 expLabel = str(self.proExpLabel.text())
2530
2532
2531 startDate = str(self.proComStartDate.currentText())
2533 startDate = str(self.proComStartDate.currentText())
2532 endDate = str(self.proComEndDate.currentText())
2534 endDate = str(self.proComEndDate.currentText())
2533
2535
2534 # startDateList = startDate.split("/")
2536 # startDateList = startDate.split("/")
2535 # endDateList = endDate.split("/")
2537 # endDateList = endDate.split("/")
2536 #
2538 #
2537 # startDate = datetime.date(int(startDateList[0]), int(startDateList[1]), int(startDateList[2]))
2539 # startDate = datetime.date(int(startDateList[0]), int(startDateList[1]), int(startDateList[2]))
2538 # endDate = datetime.date(int(endDateList[0]), int(endDateList[1]), int(endDateList[2]))
2540 # endDate = datetime.date(int(endDateList[0]), int(endDateList[1]), int(endDateList[2]))
2539
2541
2540 startTime = self.proStartTime.time()
2542 startTime = self.proStartTime.time()
2541 endTime = self.proEndTime.time()
2543 endTime = self.proEndTime.time()
2542
2544
2543 startTime = str(startTime.toString("H:m:s"))
2545 startTime = str(startTime.toString("H:m:s"))
2544 endTime = str(endTime.toString("H:m:s"))
2546 endTime = str(endTime.toString("H:m:s"))
2545
2547
2546 projectParms = ProjectParms()
2548 projectParms = ProjectParms()
2547
2549
2548 projectParms.name = project_name
2550 projectParms.name = project_name
2549 projectParms.description = description
2551 projectParms.description = description
2550 projectParms.datatype = datatype
2552 projectParms.datatype = datatype
2551 projectParms.ext = ext
2553 projectParms.ext = ext
2552 projectParms.dpath = dpath
2554 projectParms.dpath = dpath
2553 projectParms.online = online
2555 projectParms.online = online
2554 projectParms.startDate = startDate
2556 projectParms.startDate = startDate
2555 projectParms.endDate = endDate
2557 projectParms.endDate = endDate
2556 projectParms.startTime = startTime
2558 projectParms.startTime = startTime
2557 projectParms.endTime = endTime
2559 projectParms.endTime = endTime
2558 projectParms.delay = delay
2560 projectParms.delay = delay
2559 projectParms.walk = walk
2561 projectParms.walk = walk
2560 projectParms.expLabel = expLabel
2562 projectParms.expLabel = expLabel
2561 projectParms.set = set
2563 projectParms.set = set
2562 projectParms.ippKm = ippKm
2564 projectParms.ippKm = ippKm
2563 projectParms.parmsOk = parms_ok
2565 projectParms.parmsOk = parms_ok
2564
2566
2565 return projectParms
2567 return projectParms
2566
2568
2567
2569
2568 def __getParmsFromProjectObj(self, projectObjView):
2570 def __getParmsFromProjectObj(self, projectObjView):
2569
2571
2570 parms_ok = True
2572 parms_ok = True
2571
2573
2572 project_name, description = projectObjView.name, projectObjView.description
2574 project_name, description = projectObjView.name, projectObjView.description
2573
2575
2574 readUnitObj = projectObjView.getReadUnitObj()
2576 readUnitObj = projectObjView.getReadUnitObj()
2575 datatype = readUnitObj.datatype
2577 datatype = readUnitObj.datatype
2576
2578
2577 operationObj = readUnitObj.getOperationObj(name='run')
2579 operationObj = readUnitObj.getOperationObj(name='run')
2578
2580
2579 dpath = operationObj.getParameterValue(parameterName='path')
2581 dpath = operationObj.getParameterValue(parameterName='path')
2580 startDate = operationObj.getParameterValue(parameterName='startDate')
2582 startDate = operationObj.getParameterValue(parameterName='startDate')
2581 endDate = operationObj.getParameterValue(parameterName='endDate')
2583 endDate = operationObj.getParameterValue(parameterName='endDate')
2582
2584
2583 startDate = startDate.strftime("%Y/%m/%d")
2585 startDate = startDate.strftime("%Y/%m/%d")
2584 endDate = endDate.strftime("%Y/%m/%d")
2586 endDate = endDate.strftime("%Y/%m/%d")
2585
2587
2586 startTime = operationObj.getParameterValue(parameterName='startTime')
2588 startTime = operationObj.getParameterValue(parameterName='startTime')
2587 endTime = operationObj.getParameterValue(parameterName='endTime')
2589 endTime = operationObj.getParameterValue(parameterName='endTime')
2588
2590
2589 startTime = startTime.strftime("%H:%M:%S")
2591 startTime = startTime.strftime("%H:%M:%S")
2590 endTime = endTime.strftime("%H:%M:%S")
2592 endTime = endTime.strftime("%H:%M:%S")
2591
2593
2592 online = 0
2594 online = 0
2593 try:
2595 try:
2594 online = operationObj.getParameterValue(parameterName='online')
2596 online = operationObj.getParameterValue(parameterName='online')
2595 except:
2597 except:
2596 pass
2598 pass
2597
2599
2598 delay = ''
2600 delay = ''
2599 try:
2601 try:
2600 delay = operationObj.getParameterValue(parameterName='delay')
2602 delay = operationObj.getParameterValue(parameterName='delay')
2601 except:
2603 except:
2602 pass
2604 pass
2603
2605
2604 walk = 0
2606 walk = 0
2605 try:
2607 try:
2606 walk = operationObj.getParameterValue(parameterName='walk')
2608 walk = operationObj.getParameterValue(parameterName='walk')
2607 except:
2609 except:
2608 pass
2610 pass
2609
2611
2610 set = ''
2612 set = ''
2611 try:
2613 try:
2612 set = operationObj.getParameterValue(parameterName='set')
2614 set = operationObj.getParameterValue(parameterName='set')
2613 except:
2615 except:
2614 pass
2616 pass
2615
2617
2616 expLabel = ''
2618 expLabel = ''
2617 try:
2619 try:
2618 expLabel = operationObj.getParameterValue(parameterName='expLabel')
2620 expLabel = operationObj.getParameterValue(parameterName='expLabel')
2619 except:
2621 except:
2620 pass
2622 pass
2621
2623
2622 ippKm = ''
2624 ippKm = ''
2623 if datatype.lower() == 'usrp':
2625 if datatype.lower() == 'usrp':
2624 try:
2626 try:
2625 ippKm = operationObj.getParameterValue(parameterName='ippKm')
2627 ippKm = operationObj.getParameterValue(parameterName='ippKm')
2626 except:
2628 except:
2627 pass
2629 pass
2628
2630
2629 projectParms = ProjectParms()
2631 projectParms = ProjectParms()
2630
2632
2631 projectParms.name = project_name
2633 projectParms.name = project_name
2632 projectParms.description = description
2634 projectParms.description = description
2633 projectParms.datatype = datatype
2635 projectParms.datatype = datatype
2634 projectParms.ext = None
2636 projectParms.ext = None
2635 projectParms.dpath = dpath
2637 projectParms.dpath = dpath
2636 projectParms.online = online
2638 projectParms.online = online
2637 projectParms.startDate = startDate
2639 projectParms.startDate = startDate
2638 projectParms.endDate = endDate
2640 projectParms.endDate = endDate
2639 projectParms.startTime = startTime
2641 projectParms.startTime = startTime
2640 projectParms.endTime = endTime
2642 projectParms.endTime = endTime
2641 projectParms.delay=delay
2643 projectParms.delay=delay
2642 projectParms.walk=walk
2644 projectParms.walk=walk
2643 projectParms.set=set
2645 projectParms.set=set
2644 projectParms.ippKm=ippKm
2646 projectParms.ippKm=ippKm
2645 projectParms.expLabel = expLabel
2647 projectParms.expLabel = expLabel
2646 projectParms.parmsOk=parms_ok
2648 projectParms.parmsOk=parms_ok
2647
2649
2648 return projectParms
2650 return projectParms
2649
2651
2650 def refreshProjectWindow(self, projectObjView):
2652 def refreshProjectWindow(self, projectObjView):
2651
2653
2652 projectParms = self.__getParmsFromProjectObj(projectObjView)
2654 projectParms = self.__getParmsFromProjectObj(projectObjView)
2653
2655
2654 index = projectParms.getDatatypeIndex()
2656 index = projectParms.getDatatypeIndex()
2655
2657
2656 self.proName.setText(projectParms.name)
2658 self.proName.setText(projectParms.name)
2657 self.proDescription.clear()
2659 self.proDescription.clear()
2658 self.proDescription.append(projectParms.description)
2660 self.proDescription.append(projectParms.description)
2659
2661
2660 self.on_proComDataType_activated(index=index)
2662 self.on_proComDataType_activated(index=index)
2661 self.proDataPath.setText(projectParms.dpath)
2663 self.proDataPath.setText(projectParms.dpath)
2662 self.proComDataType.setCurrentIndex(index)
2664 self.proComDataType.setCurrentIndex(index)
2663 self.proComReadMode.setCurrentIndex(projectParms.online)
2665 self.proComReadMode.setCurrentIndex(projectParms.online)
2664 self.proDelay.setText(str(projectParms.delay))
2666 self.proDelay.setText(str(projectParms.delay))
2665 self.proSet.setText(str(projectParms.set))
2667 self.proSet.setText(str(projectParms.set))
2666 self.proIPPKm.setText(str(projectParms.ippKm))
2668 self.proIPPKm.setText(str(projectParms.ippKm))
2667 self.proComWalk.setCurrentIndex(projectParms.walk)
2669 self.proComWalk.setCurrentIndex(projectParms.walk)
2668 self.proExpLabel.setText(str(projectParms.expLabel).strip())
2670 self.proExpLabel.setText(str(projectParms.expLabel).strip())
2669
2671
2670 dateList = self.loadDays(data_path = projectParms.dpath,
2672 dateList = self.loadDays(data_path = projectParms.dpath,
2671 ext = projectParms.getExt(),
2673 ext = projectParms.getExt(),
2672 walk = projectParms.walk,
2674 walk = projectParms.walk,
2673 expLabel = projectParms.expLabel)
2675 expLabel = projectParms.expLabel)
2674
2676
2675 try:
2677 try:
2676 startDateIndex = dateList.index(projectParms.startDate)
2678 startDateIndex = dateList.index(projectParms.startDate)
2677 except:
2679 except:
2678 startDateIndex = 0
2680 startDateIndex = 0
2679
2681
2680 try:
2682 try:
2681 endDateIndex = dateList.index(projectParms.endDate)
2683 endDateIndex = dateList.index(projectParms.endDate)
2682 except:
2684 except:
2683 endDateIndex = int(self.proComEndDate.count()-1)
2685 endDateIndex = int(self.proComEndDate.count()-1)
2684
2686
2685 self.proComStartDate.setCurrentIndex(startDateIndex)
2687 self.proComStartDate.setCurrentIndex(startDateIndex)
2686 self.proComEndDate.setCurrentIndex(endDateIndex)
2688 self.proComEndDate.setCurrentIndex(endDateIndex)
2687
2689
2688 startlist = projectParms.startTime.split(":")
2690 startlist = projectParms.startTime.split(":")
2689 endlist = projectParms.endTime.split(":")
2691 endlist = projectParms.endTime.split(":")
2690
2692
2691 self.time.setHMS(int(startlist[0]), int(startlist[1]), int(startlist[2]))
2693 self.time.setHMS(int(startlist[0]), int(startlist[1]), int(startlist[2]))
2692 self.proStartTime.setTime(self.time)
2694 self.proStartTime.setTime(self.time)
2693
2695
2694 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
2696 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
2695 self.proEndTime.setTime(self.time)
2697 self.proEndTime.setTime(self.time)
2696
2698
2697
2699
2698 def __refreshVoltageWindow(self, puObj):
2700 def __refreshVoltageWindow(self, puObj):
2699
2701
2700 opObj = puObj.getOperationObj(name='setRadarFrequency')
2702 opObj = puObj.getOperationObj(name='setRadarFrequency')
2701 if opObj == None:
2703 if opObj == None:
2702 self.volOpRadarfrequency.clear()
2704 self.volOpRadarfrequency.clear()
2703 self.volOpCebRadarfrequency.setCheckState(0)
2705 self.volOpCebRadarfrequency.setCheckState(0)
2704 else:
2706 else:
2705 value = opObj.getParameterValue(parameterName='frequency')
2707 value = opObj.getParameterValue(parameterName='frequency')
2706 value = str(float(value)/1e6)
2708 value = str(float(value)/1e6)
2707 self.volOpRadarfrequency.setText(value)
2709 self.volOpRadarfrequency.setText(value)
2708 self.volOpRadarfrequency.setEnabled(True)
2710 self.volOpRadarfrequency.setEnabled(True)
2709 self.volOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
2711 self.volOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
2710
2712
2711 opObj = puObj.getOperationObj(name="selectChannels")
2713 opObj = puObj.getOperationObj(name="selectChannels")
2712
2714
2713 if opObj == None:
2715 if opObj == None:
2714 opObj = puObj.getOperationObj(name="selectChannelsByIndex")
2716 opObj = puObj.getOperationObj(name="selectChannelsByIndex")
2715
2717
2716 if opObj == None:
2718 if opObj == None:
2717 self.volOpChannel.clear()
2719 self.volOpChannel.clear()
2718 self.volOpCebChannels.setCheckState(0)
2720 self.volOpCebChannels.setCheckState(0)
2719 else:
2721 else:
2720 channelEnabled = False
2722 channelEnabled = False
2721 try:
2723 try:
2722 value = opObj.getParameterValue(parameterName='channelList')
2724 value = opObj.getParameterValue(parameterName='channelList')
2723 value = str(value)[1:-1]
2725 value = str(value)[1:-1]
2724 channelEnabled = True
2726 channelEnabled = True
2725 channelMode = 0
2727 channelMode = 0
2726 except:
2728 except:
2727 pass
2729 pass
2728 try:
2730 try:
2729 value = opObj.getParameterValue(parameterName='channelIndexList')
2731 value = opObj.getParameterValue(parameterName='channelIndexList')
2730 value = str(value)[1:-1]
2732 value = str(value)[1:-1]
2731 channelEnabled = True
2733 channelEnabled = True
2732 channelMode = 1
2734 channelMode = 1
2733 except:
2735 except:
2734 pass
2736 pass
2735
2737
2736 if channelEnabled:
2738 if channelEnabled:
2737 self.volOpChannel.setText(value)
2739 self.volOpChannel.setText(value)
2738 self.volOpChannel.setEnabled(True)
2740 self.volOpChannel.setEnabled(True)
2739 self.volOpCebChannels.setCheckState(QtCore.Qt.Checked)
2741 self.volOpCebChannels.setCheckState(QtCore.Qt.Checked)
2740 self.volOpComChannels.setCurrentIndex(channelMode)
2742 self.volOpComChannels.setCurrentIndex(channelMode)
2741
2743
2742 opObj = puObj.getOperationObj(name="selectHeights")
2744 opObj = puObj.getOperationObj(name="selectHeights")
2743 if opObj == None:
2745 if opObj == None:
2744 self.volOpHeights.clear()
2746 self.volOpHeights.clear()
2745 self.volOpCebHeights.setCheckState(0)
2747 self.volOpCebHeights.setCheckState(0)
2746 else:
2748 else:
2747 value1 = int(opObj.getParameterValue(parameterName='minHei'))
2749 value1 = str(opObj.getParameterValue(parameterName='minHei'))
2748 value1 = str(value1)
2750 value2 = str(opObj.getParameterValue(parameterName='maxHei'))
2749 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
2750 value2 = str(value2)
2751 value = value1 + "," + value2
2751 value = value1 + "," + value2
2752 self.volOpHeights.setText(value)
2752 self.volOpHeights.setText(value)
2753 self.volOpHeights.setEnabled(True)
2753 self.volOpHeights.setEnabled(True)
2754 self.volOpCebHeights.setCheckState(QtCore.Qt.Checked)
2754 self.volOpCebHeights.setCheckState(QtCore.Qt.Checked)
2755
2755
2756 opObj = puObj.getOperationObj(name="filterByHeights")
2756 opObj = puObj.getOperationObj(name="filterByHeights")
2757 if opObj == None:
2757 if opObj == None:
2758 self.volOpFilter.clear()
2758 self.volOpFilter.clear()
2759 self.volOpCebFilter.setCheckState(0)
2759 self.volOpCebFilter.setCheckState(0)
2760 else:
2760 else:
2761 value = opObj.getParameterValue(parameterName='window')
2761 value = opObj.getParameterValue(parameterName='window')
2762 value = str(value)
2762 value = str(value)
2763 self.volOpFilter.setText(value)
2763 self.volOpFilter.setText(value)
2764 self.volOpFilter.setEnabled(True)
2764 self.volOpFilter.setEnabled(True)
2765 self.volOpCebFilter.setCheckState(QtCore.Qt.Checked)
2765 self.volOpCebFilter.setCheckState(QtCore.Qt.Checked)
2766
2766
2767 opObj = puObj.getOperationObj(name="ProfileSelector")
2767 opObj = puObj.getOperationObj(name="ProfileSelector")
2768 if opObj == None:
2768 if opObj == None:
2769 self.volOpProfile.clear()
2769 self.volOpProfile.clear()
2770 self.volOpCebProfile.setCheckState(0)
2770 self.volOpCebProfile.setCheckState(0)
2771 else:
2771 else:
2772 for parmObj in opObj.getParameterObjList():
2772 for parmObj in opObj.getParameterObjList():
2773
2773
2774 if parmObj.name == "profileList":
2774 if parmObj.name == "profileList":
2775 value = parmObj.getValue()
2775 value = parmObj.getValue()
2776 value = str(value)[1:-1]
2776 value = str(value)[1:-1]
2777 self.volOpProfile.setText(value)
2777 self.volOpProfile.setText(value)
2778 self.volOpProfile.setEnabled(True)
2778 self.volOpProfile.setEnabled(True)
2779 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2779 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2780 self.volOpComProfile.setCurrentIndex(0)
2780 self.volOpComProfile.setCurrentIndex(0)
2781
2781
2782 if parmObj.name == "profileRangeList":
2782 if parmObj.name == "profileRangeList":
2783 value = parmObj.getValue()
2783 value = parmObj.getValue()
2784 value = str(value)[1:-1]
2784 value = str(value)[1:-1]
2785 self.volOpProfile.setText(value)
2785 self.volOpProfile.setText(value)
2786 self.volOpProfile.setEnabled(True)
2786 self.volOpProfile.setEnabled(True)
2787 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2787 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2788 self.volOpComProfile.setCurrentIndex(1)
2788 self.volOpComProfile.setCurrentIndex(1)
2789
2789
2790 if parmObj.name == "rangeList":
2790 if parmObj.name == "rangeList":
2791 value = parmObj.getValue()
2791 value = parmObj.getValue()
2792 value = str(value)[1:-1]
2792 value = str(value)[1:-1]
2793 self.volOpProfile.setText(value)
2793 self.volOpProfile.setText(value)
2794 self.volOpProfile.setEnabled(True)
2794 self.volOpProfile.setEnabled(True)
2795 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2795 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2796 self.volOpComProfile.setCurrentIndex(2)
2796 self.volOpComProfile.setCurrentIndex(2)
2797
2797
2798 opObj = puObj.getOperationObj(name="Decoder")
2798 opObj = puObj.getOperationObj(name="Decoder")
2799 self.volOpCode.setText("")
2799 self.volOpCode.setText("")
2800 if opObj == None:
2800 if opObj == None:
2801 self.volOpCebDecodification.setCheckState(0)
2801 self.volOpCebDecodification.setCheckState(0)
2802 else:
2802 else:
2803 self.volOpCebDecodification.setCheckState(QtCore.Qt.Checked)
2803 self.volOpCebDecodification.setCheckState(QtCore.Qt.Checked)
2804
2804
2805 parmObj = opObj.getParameterObj('code')
2805 parmObj = opObj.getParameterObj('code')
2806
2806
2807 if parmObj == None:
2807 if parmObj == None:
2808 self.volOpComCode.setCurrentIndex(0)
2808 self.volOpComCode.setCurrentIndex(0)
2809 else:
2809 else:
2810
2810
2811 parmObj1 = opObj.getParameterObj('nCode')
2811 parmObj1 = opObj.getParameterObj('nCode')
2812 parmObj2 = opObj.getParameterObj('nBaud')
2812 parmObj2 = opObj.getParameterObj('nBaud')
2813
2813
2814 if parmObj1 == None or parmObj2 == None:
2814 if parmObj1 == None or parmObj2 == None:
2815 self.volOpComCode.setCurrentIndex(0)
2815 self.volOpComCode.setCurrentIndex(0)
2816 else:
2816 else:
2817 code = ast.literal_eval(str(parmObj.getValue()))
2817 code = ast.literal_eval(str(parmObj.getValue()))
2818 nCode = parmObj1.getValue()
2818 nCode = parmObj1.getValue()
2819 nBaud = parmObj2.getValue()
2819 nBaud = parmObj2.getValue()
2820
2820
2821 code = numpy.asarray(code).reshape((nCode, nBaud)).tolist()
2821 code = numpy.asarray(code).reshape((nCode, nBaud)).tolist()
2822
2822
2823 #User defined by default
2823 #User defined by default
2824 self.volOpComCode.setCurrentIndex(13)
2824 self.volOpComCode.setCurrentIndex(13)
2825 self.volOpCode.setText(str(code))
2825 self.volOpCode.setText(str(code))
2826
2826
2827 if nCode == 1:
2827 if nCode == 1:
2828 if nBaud == 3:
2828 if nBaud == 3:
2829 self.volOpComCode.setCurrentIndex(1)
2829 self.volOpComCode.setCurrentIndex(1)
2830 if nBaud == 4:
2830 if nBaud == 4:
2831 self.volOpComCode.setCurrentIndex(2)
2831 self.volOpComCode.setCurrentIndex(2)
2832 if nBaud == 5:
2832 if nBaud == 5:
2833 self.volOpComCode.setCurrentIndex(3)
2833 self.volOpComCode.setCurrentIndex(3)
2834 if nBaud == 7:
2834 if nBaud == 7:
2835 self.volOpComCode.setCurrentIndex(4)
2835 self.volOpComCode.setCurrentIndex(4)
2836 if nBaud == 11:
2836 if nBaud == 11:
2837 self.volOpComCode.setCurrentIndex(5)
2837 self.volOpComCode.setCurrentIndex(5)
2838 if nBaud == 13:
2838 if nBaud == 13:
2839 self.volOpComCode.setCurrentIndex(6)
2839 self.volOpComCode.setCurrentIndex(6)
2840
2840
2841 if nCode == 2:
2841 if nCode == 2:
2842 if nBaud == 3:
2842 if nBaud == 3:
2843 self.volOpComCode.setCurrentIndex(7)
2843 self.volOpComCode.setCurrentIndex(7)
2844 if nBaud == 4:
2844 if nBaud == 4:
2845 self.volOpComCode.setCurrentIndex(8)
2845 self.volOpComCode.setCurrentIndex(8)
2846 if nBaud == 5:
2846 if nBaud == 5:
2847 self.volOpComCode.setCurrentIndex(9)
2847 self.volOpComCode.setCurrentIndex(9)
2848 if nBaud == 7:
2848 if nBaud == 7:
2849 self.volOpComCode.setCurrentIndex(10)
2849 self.volOpComCode.setCurrentIndex(10)
2850 if nBaud == 11:
2850 if nBaud == 11:
2851 self.volOpComCode.setCurrentIndex(11)
2851 self.volOpComCode.setCurrentIndex(11)
2852 if nBaud == 13:
2852 if nBaud == 13:
2853 self.volOpComCode.setCurrentIndex(12)
2853 self.volOpComCode.setCurrentIndex(12)
2854
2854
2855
2855
2856 opObj = puObj.getOperationObj(name="deFlip")
2856 opObj = puObj.getOperationObj(name="deFlip")
2857 if opObj == None:
2857 if opObj == None:
2858 self.volOpFlip.clear()
2858 self.volOpFlip.clear()
2859 self.volOpFlip.setEnabled(False)
2859 self.volOpFlip.setEnabled(False)
2860 self.volOpCebFlip.setCheckState(0)
2860 self.volOpCebFlip.setCheckState(0)
2861 else:
2861 else:
2862 try:
2862 try:
2863 value = opObj.getParameterValue(parameterName='channelList')
2863 value = opObj.getParameterValue(parameterName='channelList')
2864 value = str(value)[1:-1]
2864 value = str(value)[1:-1]
2865 except:
2865 except:
2866 value = ""
2866 value = ""
2867
2867
2868 self.volOpFlip.setText(value)
2868 self.volOpFlip.setText(value)
2869 self.volOpFlip.setEnabled(True)
2869 self.volOpFlip.setEnabled(True)
2870 self.volOpCebFlip.setCheckState(QtCore.Qt.Checked)
2870 self.volOpCebFlip.setCheckState(QtCore.Qt.Checked)
2871
2871
2872 opObj = puObj.getOperationObj(name="CohInt")
2872 opObj = puObj.getOperationObj(name="CohInt")
2873 if opObj == None:
2873 if opObj == None:
2874 self.volOpCohInt.clear()
2874 self.volOpCohInt.clear()
2875 self.volOpCebCohInt.setCheckState(0)
2875 self.volOpCebCohInt.setCheckState(0)
2876 else:
2876 else:
2877 value = opObj.getParameterValue(parameterName='n')
2877 value = opObj.getParameterValue(parameterName='n')
2878 self.volOpCohInt.setText(str(value))
2878 self.volOpCohInt.setText(str(value))
2879 self.volOpCohInt.setEnabled(True)
2879 self.volOpCohInt.setEnabled(True)
2880 self.volOpCebCohInt.setCheckState(QtCore.Qt.Checked)
2880 self.volOpCebCohInt.setCheckState(QtCore.Qt.Checked)
2881
2881
2882 opObj = puObj.getOperationObj(name='Scope')
2882 opObj = puObj.getOperationObj(name='Scope')
2883 if opObj == None:
2883 if opObj == None:
2884 self.volGraphCebshow.setCheckState(0)
2884 self.volGraphCebshow.setCheckState(0)
2885 else:
2885 else:
2886 self.volGraphCebshow.setCheckState(QtCore.Qt.Checked)
2886 self.volGraphCebshow.setCheckState(QtCore.Qt.Checked)
2887
2887
2888 parmObj = opObj.getParameterObj(parameterName='channelList')
2888 parmObj = opObj.getParameterObj(parameterName='channelList')
2889
2889
2890 if parmObj == None:
2890 if parmObj == None:
2891 self.volGraphChannelList.clear()
2891 self.volGraphChannelList.clear()
2892 else:
2892 else:
2893 value = parmObj.getValue()
2893 value = parmObj.getValue()
2894 value = str(value)
2894 value = str(value)
2895 self.volGraphChannelList.setText(value)
2895 self.volGraphChannelList.setText(value)
2896 self.volOpProfile.setEnabled(True)
2896 self.volOpProfile.setEnabled(True)
2897
2897
2898 parmObj1 = opObj.getParameterObj(parameterName='xmin')
2898 parmObj1 = opObj.getParameterObj(parameterName='xmin')
2899 parmObj2 = opObj.getParameterObj(parameterName='xmax')
2899 parmObj2 = opObj.getParameterObj(parameterName='xmax')
2900
2900
2901 if parmObj1 == None or parmObj2 ==None:
2901 if parmObj1 == None or parmObj2 ==None:
2902 self.volGraphfreqrange.clear()
2902 self.volGraphfreqrange.clear()
2903 else:
2903 else:
2904 value1 = parmObj1.getValue()
2904 value1 = parmObj1.getValue()
2905 value1 = str(value1)
2905 value1 = str(value1)
2906 value2 = parmObj2.getValue()
2906 value2 = parmObj2.getValue()
2907 value2 = str(value2)
2907 value2 = str(value2)
2908 value = value1 + "," + value2
2908 value = value1 + "," + value2
2909 self.volGraphfreqrange.setText(value)
2909 self.volGraphfreqrange.setText(value)
2910
2910
2911 parmObj1 = opObj.getParameterObj(parameterName='ymin')
2911 parmObj1 = opObj.getParameterObj(parameterName='ymin')
2912 parmObj2 = opObj.getParameterObj(parameterName='ymax')
2912 parmObj2 = opObj.getParameterObj(parameterName='ymax')
2913
2913
2914 if parmObj1 == None or parmObj2 ==None:
2914 if parmObj1 == None or parmObj2 ==None:
2915 self.volGraphHeightrange.clear()
2915 self.volGraphHeightrange.clear()
2916 else:
2916 else:
2917 value1 = parmObj1.getValue()
2917 value1 = parmObj1.getValue()
2918 value1 = str(value1)
2918 value1 = str(value1)
2919 value2 = parmObj2.getValue()
2919 value2 = parmObj2.getValue()
2920 value2 = str(value2)
2920 value2 = str(value2)
2921 value = value1 + "," + value2
2921 value = value1 + "," + value2
2922 value2 = str(value2)
2922 value2 = str(value2)
2923 self.volGraphHeightrange.setText(value)
2923 self.volGraphHeightrange.setText(value)
2924
2924
2925 parmObj = opObj.getParameterObj(parameterName='save')
2925 parmObj = opObj.getParameterObj(parameterName='save')
2926
2926
2927 if parmObj == None:
2927 if parmObj == None:
2928 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2928 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2929 else:
2929 else:
2930 value = parmObj.getValue()
2930 value = parmObj.getValue()
2931 if int(value):
2931 if int(value):
2932 self.volGraphCebSave.setCheckState(QtCore.Qt.Checked)
2932 self.volGraphCebSave.setCheckState(QtCore.Qt.Checked)
2933 else:
2933 else:
2934 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2934 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2935
2935
2936 parmObj = opObj.getParameterObj(parameterName='figpath')
2936 parmObj = opObj.getParameterObj(parameterName='figpath')
2937 if parmObj == None:
2937 if parmObj == None:
2938 self.volGraphPath.clear()
2938 self.volGraphPath.clear()
2939 else:
2939 else:
2940 value = parmObj.getValue()
2940 value = parmObj.getValue()
2941 path = str(value)
2941 path = str(value)
2942 self.volGraphPath.setText(path)
2942 self.volGraphPath.setText(path)
2943
2943
2944 parmObj = opObj.getParameterObj(parameterName='figfile')
2944 parmObj = opObj.getParameterObj(parameterName='figfile')
2945 if parmObj == None:
2945 if parmObj == None:
2946 self.volGraphPrefix.clear()
2946 self.volGraphPrefix.clear()
2947 else:
2947 else:
2948 value = parmObj.getValue()
2948 value = parmObj.getValue()
2949 figfile = str(value)
2949 figfile = str(value)
2950 self.volGraphPrefix.setText(figfile)
2950 self.volGraphPrefix.setText(figfile)
2951
2951
2952 # outputVoltageWrite
2952 # outputVoltageWrite
2953 opObj = puObj.getOperationObj(name='VoltageWriter')
2953 opObj = puObj.getOperationObj(name='VoltageWriter')
2954
2954
2955 if opObj == None:
2955 if opObj == None:
2956 self.volOutputPath.clear()
2956 self.volOutputPath.clear()
2957 self.volOutputblocksperfile.clear()
2957 self.volOutputblocksperfile.clear()
2958 self.volOutputprofilesperblock.clear()
2958 self.volOutputprofilesperblock.clear()
2959 else:
2959 else:
2960 parmObj = opObj.getParameterObj(parameterName='path')
2960 parmObj = opObj.getParameterObj(parameterName='path')
2961 if parmObj == None:
2961 if parmObj == None:
2962 self.volOutputPath.clear()
2962 self.volOutputPath.clear()
2963 else:
2963 else:
2964 value = parmObj.getValue()
2964 value = parmObj.getValue()
2965 path = str(value)
2965 path = str(value)
2966 self.volOutputPath.setText(path)
2966 self.volOutputPath.setText(path)
2967
2967
2968 parmObj = opObj.getParameterObj(parameterName='blocksPerFile')
2968 parmObj = opObj.getParameterObj(parameterName='blocksPerFile')
2969 if parmObj == None:
2969 if parmObj == None:
2970 self.volOutputblocksperfile.clear()
2970 self.volOutputblocksperfile.clear()
2971 else:
2971 else:
2972 value = parmObj.getValue()
2972 value = parmObj.getValue()
2973 blocksperfile = str(value)
2973 blocksperfile = str(value)
2974 self.volOutputblocksperfile.setText(blocksperfile)
2974 self.volOutputblocksperfile.setText(blocksperfile)
2975
2975
2976 parmObj = opObj.getParameterObj(parameterName='profilesPerBlock')
2976 parmObj = opObj.getParameterObj(parameterName='profilesPerBlock')
2977 if parmObj == None:
2977 if parmObj == None:
2978 self.volOutputprofilesperblock.clear()
2978 self.volOutputprofilesperblock.clear()
2979 else:
2979 else:
2980 value = parmObj.getValue()
2980 value = parmObj.getValue()
2981 profilesPerBlock = str(value)
2981 profilesPerBlock = str(value)
2982 self.volOutputprofilesperblock.setText(profilesPerBlock)
2982 self.volOutputprofilesperblock.setText(profilesPerBlock)
2983
2983
2984 return
2984 return
2985
2985
2986 def __refreshSpectraWindow(self, puObj):
2986 def __refreshSpectraWindow(self, puObj):
2987
2987
2988 inputId = puObj.getInputId()
2988 inputId = puObj.getInputId()
2989 inputPUObj = self.__puObjDict[inputId]
2989 inputPUObj = self.__puObjDict[inputId]
2990
2990
2991 if inputPUObj.datatype == 'Voltage':
2991 if inputPUObj.datatype == 'Voltage':
2992 self.specOpnFFTpoints.setEnabled(True)
2992 self.specOpnFFTpoints.setEnabled(True)
2993 self.specOpProfiles.setEnabled(True)
2993 self.specOpProfiles.setEnabled(True)
2994 self.specOpippFactor.setEnabled(True)
2994 self.specOpippFactor.setEnabled(True)
2995 else:
2995 else:
2996 self.specOpnFFTpoints.setEnabled(False)
2996 self.specOpnFFTpoints.setEnabled(False)
2997 self.specOpProfiles.setEnabled(False)
2997 self.specOpProfiles.setEnabled(False)
2998 self.specOpippFactor.setEnabled(False)
2998 self.specOpippFactor.setEnabled(False)
2999
2999
3000 opObj = puObj.getOperationObj(name='setRadarFrequency')
3000 opObj = puObj.getOperationObj(name='setRadarFrequency')
3001 if opObj == None:
3001 if opObj == None:
3002 self.specOpRadarfrequency.clear()
3002 self.specOpRadarfrequency.clear()
3003 self.specOpCebRadarfrequency.setCheckState(0)
3003 self.specOpCebRadarfrequency.setCheckState(0)
3004 else:
3004 else:
3005 value = opObj.getParameterValue(parameterName='frequency')
3005 value = opObj.getParameterValue(parameterName='frequency')
3006 value = str(float(value)/1e6)
3006 value = str(float(value)/1e6)
3007 self.specOpRadarfrequency.setText(value)
3007 self.specOpRadarfrequency.setText(value)
3008 self.specOpRadarfrequency.setEnabled(True)
3008 self.specOpRadarfrequency.setEnabled(True)
3009 self.specOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
3009 self.specOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
3010
3010
3011 opObj = puObj.getOperationObj(name="run")
3011 opObj = puObj.getOperationObj(name="run")
3012 if opObj == None:
3012 if opObj == None:
3013 self.specOpnFFTpoints.clear()
3013 self.specOpnFFTpoints.clear()
3014 self.specOpProfiles.clear()
3014 self.specOpProfiles.clear()
3015 self.specOpippFactor.clear()
3015 self.specOpippFactor.clear()
3016 else:
3016 else:
3017 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
3017 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
3018 if parmObj == None:
3018 if parmObj == None:
3019 self.specOpnFFTpoints.clear()
3019 self.specOpnFFTpoints.clear()
3020 else:
3020 else:
3021 self.specOpnFFTpoints.setEnabled(True)
3021 self.specOpnFFTpoints.setEnabled(True)
3022 value = opObj.getParameterValue(parameterName='nFFTPoints')
3022 value = opObj.getParameterValue(parameterName='nFFTPoints')
3023 self.specOpnFFTpoints.setText(str(value))
3023 self.specOpnFFTpoints.setText(str(value))
3024
3024
3025 parmObj = opObj.getParameterObj(parameterName='nProfiles')
3025 parmObj = opObj.getParameterObj(parameterName='nProfiles')
3026 if parmObj == None:
3026 if parmObj == None:
3027 self.specOpProfiles.clear()
3027 self.specOpProfiles.clear()
3028 else:
3028 else:
3029 self.specOpProfiles.setEnabled(True)
3029 self.specOpProfiles.setEnabled(True)
3030 value = opObj.getParameterValue(parameterName='nProfiles')
3030 value = opObj.getParameterValue(parameterName='nProfiles')
3031 self.specOpProfiles.setText(str(value))
3031 self.specOpProfiles.setText(str(value))
3032
3032
3033 parmObj = opObj.getParameterObj(parameterName='ippFactor')
3033 parmObj = opObj.getParameterObj(parameterName='ippFactor')
3034 if parmObj == None:
3034 if parmObj == None:
3035 self.specOpippFactor.clear()
3035 self.specOpippFactor.clear()
3036 else:
3036 else:
3037 self.specOpippFactor.setEnabled(True)
3037 self.specOpippFactor.setEnabled(True)
3038 value = opObj.getParameterValue(parameterName='ippFactor')
3038 value = opObj.getParameterValue(parameterName='ippFactor')
3039 self.specOpippFactor.setText(str(value))
3039 self.specOpippFactor.setText(str(value))
3040
3040
3041 opObj = puObj.getOperationObj(name="run")
3041 opObj = puObj.getOperationObj(name="run")
3042 if opObj == None:
3042 if opObj == None:
3043 self.specOppairsList.clear()
3043 self.specOppairsList.clear()
3044 self.specOpCebCrossSpectra.setCheckState(0)
3044 self.specOpCebCrossSpectra.setCheckState(0)
3045 else:
3045 else:
3046 parmObj = opObj.getParameterObj(parameterName='pairsList')
3046 parmObj = opObj.getParameterObj(parameterName='pairsList')
3047 if parmObj == None:
3047 if parmObj == None:
3048 self.specOppairsList.clear()
3048 self.specOppairsList.clear()
3049 self.specOpCebCrossSpectra.setCheckState(0)
3049 self.specOpCebCrossSpectra.setCheckState(0)
3050 else:
3050 else:
3051 value = opObj.getParameterValue(parameterName='pairsList')
3051 value = opObj.getParameterValue(parameterName='pairsList')
3052 value = str(value)[1:-1]
3052 value = str(value)[1:-1]
3053 self.specOppairsList.setText(str(value))
3053 self.specOppairsList.setText(str(value))
3054 self.specOppairsList.setEnabled(True)
3054 self.specOppairsList.setEnabled(True)
3055 self.specOpCebCrossSpectra.setCheckState(QtCore.Qt.Checked)
3055 self.specOpCebCrossSpectra.setCheckState(QtCore.Qt.Checked)
3056
3056
3057 opObj = puObj.getOperationObj(name="selectChannels")
3057 opObj = puObj.getOperationObj(name="selectChannels")
3058
3058
3059 if opObj == None:
3059 if opObj == None:
3060 opObj = puObj.getOperationObj(name="selectChannelsByIndex")
3060 opObj = puObj.getOperationObj(name="selectChannelsByIndex")
3061
3061
3062 if opObj == None:
3062 if opObj == None:
3063 self.specOpChannel.clear()
3063 self.specOpChannel.clear()
3064 self.specOpCebChannel.setCheckState(0)
3064 self.specOpCebChannel.setCheckState(0)
3065 else:
3065 else:
3066 channelEnabled = False
3066 channelEnabled = False
3067 try:
3067 try:
3068 value = opObj.getParameterValue(parameterName='channelList')
3068 value = opObj.getParameterValue(parameterName='channelList')
3069 value = str(value)[1:-1]
3069 value = str(value)[1:-1]
3070 channelEnabled = True
3070 channelEnabled = True
3071 channelMode = 0
3071 channelMode = 0
3072 except:
3072 except:
3073 pass
3073 pass
3074 try:
3074 try:
3075 value = opObj.getParameterValue(parameterName='channelIndexList')
3075 value = opObj.getParameterValue(parameterName='channelIndexList')
3076 value = str(value)[1:-1]
3076 value = str(value)[1:-1]
3077 channelEnabled = True
3077 channelEnabled = True
3078 channelMode = 1
3078 channelMode = 1
3079 except:
3079 except:
3080 pass
3080 pass
3081
3081
3082 if channelEnabled:
3082 if channelEnabled:
3083 self.specOpChannel.setText(value)
3083 self.specOpChannel.setText(value)
3084 self.specOpChannel.setEnabled(True)
3084 self.specOpChannel.setEnabled(True)
3085 self.specOpCebChannel.setCheckState(QtCore.Qt.Checked)
3085 self.specOpCebChannel.setCheckState(QtCore.Qt.Checked)
3086 self.specOpComChannel.setCurrentIndex(channelMode)
3086 self.specOpComChannel.setCurrentIndex(channelMode)
3087
3087
3088 opObj = puObj.getOperationObj(name="selectHeights")
3088 opObj = puObj.getOperationObj(name="selectHeights")
3089 if opObj == None:
3089 if opObj == None:
3090 self.specOpHeights.clear()
3090 self.specOpHeights.clear()
3091 self.specOpCebHeights.setCheckState(0)
3091 self.specOpCebHeights.setCheckState(0)
3092 else:
3092 else:
3093 value1 = int(opObj.getParameterValue(parameterName='minHei'))
3093 value1 = int(opObj.getParameterValue(parameterName='minHei'))
3094 value1 = str(value1)
3094 value1 = str(value1)
3095 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
3095 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
3096 value2 = str(value2)
3096 value2 = str(value2)
3097 value = value1 + "," + value2
3097 value = value1 + "," + value2
3098 self.specOpHeights.setText(value)
3098 self.specOpHeights.setText(value)
3099 self.specOpHeights.setEnabled(True)
3099 self.specOpHeights.setEnabled(True)
3100 self.specOpCebHeights.setCheckState(QtCore.Qt.Checked)
3100 self.specOpCebHeights.setCheckState(QtCore.Qt.Checked)
3101
3101
3102 opObj = puObj.getOperationObj(name="IncohInt")
3102 opObj = puObj.getOperationObj(name="IncohInt")
3103 if opObj == None:
3103 if opObj == None:
3104 self.specOpIncoherent.clear()
3104 self.specOpIncoherent.clear()
3105 self.specOpCebIncoherent.setCheckState(0)
3105 self.specOpCebIncoherent.setCheckState(0)
3106 else:
3106 else:
3107 for parmObj in opObj.getParameterObjList():
3107 for parmObj in opObj.getParameterObjList():
3108 if parmObj.name == 'timeInterval':
3108 if parmObj.name == 'timeInterval':
3109 value = opObj.getParameterValue(parameterName='timeInterval')
3109 value = opObj.getParameterValue(parameterName='timeInterval')
3110 value = float(value)
3110 value = float(value)
3111 self.specOpIncoherent.setText(str(value))
3111 self.specOpIncoherent.setText(str(value))
3112 self.specOpIncoherent.setEnabled(True)
3112 self.specOpIncoherent.setEnabled(True)
3113 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3113 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3114 self.specOpCobIncInt.setCurrentIndex(0)
3114 self.specOpCobIncInt.setCurrentIndex(0)
3115
3115
3116 if parmObj.name == 'n':
3116 if parmObj.name == 'n':
3117 value = opObj.getParameterValue(parameterName='n')
3117 value = opObj.getParameterValue(parameterName='n')
3118 value = float(value)
3118 value = float(value)
3119 self.specOpIncoherent.setText(str(value))
3119 self.specOpIncoherent.setText(str(value))
3120 self.specOpIncoherent.setEnabled(True)
3120 self.specOpIncoherent.setEnabled(True)
3121 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3121 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3122 self.specOpCobIncInt.setCurrentIndex(1)
3122 self.specOpCobIncInt.setCurrentIndex(1)
3123
3123
3124 opObj = puObj.getOperationObj(name="removeDC")
3124 opObj = puObj.getOperationObj(name="removeDC")
3125 if opObj == None:
3125 if opObj == None:
3126 self.specOpCebRemoveDC.setCheckState(0)
3126 self.specOpCebRemoveDC.setCheckState(0)
3127 else:
3127 else:
3128 self.specOpCebRemoveDC.setCheckState(QtCore.Qt.Checked)
3128 self.specOpCebRemoveDC.setCheckState(QtCore.Qt.Checked)
3129 value = opObj.getParameterValue(parameterName='mode')
3129 value = opObj.getParameterValue(parameterName='mode')
3130 if value == 1:
3130 if value == 1:
3131 self.specOpComRemoveDC.setCurrentIndex(0)
3131 self.specOpComRemoveDC.setCurrentIndex(0)
3132 elif value == 2:
3132 elif value == 2:
3133 self.specOpComRemoveDC.setCurrentIndex(1)
3133 self.specOpComRemoveDC.setCurrentIndex(1)
3134
3134
3135 opObj = puObj.getOperationObj(name="removeInterference")
3135 opObj = puObj.getOperationObj(name="removeInterference")
3136 if opObj == None:
3136 if opObj == None:
3137 self.specOpCebRemoveInt.setCheckState(0)
3137 self.specOpCebRemoveInt.setCheckState(0)
3138 else:
3138 else:
3139 self.specOpCebRemoveInt.setCheckState(QtCore.Qt.Checked)
3139 self.specOpCebRemoveInt.setCheckState(QtCore.Qt.Checked)
3140
3140
3141 opObj = puObj.getOperationObj(name='getNoise')
3141 opObj = puObj.getOperationObj(name='getNoise')
3142 if opObj == None:
3142 if opObj == None:
3143 self.specOpCebgetNoise.setCheckState(0)
3143 self.specOpCebgetNoise.setCheckState(0)
3144 self.specOpgetNoise.clear()
3144 self.specOpgetNoise.clear()
3145 else:
3145 else:
3146 self.specOpCebgetNoise.setCheckState(QtCore.Qt.Checked)
3146 self.specOpCebgetNoise.setCheckState(QtCore.Qt.Checked)
3147 parmObj = opObj.getParameterObj(parameterName='minHei')
3147 parmObj = opObj.getParameterObj(parameterName='minHei')
3148 if parmObj == None:
3148 if parmObj == None:
3149 self.specOpgetNoise.clear()
3149 self.specOpgetNoise.clear()
3150 value1 = None
3150 value1 = None
3151 else:
3151 else:
3152 value1 = opObj.getParameterValue(parameterName='minHei')
3152 value1 = opObj.getParameterValue(parameterName='minHei')
3153 value1 = str(value1)
3153 value1 = str(value1)
3154 parmObj = opObj.getParameterObj(parameterName='maxHei')
3154 parmObj = opObj.getParameterObj(parameterName='maxHei')
3155 if parmObj == None:
3155 if parmObj == None:
3156 value2 = None
3156 value2 = None
3157 value = value1
3157 value = value1
3158 self.specOpgetNoise.setText(value)
3158 self.specOpgetNoise.setText(value)
3159 self.specOpgetNoise.setEnabled(True)
3159 self.specOpgetNoise.setEnabled(True)
3160 else:
3160 else:
3161 value2 = opObj.getParameterValue(parameterName='maxHei')
3161 value2 = opObj.getParameterValue(parameterName='maxHei')
3162 value2 = str(value2)
3162 value2 = str(value2)
3163 parmObj = opObj.getParameterObj(parameterName='minVel')
3163 parmObj = opObj.getParameterObj(parameterName='minVel')
3164 if parmObj == None:
3164 if parmObj == None:
3165 value3 = None
3165 value3 = None
3166 value = value1 + "," + value2
3166 value = value1 + "," + value2
3167 self.specOpgetNoise.setText(value)
3167 self.specOpgetNoise.setText(value)
3168 self.specOpgetNoise.setEnabled(True)
3168 self.specOpgetNoise.setEnabled(True)
3169 else:
3169 else:
3170 value3 = opObj.getParameterValue(parameterName='minVel')
3170 value3 = opObj.getParameterValue(parameterName='minVel')
3171 value3 = str(value3)
3171 value3 = str(value3)
3172 parmObj = opObj.getParameterObj(parameterName='maxVel')
3172 parmObj = opObj.getParameterObj(parameterName='maxVel')
3173 if parmObj == None:
3173 if parmObj == None:
3174 value4 = None
3174 value4 = None
3175 value = value1 + "," + value2 + "," + value3
3175 value = value1 + "," + value2 + "," + value3
3176 self.specOpgetNoise.setText(value)
3176 self.specOpgetNoise.setText(value)
3177 self.specOpgetNoise.setEnabled(True)
3177 self.specOpgetNoise.setEnabled(True)
3178 else:
3178 else:
3179 value4 = opObj.getParameterValue(parameterName='maxVel')
3179 value4 = opObj.getParameterValue(parameterName='maxVel')
3180 value4 = str(value4)
3180 value4 = str(value4)
3181 value = value1 + "," + value2 + "," + value3 + ',' + value4
3181 value = value1 + "," + value2 + "," + value3 + ',' + value4
3182 self.specOpgetNoise.setText(value)
3182 self.specOpgetNoise.setText(value)
3183 self.specOpgetNoise.setEnabled(True)
3183 self.specOpgetNoise.setEnabled(True)
3184
3184
3185 self.specGraphPath.clear()
3185 self.specGraphPath.clear()
3186 self.specGraphPrefix.clear()
3186 self.specGraphPrefix.clear()
3187 self.specGgraphFreq.clear()
3187 self.specGgraphFreq.clear()
3188 self.specGgraphHeight.clear()
3188 self.specGgraphHeight.clear()
3189 self.specGgraphDbsrange.clear()
3189 self.specGgraphDbsrange.clear()
3190 self.specGgraphmagnitud.clear()
3190 self.specGgraphmagnitud.clear()
3191 self.specGgraphPhase.clear()
3191 self.specGgraphPhase.clear()
3192 self.specGgraphChannelList.clear()
3192 self.specGgraphChannelList.clear()
3193 self.specGgraphTminTmax.clear()
3193 self.specGgraphTminTmax.clear()
3194 self.specGgraphTimeRange.clear()
3194 self.specGgraphTimeRange.clear()
3195 self.specGgraphftpratio.clear()
3195 self.specGgraphftpratio.clear()
3196
3196
3197 opObj = puObj.getOperationObj(name='SpectraPlot')
3197 opObj = puObj.getOperationObj(name='SpectraPlot')
3198
3198
3199 if opObj == None:
3199 if opObj == None:
3200 self.specGraphCebSpectraplot.setCheckState(0)
3200 self.specGraphCebSpectraplot.setCheckState(0)
3201 self.specGraphSaveSpectra.setCheckState(0)
3201 self.specGraphSaveSpectra.setCheckState(0)
3202 self.specGraphftpSpectra.setCheckState(0)
3202 self.specGraphftpSpectra.setCheckState(0)
3203 else:
3203 else:
3204 operationSpectraPlot = "Enable"
3204 operationSpectraPlot = "Enable"
3205 self.specGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3205 self.specGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3206 parmObj = opObj.getParameterObj(parameterName='channelList')
3206 parmObj = opObj.getParameterObj(parameterName='channelList')
3207 if parmObj == None:
3207 if parmObj == None:
3208 self.specGgraphChannelList.clear()
3208 self.specGgraphChannelList.clear()
3209 else:
3209 else:
3210 value = opObj.getParameterValue(parameterName='channelList')
3210 value = opObj.getParameterValue(parameterName='channelList')
3211 channelListSpectraPlot = str(value)[1:-1]
3211 channelListSpectraPlot = str(value)[1:-1]
3212 self.specGgraphChannelList.setText(channelListSpectraPlot)
3212 self.specGgraphChannelList.setText(channelListSpectraPlot)
3213 self.specGgraphChannelList.setEnabled(True)
3213 self.specGgraphChannelList.setEnabled(True)
3214
3214
3215 parmObj = opObj.getParameterObj(parameterName='xmin')
3215 parmObj = opObj.getParameterObj(parameterName='xmin')
3216 if parmObj == None:
3216 if parmObj == None:
3217 self.specGgraphFreq.clear()
3217 self.specGgraphFreq.clear()
3218 else:
3218 else:
3219 value1 = opObj.getParameterValue(parameterName='xmin')
3219 value1 = opObj.getParameterValue(parameterName='xmin')
3220 value1 = str(value1)
3220 value1 = str(value1)
3221 value2 = opObj.getParameterValue(parameterName='xmax')
3221 value2 = opObj.getParameterValue(parameterName='xmax')
3222 value2 = str(value2)
3222 value2 = str(value2)
3223 value = value1 + "," + value2
3223 value = value1 + "," + value2
3224 self.specGgraphFreq.setText(value)
3224 self.specGgraphFreq.setText(value)
3225 self.specGgraphFreq.setEnabled(True)
3225 self.specGgraphFreq.setEnabled(True)
3226
3226
3227 parmObj = opObj.getParameterObj(parameterName='ymin')
3227 parmObj = opObj.getParameterObj(parameterName='ymin')
3228 if parmObj == None:
3228 if parmObj == None:
3229 self.specGgraphHeight.clear()
3229 self.specGgraphHeight.clear()
3230 else:
3230 else:
3231 value1 = opObj.getParameterValue(parameterName='ymin')
3231 value1 = opObj.getParameterValue(parameterName='ymin')
3232 value1 = str(value1)
3232 value1 = str(value1)
3233 value2 = opObj.getParameterValue(parameterName='ymax')
3233 value2 = opObj.getParameterValue(parameterName='ymax')
3234 value2 = str(value2)
3234 value2 = str(value2)
3235 value = value1 + "," + value2
3235 value = value1 + "," + value2
3236 self.specGgraphHeight.setText(value)
3236 self.specGgraphHeight.setText(value)
3237 self.specGgraphHeight.setEnabled(True)
3237 self.specGgraphHeight.setEnabled(True)
3238
3238
3239 parmObj = opObj.getParameterObj(parameterName='zmin')
3239 parmObj = opObj.getParameterObj(parameterName='zmin')
3240 if parmObj == None:
3240 if parmObj == None:
3241 self.specGgraphDbsrange.clear()
3241 self.specGgraphDbsrange.clear()
3242 else:
3242 else:
3243 value1 = opObj.getParameterValue(parameterName='zmin')
3243 value1 = opObj.getParameterValue(parameterName='zmin')
3244 value1 = str(value1)
3244 value1 = str(value1)
3245 value2 = opObj.getParameterValue(parameterName='zmax')
3245 value2 = opObj.getParameterValue(parameterName='zmax')
3246 value2 = str(value2)
3246 value2 = str(value2)
3247 value = value1 + "," + value2
3247 value = value1 + "," + value2
3248 self.specGgraphDbsrange.setText(value)
3248 self.specGgraphDbsrange.setText(value)
3249 self.specGgraphDbsrange.setEnabled(True)
3249 self.specGgraphDbsrange.setEnabled(True)
3250
3250
3251 parmObj = opObj.getParameterObj(parameterName="save")
3251 parmObj = opObj.getParameterObj(parameterName="save")
3252 if parmObj == None:
3252 if parmObj == None:
3253 self.specGraphSaveSpectra.setCheckState(0)
3253 self.specGraphSaveSpectra.setCheckState(0)
3254 else:
3254 else:
3255 self.specGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3255 self.specGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3256
3256
3257 parmObj = opObj.getParameterObj(parameterName="ftp")
3257 parmObj = opObj.getParameterObj(parameterName="ftp")
3258 if parmObj == None:
3258 if parmObj == None:
3259 self.specGraphftpSpectra.setCheckState(0)
3259 self.specGraphftpSpectra.setCheckState(0)
3260 else:
3260 else:
3261 self.specGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3261 self.specGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3262
3262
3263 parmObj = opObj.getParameterObj(parameterName="figpath")
3263 parmObj = opObj.getParameterObj(parameterName="figpath")
3264 if parmObj:
3264 if parmObj:
3265 value = parmObj.getValue()
3265 value = parmObj.getValue()
3266 self.specGraphPath.setText(value)
3266 self.specGraphPath.setText(value)
3267
3267
3268 parmObj = opObj.getParameterObj(parameterName="wr_period")
3268 parmObj = opObj.getParameterObj(parameterName="wr_period")
3269 if parmObj:
3269 if parmObj:
3270 value = parmObj.getValue()
3270 value = parmObj.getValue()
3271 self.specGgraphftpratio.setText(str(value))
3271 self.specGgraphftpratio.setText(str(value))
3272
3272
3273 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
3273 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
3274
3274
3275 if opObj == None:
3275 if opObj == None:
3276 self.specGraphCebCrossSpectraplot.setCheckState(0)
3276 self.specGraphCebCrossSpectraplot.setCheckState(0)
3277 self.specGraphSaveCross.setCheckState(0)
3277 self.specGraphSaveCross.setCheckState(0)
3278 self.specGraphftpCross.setCheckState(0)
3278 self.specGraphftpCross.setCheckState(0)
3279 else:
3279 else:
3280 operationCrossSpectraPlot = "Enable"
3280 operationCrossSpectraPlot = "Enable"
3281 self.specGraphCebCrossSpectraplot.setCheckState(QtCore.Qt.Checked)
3281 self.specGraphCebCrossSpectraplot.setCheckState(QtCore.Qt.Checked)
3282 parmObj = opObj.getParameterObj(parameterName='xmin')
3282 parmObj = opObj.getParameterObj(parameterName='xmin')
3283 if parmObj == None:
3283 if parmObj == None:
3284 self.specGgraphFreq.clear()
3284 self.specGgraphFreq.clear()
3285 else:
3285 else:
3286 value1 = opObj.getParameterValue(parameterName='xmin')
3286 value1 = opObj.getParameterValue(parameterName='xmin')
3287 value1 = str(value1)
3287 value1 = str(value1)
3288 value2 = opObj.getParameterValue(parameterName='xmax')
3288 value2 = opObj.getParameterValue(parameterName='xmax')
3289 value2 = str(value2)
3289 value2 = str(value2)
3290 value = value1 + "," + value2
3290 value = value1 + "," + value2
3291 self.specGgraphFreq.setText(value)
3291 self.specGgraphFreq.setText(value)
3292 self.specGgraphFreq.setEnabled(True)
3292 self.specGgraphFreq.setEnabled(True)
3293
3293
3294 parmObj = opObj.getParameterObj(parameterName='ymin')
3294 parmObj = opObj.getParameterObj(parameterName='ymin')
3295 if parmObj == None:
3295 if parmObj == None:
3296 self.specGgraphHeight.clear()
3296 self.specGgraphHeight.clear()
3297 else:
3297 else:
3298 value1 = opObj.getParameterValue(parameterName='ymin')
3298 value1 = opObj.getParameterValue(parameterName='ymin')
3299 value1 = str(value1)
3299 value1 = str(value1)
3300 value2 = opObj.getParameterValue(parameterName='ymax')
3300 value2 = opObj.getParameterValue(parameterName='ymax')
3301 value2 = str(value2)
3301 value2 = str(value2)
3302 value = value1 + "," + value2
3302 value = value1 + "," + value2
3303 self.specGgraphHeight.setText(value)
3303 self.specGgraphHeight.setText(value)
3304 self.specGgraphHeight.setEnabled(True)
3304 self.specGgraphHeight.setEnabled(True)
3305
3305
3306 parmObj = opObj.getParameterObj(parameterName='zmin')
3306 parmObj = opObj.getParameterObj(parameterName='zmin')
3307 if parmObj == None:
3307 if parmObj == None:
3308 self.specGgraphDbsrange.clear()
3308 self.specGgraphDbsrange.clear()
3309 else:
3309 else:
3310 value1 = opObj.getParameterValue(parameterName='zmin')
3310 value1 = opObj.getParameterValue(parameterName='zmin')
3311 value1 = str(value1)
3311 value1 = str(value1)
3312 value2 = opObj.getParameterValue(parameterName='zmax')
3312 value2 = opObj.getParameterValue(parameterName='zmax')
3313 value2 = str(value2)
3313 value2 = str(value2)
3314 value = value1 + "," + value2
3314 value = value1 + "," + value2
3315 self.specGgraphDbsrange.setText(value)
3315 self.specGgraphDbsrange.setText(value)
3316 self.specGgraphDbsrange.setEnabled(True)
3316 self.specGgraphDbsrange.setEnabled(True)
3317
3317
3318 parmObj = opObj.getParameterObj(parameterName='coh_min')
3318 parmObj = opObj.getParameterObj(parameterName='coh_min')
3319 if parmObj == None:
3319 if parmObj == None:
3320 self.specGgraphmagnitud.clear()
3320 self.specGgraphmagnitud.clear()
3321 else:
3321 else:
3322 value1 = opObj.getParameterValue(parameterName='coh_min')
3322 value1 = opObj.getParameterValue(parameterName='coh_min')
3323 value1 = str(value1)
3323 value1 = str(value1)
3324 value2 = opObj.getParameterValue(parameterName='coh_max')
3324 value2 = opObj.getParameterValue(parameterName='coh_max')
3325 value2 = str(value2)
3325 value2 = str(value2)
3326 value = value1 + "," + value2
3326 value = value1 + "," + value2
3327 self.specGgraphmagnitud.setText(value)
3327 self.specGgraphmagnitud.setText(value)
3328 self.specGgraphmagnitud.setEnabled(True)
3328 self.specGgraphmagnitud.setEnabled(True)
3329
3329
3330 parmObj = opObj.getParameterObj(parameterName='phase_min')
3330 parmObj = opObj.getParameterObj(parameterName='phase_min')
3331 if parmObj == None:
3331 if parmObj == None:
3332 self.specGgraphPhase.clear()
3332 self.specGgraphPhase.clear()
3333 else:
3333 else:
3334 value1 = opObj.getParameterValue(parameterName='phase_min')
3334 value1 = opObj.getParameterValue(parameterName='phase_min')
3335 value1 = str(value1)
3335 value1 = str(value1)
3336 value2 = opObj.getParameterValue(parameterName='phase_max')
3336 value2 = opObj.getParameterValue(parameterName='phase_max')
3337 value2 = str(value2)
3337 value2 = str(value2)
3338 value = value1 + "," + value2
3338 value = value1 + "," + value2
3339 self.specGgraphPhase.setText(value)
3339 self.specGgraphPhase.setText(value)
3340 self.specGgraphPhase.setEnabled(True)
3340 self.specGgraphPhase.setEnabled(True)
3341
3341
3342 parmObj = opObj.getParameterObj(parameterName="save")
3342 parmObj = opObj.getParameterObj(parameterName="save")
3343 if parmObj == None:
3343 if parmObj == None:
3344 self.specGraphSaveCross.setCheckState(0)
3344 self.specGraphSaveCross.setCheckState(0)
3345 else:
3345 else:
3346 self.specGraphSaveCross.setCheckState(QtCore.Qt.Checked)
3346 self.specGraphSaveCross.setCheckState(QtCore.Qt.Checked)
3347
3347
3348 parmObj = opObj.getParameterObj(parameterName="ftp")
3348 parmObj = opObj.getParameterObj(parameterName="ftp")
3349 if parmObj == None:
3349 if parmObj == None:
3350 self.specGraphftpCross.setCheckState(0)
3350 self.specGraphftpCross.setCheckState(0)
3351 else:
3351 else:
3352 self.specGraphftpCross.setCheckState(QtCore.Qt.Checked)
3352 self.specGraphftpCross.setCheckState(QtCore.Qt.Checked)
3353
3353
3354 parmObj = opObj.getParameterObj(parameterName="figpath")
3354 parmObj = opObj.getParameterObj(parameterName="figpath")
3355 if parmObj:
3355 if parmObj:
3356 value = parmObj.getValue()
3356 value = parmObj.getValue()
3357 self.specGraphPath.setText(value)
3357 self.specGraphPath.setText(value)
3358
3358
3359 parmObj = opObj.getParameterObj(parameterName="wr_period")
3359 parmObj = opObj.getParameterObj(parameterName="wr_period")
3360 if parmObj:
3360 if parmObj:
3361 value = parmObj.getValue()
3361 value = parmObj.getValue()
3362 self.specGgraphftpratio.setText(str(value))
3362 self.specGgraphftpratio.setText(str(value))
3363
3363
3364 opObj = puObj.getOperationObj(name='RTIPlot')
3364 opObj = puObj.getOperationObj(name='RTIPlot')
3365
3365
3366 if opObj == None:
3366 if opObj == None:
3367 self.specGraphCebRTIplot.setCheckState(0)
3367 self.specGraphCebRTIplot.setCheckState(0)
3368 self.specGraphSaveRTIplot.setCheckState(0)
3368 self.specGraphSaveRTIplot.setCheckState(0)
3369 self.specGraphftpRTIplot.setCheckState(0)
3369 self.specGraphftpRTIplot.setCheckState(0)
3370 else:
3370 else:
3371 self.specGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3371 self.specGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3372 parmObj = opObj.getParameterObj(parameterName='channelList')
3372 parmObj = opObj.getParameterObj(parameterName='channelList')
3373 if parmObj == None:
3373 if parmObj == None:
3374 self.specGgraphChannelList.clear()
3374 self.specGgraphChannelList.clear()
3375 else:
3375 else:
3376 value = opObj.getParameterValue(parameterName='channelList')
3376 value = opObj.getParameterValue(parameterName='channelList')
3377 channelListRTIPlot = str(value)[1:-1]
3377 channelListRTIPlot = str(value)[1:-1]
3378 self.specGgraphChannelList.setText(channelListRTIPlot)
3378 self.specGgraphChannelList.setText(channelListRTIPlot)
3379 self.specGgraphChannelList.setEnabled(True)
3379 self.specGgraphChannelList.setEnabled(True)
3380
3380
3381 parmObj = opObj.getParameterObj(parameterName='xmin')
3381 parmObj = opObj.getParameterObj(parameterName='xmin')
3382 if parmObj == None:
3382 if parmObj == None:
3383 self.specGgraphTminTmax.clear()
3383 self.specGgraphTminTmax.clear()
3384 else:
3384 else:
3385 value1 = opObj.getParameterValue(parameterName='xmin')
3385 value1 = opObj.getParameterValue(parameterName='xmin')
3386 value1 = str(value1)
3386 value1 = str(value1)
3387 value2 = opObj.getParameterValue(parameterName='xmax')
3387 value2 = opObj.getParameterValue(parameterName='xmax')
3388 value2 = str(value2)
3388 value2 = str(value2)
3389 value = value1 + "," + value2
3389 value = value1 + "," + value2
3390 self.specGgraphTminTmax.setText(value)
3390 self.specGgraphTminTmax.setText(value)
3391 self.specGgraphTminTmax.setEnabled(True)
3391 self.specGgraphTminTmax.setEnabled(True)
3392
3392
3393 parmObj = opObj.getParameterObj(parameterName='timerange')
3393 parmObj = opObj.getParameterObj(parameterName='timerange')
3394 if parmObj == None:
3394 if parmObj == None:
3395 self.specGgraphTimeRange.clear()
3395 self.specGgraphTimeRange.clear()
3396 else:
3396 else:
3397 value1 = opObj.getParameterValue(parameterName='timerange')
3397 value1 = opObj.getParameterValue(parameterName='timerange')
3398 value1 = str(value1)
3398 value1 = str(value1)
3399 self.specGgraphTimeRange.setText(value1)
3399 self.specGgraphTimeRange.setText(value1)
3400 self.specGgraphTimeRange.setEnabled(True)
3400 self.specGgraphTimeRange.setEnabled(True)
3401
3401
3402 parmObj = opObj.getParameterObj(parameterName='ymin')
3402 parmObj = opObj.getParameterObj(parameterName='ymin')
3403 if parmObj == None:
3403 if parmObj == None:
3404 self.specGgraphHeight.clear()
3404 self.specGgraphHeight.clear()
3405 else:
3405 else:
3406 value1 = opObj.getParameterValue(parameterName='ymin')
3406 value1 = opObj.getParameterValue(parameterName='ymin')
3407 value1 = str(value1)
3407 value1 = str(value1)
3408 value2 = opObj.getParameterValue(parameterName='ymax')
3408 value2 = opObj.getParameterValue(parameterName='ymax')
3409 value2 = str(value2)
3409 value2 = str(value2)
3410 value = value1 + "," + value2
3410 value = value1 + "," + value2
3411 self.specGgraphHeight.setText(value)
3411 self.specGgraphHeight.setText(value)
3412 self.specGgraphHeight.setEnabled(True)
3412 self.specGgraphHeight.setEnabled(True)
3413
3413
3414 parmObj = opObj.getParameterObj(parameterName='zmin')
3414 parmObj = opObj.getParameterObj(parameterName='zmin')
3415 if parmObj == None:
3415 if parmObj == None:
3416 self.specGgraphDbsrange.clear()
3416 self.specGgraphDbsrange.clear()
3417 else:
3417 else:
3418 value1 = opObj.getParameterValue(parameterName='zmin')
3418 value1 = opObj.getParameterValue(parameterName='zmin')
3419 value1 = str(value1)
3419 value1 = str(value1)
3420 value2 = opObj.getParameterValue(parameterName='zmax')
3420 value2 = opObj.getParameterValue(parameterName='zmax')
3421 value2 = str(value2)
3421 value2 = str(value2)
3422 value = value1 + "," + value2
3422 value = value1 + "," + value2
3423 self.specGgraphDbsrange.setText(value)
3423 self.specGgraphDbsrange.setText(value)
3424 self.specGgraphDbsrange.setEnabled(True)
3424 self.specGgraphDbsrange.setEnabled(True)
3425
3425
3426 parmObj = opObj.getParameterObj(parameterName="save")
3426 parmObj = opObj.getParameterObj(parameterName="save")
3427 if parmObj == None:
3427 if parmObj == None:
3428 self.specGraphSaveRTIplot.setCheckState(0)
3428 self.specGraphSaveRTIplot.setCheckState(0)
3429 else:
3429 else:
3430 self.specGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3430 self.specGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3431
3431
3432 parmObj = opObj.getParameterObj(parameterName="ftp")
3432 parmObj = opObj.getParameterObj(parameterName="ftp")
3433 if parmObj == None:
3433 if parmObj == None:
3434 self.specGraphftpRTIplot.setCheckState(0)
3434 self.specGraphftpRTIplot.setCheckState(0)
3435 else:
3435 else:
3436 self.specGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3436 self.specGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3437
3437
3438 parmObj = opObj.getParameterObj(parameterName="figpath")
3438 parmObj = opObj.getParameterObj(parameterName="figpath")
3439 if parmObj:
3439 if parmObj:
3440 value = parmObj.getValue()
3440 value = parmObj.getValue()
3441 self.specGraphPath.setText(value)
3441 self.specGraphPath.setText(value)
3442
3442
3443 parmObj = opObj.getParameterObj(parameterName="wr_period")
3443 parmObj = opObj.getParameterObj(parameterName="wr_period")
3444 if parmObj:
3444 if parmObj:
3445 value = parmObj.getValue()
3445 value = parmObj.getValue()
3446 self.specGgraphftpratio.setText(str(value))
3446 self.specGgraphftpratio.setText(str(value))
3447
3447
3448 opObj = puObj.getOperationObj(name='CoherenceMap')
3448 opObj = puObj.getOperationObj(name='CoherenceMap')
3449
3449
3450 if opObj == None:
3450 if opObj == None:
3451 self.specGraphCebCoherencmap.setCheckState(0)
3451 self.specGraphCebCoherencmap.setCheckState(0)
3452 self.specGraphSaveCoherencemap.setCheckState(0)
3452 self.specGraphSaveCoherencemap.setCheckState(0)
3453 self.specGraphftpCoherencemap.setCheckState(0)
3453 self.specGraphftpCoherencemap.setCheckState(0)
3454 else:
3454 else:
3455 operationCoherenceMap = "Enable"
3455 operationCoherenceMap = "Enable"
3456 self.specGraphCebCoherencmap.setCheckState(QtCore.Qt.Checked)
3456 self.specGraphCebCoherencmap.setCheckState(QtCore.Qt.Checked)
3457 parmObj = opObj.getParameterObj(parameterName='xmin')
3457 parmObj = opObj.getParameterObj(parameterName='xmin')
3458 if parmObj == None:
3458 if parmObj == None:
3459 self.specGgraphTminTmax.clear()
3459 self.specGgraphTminTmax.clear()
3460 else:
3460 else:
3461 value1 = opObj.getParameterValue(parameterName='xmin')
3461 value1 = opObj.getParameterValue(parameterName='xmin')
3462 value1 = str(value1)
3462 value1 = str(value1)
3463 value2 = opObj.getParameterValue(parameterName='xmax')
3463 value2 = opObj.getParameterValue(parameterName='xmax')
3464 value2 = str(value2)
3464 value2 = str(value2)
3465 value = value1 + "," + value2
3465 value = value1 + "," + value2
3466 self.specGgraphTminTmax.setText(value)
3466 self.specGgraphTminTmax.setText(value)
3467 self.specGgraphTminTmax.setEnabled(True)
3467 self.specGgraphTminTmax.setEnabled(True)
3468
3468
3469 parmObj = opObj.getParameterObj(parameterName='timerange')
3469 parmObj = opObj.getParameterObj(parameterName='timerange')
3470 if parmObj == None:
3470 if parmObj == None:
3471 self.specGgraphTimeRange.clear()
3471 self.specGgraphTimeRange.clear()
3472 else:
3472 else:
3473 value1 = opObj.getParameterValue(parameterName='timerange')
3473 value1 = opObj.getParameterValue(parameterName='timerange')
3474 value1 = str(value1)
3474 value1 = str(value1)
3475 self.specGgraphTimeRange.setText(value1)
3475 self.specGgraphTimeRange.setText(value1)
3476 self.specGgraphTimeRange.setEnabled(True)
3476 self.specGgraphTimeRange.setEnabled(True)
3477
3477
3478 parmObj = opObj.getParameterObj(parameterName='ymin')
3478 parmObj = opObj.getParameterObj(parameterName='ymin')
3479 if parmObj == None:
3479 if parmObj == None:
3480 self.specGgraphHeight.clear()
3480 self.specGgraphHeight.clear()
3481 else:
3481 else:
3482 value1 = opObj.getParameterValue(parameterName='ymin')
3482 value1 = opObj.getParameterValue(parameterName='ymin')
3483 value1 = str(value1)
3483 value1 = str(value1)
3484 value2 = opObj.getParameterValue(parameterName='ymax')
3484 value2 = opObj.getParameterValue(parameterName='ymax')
3485 value2 = str(value2)
3485 value2 = str(value2)
3486 value = value1 + "," + value2
3486 value = value1 + "," + value2
3487 self.specGgraphHeight.setText(value)
3487 self.specGgraphHeight.setText(value)
3488 self.specGgraphHeight.setEnabled(True)
3488 self.specGgraphHeight.setEnabled(True)
3489
3489
3490 parmObj = opObj.getParameterObj(parameterName='zmin')
3490 parmObj = opObj.getParameterObj(parameterName='zmin')
3491 if parmObj == None:
3491 if parmObj == None:
3492 self.specGgraphmagnitud.clear()
3492 self.specGgraphmagnitud.clear()
3493 else:
3493 else:
3494 value1 = opObj.getParameterValue(parameterName='zmin')
3494 value1 = opObj.getParameterValue(parameterName='zmin')
3495 value1 = str(value1)
3495 value1 = str(value1)
3496 value2 = opObj.getParameterValue(parameterName='zmax')
3496 value2 = opObj.getParameterValue(parameterName='zmax')
3497 value2 = str(value2)
3497 value2 = str(value2)
3498 value = value1 + "," + value2
3498 value = value1 + "," + value2
3499 self.specGgraphmagnitud.setText(value)
3499 self.specGgraphmagnitud.setText(value)
3500 self.specGgraphmagnitud.setEnabled(True)
3500 self.specGgraphmagnitud.setEnabled(True)
3501
3501
3502 parmObj = opObj.getParameterObj(parameterName='coh_min')
3502 parmObj = opObj.getParameterObj(parameterName='coh_min')
3503 if parmObj == None:
3503 if parmObj == None:
3504 self.specGgraphmagnitud.clear()
3504 self.specGgraphmagnitud.clear()
3505 else:
3505 else:
3506 value1 = opObj.getParameterValue(parameterName='coh_min')
3506 value1 = opObj.getParameterValue(parameterName='coh_min')
3507 value1 = str(value1)
3507 value1 = str(value1)
3508 value2 = opObj.getParameterValue(parameterName='coh_max')
3508 value2 = opObj.getParameterValue(parameterName='coh_max')
3509 value2 = str(value2)
3509 value2 = str(value2)
3510 value = value1 + "," + value2
3510 value = value1 + "," + value2
3511 self.specGgraphmagnitud.setText(value)
3511 self.specGgraphmagnitud.setText(value)
3512 self.specGgraphmagnitud.setEnabled(True)
3512 self.specGgraphmagnitud.setEnabled(True)
3513
3513
3514 parmObj = opObj.getParameterObj(parameterName='phase_min')
3514 parmObj = opObj.getParameterObj(parameterName='phase_min')
3515 if parmObj == None:
3515 if parmObj == None:
3516 self.specGgraphPhase.clear()
3516 self.specGgraphPhase.clear()
3517 else:
3517 else:
3518 value1 = opObj.getParameterValue(parameterName='phase_min')
3518 value1 = opObj.getParameterValue(parameterName='phase_min')
3519 value1 = str(value1)
3519 value1 = str(value1)
3520 value2 = opObj.getParameterValue(parameterName='phase_max')
3520 value2 = opObj.getParameterValue(parameterName='phase_max')
3521 value2 = str(value2)
3521 value2 = str(value2)
3522 value = value1 + "," + value2
3522 value = value1 + "," + value2
3523 self.specGgraphPhase.setText(value)
3523 self.specGgraphPhase.setText(value)
3524 self.specGgraphPhase.setEnabled(True)
3524 self.specGgraphPhase.setEnabled(True)
3525
3525
3526 parmObj = opObj.getParameterObj(parameterName="save")
3526 parmObj = opObj.getParameterObj(parameterName="save")
3527 if parmObj == None:
3527 if parmObj == None:
3528 self.specGraphSaveCoherencemap.setCheckState(0)
3528 self.specGraphSaveCoherencemap.setCheckState(0)
3529 else:
3529 else:
3530 self.specGraphSaveCoherencemap.setCheckState(QtCore.Qt.Checked)
3530 self.specGraphSaveCoherencemap.setCheckState(QtCore.Qt.Checked)
3531
3531
3532 parmObj = opObj.getParameterObj(parameterName="ftp")
3532 parmObj = opObj.getParameterObj(parameterName="ftp")
3533 if parmObj == None:
3533 if parmObj == None:
3534 self.specGraphftpCoherencemap.setCheckState(0)
3534 self.specGraphftpCoherencemap.setCheckState(0)
3535 else:
3535 else:
3536 self.specGraphftpCoherencemap.setCheckState(QtCore.Qt.Checked)
3536 self.specGraphftpCoherencemap.setCheckState(QtCore.Qt.Checked)
3537
3537
3538 parmObj = opObj.getParameterObj(parameterName="figpath")
3538 parmObj = opObj.getParameterObj(parameterName="figpath")
3539 if parmObj:
3539 if parmObj:
3540 value = parmObj.getValue()
3540 value = parmObj.getValue()
3541 self.specGraphPath.setText(value)
3541 self.specGraphPath.setText(value)
3542
3542
3543 parmObj = opObj.getParameterObj(parameterName="wr_period")
3543 parmObj = opObj.getParameterObj(parameterName="wr_period")
3544 if parmObj:
3544 if parmObj:
3545 value = parmObj.getValue()
3545 value = parmObj.getValue()
3546 self.specGgraphftpratio.setText(str(value))
3546 self.specGgraphftpratio.setText(str(value))
3547
3547
3548 opObj = puObj.getOperationObj(name='PowerProfilePlot')
3548 opObj = puObj.getOperationObj(name='PowerProfilePlot')
3549
3549
3550 if opObj == None:
3550 if opObj == None:
3551 self.specGraphPowerprofile.setCheckState(0)
3551 self.specGraphPowerprofile.setCheckState(0)
3552 self.specGraphSavePowerprofile.setCheckState(0)
3552 self.specGraphSavePowerprofile.setCheckState(0)
3553 self.specGraphftpPowerprofile.setCheckState(0)
3553 self.specGraphftpPowerprofile.setCheckState(0)
3554 operationPowerProfilePlot = "Disabled"
3554 operationPowerProfilePlot = "Disabled"
3555 channelList = None
3555 channelList = None
3556 freq_vel = None
3556 freq_vel = None
3557 heightsrange = None
3557 heightsrange = None
3558 else:
3558 else:
3559 operationPowerProfilePlot = "Enable"
3559 operationPowerProfilePlot = "Enable"
3560 self.specGraphPowerprofile.setCheckState(QtCore.Qt.Checked)
3560 self.specGraphPowerprofile.setCheckState(QtCore.Qt.Checked)
3561 parmObj = opObj.getParameterObj(parameterName='xmin')
3561 parmObj = opObj.getParameterObj(parameterName='xmin')
3562 if parmObj == None:
3562 if parmObj == None:
3563 self.specGgraphDbsrange.clear()
3563 self.specGgraphDbsrange.clear()
3564 else:
3564 else:
3565 value1 = opObj.getParameterValue(parameterName='xmin')
3565 value1 = opObj.getParameterValue(parameterName='xmin')
3566 value1 = str(value1)
3566 value1 = str(value1)
3567 value2 = opObj.getParameterValue(parameterName='xmax')
3567 value2 = opObj.getParameterValue(parameterName='xmax')
3568 value2 = str(value2)
3568 value2 = str(value2)
3569 value = value1 + "," + value2
3569 value = value1 + "," + value2
3570 self.specGgraphDbsrange.setText(value)
3570 self.specGgraphDbsrange.setText(value)
3571 self.specGgraphDbsrange.setEnabled(True)
3571 self.specGgraphDbsrange.setEnabled(True)
3572
3572
3573 parmObj = opObj.getParameterObj(parameterName='ymin')
3573 parmObj = opObj.getParameterObj(parameterName='ymin')
3574 if parmObj == None:
3574 if parmObj == None:
3575 self.specGgraphHeight.clear()
3575 self.specGgraphHeight.clear()
3576 else:
3576 else:
3577 value1 = opObj.getParameterValue(parameterName='ymin')
3577 value1 = opObj.getParameterValue(parameterName='ymin')
3578 value1 = str(value1)
3578 value1 = str(value1)
3579 value2 = opObj.getParameterValue(parameterName='ymax')
3579 value2 = opObj.getParameterValue(parameterName='ymax')
3580 value2 = str(value2)
3580 value2 = str(value2)
3581 value = value1 + "," + value2
3581 value = value1 + "," + value2
3582 self.specGgraphHeight.setText(value)
3582 self.specGgraphHeight.setText(value)
3583 self.specGgraphHeight.setEnabled(True)
3583 self.specGgraphHeight.setEnabled(True)
3584
3584
3585 parmObj = opObj.getParameterObj(parameterName="save")
3585 parmObj = opObj.getParameterObj(parameterName="save")
3586 if parmObj == None:
3586 if parmObj == None:
3587 self.specGraphSavePowerprofile.setCheckState(0)
3587 self.specGraphSavePowerprofile.setCheckState(0)
3588 else:
3588 else:
3589 self.specGraphSavePowerprofile.setCheckState(QtCore.Qt.Checked)
3589 self.specGraphSavePowerprofile.setCheckState(QtCore.Qt.Checked)
3590
3590
3591 parmObj = opObj.getParameterObj(parameterName="ftp")
3591 parmObj = opObj.getParameterObj(parameterName="ftp")
3592 if parmObj == None:
3592 if parmObj == None:
3593 self.specGraphftpPowerprofile.setCheckState(0)
3593 self.specGraphftpPowerprofile.setCheckState(0)
3594 else:
3594 else:
3595 self.specGraphftpPowerprofile.setCheckState(QtCore.Qt.Checked)
3595 self.specGraphftpPowerprofile.setCheckState(QtCore.Qt.Checked)
3596
3596
3597 parmObj = opObj.getParameterObj(parameterName="figpath")
3597 parmObj = opObj.getParameterObj(parameterName="figpath")
3598 if parmObj:
3598 if parmObj:
3599 value = parmObj.getValue()
3599 value = parmObj.getValue()
3600 self.specGraphPath.setText(value)
3600 self.specGraphPath.setText(value)
3601
3601
3602 parmObj = opObj.getParameterObj(parameterName="wr_period")
3602 parmObj = opObj.getParameterObj(parameterName="wr_period")
3603 if parmObj:
3603 if parmObj:
3604 value = parmObj.getValue()
3604 value = parmObj.getValue()
3605 self.specGgraphftpratio.setText(str(value))
3605 self.specGgraphftpratio.setText(str(value))
3606
3606
3607 opObj = puObj.getOperationObj(name='Noise')
3607 opObj = puObj.getOperationObj(name='Noise')
3608
3608
3609 if opObj == None:
3609 if opObj == None:
3610 self.specGraphCebRTInoise.setCheckState(0)
3610 self.specGraphCebRTInoise.setCheckState(0)
3611 self.specGraphSaveRTInoise.setCheckState(0)
3611 self.specGraphSaveRTInoise.setCheckState(0)
3612 self.specGraphftpRTInoise.setCheckState(0)
3612 self.specGraphftpRTInoise.setCheckState(0)
3613 else:
3613 else:
3614 self.specGraphCebRTInoise.setCheckState(QtCore.Qt.Checked)
3614 self.specGraphCebRTInoise.setCheckState(QtCore.Qt.Checked)
3615 parmObj = opObj.getParameterObj(parameterName='channelList')
3615 parmObj = opObj.getParameterObj(parameterName='channelList')
3616 if parmObj == None:
3616 if parmObj == None:
3617 self.specGgraphChannelList.clear()
3617 self.specGgraphChannelList.clear()
3618 else:
3618 else:
3619 value = opObj.getParameterValue(parameterName='channelList')
3619 value = opObj.getParameterValue(parameterName='channelList')
3620 channelListRTINoise = str(value)[1:-1]
3620 channelListRTINoise = str(value)[1:-1]
3621 self.specGgraphChannelList.setText(channelListRTINoise)
3621 self.specGgraphChannelList.setText(channelListRTINoise)
3622 self.specGgraphChannelList.setEnabled(True)
3622 self.specGgraphChannelList.setEnabled(True)
3623
3623
3624 parmObj = opObj.getParameterObj(parameterName='xmin')
3624 parmObj = opObj.getParameterObj(parameterName='xmin')
3625 if parmObj == None:
3625 if parmObj == None:
3626 self.specGgraphTminTmax.clear()
3626 self.specGgraphTminTmax.clear()
3627 else:
3627 else:
3628 value1 = opObj.getParameterValue(parameterName='xmin')
3628 value1 = opObj.getParameterValue(parameterName='xmin')
3629 value1 = str(value1)
3629 value1 = str(value1)
3630 value2 = opObj.getParameterValue(parameterName='xmax')
3630 value2 = opObj.getParameterValue(parameterName='xmax')
3631 value2 = str(value2)
3631 value2 = str(value2)
3632 value = value1 + "," + value2
3632 value = value1 + "," + value2
3633 self.specGgraphTminTmax.setText(value)
3633 self.specGgraphTminTmax.setText(value)
3634 self.specGgraphTminTmax.setEnabled(True)
3634 self.specGgraphTminTmax.setEnabled(True)
3635
3635
3636 parmObj = opObj.getParameterObj(parameterName='timerange')
3636 parmObj = opObj.getParameterObj(parameterName='timerange')
3637 if parmObj == None:
3637 if parmObj == None:
3638 self.specGgraphTimeRange.clear()
3638 self.specGgraphTimeRange.clear()
3639 else:
3639 else:
3640 value1 = opObj.getParameterValue(parameterName='timerange')
3640 value1 = opObj.getParameterValue(parameterName='timerange')
3641 value1 = str(value1)
3641 value1 = str(value1)
3642 self.specGgraphTimeRange.setText(value1)
3642 self.specGgraphTimeRange.setText(value1)
3643 self.specGgraphTimeRange.setEnabled(True)
3643 self.specGgraphTimeRange.setEnabled(True)
3644
3644
3645
3645
3646 parmObj = opObj.getParameterObj(parameterName='ymin')
3646 parmObj = opObj.getParameterObj(parameterName='ymin')
3647 if parmObj == None:
3647 if parmObj == None:
3648 self.specGgraphDbsrange.clear()
3648 self.specGgraphDbsrange.clear()
3649 else:
3649 else:
3650 value1 = opObj.getParameterValue(parameterName='ymin')
3650 value1 = opObj.getParameterValue(parameterName='ymin')
3651 value1 = str(value1)
3651 value1 = str(value1)
3652 value2 = opObj.getParameterValue(parameterName='ymax')
3652 value2 = opObj.getParameterValue(parameterName='ymax')
3653 value2 = str(value2)
3653 value2 = str(value2)
3654 value = value1 + "," + value2
3654 value = value1 + "," + value2
3655 self.specGgraphDbsrange.setText(value)
3655 self.specGgraphDbsrange.setText(value)
3656 self.specGgraphDbsrange.setEnabled(True)
3656 self.specGgraphDbsrange.setEnabled(True)
3657
3657
3658 parmObj = opObj.getParameterObj(parameterName="save")
3658 parmObj = opObj.getParameterObj(parameterName="save")
3659 if parmObj == None:
3659 if parmObj == None:
3660 self.specGraphSaveRTInoise.setCheckState(0)
3660 self.specGraphSaveRTInoise.setCheckState(0)
3661 else:
3661 else:
3662 self.specGraphSaveRTInoise.setCheckState(QtCore.Qt.Checked)
3662 self.specGraphSaveRTInoise.setCheckState(QtCore.Qt.Checked)
3663
3663
3664 parmObj = opObj.getParameterObj(parameterName="ftp")
3664 parmObj = opObj.getParameterObj(parameterName="ftp")
3665 if parmObj == None:
3665 if parmObj == None:
3666 self.specGraphftpRTInoise.setCheckState(0)
3666 self.specGraphftpRTInoise.setCheckState(0)
3667 else:
3667 else:
3668 self.specGraphftpRTInoise.setCheckState(QtCore.Qt.Checked)
3668 self.specGraphftpRTInoise.setCheckState(QtCore.Qt.Checked)
3669
3669
3670 parmObj = opObj.getParameterObj(parameterName="figpath")
3670 parmObj = opObj.getParameterObj(parameterName="figpath")
3671 if parmObj:
3671 if parmObj:
3672 value = parmObj.getValue()
3672 value = parmObj.getValue()
3673 self.specGraphPath.setText(value)
3673 self.specGraphPath.setText(value)
3674
3674
3675 parmObj = opObj.getParameterObj(parameterName="wr_period")
3675 parmObj = opObj.getParameterObj(parameterName="wr_period")
3676 if parmObj:
3676 if parmObj:
3677 value = parmObj.getValue()
3677 value = parmObj.getValue()
3678 self.specGgraphftpratio.setText(str(value))
3678 self.specGgraphftpratio.setText(str(value))
3679
3679
3680 opObj = puObj.getOperationObj(name='SpectraWriter')
3680 opObj = puObj.getOperationObj(name='SpectraWriter')
3681 if opObj == None:
3681 if opObj == None:
3682 self.specOutputPath.clear()
3682 self.specOutputPath.clear()
3683 self.specOutputblocksperfile.clear()
3683 self.specOutputblocksperfile.clear()
3684 else:
3684 else:
3685 value = opObj.getParameterObj(parameterName='path')
3685 value = opObj.getParameterObj(parameterName='path')
3686 if value == None:
3686 if value == None:
3687 self.specOutputPath.clear()
3687 self.specOutputPath.clear()
3688 else:
3688 else:
3689 value = opObj.getParameterValue(parameterName='path')
3689 value = opObj.getParameterValue(parameterName='path')
3690 path = str(value)
3690 path = str(value)
3691 self.specOutputPath.setText(path)
3691 self.specOutputPath.setText(path)
3692 value = opObj.getParameterObj(parameterName='blocksPerFile')
3692 value = opObj.getParameterObj(parameterName='blocksPerFile')
3693 if value == None:
3693 if value == None:
3694 self.specOutputblocksperfile.clear()
3694 self.specOutputblocksperfile.clear()
3695 else:
3695 else:
3696 value = opObj.getParameterValue(parameterName='blocksPerFile')
3696 value = opObj.getParameterValue(parameterName='blocksPerFile')
3697 blocksperfile = str(value)
3697 blocksperfile = str(value)
3698 self.specOutputblocksperfile.setText(blocksperfile)
3698 self.specOutputblocksperfile.setText(blocksperfile)
3699
3699
3700 return
3700 return
3701
3701
3702 def __refreshSpectraHeisWindow(self, puObj):
3702 def __refreshSpectraHeisWindow(self, puObj):
3703
3703
3704 opObj = puObj.getOperationObj(name="IncohInt4SpectraHeis")
3704 opObj = puObj.getOperationObj(name="IncohInt4SpectraHeis")
3705 if opObj == None:
3705 if opObj == None:
3706 self.specHeisOpIncoherent.clear()
3706 self.specHeisOpIncoherent.clear()
3707 self.specHeisOpCebIncoherent.setCheckState(0)
3707 self.specHeisOpCebIncoherent.setCheckState(0)
3708 else:
3708 else:
3709 for parmObj in opObj.getParameterObjList():
3709 for parmObj in opObj.getParameterObjList():
3710 if parmObj.name == 'timeInterval':
3710 if parmObj.name == 'timeInterval':
3711 value = opObj.getParameterValue(parameterName='timeInterval')
3711 value = opObj.getParameterValue(parameterName='timeInterval')
3712 value = float(value)
3712 value = float(value)
3713 self.specHeisOpIncoherent.setText(str(value))
3713 self.specHeisOpIncoherent.setText(str(value))
3714 self.specHeisOpIncoherent.setEnabled(True)
3714 self.specHeisOpIncoherent.setEnabled(True)
3715 self.specHeisOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3715 self.specHeisOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3716 self.specHeisOpCobIncInt.setCurrentIndex(0)
3716 self.specHeisOpCobIncInt.setCurrentIndex(0)
3717
3717
3718 # SpectraHeis Graph
3718 # SpectraHeis Graph
3719
3719
3720 self.specHeisGgraphXminXmax.clear()
3720 self.specHeisGgraphXminXmax.clear()
3721 self.specHeisGgraphYminYmax.clear()
3721 self.specHeisGgraphYminYmax.clear()
3722
3722
3723 self.specHeisGgraphChannelList.clear()
3723 self.specHeisGgraphChannelList.clear()
3724 self.specHeisGgraphTminTmax.clear()
3724 self.specHeisGgraphTminTmax.clear()
3725 self.specHeisGgraphTimeRange.clear()
3725 self.specHeisGgraphTimeRange.clear()
3726 self.specHeisGgraphftpratio.clear()
3726 self.specHeisGgraphftpratio.clear()
3727
3727
3728 opObj = puObj.getOperationObj(name='SpectraHeisScope')
3728 opObj = puObj.getOperationObj(name='SpectraHeisScope')
3729 if opObj == None:
3729 if opObj == None:
3730 self.specHeisGraphCebSpectraplot.setCheckState(0)
3730 self.specHeisGraphCebSpectraplot.setCheckState(0)
3731 self.specHeisGraphSaveSpectra.setCheckState(0)
3731 self.specHeisGraphSaveSpectra.setCheckState(0)
3732 self.specHeisGraphftpSpectra.setCheckState(0)
3732 self.specHeisGraphftpSpectra.setCheckState(0)
3733 else:
3733 else:
3734 operationSpectraHeisScope = "Enable"
3734 operationSpectraHeisScope = "Enable"
3735 self.specHeisGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3735 self.specHeisGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3736
3736
3737 parmObj = opObj.getParameterObj(parameterName='channelList')
3737 parmObj = opObj.getParameterObj(parameterName='channelList')
3738 if parmObj == None:
3738 if parmObj == None:
3739 self.specHeisGgraphChannelList.clear()
3739 self.specHeisGgraphChannelList.clear()
3740 else:
3740 else:
3741 value = opObj.getParameterValue(parameterName='channelList')
3741 value = opObj.getParameterValue(parameterName='channelList')
3742 channelListSpectraHeisScope = str(value)[1:-1]
3742 channelListSpectraHeisScope = str(value)[1:-1]
3743 self.specHeisGgraphChannelList.setText(channelListSpectraHeisScope)
3743 self.specHeisGgraphChannelList.setText(channelListSpectraHeisScope)
3744 self.specHeisGgraphChannelList.setEnabled(True)
3744 self.specHeisGgraphChannelList.setEnabled(True)
3745
3745
3746 parmObj = opObj.getParameterObj(parameterName='xmin')
3746 parmObj = opObj.getParameterObj(parameterName='xmin')
3747 if parmObj == None:
3747 if parmObj == None:
3748 self.specHeisGgraphXminXmax.clear()
3748 self.specHeisGgraphXminXmax.clear()
3749 else:
3749 else:
3750 value1 = opObj.getParameterValue(parameterName='xmin')
3750 value1 = opObj.getParameterValue(parameterName='xmin')
3751 value1 = str(value1)
3751 value1 = str(value1)
3752 value2 = opObj.getParameterValue(parameterName='xmax')
3752 value2 = opObj.getParameterValue(parameterName='xmax')
3753 value2 = str(value2)
3753 value2 = str(value2)
3754 value = value1 + "," + value2
3754 value = value1 + "," + value2
3755 self.specHeisGgraphXminXmax.setText(value)
3755 self.specHeisGgraphXminXmax.setText(value)
3756 self.specHeisGgraphXminXmax.setEnabled(True)
3756 self.specHeisGgraphXminXmax.setEnabled(True)
3757
3757
3758 parmObj = opObj.getParameterObj(parameterName='ymin')
3758 parmObj = opObj.getParameterObj(parameterName='ymin')
3759 if parmObj == None:
3759 if parmObj == None:
3760 self.specHeisGgraphYminYmax.clear()
3760 self.specHeisGgraphYminYmax.clear()
3761 else:
3761 else:
3762 value1 = opObj.getParameterValue(parameterName='ymin')
3762 value1 = opObj.getParameterValue(parameterName='ymin')
3763 value1 = str(value1)
3763 value1 = str(value1)
3764 value2 = opObj.getParameterValue(parameterName='ymax')
3764 value2 = opObj.getParameterValue(parameterName='ymax')
3765 value2 = str(value2)
3765 value2 = str(value2)
3766 value = value1 + "," + value2
3766 value = value1 + "," + value2
3767 self.specHeisGgraphYminYmax.setText(value)
3767 self.specHeisGgraphYminYmax.setText(value)
3768 self.specHeisGgraphYminYmax.setEnabled(True)
3768 self.specHeisGgraphYminYmax.setEnabled(True)
3769
3769
3770 parmObj = opObj.getParameterObj(parameterName="save")
3770 parmObj = opObj.getParameterObj(parameterName="save")
3771 if parmObj == None:
3771 if parmObj == None:
3772 self.specHeisGraphSaveSpectra.setCheckState(0)
3772 self.specHeisGraphSaveSpectra.setCheckState(0)
3773 else:
3773 else:
3774 self.specHeisGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3774 self.specHeisGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3775
3775
3776 parmObj = opObj.getParameterObj(parameterName="ftp")
3776 parmObj = opObj.getParameterObj(parameterName="ftp")
3777 if parmObj == None:
3777 if parmObj == None:
3778 self.specHeisGraphftpSpectra.setCheckState(0)
3778 self.specHeisGraphftpSpectra.setCheckState(0)
3779 else:
3779 else:
3780 self.specHeisGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3780 self.specHeisGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3781
3781
3782 parmObj = opObj.getParameterObj(parameterName="figpath")
3782 parmObj = opObj.getParameterObj(parameterName="figpath")
3783 if parmObj:
3783 if parmObj:
3784 value = parmObj.getValue()
3784 value = parmObj.getValue()
3785 self.specHeisGraphPath.setText(value)
3785 self.specHeisGraphPath.setText(value)
3786
3786
3787 parmObj = opObj.getParameterObj(parameterName="wr_period")
3787 parmObj = opObj.getParameterObj(parameterName="wr_period")
3788 if parmObj:
3788 if parmObj:
3789 value = parmObj.getValue()
3789 value = parmObj.getValue()
3790 self.specHeisGgraphftpratio.setText(str(value))
3790 self.specHeisGgraphftpratio.setText(str(value))
3791
3791
3792 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
3792 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
3793
3793
3794 if opObj == None:
3794 if opObj == None:
3795 self.specHeisGraphCebRTIplot.setCheckState(0)
3795 self.specHeisGraphCebRTIplot.setCheckState(0)
3796 self.specHeisGraphSaveRTIplot.setCheckState(0)
3796 self.specHeisGraphSaveRTIplot.setCheckState(0)
3797 self.specHeisGraphftpRTIplot.setCheckState(0)
3797 self.specHeisGraphftpRTIplot.setCheckState(0)
3798 else:
3798 else:
3799 self.specHeisGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3799 self.specHeisGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3800 parmObj = opObj.getParameterObj(parameterName='channelList')
3800 parmObj = opObj.getParameterObj(parameterName='channelList')
3801 if parmObj == None:
3801 if parmObj == None:
3802 self.specHeisGgraphChannelList.clear()
3802 self.specHeisGgraphChannelList.clear()
3803 else:
3803 else:
3804 value = opObj.getParameterValue(parameterName='channelList')
3804 value = opObj.getParameterValue(parameterName='channelList')
3805 channelListRTIPlot = str(value)[1:-1]
3805 channelListRTIPlot = str(value)[1:-1]
3806 self.specGgraphChannelList.setText(channelListRTIPlot)
3806 self.specGgraphChannelList.setText(channelListRTIPlot)
3807 self.specGgraphChannelList.setEnabled(True)
3807 self.specGgraphChannelList.setEnabled(True)
3808
3808
3809 parmObj = opObj.getParameterObj(parameterName='xmin')
3809 parmObj = opObj.getParameterObj(parameterName='xmin')
3810 if parmObj == None:
3810 if parmObj == None:
3811 self.specHeisGgraphTminTmax.clear()
3811 self.specHeisGgraphTminTmax.clear()
3812 else:
3812 else:
3813 value1 = opObj.getParameterValue(parameterName='xmin')
3813 value1 = opObj.getParameterValue(parameterName='xmin')
3814 value1 = str(value1)
3814 value1 = str(value1)
3815 value2 = opObj.getParameterValue(parameterName='xmax')
3815 value2 = opObj.getParameterValue(parameterName='xmax')
3816 value2 = str(value2)
3816 value2 = str(value2)
3817 value = value1 + "," + value2
3817 value = value1 + "," + value2
3818 self.specHeisGgraphTminTmax.setText(value)
3818 self.specHeisGgraphTminTmax.setText(value)
3819 self.specHeisGgraphTminTmax.setEnabled(True)
3819 self.specHeisGgraphTminTmax.setEnabled(True)
3820
3820
3821 parmObj = opObj.getParameterObj(parameterName='timerange')
3821 parmObj = opObj.getParameterObj(parameterName='timerange')
3822 if parmObj == None:
3822 if parmObj == None:
3823 self.specGgraphTimeRange.clear()
3823 self.specGgraphTimeRange.clear()
3824 else:
3824 else:
3825 value1 = opObj.getParameterValue(parameterName='timerange')
3825 value1 = opObj.getParameterValue(parameterName='timerange')
3826 value1 = str(value1)
3826 value1 = str(value1)
3827 self.specHeisGgraphTimeRange.setText(value1)
3827 self.specHeisGgraphTimeRange.setText(value1)
3828 self.specHeisGgraphTimeRange.setEnabled(True)
3828 self.specHeisGgraphTimeRange.setEnabled(True)
3829
3829
3830 parmObj = opObj.getParameterObj(parameterName='ymin')
3830 parmObj = opObj.getParameterObj(parameterName='ymin')
3831 if parmObj == None:
3831 if parmObj == None:
3832 self.specHeisGgraphYminYmax.clear()
3832 self.specHeisGgraphYminYmax.clear()
3833 else:
3833 else:
3834 value1 = opObj.getParameterValue(parameterName='ymin')
3834 value1 = opObj.getParameterValue(parameterName='ymin')
3835 value1 = str(value1)
3835 value1 = str(value1)
3836 value2 = opObj.getParameterValue(parameterName='ymax')
3836 value2 = opObj.getParameterValue(parameterName='ymax')
3837 value2 = str(value2)
3837 value2 = str(value2)
3838 value = value1 + "," + value2
3838 value = value1 + "," + value2
3839 self.specHeisGgraphYminYmax.setText(value)
3839 self.specHeisGgraphYminYmax.setText(value)
3840 self.specHeisGgraphYminYmax.setEnabled(True)
3840 self.specHeisGgraphYminYmax.setEnabled(True)
3841
3841
3842 parmObj = opObj.getParameterObj(parameterName="save")
3842 parmObj = opObj.getParameterObj(parameterName="save")
3843 if parmObj == None:
3843 if parmObj == None:
3844 self.specHeisGraphSaveRTIplot.setCheckState(0)
3844 self.specHeisGraphSaveRTIplot.setCheckState(0)
3845 else:
3845 else:
3846 self.specHeisGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3846 self.specHeisGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3847
3847
3848 parmObj = opObj.getParameterObj(parameterName="ftp")
3848 parmObj = opObj.getParameterObj(parameterName="ftp")
3849 if parmObj == None:
3849 if parmObj == None:
3850 self.specHeisGraphftpRTIplot.setCheckState(0)
3850 self.specHeisGraphftpRTIplot.setCheckState(0)
3851 else:
3851 else:
3852 self.specHeisGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3852 self.specHeisGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3853
3853
3854 parmObj = opObj.getParameterObj(parameterName="figpath")
3854 parmObj = opObj.getParameterObj(parameterName="figpath")
3855 if parmObj:
3855 if parmObj:
3856 value = parmObj.getValue()
3856 value = parmObj.getValue()
3857 self.specHeisGraphPath.setText(value)
3857 self.specHeisGraphPath.setText(value)
3858
3858
3859 parmObj = opObj.getParameterObj(parameterName="wr_period")
3859 parmObj = opObj.getParameterObj(parameterName="wr_period")
3860 if parmObj:
3860 if parmObj:
3861 value = parmObj.getValue()
3861 value = parmObj.getValue()
3862 self.specHeisGgraphftpratio.setText(str(value))
3862 self.specHeisGgraphftpratio.setText(str(value))
3863
3863
3864 # outputSpectraHeisWrite
3864 # outputSpectraHeisWrite
3865 opObj = puObj.getOperationObj(name='FitsWriter')
3865 opObj = puObj.getOperationObj(name='FitsWriter')
3866 if opObj == None:
3866 if opObj == None:
3867 self.specHeisOutputPath.clear()
3867 self.specHeisOutputPath.clear()
3868 self.specHeisOutputblocksperfile.clear()
3868 self.specHeisOutputblocksperfile.clear()
3869 self.specHeisOutputMetada.clear()
3869 self.specHeisOutputMetada.clear()
3870 else:
3870 else:
3871 value = opObj.getParameterObj(parameterName='path')
3871 value = opObj.getParameterObj(parameterName='path')
3872 if value == None:
3872 if value == None:
3873 self.specHeisOutputPath.clear()
3873 self.specHeisOutputPath.clear()
3874 else:
3874 else:
3875 value = opObj.getParameterValue(parameterName='path')
3875 value = opObj.getParameterValue(parameterName='path')
3876 path = str(value)
3876 path = str(value)
3877 self.specHeisOutputPath.setText(path)
3877 self.specHeisOutputPath.setText(path)
3878 value = opObj.getParameterObj(parameterName='dataBlocksPerFile')
3878 value = opObj.getParameterObj(parameterName='dataBlocksPerFile')
3879 if value == None:
3879 if value == None:
3880 self.specHeisOutputblocksperfile.clear()
3880 self.specHeisOutputblocksperfile.clear()
3881 else:
3881 else:
3882 value = opObj.getParameterValue(parameterName='dataBlocksPerFile')
3882 value = opObj.getParameterValue(parameterName='dataBlocksPerFile')
3883 blocksperfile = str(value)
3883 blocksperfile = str(value)
3884 self.specHeisOutputblocksperfile.setText(blocksperfile)
3884 self.specHeisOutputblocksperfile.setText(blocksperfile)
3885 value = opObj.getParameterObj(parameterName='metadatafile')
3885 value = opObj.getParameterObj(parameterName='metadatafile')
3886 if value == None:
3886 if value == None:
3887 self.specHeisOutputMetada.clear()
3887 self.specHeisOutputMetada.clear()
3888 else:
3888 else:
3889 value = opObj.getParameterValue(parameterName='metadatafile')
3889 value = opObj.getParameterValue(parameterName='metadatafile')
3890 metadata_file = str(value)
3890 metadata_file = str(value)
3891 self.specHeisOutputMetada.setText(metadata_file)
3891 self.specHeisOutputMetada.setText(metadata_file)
3892
3892
3893 return
3893 return
3894
3894
3895 def __refreshCorrelationWindow(self, puObj):
3895 def __refreshCorrelationWindow(self, puObj):
3896 pass
3896 pass
3897
3897
3898 def refreshPUWindow(self, puObj):
3898 def refreshPUWindow(self, puObj):
3899
3899
3900 if puObj.datatype == 'Voltage':
3900 if puObj.datatype == 'Voltage':
3901 self.__refreshVoltageWindow(puObj)
3901 self.__refreshVoltageWindow(puObj)
3902
3902
3903 if puObj.datatype == 'Spectra':
3903 if puObj.datatype == 'Spectra':
3904 self.__refreshSpectraWindow(puObj)
3904 self.__refreshSpectraWindow(puObj)
3905
3905
3906 if puObj.datatype == 'SpectraHeis':
3906 if puObj.datatype == 'SpectraHeis':
3907 self.__refreshSpectraHeisWindow(puObj)
3907 self.__refreshSpectraHeisWindow(puObj)
3908
3908
3909 def refreshProjectProperties(self, projectObjView):
3909 def refreshProjectProperties(self, projectObjView):
3910
3910
3911 propertyBuffObj = PropertyBuffer()
3911 propertyBuffObj = PropertyBuffer()
3912 name = projectObjView.name
3912 name = projectObjView.name
3913
3913
3914 propertyBuffObj.append("Properties", "Name", projectObjView.name),
3914 propertyBuffObj.append("Properties", "Name", projectObjView.name),
3915 propertyBuffObj.append("Properties", "Description", projectObjView.description)
3915 propertyBuffObj.append("Properties", "Description", projectObjView.description)
3916 propertyBuffObj.append("Properties", "Workspace", self.pathWorkSpace)
3916 propertyBuffObj.append("Properties", "Workspace", self.pathWorkSpace)
3917
3917
3918 readUnitObj = projectObjView.getReadUnitObj()
3918 readUnitObj = projectObjView.getReadUnitObj()
3919 runOperationObj = readUnitObj.getOperationObj(name='run')
3919 runOperationObj = readUnitObj.getOperationObj(name='run')
3920
3920
3921 for thisParmObj in runOperationObj.getParameterObjList():
3921 for thisParmObj in runOperationObj.getParameterObjList():
3922 propertyBuffObj.append("Reading parms", thisParmObj.name, str(thisParmObj.getValue()))
3922 propertyBuffObj.append("Reading parms", thisParmObj.name, str(thisParmObj.getValue()))
3923
3923
3924 propertiesModel = propertyBuffObj.getPropertyModel()
3924 propertiesModel = propertyBuffObj.getPropertyModel()
3925
3925
3926 self.treeProjectProperties.setModel(propertiesModel)
3926 self.treeProjectProperties.setModel(propertiesModel)
3927 self.treeProjectProperties.expandAll()
3927 self.treeProjectProperties.expandAll()
3928 self.treeProjectProperties.resizeColumnToContents(0)
3928 self.treeProjectProperties.resizeColumnToContents(0)
3929 self.treeProjectProperties.resizeColumnToContents(1)
3929 self.treeProjectProperties.resizeColumnToContents(1)
3930
3930
3931 def refreshPUProperties(self, puObjView):
3931 def refreshPUProperties(self, puObjView):
3932
3932
3933 ############ FTP CONFIG ################################
3933 ############ FTP CONFIG ################################
3934 #Deleting FTP Conf. This processing unit have not got any
3934 #Deleting FTP Conf. This processing unit have not got any
3935 #FTP configuration by default
3935 #FTP configuration by default
3936 if puObjView.id in self.__puLocalFolder2FTP.keys():
3936 if puObjView.id in self.__puLocalFolder2FTP.keys():
3937 self.__puLocalFolder2FTP.pop(puObjView.id)
3937 self.__puLocalFolder2FTP.pop(puObjView.id)
3938 ########################################################
3938 ########################################################
3939
3939
3940 propertyBuffObj = PropertyBuffer()
3940 propertyBuffObj = PropertyBuffer()
3941
3941
3942 for thisOp in puObjView.getOperationObjList():
3942 for thisOp in puObjView.getOperationObjList():
3943
3943
3944 operationName = thisOp.name
3944 operationName = thisOp.name
3945
3945
3946 if operationName == 'run':
3946 if operationName == 'run':
3947 operationName = 'Properties'
3947 operationName = 'Properties'
3948
3948
3949 else:
3949 else:
3950 if not thisOp.getParameterObjList():
3950 if not thisOp.getParameterObjList():
3951 propertyBuffObj.append(operationName, '--', '--')
3951 propertyBuffObj.append(operationName, '--', '--')
3952 continue
3952 continue
3953
3953
3954 for thisParmObj in thisOp.getParameterObjList():
3954 for thisParmObj in thisOp.getParameterObjList():
3955 propertyBuffObj.append(operationName, thisParmObj.name, str(thisParmObj.getValue()))
3955 propertyBuffObj.append(operationName, thisParmObj.name, str(thisParmObj.getValue()))
3956
3956
3957 ############ FTP CONFIG ################################
3957 ############ FTP CONFIG ################################
3958 if thisParmObj.name == "ftp_wei" and thisParmObj.getValue():
3958 if thisParmObj.name == "ftp_wei" and thisParmObj.getValue():
3959 value = thisParmObj.getValue()
3959 value = thisParmObj.getValue()
3960 self.temporalFTP.ftp_wei = value
3960 self.temporalFTP.ftp_wei = value
3961
3961
3962 if thisParmObj.name == "exp_code" and thisParmObj.getValue():
3962 if thisParmObj.name == "exp_code" and thisParmObj.getValue():
3963 value = thisParmObj.getValue()
3963 value = thisParmObj.getValue()
3964 self.temporalFTP.exp_code = value
3964 self.temporalFTP.exp_code = value
3965
3965
3966 if thisParmObj.name == "sub_exp_code" and thisParmObj.getValue():
3966 if thisParmObj.name == "sub_exp_code" and thisParmObj.getValue():
3967 value = thisParmObj.getValue()
3967 value = thisParmObj.getValue()
3968 self.temporalFTP.sub_exp_code = value
3968 self.temporalFTP.sub_exp_code = value
3969
3969
3970 if thisParmObj.name == "plot_pos" and thisParmObj.getValue():
3970 if thisParmObj.name == "plot_pos" and thisParmObj.getValue():
3971 value = thisParmObj.getValue()
3971 value = thisParmObj.getValue()
3972 self.temporalFTP.plot_pos = value
3972 self.temporalFTP.plot_pos = value
3973
3973
3974 if thisParmObj.name == 'ftp' and thisParmObj.getValue():
3974 if thisParmObj.name == 'ftp' and thisParmObj.getValue():
3975 figpathObj = thisOp.getParameterObj('figpath')
3975 figpathObj = thisOp.getParameterObj('figpath')
3976 if figpathObj:
3976 if figpathObj:
3977 self.__puLocalFolder2FTP[puObjView.id] = figpathObj.getValue()
3977 self.__puLocalFolder2FTP[puObjView.id] = figpathObj.getValue()
3978
3978
3979 ########################################################
3979 ########################################################
3980
3980
3981 propertiesModel = propertyBuffObj.getPropertyModel()
3981 propertiesModel = propertyBuffObj.getPropertyModel()
3982
3982
3983 self.treeProjectProperties.setModel(propertiesModel)
3983 self.treeProjectProperties.setModel(propertiesModel)
3984 self.treeProjectProperties.expandAll()
3984 self.treeProjectProperties.expandAll()
3985 self.treeProjectProperties.resizeColumnToContents(0)
3985 self.treeProjectProperties.resizeColumnToContents(0)
3986 self.treeProjectProperties.resizeColumnToContents(1)
3986 self.treeProjectProperties.resizeColumnToContents(1)
3987
3987
3988 def refreshGraphicsId(self):
3988 def refreshGraphicsId(self):
3989
3989
3990 projectObj = self.getSelectedProjectObj()
3990 projectObj = self.getSelectedProjectObj()
3991
3991
3992 if not projectObj:
3992 if not projectObj:
3993 return
3993 return
3994
3994
3995 for idPU, puObj in projectObj.procUnitConfObjDict.items():
3995 for idPU, puObj in projectObj.procUnitConfObjDict.items():
3996
3996
3997 for opObj in puObj.getOperationObjList():
3997 for opObj in puObj.getOperationObjList():
3998
3998
3999 if opObj.name not in ('Scope', 'SpectraPlot', 'CrossSpectraPlot', 'RTIPlot', 'CoherenceMap', 'PowerProfilePlot', 'Noise', 'SpectraHeisScope', 'RTIfromSpectraHeis'):
3999 if opObj.name not in ('Scope', 'SpectraPlot', 'CrossSpectraPlot', 'RTIPlot', 'CoherenceMap', 'PowerProfilePlot', 'Noise', 'SpectraHeisScope', 'RTIfromSpectraHeis'):
4000 continue
4000 continue
4001
4001
4002 opObj.changeParameter(name='id', value=opObj.id, format='int')
4002 opObj.changeParameter(name='id', value=opObj.id, format='int')
4003
4003
4004 def on_click(self, index):
4004 def on_click(self, index):
4005
4005
4006 self.selectedItemTree = self.projectExplorerModel.itemFromIndex(index)
4006 self.selectedItemTree = self.projectExplorerModel.itemFromIndex(index)
4007
4007
4008 projectObjView = self.getSelectedProjectObj()
4008 projectObjView = self.getSelectedProjectObj()
4009
4009
4010 if not projectObjView:
4010 if not projectObjView:
4011 return
4011 return
4012
4012
4013 self.create = False
4013 self.create = False
4014 selectedObjView = self.getSelectedItemObj()
4014 selectedObjView = self.getSelectedItemObj()
4015
4015
4016 #A project has been selected
4016 #A project has been selected
4017 if projectObjView == selectedObjView:
4017 if projectObjView == selectedObjView:
4018
4018
4019 self.refreshProjectWindow(projectObjView)
4019 self.refreshProjectWindow(projectObjView)
4020 self.refreshProjectProperties(projectObjView)
4020 self.refreshProjectProperties(projectObjView)
4021
4021
4022 self.tabProject.setEnabled(True)
4022 self.tabProject.setEnabled(True)
4023 self.tabVoltage.setEnabled(False)
4023 self.tabVoltage.setEnabled(False)
4024 self.tabSpectra.setEnabled(False)
4024 self.tabSpectra.setEnabled(False)
4025 self.tabCorrelation.setEnabled(False)
4025 self.tabCorrelation.setEnabled(False)
4026 self.tabSpectraHeis.setEnabled(False)
4026 self.tabSpectraHeis.setEnabled(False)
4027 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4027 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4028
4028
4029 return
4029 return
4030
4030
4031 #A processing unit has been selected
4031 #A processing unit has been selected
4032 voltEnable = False
4032 voltEnable = False
4033 specEnable = False
4033 specEnable = False
4034 corrEnable = False
4034 corrEnable = False
4035 specHeisEnable = False
4035 specHeisEnable = False
4036 tabSelected = self.tabProject
4036 tabSelected = self.tabProject
4037
4037
4038 puObj = selectedObjView
4038 puObj = selectedObjView
4039
4039
4040 self.refreshPUWindow(puObj)
4040 self.refreshPUWindow(puObj)
4041 self.refreshPUProperties(puObj)
4041 self.refreshPUProperties(puObj)
4042 self.showtabPUCreated(puObj.datatype)
4042 self.showtabPUCreated(puObj.datatype)
4043
4043
4044 def on_right_click(self, pos):
4044 def on_right_click(self, pos):
4045
4045
4046 self.menu = QtGui.QMenu()
4046 self.menu = QtGui.QMenu()
4047 quitAction0 = self.menu.addAction("Create a New Project")
4047 quitAction0 = self.menu.addAction("Create a New Project")
4048 quitAction1 = self.menu.addAction("Create a New Processing Unit")
4048 quitAction1 = self.menu.addAction("Create a New Processing Unit")
4049 quitAction2 = self.menu.addAction("Delete Item")
4049 quitAction2 = self.menu.addAction("Delete Item")
4050 quitAction3 = self.menu.addAction("Quit")
4050 quitAction3 = self.menu.addAction("Quit")
4051
4051
4052 if len(self.__itemTreeDict) == 0:
4052 if len(self.__itemTreeDict) == 0:
4053 quitAction2.setEnabled(False)
4053 quitAction2.setEnabled(False)
4054 else:
4054 else:
4055 quitAction2.setEnabled(True)
4055 quitAction2.setEnabled(True)
4056
4056
4057 action = self.menu.exec_(self.mapToGlobal(pos))
4057 action = self.menu.exec_(self.mapToGlobal(pos))
4058
4058
4059 if action == quitAction0:
4059 if action == quitAction0:
4060 self. setInputsProject_View()
4060 self. setInputsProject_View()
4061 self.create = True
4061 self.create = True
4062
4062
4063 if action == quitAction1:
4063 if action == quitAction1:
4064 if len(self.__projectObjDict) == 0:
4064 if len(self.__projectObjDict) == 0:
4065 outputstr = "You need to create a Project before adding a Processing Unit"
4065 outputstr = "You need to create a Project before adding a Processing Unit"
4066 self.console.clear()
4066 self.console.clear()
4067 self.console.append(outputstr)
4067 self.console.append(outputstr)
4068 return 0
4068 return 0
4069 else:
4069 else:
4070 self.addPUWindow()
4070 self.addPUWindow()
4071 self.console.clear()
4071 self.console.clear()
4072 self.console.append("Please, Choose the type of Processing Unit")
4072 self.console.append("Please, Choose the type of Processing Unit")
4073 # self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
4073 # self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
4074 # self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
4074 # self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
4075 # self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
4075 # self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
4076
4076
4077 if action == quitAction2:
4077 if action == quitAction2:
4078 index = self.selectedItemTree
4078 index = self.selectedItemTree
4079 try:
4079 try:
4080 index.parent()
4080 index.parent()
4081 except:
4081 except:
4082 self.console.append('Please first select a Project or Processing Unit')
4082 self.console.append('Please first select a Project or Processing Unit')
4083 return 0
4083 return 0
4084 # print index.parent(),index
4084 # print index.parent(),index
4085 if index.parent() == None:
4085 if index.parent() == None:
4086 self.projectExplorerModel.removeRow(index.row())
4086 self.projectExplorerModel.removeRow(index.row())
4087 else:
4087 else:
4088 index.parent().removeRow(index.row())
4088 index.parent().removeRow(index.row())
4089 self.removeItemTreeFromProject()
4089 self.removeItemTreeFromProject()
4090 self.console.clear()
4090 self.console.clear()
4091 # for i in self.projectExplorerTree.selectionModel().selection().indexes():
4091 # for i in self.projectExplorerTree.selectionModel().selection().indexes():
4092 # print i.row()
4092 # print i.row()
4093
4093
4094 if action == quitAction3:
4094 if action == quitAction3:
4095 self.close()
4095 self.close()
4096 return 0
4096 return 0
4097
4097
4098 def createProjectView(self, id):
4098 def createProjectView(self, id):
4099
4099
4100 # project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4100 # project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4101 id = str(id)
4101 id = str(id)
4102 projectParms = self.__getParmsFromProjectWindow()
4102 projectParms = self.__getParmsFromProjectWindow()
4103
4103
4104 if not projectParms.isValid():
4104 if not projectParms.isValid():
4105 return None
4105 return None
4106
4106
4107 projectObjView = Project()
4107 projectObjView = Project()
4108 projectObjView.setup(id=id, name=projectParms.name, description=projectParms.description)
4108 projectObjView.setup(id=id, name=projectParms.name, description=projectParms.description)
4109
4109
4110 self.__projectObjDict[id] = projectObjView
4110 self.__projectObjDict[id] = projectObjView
4111 self.addProject2ProjectExplorer(id=id, name=projectObjView.name)
4111 self.addProject2ProjectExplorer(id=id, name=projectObjView.name)
4112
4112
4113 return projectObjView
4113 return projectObjView
4114
4114
4115 def updateProjectView(self):
4115 def updateProjectView(self):
4116
4116
4117 # project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4117 # project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4118
4118
4119 projectParms = self.__getParmsFromProjectWindow()
4119 projectParms = self.__getParmsFromProjectWindow()
4120
4120
4121 if not projectParms.isValid():
4121 if not projectParms.isValid():
4122 return None
4122 return None
4123
4123
4124 projectObjView = self.getSelectedProjectObj()
4124 projectObjView = self.getSelectedProjectObj()
4125
4125
4126 if not projectObjView:
4126 if not projectObjView:
4127 self.console.append("Please select a project before update it")
4127 self.console.append("Please select a project before update it")
4128 return None
4128 return None
4129
4129
4130 projectObjView.update(name=projectParms.name, description=projectParms.description)
4130 projectObjView.update(name=projectParms.name, description=projectParms.description)
4131
4131
4132 return projectObjView
4132 return projectObjView
4133
4133
4134 def createReadUnitView(self, projectObjView):
4134 def createReadUnitView(self, projectObjView):
4135
4135
4136 # project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4136 # project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4137
4137
4138 projectParms = self.__getParmsFromProjectWindow()
4138 projectParms = self.__getParmsFromProjectWindow()
4139
4139
4140 if not projectParms.isValid():
4140 if not projectParms.isValid():
4141 return None
4141 return None
4142
4142
4143 if projectParms.datatype in ("Voltage", "Spectra", "Fits"):
4143 if projectParms.datatype in ("Voltage", "Spectra", "Fits"):
4144 readUnitConfObj = projectObjView.addReadUnit(datatype=projectParms.datatype,
4144 readUnitConfObj = projectObjView.addReadUnit(datatype=projectParms.datatype,
4145 path=projectParms.dpath,
4145 path=projectParms.dpath,
4146 startDate=projectParms.startDate,
4146 startDate=projectParms.startDate,
4147 endDate=projectParms.endDate,
4147 endDate=projectParms.endDate,
4148 startTime=projectParms.startTime,
4148 startTime=projectParms.startTime,
4149 endTime=projectParms.endTime,
4149 endTime=projectParms.endTime,
4150 online=projectParms.online,
4150 online=projectParms.online,
4151 walk=projectParms.walk
4151 walk=projectParms.walk
4152 )
4152 )
4153
4153
4154 if projectParms.set:
4154 if projectParms.set:
4155 readUnitConfObj.addParameter(name="set", value=projectParms.set, format="int")
4155 readUnitConfObj.addParameter(name="set", value=projectParms.set, format="int")
4156
4156
4157 if projectParms.delay:
4157 if projectParms.delay:
4158 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4158 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4159
4159
4160 if projectParms.expLabel:
4160 if projectParms.expLabel:
4161 readUnitConfObj.addParameter(name="expLabel", value=projectParms.expLabel)
4161 readUnitConfObj.addParameter(name="expLabel", value=projectParms.expLabel)
4162
4162
4163 readUnitConfObj.addOperation(name="printInfo")
4163 readUnitConfObj.addOperation(name="printInfo")
4164
4164
4165 if projectParms.datatype == "USRP":
4165 if projectParms.datatype == "USRP":
4166 readUnitConfObj = projectObjView.addReadUnit(datatype=projectParms.datatype,
4166 readUnitConfObj = projectObjView.addReadUnit(datatype=projectParms.datatype,
4167 path=projectParms.dpath,
4167 path=projectParms.dpath,
4168 startDate=projectParms.startDate,
4168 startDate=projectParms.startDate,
4169 endDate=projectParms.endDate,
4169 endDate=projectParms.endDate,
4170 startTime=projectParms.startTime,
4170 startTime=projectParms.startTime,
4171 endTime=projectParms.endTime,
4171 endTime=projectParms.endTime,
4172 online=projectParms.online,
4172 online=projectParms.online,
4173 ippKm=projectParms.ippKm
4173 ippKm=projectParms.ippKm
4174 )
4174 )
4175
4175
4176 if projectParms.delay:
4176 if projectParms.delay:
4177 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4177 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4178
4178
4179 return readUnitConfObj
4179 return readUnitConfObj
4180
4180
4181 def updateReadUnitView(self, projectObjView, idReadUnit):
4181 def updateReadUnitView(self, projectObjView, idReadUnit):
4182
4182
4183 # project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk , set = self.getParmsFromProjectWindow()
4183 # project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk , set = self.getParmsFromProjectWindow()
4184
4184
4185 readUnitConfObj = projectObjView.getProcUnitObj(idReadUnit)
4185 readUnitConfObj = projectObjView.getProcUnitObj(idReadUnit)
4186
4186
4187 projectParms = self.__getParmsFromProjectWindow()
4187 projectParms = self.__getParmsFromProjectWindow()
4188
4188
4189 if not projectParms.isValid():
4189 if not projectParms.isValid():
4190 return None
4190 return None
4191
4191
4192 if projectParms.datatype in ["Voltage", "Spectra", "Fits"]:
4192 if projectParms.datatype in ["Voltage", "Spectra", "Fits"]:
4193 readUnitConfObj.update(datatype=projectParms.datatype,
4193 readUnitConfObj.update(datatype=projectParms.datatype,
4194 path=projectParms.dpath,
4194 path=projectParms.dpath,
4195 startDate=projectParms.startDate,
4195 startDate=projectParms.startDate,
4196 endDate=projectParms.endDate,
4196 endDate=projectParms.endDate,
4197 startTime=projectParms.startTime,
4197 startTime=projectParms.startTime,
4198 endTime=projectParms.endTime,
4198 endTime=projectParms.endTime,
4199 online=projectParms.online,
4199 online=projectParms.online,
4200 walk=projectParms.walk
4200 walk=projectParms.walk
4201 )
4201 )
4202 if projectParms.set:
4202 if projectParms.set:
4203 readUnitConfObj.addParameter(name="set", value=projectParms.set, format="int")
4203 readUnitConfObj.addParameter(name="set", value=projectParms.set, format="int")
4204
4204
4205 if projectParms.delay:
4205 if projectParms.delay:
4206 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4206 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4207
4207
4208 if projectParms.expLabel:
4208 if projectParms.expLabel:
4209 readUnitConfObj.addParameter(name="expLabel", value=projectParms.expLabel)
4209 readUnitConfObj.addParameter(name="expLabel", value=projectParms.expLabel)
4210
4210
4211 readUnitConfObj.addOperation(name="printInfo")
4211 readUnitConfObj.addOperation(name="printInfo")
4212
4212
4213 if projectParms.datatype == "USRP":
4213 if projectParms.datatype == "USRP":
4214 readUnitConfObj.update(datatype=projectParms.datatype,
4214 readUnitConfObj.update(datatype=projectParms.datatype,
4215 path=projectParms.dpath,
4215 path=projectParms.dpath,
4216 startDate=projectParms.startDate,
4216 startDate=projectParms.startDate,
4217 endDate=projectParms.endDate,
4217 endDate=projectParms.endDate,
4218 startTime=projectParms.startTime,
4218 startTime=projectParms.startTime,
4219 endTime=projectParms.endTime,
4219 endTime=projectParms.endTime,
4220 online=projectParms.online,
4220 online=projectParms.online,
4221 ippKm=projectParms.ippKm
4221 ippKm=projectParms.ippKm
4222 )
4222 )
4223
4223
4224 if projectParms.delay:
4224 if projectParms.delay:
4225 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4225 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4226
4226
4227 return readUnitConfObj
4227 return readUnitConfObj
4228
4228
4229 def createProcUnitView(self, projectObjView, datatype, inputId):
4229 def createProcUnitView(self, projectObjView, datatype, inputId):
4230
4230
4231 procUnitConfObj = projectObjView.addProcUnit(datatype=datatype, inputId=inputId)
4231 procUnitConfObj = projectObjView.addProcUnit(datatype=datatype, inputId=inputId)
4232
4232
4233 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
4233 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
4234
4234
4235 return procUnitConfObj
4235 return procUnitConfObj
4236
4236
4237 def updateProcUnitView(self, id):
4237 def updateProcUnitView(self, id):
4238
4238
4239 procUnitConfObj = projectObjView.getProcUnitObj(id)
4239 pass
4240 procUnitConfObj.removeOperations()
4241
4242 return procUnitConfObj
4243
4240
4244 def addPUWindow(self):
4241 def addPUWindow(self):
4245
4242
4246 self.configUPWindowObj = UnitProcessWindow(self)
4243 self.configUPWindowObj = UnitProcessWindow(self)
4247 fatherObj = self.getSelectedItemObj()
4244 fatherObj = self.getSelectedItemObj()
4248 try:
4245 try:
4249 fatherObj.getElementName()
4246 fatherObj.getElementName()
4250 except:
4247 except:
4251 self.console.append("First left click on Project or Processing Unit")
4248 self.console.append("First left click on Project or Processing Unit")
4252 return 0
4249 return 0
4253
4250
4254 if fatherObj.getElementName() == 'Project':
4251 if fatherObj.getElementName() == 'Project':
4255 readUnitConfObj = fatherObj.getReadUnitObj()
4252 readUnitConfObj = fatherObj.getReadUnitObj()
4256 self.configUPWindowObj.dataTypeProject = str(readUnitConfObj.datatype)
4253 self.configUPWindowObj.dataTypeProject = str(readUnitConfObj.datatype)
4257
4254
4258 self.configUPWindowObj.getfromWindowList.append(fatherObj)
4255 self.configUPWindowObj.getfromWindowList.append(fatherObj)
4259 self.configUPWindowObj.loadTotalList()
4256 self.configUPWindowObj.loadTotalList()
4260 self.configUPWindowObj.show()
4257 self.configUPWindowObj.show()
4261 self.configUPWindowObj.closed.connect(self.createPUWindow)
4258 self.configUPWindowObj.closed.connect(self.createPUWindow)
4262
4259
4263 def createPUWindow(self):
4260 def createPUWindow(self):
4264
4261
4265 if not self.configUPWindowObj.create:
4262 if not self.configUPWindowObj.create:
4266 return
4263 return
4267
4264
4268 fatherObj = self.configUPWindowObj.getFromWindow
4265 fatherObj = self.configUPWindowObj.getFromWindow
4269 datatype = self.configUPWindowObj.typeofUP
4266 datatype = self.configUPWindowObj.typeofUP
4270
4267
4271 if fatherObj.getElementName() == 'Project':
4268 if fatherObj.getElementName() == 'Project':
4272 inputId = fatherObj.getReadUnitId()
4269 inputId = fatherObj.getReadUnitId()
4273 projectObjView = fatherObj
4270 projectObjView = fatherObj
4274 else:
4271 else:
4275 inputId = fatherObj.getId()
4272 inputId = fatherObj.getId()
4276 projectObjView = self.getSelectedProjectObj()
4273 projectObjView = self.getSelectedProjectObj()
4277
4274
4278 if not projectObjView:
4275 if not projectObjView:
4279 return
4276 return
4280
4277
4281 puObj = self.createProcUnitView(projectObjView, datatype, inputId)
4278 puObj = self.createProcUnitView(projectObjView, datatype, inputId)
4282
4279
4283 self.addPU2ProjectExplorer(puObj)
4280 self.addPU2ProjectExplorer(puObj)
4284
4281
4285 self.showtabPUCreated(datatype)
4282 self.showtabPUCreated(datatype)
4286
4283
4287 self.clearPUWindow(datatype)
4284 self.clearPUWindow(datatype)
4288
4285
4289 self.showPUinitView()
4286 self.showPUinitView()
4290
4287
4291 def addFTPConf2Operation(self, puObj, opObj):
4288 def addFTPConf2Operation(self, puObj, opObj):
4292
4289
4293 if not self.temporalFTP.create:
4290 if not self.temporalFTP.create:
4294 self.temporalFTP.setwithoutconfiguration()
4291 self.temporalFTP.setwithoutconfiguration()
4295
4292
4296 # opObj.addParameter(name='server', value=self.temporalFTP.server, format='str')
4293 # opObj.addParameter(name='server', value=self.temporalFTP.server, format='str')
4297 # opObj.addParameter(name='remotefolder', value=self.temporalFTP.remotefolder, format='str')
4294 # opObj.addParameter(name='remotefolder', value=self.temporalFTP.remotefolder, format='str')
4298 # opObj.addParameter(name='username', value=self.temporalFTP.username, format='str')
4295 # opObj.addParameter(name='username', value=self.temporalFTP.username, format='str')
4299 # opObj.addParameter(name='password', value=self.temporalFTP.password, format='str')
4296 # opObj.addParameter(name='password', value=self.temporalFTP.password, format='str')
4300
4297
4301 if self.temporalFTP.ftp_wei:
4298 if self.temporalFTP.ftp_wei:
4302 opObj.addParameter(name='ftp_wei', value=int(self.temporalFTP.ftp_wei), format='int')
4299 opObj.addParameter(name='ftp_wei', value=int(self.temporalFTP.ftp_wei), format='int')
4303 if self.temporalFTP.exp_code:
4300 if self.temporalFTP.exp_code:
4304 opObj.addParameter(name='exp_code', value=int(self.temporalFTP.exp_code), format='int')
4301 opObj.addParameter(name='exp_code', value=int(self.temporalFTP.exp_code), format='int')
4305 if self.temporalFTP.sub_exp_code:
4302 if self.temporalFTP.sub_exp_code:
4306 opObj.addParameter(name='sub_exp_code', value=int(self.temporalFTP.sub_exp_code), format='int')
4303 opObj.addParameter(name='sub_exp_code', value=int(self.temporalFTP.sub_exp_code), format='int')
4307 if self.temporalFTP.plot_pos:
4304 if self.temporalFTP.plot_pos:
4308 opObj.addParameter(name='plot_pos', value=int(self.temporalFTP.plot_pos), format='int')
4305 opObj.addParameter(name='plot_pos', value=int(self.temporalFTP.plot_pos), format='int')
4309
4306
4310 # def __checkFTPProcUnit(self, projectObj, localfolder):
4307 # def __checkFTPProcUnit(self, projectObj, localfolder):
4311 #
4308 #
4312 # puId = None
4309 # puId = None
4313 # puObj = None
4310 # puObj = None
4314 #
4311 #
4315 # for thisPuId, thisPuObj in projectObj.procUnitItems():
4312 # for thisPuId, thisPuObj in projectObj.procUnitItems():
4316 #
4313 #
4317 # if not thisPuObj.name == "SendToServer":
4314 # if not thisPuObj.name == "SendToServer":
4318 # continue
4315 # continue
4319 #
4316 #
4320 # opObj = thisPuObj.getOperationObj(name='run')
4317 # opObj = thisPuObj.getOperationObj(name='run')
4321 #
4318 #
4322 # parmObj = opObj.getParameterObj('localfolder')
4319 # parmObj = opObj.getParameterObj('localfolder')
4323 #
4320 #
4324 # #localfolder parameter should always be set, if it is not set then ProcUnit should be removed
4321 # #localfolder parameter should always be set, if it is not set then ProcUnit should be removed
4325 # if not parmObj:
4322 # if not parmObj:
4326 # projectObj.removeProcUnit(thisPuId)
4323 # projectObj.removeProcUnit(thisPuId)
4327 # continue
4324 # continue
4328 #
4325 #
4329 # thisLocalfolder = parmObj.getValue()
4326 # thisLocalfolder = parmObj.getValue()
4330 #
4327 #
4331 # if localfolder != thisLocalfolder:
4328 # if localfolder != thisLocalfolder:
4332 # continue
4329 # continue
4333 #
4330 #
4334 # puId = thisPuId
4331 # puId = thisPuId
4335 # puObj = thisPuObj
4332 # puObj = thisPuObj
4336 # break
4333 # break
4337 #
4334 #
4338 # return puObj
4335 # return puObj
4339
4336
4340 def createFTPProcUnitView(self):
4337 def createFTPProcUnitView(self):
4341
4338
4342 if not self.temporalFTP.create:
4339 if not self.temporalFTP.create:
4343 self.temporalFTP.setwithoutconfiguration()
4340 self.temporalFTP.setwithoutconfiguration()
4344
4341
4345 projectObj = self.getSelectedProjectObj()
4342 projectObj = self.getSelectedProjectObj()
4346
4343
4347 if not projectObj:
4344 if not projectObj:
4348 return
4345 return
4349
4346
4350 self.removeAllFTPProcUnitView(projectObj)
4347 self.removeAllFTPProcUnitView(projectObj)
4351
4348
4352 if not self.__puLocalFolder2FTP:
4349 if not self.__puLocalFolder2FTP:
4353 return
4350 return
4354
4351
4355 folderList = ",".join(self.__puLocalFolder2FTP.values())
4352 folderList = ",".join(self.__puLocalFolder2FTP.values())
4356
4353
4357 procUnitConfObj = projectObj.addProcUnit(name="SendToServer")
4354 procUnitConfObj = projectObj.addProcUnit(name="SendToServer")
4358
4355
4359 procUnitConfObj.addParameter(name='server', value=self.temporalFTP.server, format='str')
4356 procUnitConfObj.addParameter(name='server', value=self.temporalFTP.server, format='str')
4360 procUnitConfObj.addParameter(name='username', value=self.temporalFTP.username, format='str')
4357 procUnitConfObj.addParameter(name='username', value=self.temporalFTP.username, format='str')
4361 procUnitConfObj.addParameter(name='password', value=self.temporalFTP.password, format='str')
4358 procUnitConfObj.addParameter(name='password', value=self.temporalFTP.password, format='str')
4362 procUnitConfObj.addParameter(name='localfolder', value=folderList, format='list')
4359 procUnitConfObj.addParameter(name='localfolder', value=folderList, format='list')
4363 procUnitConfObj.addParameter(name='remotefolder', value=self.temporalFTP.remotefolder, format='str')
4360 procUnitConfObj.addParameter(name='remotefolder', value=self.temporalFTP.remotefolder, format='str')
4364 procUnitConfObj.addParameter(name='ext', value=self.temporalFTP.extension, format='str')
4361 procUnitConfObj.addParameter(name='ext', value=self.temporalFTP.extension, format='str')
4365 procUnitConfObj.addParameter(name='period', value=self.temporalFTP.period, format='int')
4362 procUnitConfObj.addParameter(name='period', value=self.temporalFTP.period, format='int')
4366 procUnitConfObj.addParameter(name='protocol', value=self.temporalFTP.protocol, format='str')
4363 procUnitConfObj.addParameter(name='protocol', value=self.temporalFTP.protocol, format='str')
4367
4364
4368 procUnitConfObj.addParameter(name='ftp_wei', value=self.temporalFTP.ftp_wei, format='int')
4365 procUnitConfObj.addParameter(name='ftp_wei', value=self.temporalFTP.ftp_wei, format='int')
4369 procUnitConfObj.addParameter(name='exp_code', value=self.temporalFTP.exp_code, format='int')
4366 procUnitConfObj.addParameter(name='exp_code', value=self.temporalFTP.exp_code, format='int')
4370 procUnitConfObj.addParameter(name='sub_exp_code', value=self.temporalFTP.sub_exp_code, format='int')
4367 procUnitConfObj.addParameter(name='sub_exp_code', value=self.temporalFTP.sub_exp_code, format='int')
4371 procUnitConfObj.addParameter(name='plot_pos', value=self.temporalFTP.plot_pos, format='int')
4368 procUnitConfObj.addParameter(name='plot_pos', value=self.temporalFTP.plot_pos, format='int')
4372
4369
4373 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
4370 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
4374
4371
4375 def removeAllFTPProcUnitView(self, projectObj):
4372 def removeAllFTPProcUnitView(self, projectObj):
4376
4373
4377 for thisPuId, thisPuObj in projectObj.procUnitItems():
4374 for thisPuId, thisPuObj in projectObj.procUnitItems():
4378
4375
4379 if not thisPuObj.name == "SendToServer":
4376 if not thisPuObj.name == "SendToServer":
4380 continue
4377 continue
4381
4378
4382 projectObj.removeProcUnit(thisPuId)
4379 projectObj.removeProcUnit(thisPuId)
4383
4380
4384 if thisPuId not in self.__puObjDict.keys():
4381 if thisPuId not in self.__puObjDict.keys():
4385 continue
4382 continue
4386
4383
4387 self.__puObjDict.pop(thisPuId)
4384 self.__puObjDict.pop(thisPuId)
4388
4385
4389 def showPUinitView(self):
4386 def showPUinitView(self):
4390
4387
4391 self.propertiesModel = TreeModel()
4388 self.propertiesModel = TreeModel()
4392 self.propertiesModel.initPUVoltageView()
4389 self.propertiesModel.initPUVoltageView()
4393 self.treeProjectProperties.setModel(self.propertiesModel)
4390 self.treeProjectProperties.setModel(self.propertiesModel)
4394 self.treeProjectProperties.expandAll()
4391 self.treeProjectProperties.expandAll()
4395 self.treeProjectProperties.allColumnsShowFocus()
4392 self.treeProjectProperties.allColumnsShowFocus()
4396 self.treeProjectProperties.resizeColumnToContents(1)
4393 self.treeProjectProperties.resizeColumnToContents(1)
4397
4394
4398 def saveFTPFromOpObj(self, operationObj):
4395 def saveFTPFromOpObj(self, operationObj):
4399
4396
4400 if operationObj.name != "SendByFTP":
4397 if operationObj.name != "SendByFTP":
4401 return
4398 return
4402
4399
4403 server = operationObj.getParameterValue("server")
4400 server = operationObj.getParameterValue("server")
4404 username = operationObj.getParameterValue("username")
4401 username = operationObj.getParameterValue("username")
4405 password = operationObj.getParameterValue("password")
4402 password = operationObj.getParameterValue("password")
4406 localfolder = operationObj.getParameterValue("localfolder")
4403 localfolder = operationObj.getParameterValue("localfolder")
4407 remotefolder = operationObj.getParameterValue("remotefolder")
4404 remotefolder = operationObj.getParameterValue("remotefolder")
4408 ext = operationObj.getParameterValue("ext")
4405 ext = operationObj.getParameterValue("ext")
4409 period = operationObj.getParameterValue("period")
4406 period = operationObj.getParameterValue("period")
4410
4407
4411 self.temporalFTP.save(server=server,
4408 self.temporalFTP.save(server=server,
4412 remotefolder=remotefolder,
4409 remotefolder=remotefolder,
4413 username=username,
4410 username=username,
4414 password=password,
4411 password=password,
4415 localfolder=localfolder,
4412 localfolder=localfolder,
4416 extension=ext)
4413 extension=ext)
4417
4414
4418 return
4415 return
4419
4416
4420 def saveFTPFromProcUnitObj(self, puObj):
4417 def saveFTPFromProcUnitObj(self, puObj):
4421
4418
4422 opObj = puObj.getOperationObj(name="run")
4419 opObj = puObj.getOperationObj(name="run")
4423
4420
4424 parmObj = opObj.getParameterObj(parameterName="server")
4421 parmObj = opObj.getParameterObj(parameterName="server")
4425 if parmObj == None:
4422 if parmObj == None:
4426 server = 'jro-app.igp.gob.pe'
4423 server = 'jro-app.igp.gob.pe'
4427 else:
4424 else:
4428 server = parmObj.getValue()
4425 server = parmObj.getValue()
4429
4426
4430 parmObj = opObj.getParameterObj(parameterName="remotefolder")
4427 parmObj = opObj.getParameterObj(parameterName="remotefolder")
4431 if parmObj == None:
4428 if parmObj == None:
4432 remotefolder = '/home/wmaster/graficos'
4429 remotefolder = '/home/wmaster/graficos'
4433 else:
4430 else:
4434 remotefolder = parmObj.getValue()
4431 remotefolder = parmObj.getValue()
4435
4432
4436 parmObj = opObj.getParameterObj(parameterName="username")
4433 parmObj = opObj.getParameterObj(parameterName="username")
4437 if parmObj == None:
4434 if parmObj == None:
4438 username = 'wmaster'
4435 username = 'wmaster'
4439 else:
4436 else:
4440 username = parmObj.getValue()
4437 username = parmObj.getValue()
4441
4438
4442 parmObj = opObj.getParameterObj(parameterName="password")
4439 parmObj = opObj.getParameterObj(parameterName="password")
4443 if parmObj == None:
4440 if parmObj == None:
4444 password = 'mst2010vhf'
4441 password = 'mst2010vhf'
4445 else:
4442 else:
4446 password = parmObj.getValue()
4443 password = parmObj.getValue()
4447
4444
4448 parmObj = opObj.getParameterObj(parameterName="ftp_wei")
4445 parmObj = opObj.getParameterObj(parameterName="ftp_wei")
4449 if parmObj == None:
4446 if parmObj == None:
4450 ftp_wei = 0
4447 ftp_wei = 0
4451 else:
4448 else:
4452 ftp_wei = parmObj.getValue()
4449 ftp_wei = parmObj.getValue()
4453
4450
4454 parmObj = opObj.getParameterObj(parameterName="exp_code")
4451 parmObj = opObj.getParameterObj(parameterName="exp_code")
4455 if parmObj == None:
4452 if parmObj == None:
4456 exp_code = 0
4453 exp_code = 0
4457 else:
4454 else:
4458 exp_code = parmObj.getValue()
4455 exp_code = parmObj.getValue()
4459
4456
4460 parmObj = opObj.getParameterObj(parameterName="sub_exp_code")
4457 parmObj = opObj.getParameterObj(parameterName="sub_exp_code")
4461 if parmObj == None:
4458 if parmObj == None:
4462 sub_exp_code = 0
4459 sub_exp_code = 0
4463 else:
4460 else:
4464 sub_exp_code = parmObj.getValue()
4461 sub_exp_code = parmObj.getValue()
4465
4462
4466 parmObj = opObj.getParameterObj(parameterName="plot_pos")
4463 parmObj = opObj.getParameterObj(parameterName="plot_pos")
4467 if parmObj == None:
4464 if parmObj == None:
4468 plot_pos = 0
4465 plot_pos = 0
4469 else:
4466 else:
4470 plot_pos = parmObj.getValue()
4467 plot_pos = parmObj.getValue()
4471
4468
4472 parmObj = opObj.getParameterObj(parameterName="localfolder")
4469 parmObj = opObj.getParameterObj(parameterName="localfolder")
4473 if parmObj == None:
4470 if parmObj == None:
4474 localfolder = None
4471 localfolder = None
4475 else:
4472 else:
4476 localfolder = parmObj.getValue()
4473 localfolder = parmObj.getValue()
4477
4474
4478 parmObj = opObj.getParameterObj(parameterName="ext")
4475 parmObj = opObj.getParameterObj(parameterName="ext")
4479 if parmObj == None:
4476 if parmObj == None:
4480 extension = '.png'
4477 extension = '.png'
4481 else:
4478 else:
4482 extension = parmObj.getValue()
4479 extension = parmObj.getValue()
4483
4480
4484 self.temporalFTP.save(server=server,
4481 self.temporalFTP.save(server=server,
4485 remotefolder=remotefolder,
4482 remotefolder=remotefolder,
4486 username=username,
4483 username=username,
4487 password=password,
4484 password=password,
4488 ftp_wei=ftp_wei,
4485 ftp_wei=ftp_wei,
4489 exp_code=exp_code,
4486 exp_code=exp_code,
4490 sub_exp_code=sub_exp_code,
4487 sub_exp_code=sub_exp_code,
4491 plot_pos=plot_pos,
4488 plot_pos=plot_pos,
4492 localfolder=localfolder,
4489 localfolder=localfolder,
4493 extension=extension)
4490 extension=extension)
4494
4491
4495 def addProject2ProjectExplorer(self, id, name):
4492 def addProject2ProjectExplorer(self, id, name):
4496
4493
4497 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4494 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4498
4495
4499 parentItem = self.projectExplorerModel.invisibleRootItem()
4496 parentItem = self.projectExplorerModel.invisibleRootItem()
4500 parentItem.appendRow(itemTree)
4497 parentItem.appendRow(itemTree)
4501
4498
4502 self.projectExplorerTree.setCurrentIndex(itemTree.index())
4499 self.projectExplorerTree.setCurrentIndex(itemTree.index())
4503
4500
4504 self.selectedItemTree = itemTree
4501 self.selectedItemTree = itemTree
4505
4502
4506 self.__itemTreeDict[id] = itemTree
4503 self.__itemTreeDict[id] = itemTree
4507
4504
4508 def addPU2ProjectExplorer(self, puObj):
4505 def addPU2ProjectExplorer(self, puObj):
4509
4506
4510 id, name = puObj.id, puObj.datatype
4507 id, name = puObj.id, puObj.datatype
4511
4508
4512 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4509 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4513
4510
4514 parentItem = self.selectedItemTree
4511 parentItem = self.selectedItemTree
4515 parentItem.appendRow(itemTree)
4512 parentItem.appendRow(itemTree)
4516 self.projectExplorerTree.expandAll()
4513 self.projectExplorerTree.expandAll()
4517
4514
4518 self.projectExplorerTree.setCurrentIndex(itemTree.index())
4515 self.projectExplorerTree.setCurrentIndex(itemTree.index())
4519
4516
4520 self.selectedItemTree = itemTree
4517 self.selectedItemTree = itemTree
4521
4518
4522 self.__itemTreeDict[id] = itemTree
4519 self.__itemTreeDict[id] = itemTree
4523
4520
4524 def addPU2PELoadXML(self, puObj):
4521 def addPU2PELoadXML(self, puObj):
4525
4522
4526 id, name, inputId = puObj.id, puObj.datatype, puObj.inputId
4523 id, name, inputId = puObj.id, puObj.datatype, puObj.inputId
4527
4524
4528 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4525 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4529
4526
4530 if self.__itemTreeDict.has_key(inputId):
4527 if self.__itemTreeDict.has_key(inputId):
4531 parentItem = self.__itemTreeDict[inputId]
4528 parentItem = self.__itemTreeDict[inputId]
4532 else:
4529 else:
4533 #If parent is a Reader object
4530 #If parent is a Reader object
4534 parentItem = self.__itemTreeDict[id[:-1]]
4531 parentItem = self.__itemTreeDict[id[:-1]]
4535
4532
4536 parentItem.appendRow(itemTree)
4533 parentItem.appendRow(itemTree)
4537 self.projectExplorerTree.expandAll()
4534 self.projectExplorerTree.expandAll()
4538 parentItem = itemTree
4535 parentItem = itemTree
4539 self.projectExplorerTree.setCurrentIndex(parentItem.index())
4536 self.projectExplorerTree.setCurrentIndex(parentItem.index())
4540
4537
4541 self.__itemTreeDict[id] = itemTree
4538 self.__itemTreeDict[id] = itemTree
4542 self.selectedItemTree = itemTree
4539 self.selectedItemTree = itemTree
4543
4540
4544 def getSelectedProjectObj(self):
4541 def getSelectedProjectObj(self):
4545 """
4542 """
4546 Return the current project object selected. If a processing unit is
4543 Return the current project object selected. If a processing unit is
4547 actually selected this function returns associated project.
4544 actually selected this function returns associated project.
4548
4545
4549 None if any project or processing unit is selected
4546 None if any project or processing unit is selected
4550 """
4547 """
4551 for key in self.__itemTreeDict.keys():
4548 for key in self.__itemTreeDict.keys():
4552 if self.__itemTreeDict[key] != self.selectedItemTree:
4549 if self.__itemTreeDict[key] != self.selectedItemTree:
4553 continue
4550 continue
4554
4551
4555 if self.__projectObjDict.has_key(key):
4552 if self.__projectObjDict.has_key(key):
4556 projectObj = self.__projectObjDict[key]
4553 projectObj = self.__projectObjDict[key]
4557 return projectObj
4554 return projectObj
4558
4555
4559 puObj = self.__puObjDict[key]
4556 puObj = self.__puObjDict[key]
4560
4557
4561 if puObj.parentId == None:
4558 if puObj.parentId == None:
4562 projectId = puObj.getId()[0]
4559 projectId = puObj.getId()[0]
4563 else:
4560 else:
4564 projectId = puObj.parentId
4561 projectId = puObj.parentId
4565
4562
4566 projectObj = self.__projectObjDict[projectId]
4563 projectObj = self.__projectObjDict[projectId]
4567 return projectObj
4564 return projectObj
4568
4565
4569 return None
4566 return None
4570
4567
4571 def getSelectedItemObj(self):
4568 def getSelectedItemObj(self):
4572 """
4569 """
4573 Return the current project or processing unit object selected
4570 Return the current project or processing unit object selected
4574
4571
4575 None if any project or processing unit is selected
4572 None if any project or processing unit is selected
4576 """
4573 """
4577 for key in self.__itemTreeDict.keys():
4574 for key in self.__itemTreeDict.keys():
4578 if self.__itemTreeDict[key] != self.selectedItemTree:
4575 if self.__itemTreeDict[key] != self.selectedItemTree:
4579 continue
4576 continue
4580
4577
4581 if self.__projectObjDict.has_key(key) == True:
4578 if self.__projectObjDict.has_key(key) == True:
4582 fatherObj = self.__projectObjDict[key]
4579 fatherObj = self.__projectObjDict[key]
4583 else:
4580 else:
4584 fatherObj = self.__puObjDict[key]
4581 fatherObj = self.__puObjDict[key]
4585
4582
4586 return fatherObj
4583 return fatherObj
4587
4584
4588 return None
4585 return None
4589
4586
4590 def _WarningWindow(self, text, information):
4587 def _WarningWindow(self, text, information):
4591
4588
4592 msgBox = QtGui.QMessageBox()
4589 msgBox = QtGui.QMessageBox()
4593 msgBox.setText(text)
4590 msgBox.setText(text)
4594 msgBox.setInformativeText(information)
4591 msgBox.setInformativeText(information)
4595 msgBox.setStandardButtons(QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel)
4592 msgBox.setStandardButtons(QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel)
4596 msgBox.setDefaultButton(QtGui.QMessageBox.Ok)
4593 msgBox.setDefaultButton(QtGui.QMessageBox.Ok)
4597 ret = msgBox.exec_()
4594 ret = msgBox.exec_()
4598
4595
4599 answer = False
4596 answer = False
4600
4597
4601 if ret == QtGui.QMessageBox.Ok:
4598 if ret == QtGui.QMessageBox.Ok:
4602 answer = True
4599 answer = True
4603
4600
4604 return answer
4601 return answer
4605
4602
4606 def __getNewProjectId(self):
4603 def __getNewProjectId(self):
4607
4604
4608 loadProject = False
4605 loadProject = False
4609
4606
4610 for thisId in range(1,10):
4607 for thisId in range(1,10):
4611 newId = str(thisId)
4608 newId = str(thisId)
4612 if newId in self.__projectObjDict.keys():
4609 if newId in self.__projectObjDict.keys():
4613 continue
4610 continue
4614
4611
4615 loadProject = True
4612 loadProject = True
4616 projectId = newId
4613 projectId = newId
4617 break
4614 break
4618
4615
4619 if not loadProject:
4616 if not loadProject:
4620 self.console.clear()
4617 self.console.clear()
4621 self.console.append("The maximum number of projects has been loaded, a new project can not be loaded")
4618 self.console.append("The maximum number of projects has been loaded, a new project can not be loaded")
4622 return None
4619 return None
4623
4620
4624 return projectId
4621 return projectId
4625
4622
4626 def openProject(self):
4623 def openProject(self):
4627
4624
4628 self.actionStart.setEnabled(False)
4625 self.actionStart.setEnabled(False)
4629 self.actionStarToolbar.setEnabled(False)
4626 self.actionStarToolbar.setEnabled(False)
4630
4627
4631 self.frame_2.setEnabled(True)
4628 self.frame_2.setEnabled(True)
4632
4629
4633 # print self.dir
4630 # print self.dir
4634 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.pathWorkSpace, self.tr("Text Files (*.xml)")))
4631 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.pathWorkSpace, self.tr("Text Files (*.xml)")))
4635
4632
4636 projectObjLoad = Project()
4633 projectObjLoad = Project()
4637
4634
4638 try:
4635 try:
4639 projectObjLoad.readXml(filename)
4636 projectObjLoad.readXml(filename)
4640 except:
4637 except:
4641 self.console.clear()
4638 self.console.clear()
4642 self.console.append("The selected xml file could not be loaded ...")
4639 self.console.append("The selected xml file could not be loaded ...")
4643 return 0
4640 return 0
4644
4641
4645 self.create = False
4642 self.create = False
4646 self.refreshProjectWindow(projectObjLoad)
4643 self.refreshProjectWindow(projectObjLoad)
4647 self.refreshProjectProperties(projectObjLoad)
4644 self.refreshProjectProperties(projectObjLoad)
4648
4645
4649 projectId = projectObjLoad.id
4646 projectId = projectObjLoad.id
4650
4647
4651 if projectId in self.__projectObjDict.keys():
4648 if projectId in self.__projectObjDict.keys():
4652
4649
4653 # answer = self._WarningWindow("You already have a project loaded with the same Id",
4650 # answer = self._WarningWindow("You already have a project loaded with the same Id",
4654 # "Do you want to load the file anyway?")
4651 # "Do you want to load the file anyway?")
4655 # if not answer:
4652 # if not answer:
4656 # return
4653 # return
4657
4654
4658 projectId = self.__getNewProjectId()
4655 projectId = self.__getNewProjectId()
4659
4656
4660 if not projectId:
4657 if not projectId:
4661 return
4658 return
4662
4659
4663 projectObjLoad.updateId(projectId)
4660 projectObjLoad.updateId(projectId)
4664
4661
4665 self.__projectObjDict[projectId] = projectObjLoad
4662 self.__projectObjDict[projectId] = projectObjLoad
4666
4663
4667 self.addProject2ProjectExplorer(id=projectId, name=projectObjLoad.name)
4664 self.addProject2ProjectExplorer(id=projectId, name=projectObjLoad.name)
4668
4665
4669 self.tabWidgetProject.setEnabled(True)
4666 self.tabWidgetProject.setEnabled(True)
4670 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4667 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4671 # Disable tabProject after finish the creation
4668 # Disable tabProject after finish the creation
4672 self.tabProject.setEnabled(True)
4669 self.tabProject.setEnabled(True)
4673 puObjorderList = OrderedDict(sorted(projectObjLoad.procUnitConfObjDict.items(), key=lambda x: x[0]))
4670 puObjorderList = OrderedDict(sorted(projectObjLoad.procUnitConfObjDict.items(), key=lambda x: x[0]))
4674
4671
4675 for puId, puObj in puObjorderList.items():
4672 for puId, puObj in puObjorderList.items():
4676
4673
4677 self.__puObjDict[puId] = puObj
4674 self.__puObjDict[puId] = puObj
4678
4675
4679 if puObj.name == "SendToServer":
4676 if puObj.name == "SendToServer":
4680 self.saveFTPFromProcUnitObj(puObj)
4677 self.saveFTPFromProcUnitObj(puObj)
4681
4678
4682 ############## COMPATIBLE WITH OLD VERSIONS ################
4679 ############## COMPATIBLE WITH OLD VERSIONS ################
4683 operationObj = puObj.getOperationObj("SendByFTP")
4680 operationObj = puObj.getOperationObj("SendByFTP")
4684
4681
4685 if operationObj:
4682 if operationObj:
4686 self.saveFTPFromOpObj(operationObj)
4683 self.saveFTPFromOpObj(operationObj)
4687 ############################################################
4684 ############################################################
4688
4685
4689 if puObj.inputId == '0':
4686 if puObj.inputId == '0':
4690 continue
4687 continue
4691
4688
4692 self.addPU2PELoadXML(puObj)
4689 self.addPU2PELoadXML(puObj)
4693
4690
4694 self.refreshPUWindow(puObj)
4691 self.refreshPUWindow(puObj)
4695 self.refreshPUProperties(puObj)
4692 self.refreshPUProperties(puObj)
4696 self.showtabPUCreated(datatype=puObj.datatype)
4693 self.showtabPUCreated(datatype=puObj.datatype)
4697
4694
4698 self.console.clear()
4695 self.console.clear()
4699 self.console.append("The selected xml file has been loaded successfully")
4696 self.console.append("The selected xml file has been loaded successfully")
4700
4697
4701 self.actionStart.setEnabled(True)
4698 self.actionStart.setEnabled(True)
4702 self.actionStarToolbar.setEnabled(True)
4699 self.actionStarToolbar.setEnabled(True)
4703
4700
4704 def create_updating_timer(self):
4701 def create_updating_timer(self):
4705 self.comm_data_timer = QtCore.QTimer(self)
4702 self.comm_data_timer = QtCore.QTimer(self)
4706 self.comm_data_timer.timeout.connect(self.on_comm_updating_timer)
4703 self.comm_data_timer.timeout.connect(self.on_comm_updating_timer)
4707 self.comm_data_timer.start(1000)
4704 self.comm_data_timer.start(1000)
4708
4705
4709 def on_comm_updating_timer(self):
4706 def on_comm_updating_timer(self):
4710 # Verifica si algun proceso ha sido inicializado y sigue ejecutandose
4707 # Verifica si algun proceso ha sido inicializado y sigue ejecutandose
4711 # Si el proceso se ha parado actualizar el GUI (stopProject)
4708 # Si el proceso se ha parado actualizar el GUI (stopProject)
4712 if not self.__enable:
4709 if not self.threadStarted:
4713 return
4710 return
4714
4711
4715 if self.controllerThread.isFinished():
4712 if self.controllerThread.isFinished():
4716 self.stopProject()
4713 self.stopProject()
4717
4714
4718 # def jobStartedFromThread(self, success):
4719 #
4720 # self.console.clear()
4721 # self.console.append("Job started")
4722 #
4723 # def jobFinishedFromThread(self, success):
4724 #
4725 # self.stopProject()
4726
4727 def playProject(self, ext=".xml", save=1):
4715 def playProject(self, ext=".xml", save=1):
4728
4716
4729 projectObj = self.getSelectedProjectObj()
4717 projectObj = self.getSelectedProjectObj()
4730
4718
4731 if not projectObj:
4719 if not projectObj:
4732 self.console.append("Please select a project before pressing PLAY button")
4720 self.console.append("Please select a project before pressing PLAY button")
4733 return
4721 return
4734
4722
4735 if save:
4723 if save:
4736 filename = self.saveProject()
4724 filename = self.saveProject()
4737 if filename == None:
4725 if filename == None:
4738 self.console.append("Process did not initialize.")
4726 self.console.append("Process did not initialize.")
4739 return
4727 return
4740 else:
4728 else:
4741 filename = TEMPORAL_FILE
4729 filename = TEMPORAL_FILE
4742 projectObj.writeXml( os.path.join(self.pathWorkSpace,filename) )
4730 projectObj.writeXml( os.path.join(self.pathWorkSpace,filename) )
4743
4731
4744 self.actionStart.setEnabled(False)
4732 self.actionStart.setEnabled(False)
4745 self.actionPause.setEnabled(True)
4733 self.actionPause.setEnabled(True)
4746 self.actionStop.setEnabled(True)
4734 self.actionStop.setEnabled(True)
4747
4735
4748 self.actionStarToolbar.setEnabled(False)
4736 self.actionStarToolbar.setEnabled(False)
4749 self.actionPauseToolbar.setEnabled(True)
4737 self.actionPauseToolbar.setEnabled(True)
4750 self.actionStopToolbar.setEnabled(True)
4738 self.actionStopToolbar.setEnabled(True)
4751
4739
4752 self.console.append("Please Wait...")
4740 self.console.append("Please Wait...")
4753
4741
4754 self.controllerThread = ControllerThread(filename)
4742 self.controllerThread = ControllerThread(filename)
4755
4743
4756 # QObject.connect( self.controllerThread, SIGNAL( "jobFinished( PyQt_PyObject )" ), self.jobFinishedFromThread )
4744 # QObject.connect( self.controllerThread, SIGNAL( "jobFinished( PyQt_PyObject )" ), self.jobFinishedFromThread )
4757 # QObject.connect( self.controllerThread, SIGNAL( "jobStarted( PyQt_PyObject )" ), self.jobStartedFromThread )
4745 # QObject.connect( self.controllerThread, SIGNAL( "jobStarted( PyQt_PyObject )" ), self.jobStartedFromThread )
4758 self.console.clear()
4746 self.console.clear()
4759 self.controllerThread.start()
4747 self.controllerThread.start()
4760 sleep(0.5)
4748 sleep(0.5)
4761 self.__enable = True
4749 self.threadStarted = True
4762
4750
4763 def stopProject(self):
4751 self.changeStartIcon(started=True)
4764
4752
4765 self.__enable = False
4753 def stopProject(self):
4766
4754
4767 # self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.STOP, True))
4755 # self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.STOP, True))
4768 self.controllerThread.stop()
4756 self.controllerThread.stop()
4757 self.threadStarted = False
4769
4758
4770 while self.controllerThread.isRunning():
4759 while self.controllerThread.isRunning():
4771 sleep(0.5)
4760 sleep(0.5)
4772
4761
4773 self.actionStart.setEnabled(True)
4762 self.actionStart.setEnabled(True)
4774 self.actionPause.setEnabled(False)
4763 self.actionPause.setEnabled(False)
4775 self.actionStop.setEnabled(False)
4764 self.actionStop.setEnabled(False)
4776
4765
4777 self.actionStarToolbar.setEnabled(True)
4766 self.actionStarToolbar.setEnabled(True)
4778 self.actionPauseToolbar.setEnabled(False)
4767 self.actionPauseToolbar.setEnabled(False)
4779 self.actionStopToolbar.setEnabled(False)
4768 self.actionStopToolbar.setEnabled(False)
4780
4769
4781 self.restorePauseIcon()
4770 self.restorePauseIcon()
4771 self.restoreStartIcon()
4782
4772
4783 def pauseProject(self):
4773 def pauseProject(self):
4784
4774
4785 # self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PAUSE, data=True))
4775 # self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PAUSE, data=True))
4786 self.controllerThread.pause()
4776 paused = self.controllerThread.pause()
4787
4777
4788 self.actionStart.setEnabled(False)
4778 self.actionStart.setEnabled(False)
4789 self.actionPause.setEnabled(True)
4779 self.actionPause.setEnabled(True)
4790 self.actionStop.setEnabled(True)
4780 self.actionStop.setEnabled(True)
4791
4781
4792 self.actionStarToolbar.setEnabled(False)
4782 self.actionStarToolbar.setEnabled(False)
4793 self.actionPauseToolbar.setEnabled(True)
4783 self.actionPauseToolbar.setEnabled(True)
4794 self.actionStopToolbar.setEnabled(True)
4784 self.actionStopToolbar.setEnabled(True)
4785
4786 self.changePauseIcon(paused)
4795
4787
4796 def saveProject(self, filename=None):
4788 def saveProject(self, filename=None):
4797
4789
4798 self.actionStart.setEnabled(False)
4790 self.actionStart.setEnabled(False)
4799 self.actionStarToolbar.setEnabled(False)
4791 self.actionStarToolbar.setEnabled(False)
4800
4792
4801 projectObj = self.getSelectedProjectObj()
4793 projectObj = self.getSelectedProjectObj()
4802
4794
4803 if not projectObj:
4795 if not projectObj:
4804
4796
4805 if self.create:
4797 if self.create:
4806 self.console.append("Please press Ok before save it")
4798 self.console.append("Please press Ok before save it")
4807 else:
4799 else:
4808 self.console.append("Please select a project before save it")
4800 self.console.append("Please select a project before save it")
4809 return
4801 return
4810
4802
4811 self.refreshGraphicsId()
4803 self.refreshGraphicsId()
4812
4804
4813 sts = True
4805 sts = True
4814 selectedItemObj = self.getSelectedItemObj()
4806 selectedItemObj = self.getSelectedItemObj()
4815
4807
4816 #A Processing Unit has been selected
4808 #A Processing Unit has been selected
4817 if projectObj == selectedItemObj:
4809 if projectObj == selectedItemObj:
4818 if not self.on_proOk_clicked():
4810 if not self.on_proOk_clicked():
4819 return None
4811 return None
4820
4812
4821 #A Processing Unit has been selected
4813 #A Processing Unit has been selected
4822 if projectObj != selectedItemObj:
4814 if projectObj != selectedItemObj:
4823 puObj = selectedItemObj
4815 puObj = selectedItemObj
4824
4816
4825 if puObj.name == 'VoltageProc':
4817 if puObj.name == 'VoltageProc':
4826 sts = self.on_volOpOk_clicked()
4818 sts = self.on_volOpOk_clicked()
4827 if puObj.name == 'SpectraProc':
4819 if puObj.name == 'SpectraProc':
4828 sts = self.on_specOpOk_clicked()
4820 sts = self.on_specOpOk_clicked()
4829 if puObj.name == 'SpectraHeisProc':
4821 if puObj.name == 'SpectraHeisProc':
4830 sts = self.on_specHeisOpOk_clicked()
4822 sts = self.on_specHeisOpOk_clicked()
4831
4823
4832 if not sts:
4824 if not sts:
4833 return None
4825 return None
4834
4826
4835 self.createFTPProcUnitView()
4827 self.createFTPProcUnitView()
4836
4828
4837 if not filename:
4829 if not filename:
4838 filename = os.path.join( str(self.pathWorkSpace), "%s%s" %(str(projectObj.name), '.xml') )
4830 filename = os.path.join( str(self.pathWorkSpace), "%s%s" %(str(projectObj.name), '.xml') )
4839
4831
4840 projectObj.writeXml(filename)
4832 projectObj.writeXml(filename)
4841 self.console.clear()
4833 self.console.clear()
4842 self.console.append("Project saved")
4834 self.console.append("Project saved")
4843 self.console.append("Press Play button to start data processing ...")
4835 self.console.append("Press Play button to start data processing ...")
4844
4836
4845 self.actionStart.setEnabled(True)
4837 self.actionStart.setEnabled(True)
4846 self.actionStarToolbar.setEnabled(True)
4838 self.actionStarToolbar.setEnabled(True)
4847
4839
4848 return filename
4840 return filename
4849
4841
4850 def removeItemTreeFromProject(self):
4842 def removeItemTreeFromProject(self):
4851 """
4843 """
4852 Metodo para eliminar el proyecto en el dictionario de proyectos y en el dictionario de vista de arbol
4844 Metodo para eliminar el proyecto en el dictionario de proyectos y en el dictionario de vista de arbol
4853 """
4845 """
4854 for key in self.__itemTreeDict.keys():
4846 for key in self.__itemTreeDict.keys():
4855
4847
4856 #Check again because an item can delete multiple items (childs)
4848 #Check again because an item can delete multiple items (childs)
4857 if key not in self.__itemTreeDict.keys():
4849 if key not in self.__itemTreeDict.keys():
4858 continue
4850 continue
4859
4851
4860 if self.__itemTreeDict[key] != self.selectedItemTree:
4852 if self.__itemTreeDict[key] != self.selectedItemTree:
4861 continue
4853 continue
4862
4854
4863 if self.__projectObjDict.has_key(key) == True:
4855 if self.__projectObjDict.has_key(key) == True:
4864
4856
4865 del self.__projectObjDict[key]
4857 del self.__projectObjDict[key]
4866 del self.__itemTreeDict[key]
4858 del self.__itemTreeDict[key]
4867
4859
4868 else:
4860 else:
4869 puObj = self.__puObjDict[key]
4861 puObj = self.__puObjDict[key]
4870 idProjectParent = puObj.parentId
4862 idProjectParent = puObj.parentId
4871 projectObj = self.__projectObjDict[idProjectParent]
4863 projectObj = self.__projectObjDict[idProjectParent]
4872
4864
4873 del self.__puObjDict[key]
4865 del self.__puObjDict[key]
4874 del self.__itemTreeDict[key]
4866 del self.__itemTreeDict[key]
4875 del projectObj.procUnitConfObjDict[key]
4867 del projectObj.procUnitConfObjDict[key]
4876
4868
4877 for key in projectObj.procUnitConfObjDict.keys():
4869 for key in projectObj.procUnitConfObjDict.keys():
4878 if projectObj.procUnitConfObjDict[key].inputId != puObj.getId():
4870 if projectObj.procUnitConfObjDict[key].inputId != puObj.getId():
4879 continue
4871 continue
4880 del self.__puObjDict[projectObj.procUnitConfObjDict[key].getId()]
4872 del self.__puObjDict[projectObj.procUnitConfObjDict[key].getId()]
4881 del self.__itemTreeDict[projectObj.procUnitConfObjDict[key].getId()]
4873 del self.__itemTreeDict[projectObj.procUnitConfObjDict[key].getId()]
4882 del projectObj.procUnitConfObjDict[key]
4874 del projectObj.procUnitConfObjDict[key]
4883 # print projectObj.procUnitConfObjDict
4875 # print projectObj.procUnitConfObjDict
4884 # print self.__itemTreeDict,self.__projectObjDict,self.__puObjDict
4876 # print self.__itemTreeDict,self.__projectObjDict,self.__puObjDict
4885
4877
4886 def setInputsProject_View(self):
4878 def setInputsProject_View(self):
4887
4879
4888 self.tabWidgetProject.setEnabled(True)
4880 self.tabWidgetProject.setEnabled(True)
4889 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4881 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4890 self.tabProject.setEnabled(True)
4882 self.tabProject.setEnabled(True)
4891 self.frame_2.setEnabled(False)
4883 self.frame_2.setEnabled(False)
4892 self.proName.clear()
4884 self.proName.clear()
4893 self.proName.setFocus()
4885 self.proName.setFocus()
4894 self.proName.setSelection(0, 0)
4886 self.proName.setSelection(0, 0)
4895 self.proName.setCursorPosition(0)
4887 self.proName.setCursorPosition(0)
4896 self.proDataType.setText('.r')
4888 self.proDataType.setText('.r')
4897 self.proDataPath.clear()
4889 self.proDataPath.clear()
4898 self.proComDataType.clear()
4890 self.proComDataType.clear()
4899 self.proComDataType.addItem("Voltage")
4891 self.proComDataType.addItem("Voltage")
4900 self.proComDataType.addItem("Spectra")
4892 self.proComDataType.addItem("Spectra")
4901 self.proComDataType.addItem("Fits")
4893 self.proComDataType.addItem("Fits")
4902 self.proComDataType.addItem("USRP")
4894 self.proComDataType.addItem("USRP")
4903
4895
4904 self.proComStartDate.clear()
4896 self.proComStartDate.clear()
4905 self.proComEndDate.clear()
4897 self.proComEndDate.clear()
4906
4898
4907 startTime = "00:00:00"
4899 startTime = "00:00:00"
4908 endTime = "23:59:59"
4900 endTime = "23:59:59"
4909 starlist = startTime.split(":")
4901 starlist = startTime.split(":")
4910 endlist = endTime.split(":")
4902 endlist = endTime.split(":")
4911 self.proDelay.setText("60")
4903 self.proDelay.setText("60")
4912 self.proSet.setText("")
4904 self.proSet.setText("")
4913
4905
4914 self.labelSet.show()
4906 self.labelSet.show()
4915 self.proSet.show()
4907 self.proSet.show()
4916
4908
4917 self.labelIPPKm.hide()
4909 self.labelIPPKm.hide()
4918 self.proIPPKm.hide()
4910 self.proIPPKm.hide()
4919
4911
4920 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
4912 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
4921 self.proStartTime.setTime(self.time)
4913 self.proStartTime.setTime(self.time)
4922 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
4914 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
4923 self.proEndTime.setTime(self.time)
4915 self.proEndTime.setTime(self.time)
4924 self.proDescription.clear()
4916 self.proDescription.clear()
4925 self.proOk.setEnabled(False)
4917 self.proOk.setEnabled(False)
4926 # self.console.append("Please, Write a name Project")
4918 # self.console.append("Please, Write a name Project")
4927 # self.console.append("Introduce Project Parameters")DC
4919 # self.console.append("Introduce Project Parameters")DC
4928 # self.console.append("Select data type Voltage( .rawdata) or Spectra(.pdata)")
4920 # self.console.append("Select data type Voltage( .rawdata) or Spectra(.pdata)")
4929
4921
4930 def clearPUWindow(self, datatype):
4922 def clearPUWindow(self, datatype):
4931
4923
4932 projectObjView = self.getSelectedProjectObj()
4924 projectObjView = self.getSelectedProjectObj()
4933
4925
4934 if not projectObjView:
4926 if not projectObjView:
4935 return
4927 return
4936
4928
4937 puObj = self.getSelectedItemObj()
4929 puObj = self.getSelectedItemObj()
4938 inputId = puObj.getInputId()
4930 inputId = puObj.getInputId()
4939 inputPUObj = projectObjView.getProcUnitObj(inputId)
4931 inputPUObj = projectObjView.getProcUnitObj(inputId)
4940
4932
4941 if datatype == 'Voltage':
4933 if datatype == 'Voltage':
4942 self.volOpComChannels.setEnabled(False)
4934 self.volOpComChannels.setEnabled(False)
4943 self.volOpComHeights.setEnabled(False)
4935 self.volOpComHeights.setEnabled(False)
4944 self.volOpFilter.setEnabled(False)
4936 self.volOpFilter.setEnabled(False)
4945 self.volOpComProfile.setEnabled(False)
4937 self.volOpComProfile.setEnabled(False)
4946 self.volOpComCode.setEnabled(False)
4938 self.volOpComCode.setEnabled(False)
4947 self.volOpCohInt.setEnabled(False)
4939 self.volOpCohInt.setEnabled(False)
4948 self.volOpChannel.setEnabled(False)
4940 self.volOpChannel.setEnabled(False)
4949 self.volOpHeights.setEnabled(False)
4941 self.volOpHeights.setEnabled(False)
4950 self.volOpProfile.setEnabled(False)
4942 self.volOpProfile.setEnabled(False)
4951 self.volOpRadarfrequency.setEnabled(False)
4943 self.volOpRadarfrequency.setEnabled(False)
4952 self.volOpCebChannels.setCheckState(0)
4944 self.volOpCebChannels.setCheckState(0)
4953 self.volOpCebRadarfrequency.setCheckState(0)
4945 self.volOpCebRadarfrequency.setCheckState(0)
4954 self.volOpCebHeights.setCheckState(0)
4946 self.volOpCebHeights.setCheckState(0)
4955 self.volOpCebFilter.setCheckState(0)
4947 self.volOpCebFilter.setCheckState(0)
4956 self.volOpCebProfile.setCheckState(0)
4948 self.volOpCebProfile.setCheckState(0)
4957 self.volOpCebDecodification.setCheckState(0)
4949 self.volOpCebDecodification.setCheckState(0)
4958 self.volOpCebCohInt.setCheckState(0)
4950 self.volOpCebCohInt.setCheckState(0)
4959
4951
4960 self.volOpChannel.clear()
4952 self.volOpChannel.clear()
4961 self.volOpHeights.clear()
4953 self.volOpHeights.clear()
4962 self.volOpProfile.clear()
4954 self.volOpProfile.clear()
4963 self.volOpFilter.clear()
4955 self.volOpFilter.clear()
4964 self.volOpCohInt.clear()
4956 self.volOpCohInt.clear()
4965 self.volOpRadarfrequency.clear()
4957 self.volOpRadarfrequency.clear()
4966
4958
4967 if datatype == 'Spectra':
4959 if datatype == 'Spectra':
4968
4960
4969 if inputPUObj.datatype == 'Spectra':
4961 if inputPUObj.datatype == 'Spectra':
4970 self.specOpnFFTpoints.setEnabled(False)
4962 self.specOpnFFTpoints.setEnabled(False)
4971 self.specOpProfiles.setEnabled(False)
4963 self.specOpProfiles.setEnabled(False)
4972 self.specOpippFactor.setEnabled(False)
4964 self.specOpippFactor.setEnabled(False)
4973 else:
4965 else:
4974 self.specOpnFFTpoints.setEnabled(True)
4966 self.specOpnFFTpoints.setEnabled(True)
4975 self.specOpProfiles.setEnabled(True)
4967 self.specOpProfiles.setEnabled(True)
4976 self.specOpippFactor.setEnabled(True)
4968 self.specOpippFactor.setEnabled(True)
4977
4969
4978 self.specOpCebCrossSpectra.setCheckState(0)
4970 self.specOpCebCrossSpectra.setCheckState(0)
4979 self.specOpCebChannel.setCheckState(0)
4971 self.specOpCebChannel.setCheckState(0)
4980 self.specOpCebHeights.setCheckState(0)
4972 self.specOpCebHeights.setCheckState(0)
4981 self.specOpCebIncoherent.setCheckState(0)
4973 self.specOpCebIncoherent.setCheckState(0)
4982 self.specOpCebRemoveDC.setCheckState(0)
4974 self.specOpCebRemoveDC.setCheckState(0)
4983 self.specOpCebRemoveInt.setCheckState(0)
4975 self.specOpCebRemoveInt.setCheckState(0)
4984 self.specOpCebgetNoise.setCheckState(0)
4976 self.specOpCebgetNoise.setCheckState(0)
4985 self.specOpCebRadarfrequency.setCheckState(0)
4977 self.specOpCebRadarfrequency.setCheckState(0)
4986
4978
4987 self.specOpRadarfrequency.setEnabled(False)
4979 self.specOpRadarfrequency.setEnabled(False)
4988 self.specOppairsList.setEnabled(False)
4980 self.specOppairsList.setEnabled(False)
4989 self.specOpChannel.setEnabled(False)
4981 self.specOpChannel.setEnabled(False)
4990 self.specOpHeights.setEnabled(False)
4982 self.specOpHeights.setEnabled(False)
4991 self.specOpIncoherent.setEnabled(False)
4983 self.specOpIncoherent.setEnabled(False)
4992 self.specOpgetNoise.setEnabled(False)
4984 self.specOpgetNoise.setEnabled(False)
4993
4985
4994 self.specOpRadarfrequency.clear()
4986 self.specOpRadarfrequency.clear()
4995 self.specOpnFFTpoints.clear()
4987 self.specOpnFFTpoints.clear()
4996 self.specOpProfiles.clear()
4988 self.specOpProfiles.clear()
4997 self.specOpippFactor.clear
4989 self.specOpippFactor.clear
4998 self.specOppairsList.clear()
4990 self.specOppairsList.clear()
4999 self.specOpChannel.clear()
4991 self.specOpChannel.clear()
5000 self.specOpHeights.clear()
4992 self.specOpHeights.clear()
5001 self.specOpIncoherent.clear()
4993 self.specOpIncoherent.clear()
5002 self.specOpgetNoise.clear()
4994 self.specOpgetNoise.clear()
5003
4995
5004 self.specGraphCebSpectraplot.setCheckState(0)
4996 self.specGraphCebSpectraplot.setCheckState(0)
5005 self.specGraphCebCrossSpectraplot.setCheckState(0)
4997 self.specGraphCebCrossSpectraplot.setCheckState(0)
5006 self.specGraphCebRTIplot.setCheckState(0)
4998 self.specGraphCebRTIplot.setCheckState(0)
5007 self.specGraphCebRTInoise.setCheckState(0)
4999 self.specGraphCebRTInoise.setCheckState(0)
5008 self.specGraphCebCoherencmap.setCheckState(0)
5000 self.specGraphCebCoherencmap.setCheckState(0)
5009 self.specGraphPowerprofile.setCheckState(0)
5001 self.specGraphPowerprofile.setCheckState(0)
5010
5002
5011 self.specGraphSaveSpectra.setCheckState(0)
5003 self.specGraphSaveSpectra.setCheckState(0)
5012 self.specGraphSaveCross.setCheckState(0)
5004 self.specGraphSaveCross.setCheckState(0)
5013 self.specGraphSaveRTIplot.setCheckState(0)
5005 self.specGraphSaveRTIplot.setCheckState(0)
5014 self.specGraphSaveRTInoise.setCheckState(0)
5006 self.specGraphSaveRTInoise.setCheckState(0)
5015 self.specGraphSaveCoherencemap.setCheckState(0)
5007 self.specGraphSaveCoherencemap.setCheckState(0)
5016 self.specGraphSavePowerprofile.setCheckState(0)
5008 self.specGraphSavePowerprofile.setCheckState(0)
5017
5009
5018 self.specGraphftpRTIplot.setCheckState(0)
5010 self.specGraphftpRTIplot.setCheckState(0)
5019 self.specGraphftpRTInoise.setCheckState(0)
5011 self.specGraphftpRTInoise.setCheckState(0)
5020 self.specGraphftpCoherencemap.setCheckState(0)
5012 self.specGraphftpCoherencemap.setCheckState(0)
5021
5013
5022 self.specGraphPath.clear()
5014 self.specGraphPath.clear()
5023 self.specGraphPrefix.clear()
5015 self.specGraphPrefix.clear()
5024
5016
5025 self.specGgraphftpratio.clear()
5017 self.specGgraphftpratio.clear()
5026
5018
5027 self.specGgraphChannelList.clear()
5019 self.specGgraphChannelList.clear()
5028 self.specGgraphFreq.clear()
5020 self.specGgraphFreq.clear()
5029 self.specGgraphHeight.clear()
5021 self.specGgraphHeight.clear()
5030 self.specGgraphDbsrange.clear()
5022 self.specGgraphDbsrange.clear()
5031 self.specGgraphmagnitud.clear()
5023 self.specGgraphmagnitud.clear()
5032 self.specGgraphTminTmax.clear()
5024 self.specGgraphTminTmax.clear()
5033 self.specGgraphTimeRange.clear()
5025 self.specGgraphTimeRange.clear()
5034
5026
5035 if datatype == 'SpectraHeis':
5027 if datatype == 'SpectraHeis':
5036 self.specHeisOpCebIncoherent.setCheckState(0)
5028 self.specHeisOpCebIncoherent.setCheckState(0)
5037 self.specHeisOpIncoherent.setEnabled(False)
5029 self.specHeisOpIncoherent.setEnabled(False)
5038 self.specHeisOpIncoherent.clear()
5030 self.specHeisOpIncoherent.clear()
5039
5031
5040 self.specHeisGraphCebSpectraplot.setCheckState(0)
5032 self.specHeisGraphCebSpectraplot.setCheckState(0)
5041 self.specHeisGraphCebRTIplot.setCheckState(0)
5033 self.specHeisGraphCebRTIplot.setCheckState(0)
5042
5034
5043 self.specHeisGraphSaveSpectra.setCheckState(0)
5035 self.specHeisGraphSaveSpectra.setCheckState(0)
5044 self.specHeisGraphSaveRTIplot.setCheckState(0)
5036 self.specHeisGraphSaveRTIplot.setCheckState(0)
5045
5037
5046 self.specHeisGraphftpSpectra.setCheckState(0)
5038 self.specHeisGraphftpSpectra.setCheckState(0)
5047 self.specHeisGraphftpRTIplot.setCheckState(0)
5039 self.specHeisGraphftpRTIplot.setCheckState(0)
5048
5040
5049 self.specHeisGraphPath.clear()
5041 self.specHeisGraphPath.clear()
5050 self.specHeisGraphPrefix.clear()
5042 self.specHeisGraphPrefix.clear()
5051 self.specHeisGgraphChannelList.clear()
5043 self.specHeisGgraphChannelList.clear()
5052 self.specHeisGgraphXminXmax.clear()
5044 self.specHeisGgraphXminXmax.clear()
5053 self.specHeisGgraphYminYmax.clear()
5045 self.specHeisGgraphYminYmax.clear()
5054 self.specHeisGgraphTminTmax.clear()
5046 self.specHeisGgraphTminTmax.clear()
5055 self.specHeisGgraphTimeRange.clear()
5047 self.specHeisGgraphTimeRange.clear()
5056 self.specHeisGgraphftpratio.clear()
5048 self.specHeisGgraphftpratio.clear()
5057
5049
5058 def showtabPUCreated(self, datatype):
5050 def showtabPUCreated(self, datatype):
5059
5051
5060 if datatype == "Voltage":
5052 if datatype == "Voltage":
5061 self.tabVoltage.setEnabled(True)
5053 self.tabVoltage.setEnabled(True)
5062 self.tabProject.setEnabled(False)
5054 self.tabProject.setEnabled(False)
5063 self.tabSpectra.setEnabled(False)
5055 self.tabSpectra.setEnabled(False)
5064 self.tabCorrelation.setEnabled(False)
5056 self.tabCorrelation.setEnabled(False)
5065 self.tabSpectraHeis.setEnabled(False)
5057 self.tabSpectraHeis.setEnabled(False)
5066 self.tabWidgetProject.setCurrentWidget(self.tabVoltage)
5058 self.tabWidgetProject.setCurrentWidget(self.tabVoltage)
5067
5059
5068 if datatype == "Spectra":
5060 if datatype == "Spectra":
5069 self.tabVoltage.setEnabled(False)
5061 self.tabVoltage.setEnabled(False)
5070 self.tabProject.setEnabled(False)
5062 self.tabProject.setEnabled(False)
5071 self.tabSpectra.setEnabled(True)
5063 self.tabSpectra.setEnabled(True)
5072 self.tabCorrelation.setEnabled(False)
5064 self.tabCorrelation.setEnabled(False)
5073 self.tabSpectraHeis.setEnabled(False)
5065 self.tabSpectraHeis.setEnabled(False)
5074 self.tabWidgetProject.setCurrentWidget(self.tabSpectra)
5066 self.tabWidgetProject.setCurrentWidget(self.tabSpectra)
5075
5067
5076 if datatype == "SpectraHeis":
5068 if datatype == "SpectraHeis":
5077 self.tabVoltage.setEnabled(False)
5069 self.tabVoltage.setEnabled(False)
5078 self.tabProject.setEnabled(False)
5070 self.tabProject.setEnabled(False)
5079 self.tabSpectra.setEnabled(False)
5071 self.tabSpectra.setEnabled(False)
5080 self.tabCorrelation.setEnabled(False)
5072 self.tabCorrelation.setEnabled(False)
5081 self.tabSpectraHeis.setEnabled(True)
5073 self.tabSpectraHeis.setEnabled(True)
5082 self.tabWidgetProject.setCurrentWidget(self.tabSpectraHeis)
5074 self.tabWidgetProject.setCurrentWidget(self.tabSpectraHeis)
5083
5075
5084 def checkInputsProject(self):
5076 def checkInputsProject(self):
5085 """
5077 """
5086 Check Inputs Project:
5078 Check Inputs Project:
5087 - project_name
5079 - project_name
5088 - datatype
5080 - datatype
5089 - ext
5081 - ext
5090 - data_path
5082 - data_path
5091 - readmode
5083 - readmode
5092 - delay
5084 - delay
5093 - set
5085 - set
5094 - walk
5086 - walk
5095 """
5087 """
5096 parms_ok = True
5088 parms_ok = True
5097 project_name = str(self.proName.text())
5089 project_name = str(self.proName.text())
5098 if project_name == '' or project_name == None:
5090 if project_name == '' or project_name == None:
5099 outputstr = "Enter the Project Name"
5091 outputstr = "Enter the Project Name"
5100 self.console.append(outputstr)
5092 self.console.append(outputstr)
5101 parms_ok = False
5093 parms_ok = False
5102 project_name = None
5094 project_name = None
5103
5095
5104 datatype = str(self.proComDataType.currentText())
5096 datatype = str(self.proComDataType.currentText())
5105 if not(datatype in ['Voltage', 'Spectra', 'Fits', 'USRP']):
5097 if not(datatype in ['Voltage', 'Spectra', 'Fits', 'USRP']):
5106 outputstr = 'datatype = %s, this must be either Voltage, Spectra, SpectraHeis or USRP' % datatype
5098 outputstr = 'datatype = %s, this must be either Voltage, Spectra, SpectraHeis or USRP' % datatype
5107 self.console.append(outputstr)
5099 self.console.append(outputstr)
5108 parms_ok = False
5100 parms_ok = False
5109 datatype = None
5101 datatype = None
5110
5102
5111 ext = str(self.proDataType.text())
5103 ext = str(self.proDataType.text())
5112 if not(ext in ['.r', '.pdata', '.fits', '.hdf5']):
5104 if not(ext in ['.r', '.pdata', '.fits', '.hdf5']):
5113 outputstr = "extension files must be .r , .pdata, .fits or .hdf5"
5105 outputstr = "extension files must be .r , .pdata, .fits or .hdf5"
5114 self.console.append(outputstr)
5106 self.console.append(outputstr)
5115 parms_ok = False
5107 parms_ok = False
5116 ext = None
5108 ext = None
5117
5109
5118 data_path = str(self.proDataPath.text())
5110 data_path = str(self.proDataPath.text())
5119
5111
5120 if data_path == '':
5112 if data_path == '':
5121 outputstr = 'Datapath is empty'
5113 outputstr = 'Datapath is empty'
5122 self.console.append(outputstr)
5114 self.console.append(outputstr)
5123 parms_ok = False
5115 parms_ok = False
5124 data_path = None
5116 data_path = None
5125
5117
5126 if data_path != None:
5118 if data_path != None:
5127 if not os.path.isdir(data_path):
5119 if not os.path.isdir(data_path):
5128 outputstr = 'Datapath:%s does not exists' % data_path
5120 outputstr = 'Datapath:%s does not exists' % data_path
5129 self.console.append(outputstr)
5121 self.console.append(outputstr)
5130 parms_ok = False
5122 parms_ok = False
5131 data_path = None
5123 data_path = None
5132
5124
5133 read_mode = str(self.proComReadMode.currentText())
5125 read_mode = str(self.proComReadMode.currentText())
5134 if not(read_mode in ['Online', 'Offline']):
5126 if not(read_mode in ['Online', 'Offline']):
5135 outputstr = 'Read Mode: %s, this must be either Online or Offline' % read_mode
5127 outputstr = 'Read Mode: %s, this must be either Online or Offline' % read_mode
5136 self.console.append(outputstr)
5128 self.console.append(outputstr)
5137 parms_ok = False
5129 parms_ok = False
5138 read_mode = None
5130 read_mode = None
5139
5131
5140 delay = None
5132 delay = None
5141 if read_mode == "Online":
5133 if read_mode == "Online":
5142 parms_ok = False
5134 parms_ok = False
5143 try:
5135 try:
5144 delay = int(str(self.proDelay.text()))
5136 delay = int(str(self.proDelay.text()))
5145 parms_ok = True
5137 parms_ok = True
5146 except:
5138 except:
5147 outputstr = 'Delay: %s, this must be a integer number' % str(self.proDelay.text())
5139 outputstr = 'Delay: %s, this must be a integer number' % str(self.proDelay.text())
5148 self.console.append(outputstr)
5140 self.console.append(outputstr)
5149
5141
5150 try:
5142 try:
5151 set = int(str(self.proSet.text()))
5143 set = int(str(self.proSet.text()))
5152 except:
5144 except:
5153 # outputstr = 'Set: %s, this must be a integer number' % str(self.proName.text())
5145 # outputstr = 'Set: %s, this must be a integer number' % str(self.proName.text())
5154 # self.console.append(outputstr)
5146 # self.console.append(outputstr)
5155 # parms_ok = False
5147 # parms_ok = False
5156 set = None
5148 set = None
5157
5149
5158 walk = int(self.proComWalk.currentIndex())
5150 walk = int(self.proComWalk.currentIndex())
5159 expLabel = str(self.proExpLabel.text())
5151 expLabel = str(self.proExpLabel.text())
5160
5152
5161 return parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set, expLabel
5153 return parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set, expLabel
5162
5154
5163 def checkInputsPUSave(self, datatype):
5155 def checkInputsPUSave(self, datatype):
5164 """
5156 """
5165 Check Inputs Spectra Save:
5157 Check Inputs Spectra Save:
5166 - path
5158 - path
5167 - blocks Per File
5159 - blocks Per File
5168 - sufix
5160 - sufix
5169 - dataformat
5161 - dataformat
5170 """
5162 """
5171 parms_ok = True
5163 parms_ok = True
5172
5164
5173 if datatype == "Voltage":
5165 if datatype == "Voltage":
5174 output_path = str(self.volOutputPath.text())
5166 output_path = str(self.volOutputPath.text())
5175 blocksperfile = str(self.volOutputblocksperfile.text())
5167 blocksperfile = str(self.volOutputblocksperfile.text())
5176 profilesperblock = str(self.volOutputprofilesperblock.text())
5168 profilesperblock = str(self.volOutputprofilesperblock.text())
5177
5169
5178 if datatype == "Spectra":
5170 if datatype == "Spectra":
5179 output_path = str(self.specOutputPath.text())
5171 output_path = str(self.specOutputPath.text())
5180 blocksperfile = str(self.specOutputblocksperfile.text())
5172 blocksperfile = str(self.specOutputblocksperfile.text())
5181 profilesperblock = 0
5173 profilesperblock = 0
5182
5174
5183 if datatype == "SpectraHeis":
5175 if datatype == "SpectraHeis":
5184 output_path = str(self.specHeisOutputPath.text())
5176 output_path = str(self.specHeisOutputPath.text())
5185 blocksperfile = str(self.specHeisOutputblocksperfile.text())
5177 blocksperfile = str(self.specHeisOutputblocksperfile.text())
5186 metadata_file = str(self.specHeisOutputMetada.text())
5178 metadata_file = str(self.specHeisOutputMetada.text())
5187
5179
5188 if output_path == '':
5180 if output_path == '':
5189 outputstr = 'Outputpath is empty'
5181 outputstr = 'Outputpath is empty'
5190 self.console.append(outputstr)
5182 self.console.append(outputstr)
5191 parms_ok = False
5183 parms_ok = False
5192
5184
5193 if not os.path.isdir(output_path):
5185 if not os.path.isdir(output_path):
5194 outputstr = 'OutputPath:%s does not exists' % output_path
5186 outputstr = 'OutputPath:%s does not exists' % output_path
5195 self.console.append(outputstr)
5187 self.console.append(outputstr)
5196 parms_ok = False
5188 parms_ok = False
5197
5189
5198 try:
5190 try:
5199 profilesperblock = int(profilesperblock)
5191 profilesperblock = int(profilesperblock)
5200 except:
5192 except:
5201 if datatype == "Voltage":
5193 if datatype == "Voltage":
5202 outputstr = 'Profilesperblock: %s, this must be a integer number' % str(self.volOutputprofilesperblock.text())
5194 outputstr = 'Profilesperblock: %s, this must be a integer number' % str(self.volOutputprofilesperblock.text())
5203 self.console.append(outputstr)
5195 self.console.append(outputstr)
5204 parms_ok = False
5196 parms_ok = False
5205 profilesperblock = None
5197 profilesperblock = None
5206
5198
5207 try:
5199 try:
5208 blocksperfile = int(blocksperfile)
5200 blocksperfile = int(blocksperfile)
5209 except:
5201 except:
5210 if datatype == "Voltage":
5202 if datatype == "Voltage":
5211 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.volOutputblocksperfile.text())
5203 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.volOutputblocksperfile.text())
5212 elif datatype == "Spectra":
5204 elif datatype == "Spectra":
5213 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specOutputblocksperfile.text())
5205 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specOutputblocksperfile.text())
5214 elif datatype == "SpectraHeis":
5206 elif datatype == "SpectraHeis":
5215 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specHeisOutputblocksperfile.text())
5207 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specHeisOutputblocksperfile.text())
5216
5208
5217 self.console.append(outputstr)
5209 self.console.append(outputstr)
5218 parms_ok = False
5210 parms_ok = False
5219 blocksperfile = None
5211 blocksperfile = None
5220
5212
5221 if datatype == "SpectraHeis":
5213 if datatype == "SpectraHeis":
5222 if metadata_file != '':
5214 if metadata_file != '':
5223 if not os.path.isfile(metadata_file):
5215 if not os.path.isfile(metadata_file):
5224 outputstr = 'Metadata file %s does not exist' % metadata_file
5216 outputstr = 'Metadata file %s does not exist' % metadata_file
5225 self.console.append(outputstr)
5217 self.console.append(outputstr)
5226 parms_ok = False
5218 parms_ok = False
5227
5219
5228 if datatype == "Voltage":
5220 if datatype == "Voltage":
5229 return parms_ok, output_path, blocksperfile, profilesperblock
5221 return parms_ok, output_path, blocksperfile, profilesperblock
5230
5222
5231
5223
5232 if datatype == "Spectra":
5224 if datatype == "Spectra":
5233 return parms_ok, output_path, blocksperfile, profilesperblock
5225 return parms_ok, output_path, blocksperfile, profilesperblock
5234
5226
5235
5227
5236 if datatype == "SpectraHeis":
5228 if datatype == "SpectraHeis":
5237 return parms_ok, output_path, blocksperfile, metadata_file
5229 return parms_ok, output_path, blocksperfile, metadata_file
5238
5230
5239 def findDatafiles(self, data_path, ext, walk, expLabel=''):
5231 def findDatafiles(self, data_path, ext, walk, expLabel=''):
5240
5232
5241 dateList = []
5233 dateList = []
5242 fileList = []
5234 fileList = []
5243
5235
5244 if ext == ".r":
5236 if ext == ".r":
5245 from schainpy.model.io.jroIO_base import JRODataReader
5237 from schainpy.model.io.jroIO_base import JRODataReader
5246
5238
5247 readerObj = JRODataReader()
5239 readerObj = JRODataReader()
5248 dateList = readerObj.findDatafiles(path=data_path,
5240 dateList = readerObj.findDatafiles(path=data_path,
5249 expLabel=expLabel,
5241 expLabel=expLabel,
5250 ext=ext,
5242 ext=ext,
5251 walk=walk)
5243 walk=walk)
5252
5244
5253 if ext == ".pdata":
5245 if ext == ".pdata":
5254 from schainpy.model.io.jroIO_base import JRODataReader
5246 from schainpy.model.io.jroIO_base import JRODataReader
5255
5247
5256 readerObj = JRODataReader()
5248 readerObj = JRODataReader()
5257 dateList = readerObj.findDatafiles(path=data_path,
5249 dateList = readerObj.findDatafiles(path=data_path,
5258 expLabel=expLabel,
5250 expLabel=expLabel,
5259 ext=ext,
5251 ext=ext,
5260 walk=walk)
5252 walk=walk)
5261
5253
5262 if ext == ".fits":
5254 if ext == ".fits":
5263 from schainpy.model.io.jroIO_base import JRODataReader
5255 from schainpy.model.io.jroIO_base import JRODataReader
5264
5256
5265 readerObj = JRODataReader()
5257 readerObj = JRODataReader()
5266 dateList = readerObj.findDatafiles(path=data_path,
5258 dateList = readerObj.findDatafiles(path=data_path,
5267 expLabel=expLabel,
5259 expLabel=expLabel,
5268 ext=ext,
5260 ext=ext,
5269 walk=walk)
5261 walk=walk)
5270
5262
5271 if ext == ".hdf5":
5263 if ext == ".hdf5":
5272 from schainpy.model.io.jroIO_usrp import USRPReader
5264 from schainpy.model.io.jroIO_usrp import USRPReader
5273
5265
5274 readerObj = USRPReader()
5266 readerObj = USRPReader()
5275 dateList = readerObj.findDatafiles(path=data_path)
5267 dateList = readerObj.findDatafiles(path=data_path)
5276
5268
5277 return dateList
5269 return dateList
5278
5270
5279 def loadDays(self, data_path, ext, walk, expLabel=''):
5271 def loadDays(self, data_path, ext, walk, expLabel=''):
5280 """
5272 """
5281 Method to loads day
5273 Method to loads day
5282 """
5274 """
5283 self.proOk.setEnabled(False)
5275 self.proOk.setEnabled(False)
5284 self.proComStartDate.clear()
5276 self.proComStartDate.clear()
5285 self.proComEndDate.clear()
5277 self.proComEndDate.clear()
5286
5278
5287 self.dateList = []
5279 self.dateList = []
5288
5280
5289 if not os.path.isdir(data_path):
5281 if not os.path.isdir(data_path):
5290 return
5282 return
5291
5283
5292 self.dataPath = data_path
5284 self.dataPath = data_path
5293
5285
5294 dateList = self.findDatafiles(data_path, ext=ext, walk=walk, expLabel=expLabel)
5286 dateList = self.findDatafiles(data_path, ext=ext, walk=walk, expLabel=expLabel)
5295
5287
5296 if not dateList:
5288 if not dateList:
5297 # self.console.clear()
5289 # self.console.clear()
5298 if walk:
5290 if walk:
5299 if expLabel:
5291 if expLabel:
5300 outputstr = "No files (*%s) were found on %s/DOYPATH/%s" % (ext, data_path, expLabel)
5292 outputstr = "No files (*%s) were found on %s/DOYPATH/%s" % (ext, data_path, expLabel)
5301 else:
5293 else:
5302 outputstr = "No files (*%s) were found on %s" % (ext, data_path)
5294 outputstr = "No files (*%s) were found on %s" % (ext, data_path)
5303 else:
5295 else:
5304 outputstr = "No files (*%s) were found on %s" % (ext, data_path)
5296 outputstr = "No files (*%s) were found on %s" % (ext, data_path)
5305
5297
5306 self.console.append(outputstr)
5298 self.console.append(outputstr)
5307 return
5299 return
5308
5300
5309 dateStrList = []
5301 dateStrList = []
5310 for thisDate in dateList:
5302 for thisDate in dateList:
5311 dateStr = thisDate.strftime("%Y/%m/%d")
5303 dateStr = thisDate.strftime("%Y/%m/%d")
5312
5304
5313 self.proComStartDate.addItem(dateStr)
5305 self.proComStartDate.addItem(dateStr)
5314 self.proComEndDate.addItem(dateStr)
5306 self.proComEndDate.addItem(dateStr)
5315 dateStrList.append(dateStr)
5307 dateStrList.append(dateStr)
5316
5308
5317 self.proComStartDate.setCurrentIndex(0)
5309 self.proComStartDate.setCurrentIndex(0)
5318 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - 1)
5310 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - 1)
5319
5311
5320 self.dateList = dateStrList
5312 self.dateList = dateStrList
5321 self.proOk.setEnabled(True)
5313 self.proOk.setEnabled(True)
5322
5314
5323 self.console.clear()
5315 self.console.clear()
5324 self.console.append("Successful load")
5316 self.console.append("Successful load")
5325
5317
5326 return self.dateList
5318 return self.dateList
5327
5319
5328 def setWorkSpaceGUI(self, pathWorkSpace=None):
5320 def setWorkSpaceGUI(self, pathWorkSpace=None):
5329
5321
5330 if pathWorkSpace == None:
5322 if pathWorkSpace == None:
5331 home = os.path.expanduser("~")
5323 home = os.path.expanduser("~")
5332 pathWorkSpace = os.path.join(home,'schain_workspace')
5324 pathWorkSpace = os.path.join(home,'schain_workspace')
5333
5325
5334 self.pathWorkSpace = pathWorkSpace
5326 self.pathWorkSpace = pathWorkSpace
5335
5327
5336 """
5328 """
5337 Comandos Usados en Console
5329 Comandos Usados en Console
5338 """
5330 """
5339 def __del__(self):
5331 def __del__(self):
5340 sys.stdout = sys.__stdout__
5332 sys.stdout = sys.__stdout__
5341 sys.stderr = sys.__stderr__
5333 sys.stderr = sys.__stderr__
5342
5334
5343 def normalOutputWritten(self, text):
5335 def normalOutputWritten(self, text):
5344 color_black = QtGui.QColor(0,0,0)
5336 color_black = QtGui.QColor(0,0,0)
5345 self.console.setTextColor(color_black)
5337 self.console.setTextColor(color_black)
5346 self.console.append(text)
5338 self.console.append(text)
5347
5339
5348 def errorOutputWritten(self, text):
5340 def errorOutputWritten(self, text):
5349 color_red = QtGui.QColor(255,0,0)
5341 color_red = QtGui.QColor(255,0,0)
5350 color_black = QtGui.QColor(0,0,0)
5342 color_black = QtGui.QColor(0,0,0)
5351
5343
5352 self.console.setTextColor(color_red)
5344 self.console.setTextColor(color_red)
5353 self.console.append(text)
5345 self.console.append(text)
5354 self.console.setTextColor(color_black)
5346 self.console.setTextColor(color_black)
5355
5347
5356 def setGUIStatus(self):
5348 def setGUIStatus(self):
5357
5349
5358 self.setWindowTitle("ROJ-Signal Chain")
5350 self.setWindowTitle("ROJ-Signal Chain")
5359 self.setWindowIcon(QtGui.QIcon( os.path.join(FIGURES_PATH,"adn.jpg") ))
5351 self.setWindowIcon(QtGui.QIcon( os.path.join(FIGURES_PATH,"logo.png") ))
5360
5352
5361 self.tabWidgetProject.setEnabled(False)
5353 self.tabWidgetProject.setEnabled(False)
5362 self.tabVoltage.setEnabled(False)
5354 self.tabVoltage.setEnabled(False)
5363 self.tabSpectra.setEnabled(False)
5355 self.tabSpectra.setEnabled(False)
5364 self.tabCorrelation.setEnabled(False)
5356 self.tabCorrelation.setEnabled(False)
5365 self.frame_2.setEnabled(False)
5357 self.frame_2.setEnabled(False)
5366
5358
5367 self.actionCreate.setShortcut('Ctrl+N')
5359 self.actionCreate.setShortcut('Ctrl+N')
5368 self.actionOpen.setShortcut('Ctrl+O')
5360 self.actionOpen.setShortcut('Ctrl+O')
5369 self.actionSave.setShortcut('Ctrl+S')
5361 self.actionSave.setShortcut('Ctrl+S')
5370 self.actionClose.setShortcut('Ctrl+X')
5362 self.actionClose.setShortcut('Ctrl+X')
5371
5363
5372 self.actionStart.setShortcut('Ctrl+1')
5364 self.actionStart.setShortcut('Ctrl+1')
5373 self.actionPause.setShortcut('Ctrl+2')
5365 self.actionPause.setShortcut('Ctrl+2')
5374 self.actionStop.setShortcut('Ctrl+3')
5366 self.actionStop.setShortcut('Ctrl+3')
5375
5367
5376 self.actionFTP.setShortcut('Ctrl+F')
5368 self.actionFTP.setShortcut('Ctrl+F')
5377
5369
5378 self.actionStart.setEnabled(False)
5370 self.actionStart.setEnabled(False)
5379 self.actionPause.setEnabled(False)
5371 self.actionPause.setEnabled(False)
5380 self.actionStop.setEnabled(False)
5372 self.actionStop.setEnabled(False)
5381
5373
5382 self.actionStarToolbar.setEnabled(False)
5374 self.actionStarToolbar.setEnabled(False)
5383 self.actionPauseToolbar.setEnabled(False)
5375 self.actionPauseToolbar.setEnabled(False)
5384 self.actionStopToolbar.setEnabled(False)
5376 self.actionStopToolbar.setEnabled(False)
5385
5377
5386 self.proName.clear()
5378 self.proName.clear()
5387 self.proDataPath.setText('')
5379 self.proDataPath.setText('')
5388 self.console.setReadOnly(True)
5380 self.console.setReadOnly(True)
5389 self.console.append("Welcome to Signal Chain\nOpen a project or Create a new one")
5381 self.console.append("Welcome to Signal Chain\nOpen a project or Create a new one")
5390 self.proStartTime.setDisplayFormat("hh:mm:ss")
5382 self.proStartTime.setDisplayFormat("hh:mm:ss")
5391 self.proDataType.setEnabled(False)
5383 self.proDataType.setEnabled(False)
5392 self.time = QtCore.QTime()
5384 self.time = QtCore.QTime()
5393 self.hour = 0
5385 self.hour = 0
5394 self.min = 0
5386 self.min = 0
5395 self.sec = 0
5387 self.sec = 0
5396 self.proEndTime.setDisplayFormat("hh:mm:ss")
5388 self.proEndTime.setDisplayFormat("hh:mm:ss")
5397 startTime = "00:00:00"
5389 startTime = "00:00:00"
5398 endTime = "23:59:59"
5390 endTime = "23:59:59"
5399 starlist = startTime.split(":")
5391 starlist = startTime.split(":")
5400 endlist = endTime.split(":")
5392 endlist = endTime.split(":")
5401 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
5393 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
5402 self.proStartTime.setTime(self.time)
5394 self.proStartTime.setTime(self.time)
5403 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
5395 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
5404 self.proEndTime.setTime(self.time)
5396 self.proEndTime.setTime(self.time)
5405 self.proOk.setEnabled(False)
5397 self.proOk.setEnabled(False)
5406 # set model Project Explorer
5398 # set model Project Explorer
5407 self.projectExplorerModel = QtGui.QStandardItemModel()
5399 self.projectExplorerModel = QtGui.QStandardItemModel()
5408 self.projectExplorerModel.setHorizontalHeaderLabels(("Project Explorer",))
5400 self.projectExplorerModel.setHorizontalHeaderLabels(("Project Explorer",))
5409 layout = QtGui.QVBoxLayout()
5401 layout = QtGui.QVBoxLayout()
5410 layout.addWidget(self.projectExplorerTree)
5402 layout.addWidget(self.projectExplorerTree)
5411 self.projectExplorerTree.setModel(self.projectExplorerModel)
5403 self.projectExplorerTree.setModel(self.projectExplorerModel)
5412 self.projectExplorerTree.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
5404 self.projectExplorerTree.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
5413 self.projectExplorerTree.customContextMenuRequested.connect(self.on_right_click)
5405 self.projectExplorerTree.customContextMenuRequested.connect(self.on_right_click)
5414 self.projectExplorerTree.clicked.connect(self.on_click)
5406 self.projectExplorerTree.clicked.connect(self.on_click)
5415 self.projectExplorerTree.expandAll()
5407 self.projectExplorerTree.expandAll()
5416 # set model Project Properties
5408 # set model Project Properties
5417
5409
5418 self.propertiesModel = TreeModel()
5410 self.propertiesModel = TreeModel()
5419 self.propertiesModel.initProjectView()
5411 self.propertiesModel.initProjectView()
5420 self.treeProjectProperties.setModel(self.propertiesModel)
5412 self.treeProjectProperties.setModel(self.propertiesModel)
5421 self.treeProjectProperties.expandAll()
5413 self.treeProjectProperties.expandAll()
5422 self.treeProjectProperties.allColumnsShowFocus()
5414 self.treeProjectProperties.allColumnsShowFocus()
5423 self.treeProjectProperties.resizeColumnToContents(1)
5415 self.treeProjectProperties.resizeColumnToContents(1)
5424
5416
5425 # set Project
5417 # set Project
5426 self.proExpLabel.setEnabled(True)
5418 self.proExpLabel.setEnabled(True)
5427 self.proDelay.setEnabled(False)
5419 self.proDelay.setEnabled(False)
5428 self.proSet.setEnabled(True)
5420 self.proSet.setEnabled(True)
5429 self.proDataType.setReadOnly(True)
5421 self.proDataType.setReadOnly(True)
5430
5422
5431 # set Operation Voltage
5423 # set Operation Voltage
5432 self.volOpComChannels.setEnabled(False)
5424 self.volOpComChannels.setEnabled(False)
5433 self.volOpComHeights.setEnabled(False)
5425 self.volOpComHeights.setEnabled(False)
5434 self.volOpFilter.setEnabled(False)
5426 self.volOpFilter.setEnabled(False)
5435 self.volOpComProfile.setEnabled(False)
5427 self.volOpComProfile.setEnabled(False)
5436 self.volOpComCode.setEnabled(False)
5428 self.volOpComCode.setEnabled(False)
5437 self.volOpFlip.setEnabled(False)
5429 self.volOpFlip.setEnabled(False)
5438 self.volOpCohInt.setEnabled(False)
5430 self.volOpCohInt.setEnabled(False)
5439 self.volOpRadarfrequency.setEnabled(False)
5431 self.volOpRadarfrequency.setEnabled(False)
5440
5432
5441 self.volOpChannel.setEnabled(False)
5433 self.volOpChannel.setEnabled(False)
5442 self.volOpHeights.setEnabled(False)
5434 self.volOpHeights.setEnabled(False)
5443 self.volOpProfile.setEnabled(False)
5435 self.volOpProfile.setEnabled(False)
5444 self.volOpComMode.setEnabled(False)
5436 self.volOpComMode.setEnabled(False)
5445
5437
5446 self.volGraphPath.setEnabled(False)
5438 self.volGraphPath.setEnabled(False)
5447 self.volGraphPrefix.setEnabled(False)
5439 self.volGraphPrefix.setEnabled(False)
5448 self.volGraphToolPath.setEnabled(False)
5440 self.volGraphToolPath.setEnabled(False)
5449
5441
5450 # set Graph Voltage
5442 # set Graph Voltage
5451 self.volGraphChannelList.setEnabled(False)
5443 self.volGraphChannelList.setEnabled(False)
5452 self.volGraphfreqrange.setEnabled(False)
5444 self.volGraphfreqrange.setEnabled(False)
5453 self.volGraphHeightrange.setEnabled(False)
5445 self.volGraphHeightrange.setEnabled(False)
5454
5446
5455 # set Operation Spectra
5447 # set Operation Spectra
5456 self.specOpnFFTpoints.setEnabled(False)
5448 self.specOpnFFTpoints.setEnabled(False)
5457 self.specOpProfiles.setEnabled(False)
5449 self.specOpProfiles.setEnabled(False)
5458 self.specOpippFactor.setEnabled(False)
5450 self.specOpippFactor.setEnabled(False)
5459 self.specOppairsList.setEnabled(False)
5451 self.specOppairsList.setEnabled(False)
5460 self.specOpComChannel.setEnabled(False)
5452 self.specOpComChannel.setEnabled(False)
5461 self.specOpComHeights.setEnabled(False)
5453 self.specOpComHeights.setEnabled(False)
5462 self.specOpIncoherent.setEnabled(False)
5454 self.specOpIncoherent.setEnabled(False)
5463 self.specOpgetNoise.setEnabled(False)
5455 self.specOpgetNoise.setEnabled(False)
5464 self.specOpRadarfrequency.setEnabled(False)
5456 self.specOpRadarfrequency.setEnabled(False)
5465
5457
5466
5458
5467 self.specOpChannel.setEnabled(False)
5459 self.specOpChannel.setEnabled(False)
5468 self.specOpHeights.setEnabled(False)
5460 self.specOpHeights.setEnabled(False)
5469 # set Graph Spectra
5461 # set Graph Spectra
5470 self.specGgraphChannelList.setEnabled(False)
5462 self.specGgraphChannelList.setEnabled(False)
5471 self.specGgraphFreq.setEnabled(False)
5463 self.specGgraphFreq.setEnabled(False)
5472 self.specGgraphHeight.setEnabled(False)
5464 self.specGgraphHeight.setEnabled(False)
5473 self.specGgraphDbsrange.setEnabled(False)
5465 self.specGgraphDbsrange.setEnabled(False)
5474 self.specGgraphmagnitud.setEnabled(False)
5466 self.specGgraphmagnitud.setEnabled(False)
5475 self.specGgraphTminTmax.setEnabled(False)
5467 self.specGgraphTminTmax.setEnabled(False)
5476 self.specGgraphTimeRange.setEnabled(False)
5468 self.specGgraphTimeRange.setEnabled(False)
5477 self.specGraphPath.setEnabled(False)
5469 self.specGraphPath.setEnabled(False)
5478 self.specGraphToolPath.setEnabled(False)
5470 self.specGraphToolPath.setEnabled(False)
5479 self.specGraphPrefix.setEnabled(False)
5471 self.specGraphPrefix.setEnabled(False)
5480
5472
5481 self.specGgraphftpratio.setEnabled(False)
5473 self.specGgraphftpratio.setEnabled(False)
5482 # set Operation SpectraHeis
5474 # set Operation SpectraHeis
5483 self.specHeisOpIncoherent.setEnabled(False)
5475 self.specHeisOpIncoherent.setEnabled(False)
5484 self.specHeisOpCobIncInt.setEnabled(False)
5476 self.specHeisOpCobIncInt.setEnabled(False)
5485 # set Graph SpectraHeis
5477 # set Graph SpectraHeis
5486 self.specHeisGgraphChannelList.setEnabled(False)
5478 self.specHeisGgraphChannelList.setEnabled(False)
5487 self.specHeisGgraphXminXmax.setEnabled(False)
5479 self.specHeisGgraphXminXmax.setEnabled(False)
5488 self.specHeisGgraphYminYmax.setEnabled(False)
5480 self.specHeisGgraphYminYmax.setEnabled(False)
5489 self.specHeisGgraphTminTmax.setEnabled(False)
5481 self.specHeisGgraphTminTmax.setEnabled(False)
5490 self.specHeisGgraphTimeRange.setEnabled(False)
5482 self.specHeisGgraphTimeRange.setEnabled(False)
5491 self.specHeisGgraphftpratio.setEnabled(False)
5483 self.specHeisGgraphftpratio.setEnabled(False)
5492 self.specHeisGraphPath.setEnabled(False)
5484 self.specHeisGraphPath.setEnabled(False)
5493 self.specHeisGraphPrefix.setEnabled(False)
5485 self.specHeisGraphPrefix.setEnabled(False)
5494 self.specHeisGraphToolPath.setEnabled(False)
5486 self.specHeisGraphToolPath.setEnabled(False)
5495
5487
5496
5488
5497 # tool tip gui
5489 # tool tip gui
5498 QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10))
5490 QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10))
5499 self.projectExplorerTree.setToolTip('Right clik to add Project or Unit Process')
5491 self.projectExplorerTree.setToolTip('Right clik to add Project or Unit Process')
5500 # tool tip gui project
5492 # tool tip gui project
5501 self.proComWalk.setToolTip('<b>On Files</b>:<i>Search file in format .r or pdata</i> <b>On Folders</b>:<i>Search file in a directory DYYYYDOY</i>')
5493 self.proComWalk.setToolTip('<b>On Files</b>:<i>Search file in format .r or pdata</i> <b>On Folders</b>:<i>Search file in a directory DYYYYDOY</i>')
5502 self.proComWalk.setCurrentIndex(0)
5494 self.proComWalk.setCurrentIndex(0)
5503 # tool tip gui volOp
5495 # tool tip gui volOp
5504 self.volOpChannel.setToolTip('Example: 1,2,3,4,5')
5496 self.volOpChannel.setToolTip('Example: 1,2,3,4,5')
5505 self.volOpHeights.setToolTip('Example: 90,180')
5497 self.volOpHeights.setToolTip('Example: 90,180')
5506 self.volOpFilter.setToolTip('Example: 2')
5498 self.volOpFilter.setToolTip('Example: 2')
5507 self.volOpProfile.setToolTip('Example:0,127')
5499 self.volOpProfile.setToolTip('Example:0,127')
5508 self.volOpCohInt.setToolTip('Example: 128')
5500 self.volOpCohInt.setToolTip('Example: 128')
5509 self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3')
5501 self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3')
5510 self.volOpOk.setToolTip('If you have finished, please Ok ')
5502 self.volOpOk.setToolTip('If you have finished, please Ok ')
5511 # tool tip gui volGraph
5503 # tool tip gui volGraph
5512 self.volGraphfreqrange.setToolTip('Height range. Example: 50,100')
5504 self.volGraphfreqrange.setToolTip('Height range. Example: 50,100')
5513 self.volGraphHeightrange.setToolTip('Amplitude. Example: 0,10000')
5505 self.volGraphHeightrange.setToolTip('Amplitude. Example: 0,10000')
5514 # tool tip gui specOp
5506 # tool tip gui specOp
5515 self.specOpnFFTpoints.setToolTip('Example: 128')
5507 self.specOpnFFTpoints.setToolTip('Example: 128')
5516 self.specOpProfiles.setToolTip('Example: 128')
5508 self.specOpProfiles.setToolTip('Example: 128')
5517 self.specOpippFactor.setToolTip('Example:1.0')
5509 self.specOpippFactor.setToolTip('Example:1.0')
5518 self.specOpIncoherent.setToolTip('Example: 10')
5510 self.specOpIncoherent.setToolTip('Example: 10')
5519 self.specOpgetNoise.setToolTip('Example:20,180,30,120 (minHei,maxHei,minVel,maxVel)')
5511 self.specOpgetNoise.setToolTip('Example:20,180,30,120 (minHei,maxHei,minVel,maxVel)')
5520
5512
5521 self.specOpChannel.setToolTip('Example: 0,1,2,3')
5513 self.specOpChannel.setToolTip('Example: 0,1,2,3')
5522 self.specOpHeights.setToolTip('Example: 90,180')
5514 self.specOpHeights.setToolTip('Example: 90,180')
5523 self.specOppairsList.setToolTip('Example: (0,1),(2,3)')
5515 self.specOppairsList.setToolTip('Example: (0,1),(2,3)')
5524 # tool tip gui specGraph
5516 # tool tip gui specGraph
5525
5517
5526 self.specGgraphChannelList.setToolTip('Example: 0,3,4')
5518 self.specGgraphChannelList.setToolTip('Example: 0,3,4')
5527 self.specGgraphFreq.setToolTip('Example: -20,20')
5519 self.specGgraphFreq.setToolTip('Example: -20,20')
5528 self.specGgraphHeight.setToolTip('Example: 100,400')
5520 self.specGgraphHeight.setToolTip('Example: 100,400')
5529 self.specGgraphDbsrange.setToolTip('Example: 30,170')
5521 self.specGgraphDbsrange.setToolTip('Example: 30,170')
5530
5522
5531 self.specGraphPrefix.setToolTip('Example: EXPERIMENT_NAME')
5523 self.specGraphPrefix.setToolTip('Example: EXPERIMENT_NAME')
5532
5524
5533
5525
5534 self.specHeisOpIncoherent.setToolTip('Example: 10')
5526 self.specHeisOpIncoherent.setToolTip('Example: 10')
5535
5527
5536 self.specHeisGgraphChannelList.setToolTip('Example: 0,2,3')
5528 self.specHeisGgraphChannelList.setToolTip('Example: 0,2,3')
5537 self.specHeisGgraphXminXmax.setToolTip('Example (Hz): -1000, 1000')
5529 self.specHeisGgraphXminXmax.setToolTip('Example (Hz): -1000, 1000')
5538 self.specHeisGgraphYminYmax.setToolTip('Example (dB): 5, 35')
5530 self.specHeisGgraphYminYmax.setToolTip('Example (dB): 5, 35')
5539 self.specHeisGgraphTminTmax.setToolTip('Example (hours): 0, 24')
5531 self.specHeisGgraphTminTmax.setToolTip('Example (hours): 0, 24')
5540 self.specHeisGgraphTimeRange.setToolTip('Example (hours): 8')
5532 self.specHeisGgraphTimeRange.setToolTip('Example (hours): 8')
5541
5533
5542 self.labelSet.show()
5534 self.labelSet.show()
5543 self.proSet.show()
5535 self.proSet.show()
5544
5536
5545 self.labelIPPKm.hide()
5537 self.labelIPPKm.hide()
5546 self.proIPPKm.hide()
5538 self.proIPPKm.hide()
5547
5539
5548 sys.stdout = ShowMeConsole(textWritten=self.normalOutputWritten)
5540 sys.stdout = ShowMeConsole(textWritten=self.normalOutputWritten)
5549 # sys.stderr = ShowMeConsole(textWritten=self.errorOutputWritten)
5541 # sys.stderr = ShowMeConsole(textWritten=self.errorOutputWritten)
5550
5542
5551
5543
5552 class UnitProcessWindow(QMainWindow, Ui_UnitProcess):
5544 class UnitProcessWindow(QMainWindow, Ui_UnitProcess):
5553 """
5545 """
5554 Class documentation goes here.
5546 Class documentation goes here.
5555 """
5547 """
5556 closed = pyqtSignal()
5548 closed = pyqtSignal()
5557 create = False
5549 create = False
5558
5550
5559 def __init__(self, parent=None):
5551 def __init__(self, parent=None):
5560 """
5552 """
5561 Constructor
5553 Constructor
5562 """
5554 """
5563 QMainWindow.__init__(self, parent)
5555 QMainWindow.__init__(self, parent)
5564 self.setupUi(self)
5556 self.setupUi(self)
5565 self.getFromWindow = None
5557 self.getFromWindow = None
5566 self.getfromWindowList = []
5558 self.getfromWindowList = []
5567 self.dataTypeProject = None
5559 self.dataTypeProject = None
5568
5560
5569 self.listUP = None
5561 self.listUP = None
5570
5562
5571 @pyqtSignature("")
5563 @pyqtSignature("")
5572 def on_unitPokbut_clicked(self):
5564 def on_unitPokbut_clicked(self):
5573 """
5565 """
5574 Slot documentation goes here.
5566 Slot documentation goes here.
5575 """
5567 """
5576 self.create = True
5568 self.create = True
5577 self.getFromWindow = self.getfromWindowList[int(self.comboInputBox.currentIndex())]
5569 self.getFromWindow = self.getfromWindowList[int(self.comboInputBox.currentIndex())]
5578 # self.nameofUP= str(self.nameUptxt.text())
5570 # self.nameofUP= str(self.nameUptxt.text())
5579 self.typeofUP = str(self.comboTypeBox.currentText())
5571 self.typeofUP = str(self.comboTypeBox.currentText())
5580 self.close()
5572 self.close()
5581
5573
5582
5574
5583 @pyqtSignature("")
5575 @pyqtSignature("")
5584 def on_unitPcancelbut_clicked(self):
5576 def on_unitPcancelbut_clicked(self):
5585 """
5577 """
5586 Slot documentation goes here.
5578 Slot documentation goes here.
5587 """
5579 """
5588 self.create = False
5580 self.create = False
5589 self.close()
5581 self.close()
5590
5582
5591 def loadTotalList(self):
5583 def loadTotalList(self):
5592 self.comboInputBox.clear()
5584 self.comboInputBox.clear()
5593 for i in self.getfromWindowList:
5585 for i in self.getfromWindowList:
5594
5586
5595 name = i.getElementName()
5587 name = i.getElementName()
5596 if name == 'Project':
5588 if name == 'Project':
5597 id = i.id
5589 id = i.id
5598 name = i.name
5590 name = i.name
5599 if self.dataTypeProject == 'Voltage':
5591 if self.dataTypeProject == 'Voltage':
5600 self.comboTypeBox.clear()
5592 self.comboTypeBox.clear()
5601 self.comboTypeBox.addItem("Voltage")
5593 self.comboTypeBox.addItem("Voltage")
5602
5594
5603 if self.dataTypeProject == 'Spectra':
5595 if self.dataTypeProject == 'Spectra':
5604 self.comboTypeBox.clear()
5596 self.comboTypeBox.clear()
5605 self.comboTypeBox.addItem("Spectra")
5597 self.comboTypeBox.addItem("Spectra")
5606 self.comboTypeBox.addItem("Correlation")
5598 self.comboTypeBox.addItem("Correlation")
5607 if self.dataTypeProject == 'Fits':
5599 if self.dataTypeProject == 'Fits':
5608 self.comboTypeBox.clear()
5600 self.comboTypeBox.clear()
5609 self.comboTypeBox.addItem("SpectraHeis")
5601 self.comboTypeBox.addItem("SpectraHeis")
5610
5602
5611
5603
5612 if name == 'ProcUnit':
5604 if name == 'ProcUnit':
5613 id = int(i.id) - 1
5605 id = int(i.id) - 1
5614 name = i.datatype
5606 name = i.datatype
5615 if name == 'Voltage':
5607 if name == 'Voltage':
5616 self.comboTypeBox.clear()
5608 self.comboTypeBox.clear()
5617 self.comboTypeBox.addItem("Spectra")
5609 self.comboTypeBox.addItem("Spectra")
5618 self.comboTypeBox.addItem("SpectraHeis")
5610 self.comboTypeBox.addItem("SpectraHeis")
5619 self.comboTypeBox.addItem("Correlation")
5611 self.comboTypeBox.addItem("Correlation")
5620 if name == 'Spectra':
5612 if name == 'Spectra':
5621 self.comboTypeBox.clear()
5613 self.comboTypeBox.clear()
5622 self.comboTypeBox.addItem("Spectra")
5614 self.comboTypeBox.addItem("Spectra")
5623 self.comboTypeBox.addItem("SpectraHeis")
5615 self.comboTypeBox.addItem("SpectraHeis")
5624 self.comboTypeBox.addItem("Correlation")
5616 self.comboTypeBox.addItem("Correlation")
5625 if name == 'SpectraHeis':
5617 if name == 'SpectraHeis':
5626 self.comboTypeBox.clear()
5618 self.comboTypeBox.clear()
5627 self.comboTypeBox.addItem("SpectraHeis")
5619 self.comboTypeBox.addItem("SpectraHeis")
5628
5620
5629 self.comboInputBox.addItem(str(name))
5621 self.comboInputBox.addItem(str(name))
5630 # self.comboInputBox.addItem(str(name)+str(id))
5622 # self.comboInputBox.addItem(str(name)+str(id))
5631
5623
5632 def closeEvent(self, event):
5624 def closeEvent(self, event):
5633 self.closed.emit()
5625 self.closed.emit()
5634 event.accept()
5626 event.accept()
5635
5627
5636 class Ftp(QMainWindow, Ui_Ftp):
5628 class Ftp(QMainWindow, Ui_Ftp):
5637 """
5629 """
5638 Class documentation goes here.
5630 Class documentation goes here.
5639 """
5631 """
5640 create = False
5632 create = False
5641 closed = pyqtSignal()
5633 closed = pyqtSignal()
5642 server = None
5634 server = None
5643 remotefolder = None
5635 remotefolder = None
5644 username = None
5636 username = None
5645 password = None
5637 password = None
5646 ftp_wei = None
5638 ftp_wei = None
5647 exp_code = None
5639 exp_code = None
5648 sub_exp_code = None
5640 sub_exp_code = None
5649 plot_pos = None
5641 plot_pos = None
5650
5642
5651 def __init__(self, parent=None):
5643 def __init__(self, parent=None):
5652 """
5644 """
5653 Constructor
5645 Constructor
5654 """
5646 """
5655 QMainWindow.__init__(self, parent)
5647 QMainWindow.__init__(self, parent)
5656 self.setupUi(self)
5648 self.setupUi(self)
5657 self.setGUIStatus()
5649 self.setGUIStatus()
5658
5650
5659 def setGUIStatus(self):
5651 def setGUIStatus(self):
5660 self.setWindowTitle("ROJ-Signal Chain")
5652 self.setWindowTitle("ROJ-Signal Chain")
5661 self.serverFTP.setToolTip('Example: jro-app.igp.gob.pe')
5653 self.serverFTP.setToolTip('Example: jro-app.igp.gob.pe')
5662 self.folderFTP.setToolTip('Example: /home/wmaster/graficos')
5654 self.folderFTP.setToolTip('Example: /home/wmaster/graficos')
5663 self.usernameFTP.setToolTip('Example: myusername')
5655 self.usernameFTP.setToolTip('Example: myusername')
5664 self.passwordFTP.setToolTip('Example: mypass ')
5656 self.passwordFTP.setToolTip('Example: mypass ')
5665 self.weightFTP.setToolTip('Example: 0')
5657 self.weightFTP.setToolTip('Example: 0')
5666 self.expcodeFTP.setToolTip('Example: 0')
5658 self.expcodeFTP.setToolTip('Example: 0')
5667 self.subexpFTP.setToolTip('Example: 0')
5659 self.subexpFTP.setToolTip('Example: 0')
5668 self.plotposFTP.setToolTip('Example: 0')
5660 self.plotposFTP.setToolTip('Example: 0')
5669
5661
5670 def setParmsfromTemporal(self, server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos):
5662 def setParmsfromTemporal(self, server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos):
5671 self.serverFTP.setText(str(server))
5663 self.serverFTP.setText(str(server))
5672 self.folderFTP.setText(str(remotefolder))
5664 self.folderFTP.setText(str(remotefolder))
5673 self.usernameFTP.setText(str(username))
5665 self.usernameFTP.setText(str(username))
5674 self.passwordFTP.setText(str(password))
5666 self.passwordFTP.setText(str(password))
5675 self.weightFTP.setText(str(ftp_wei))
5667 self.weightFTP.setText(str(ftp_wei))
5676 self.expcodeFTP.setText(str(exp_code))
5668 self.expcodeFTP.setText(str(exp_code))
5677 self.subexpFTP.setText(str(sub_exp_code))
5669 self.subexpFTP.setText(str(sub_exp_code))
5678 self.plotposFTP.setText(str(plot_pos))
5670 self.plotposFTP.setText(str(plot_pos))
5679
5671
5680 def getParmsFromFtpWindow(self):
5672 def getParmsFromFtpWindow(self):
5681 """
5673 """
5682 Return Inputs Project:
5674 Return Inputs Project:
5683 - server
5675 - server
5684 - remotefolder
5676 - remotefolder
5685 - username
5677 - username
5686 - password
5678 - password
5687 - ftp_wei
5679 - ftp_wei
5688 - exp_code
5680 - exp_code
5689 - sub_exp_code
5681 - sub_exp_code
5690 - plot_pos
5682 - plot_pos
5691 """
5683 """
5692 name_server_ftp = str(self.serverFTP.text())
5684 name_server_ftp = str(self.serverFTP.text())
5693 if not name_server_ftp:
5685 if not name_server_ftp:
5694 self.console.clear()
5686 self.console.clear()
5695 self.console.append("Please Write a FTP Server")
5687 self.console.append("Please Write a FTP Server")
5696 return 0
5688 return 0
5697
5689
5698 folder_server_ftp = str(self.folderFTP.text())
5690 folder_server_ftp = str(self.folderFTP.text())
5699 if not folder_server_ftp:
5691 if not folder_server_ftp:
5700 self.console.clear()
5692 self.console.clear()
5701 self.console.append("Please Write a Folder")
5693 self.console.append("Please Write a Folder")
5702 return 0
5694 return 0
5703
5695
5704 username_ftp = str(self.usernameFTP.text())
5696 username_ftp = str(self.usernameFTP.text())
5705 if not username_ftp:
5697 if not username_ftp:
5706 self.console.clear()
5698 self.console.clear()
5707 self.console.append("Please Write a User Name")
5699 self.console.append("Please Write a User Name")
5708 return 0
5700 return 0
5709
5701
5710 password_ftp = str(self.passwordFTP.text())
5702 password_ftp = str(self.passwordFTP.text())
5711 if not password_ftp:
5703 if not password_ftp:
5712 self.console.clear()
5704 self.console.clear()
5713 self.console.append("Please Write a passwordFTP")
5705 self.console.append("Please Write a passwordFTP")
5714 return 0
5706 return 0
5715
5707
5716 ftp_wei = str(self.weightFTP.text())
5708 ftp_wei = str(self.weightFTP.text())
5717 if not ftp_wei == "":
5709 if not ftp_wei == "":
5718 try:
5710 try:
5719 ftp_wei = int(self.weightFTP.text())
5711 ftp_wei = int(self.weightFTP.text())
5720 except:
5712 except:
5721 self.console.clear()
5713 self.console.clear()
5722 self.console.append("Please Write a ftp_wei number")
5714 self.console.append("Please Write a ftp_wei number")
5723 return 0
5715 return 0
5724
5716
5725 exp_code = str(self.expcodeFTP.text())
5717 exp_code = str(self.expcodeFTP.text())
5726 if not exp_code == "":
5718 if not exp_code == "":
5727 try:
5719 try:
5728 exp_code = int(self.expcodeFTP.text())
5720 exp_code = int(self.expcodeFTP.text())
5729 except:
5721 except:
5730 self.console.clear()
5722 self.console.clear()
5731 self.console.append("Please Write a exp_code number")
5723 self.console.append("Please Write a exp_code number")
5732 return 0
5724 return 0
5733
5725
5734
5726
5735 sub_exp_code = str(self.subexpFTP.text())
5727 sub_exp_code = str(self.subexpFTP.text())
5736 if not sub_exp_code == "":
5728 if not sub_exp_code == "":
5737 try:
5729 try:
5738 sub_exp_code = int(self.subexpFTP.text())
5730 sub_exp_code = int(self.subexpFTP.text())
5739 except:
5731 except:
5740 self.console.clear()
5732 self.console.clear()
5741 self.console.append("Please Write a sub_exp_code number")
5733 self.console.append("Please Write a sub_exp_code number")
5742 return 0
5734 return 0
5743
5735
5744 plot_pos = str(self.plotposFTP.text())
5736 plot_pos = str(self.plotposFTP.text())
5745 if not plot_pos == "":
5737 if not plot_pos == "":
5746 try:
5738 try:
5747 plot_pos = int(self.plotposFTP.text())
5739 plot_pos = int(self.plotposFTP.text())
5748 except:
5740 except:
5749 self.console.clear()
5741 self.console.clear()
5750 self.console.append("Please Write a plot_pos number")
5742 self.console.append("Please Write a plot_pos number")
5751 return 0
5743 return 0
5752
5744
5753 return name_server_ftp, folder_server_ftp, username_ftp, password_ftp, ftp_wei, exp_code, sub_exp_code, plot_pos
5745 return name_server_ftp, folder_server_ftp, username_ftp, password_ftp, ftp_wei, exp_code, sub_exp_code, plot_pos
5754
5746
5755 @pyqtSignature("")
5747 @pyqtSignature("")
5756 def on_ftpOkButton_clicked(self):
5748 def on_ftpOkButton_clicked(self):
5757 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.getParmsFromFtpWindow()
5749 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.getParmsFromFtpWindow()
5758 self.create = True
5750 self.create = True
5759 self.close()
5751 self.close()
5760
5752
5761 @pyqtSignature("")
5753 @pyqtSignature("")
5762 def on_ftpCancelButton_clicked(self):
5754 def on_ftpCancelButton_clicked(self):
5763 self.create = False
5755 self.create = False
5764 self.close()
5756 self.close()
5765
5757
5766 def closeEvent(self, event):
5758 def closeEvent(self, event):
5767 self.closed.emit()
5759 self.closed.emit()
5768 event.accept()
5760 event.accept()
5769
5761
5770 class ftpBuffer():
5762 class ftpBuffer():
5771
5763
5772 server = None
5764 server = None
5773 remotefolder = None
5765 remotefolder = None
5774 username = None
5766 username = None
5775 password = None
5767 password = None
5776 ftp_wei = None
5768 ftp_wei = None
5777 exp_code = None
5769 exp_code = None
5778 sub_exp_code = None
5770 sub_exp_code = None
5779 plot_pos = None
5771 plot_pos = None
5780 create = False
5772 create = False
5781 withoutconfig = False
5773 withoutconfig = False
5782 createforView = False
5774 createforView = False
5783 localfolder = None
5775 localfolder = None
5784 extension = None
5776 extension = None
5785 period = None
5777 period = None
5786 protocol = None
5778 protocol = None
5787
5779
5788 def __init__(self):
5780 def __init__(self):
5789
5781
5790 self.create = False
5782 self.create = False
5791 self.server = None
5783 self.server = None
5792 self.remotefolder = None
5784 self.remotefolder = None
5793 self.username = None
5785 self.username = None
5794 self.password = None
5786 self.password = None
5795 self.ftp_wei = None
5787 self.ftp_wei = None
5796 self.exp_code = None
5788 self.exp_code = None
5797 self.sub_exp_code = None
5789 self.sub_exp_code = None
5798 self.plot_pos = None
5790 self.plot_pos = None
5799 # self.create = False
5791 # self.create = False
5800 self.localfolder = None
5792 self.localfolder = None
5801 self.extension = None
5793 self.extension = None
5802 self.period = None
5794 self.period = None
5803 self.protocol = None
5795 self.protocol = None
5804
5796
5805 def setwithoutconfiguration(self):
5797 def setwithoutconfiguration(self):
5806
5798
5807 self.create = False
5799 self.create = False
5808 self.server = "jro-app.igp.gob.pe"
5800 self.server = "jro-app.igp.gob.pe"
5809 self.remotefolder = "/home/wmaster/graficos"
5801 self.remotefolder = "/home/wmaster/graficos"
5810 self.username = "wmaster"
5802 self.username = "wmaster"
5811 self.password = "mst2010vhf"
5803 self.password = "mst2010vhf"
5812 self.withoutconfig = True
5804 self.withoutconfig = True
5813 self.localfolder = './'
5805 self.localfolder = './'
5814 self.extension = '.png'
5806 self.extension = '.png'
5815 self.period = 60
5807 self.period = 60
5816 self.protocol = 'ftp'
5808 self.protocol = 'ftp'
5817 self.createforView = True
5809 self.createforView = True
5818
5810
5819 if not self.ftp_wei:
5811 if not self.ftp_wei:
5820 self.ftp_wei = 0
5812 self.ftp_wei = 0
5821
5813
5822 if not self.exp_code:
5814 if not self.exp_code:
5823 self.exp_code = 0
5815 self.exp_code = 0
5824
5816
5825 if not self.sub_exp_code:
5817 if not self.sub_exp_code:
5826 self.sub_exp_code = 0
5818 self.sub_exp_code = 0
5827
5819
5828 if not self.plot_pos:
5820 if not self.plot_pos:
5829 self.plot_pos = 0
5821 self.plot_pos = 0
5830
5822
5831 def save(self, server, remotefolder, username, password, ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0, localfolder='./', extension='.png', period=60, protocol='ftp'):
5823 def save(self, server, remotefolder, username, password, ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0, localfolder='./', extension='.png', period=60, protocol='ftp'):
5832
5824
5833 self.server = server
5825 self.server = server
5834 self.remotefolder = remotefolder
5826 self.remotefolder = remotefolder
5835 self.username = username
5827 self.username = username
5836 self.password = password
5828 self.password = password
5837 self.ftp_wei = ftp_wei
5829 self.ftp_wei = ftp_wei
5838 self.exp_code = exp_code
5830 self.exp_code = exp_code
5839 self.sub_exp_code = sub_exp_code
5831 self.sub_exp_code = sub_exp_code
5840 self.plot_pos = plot_pos
5832 self.plot_pos = plot_pos
5841 self.create = True
5833 self.create = True
5842 self.withoutconfig = False
5834 self.withoutconfig = False
5843 self.createforView = True
5835 self.createforView = True
5844 self.localfolder = localfolder
5836 self.localfolder = localfolder
5845 self.extension = extension
5837 self.extension = extension
5846 self.period = period
5838 self.period = period
5847 self.protocol = protocol
5839 self.protocol = protocol
5848
5840
5849 def recover(self):
5841 def recover(self):
5850
5842
5851 return self.server, self.remotefolder, self.username, self.password, self.ftp_wei, self.exp_code, self.sub_exp_code, self.plot_pos, self.extension, self.period, self.protocol
5843 return self.server, self.remotefolder, self.username, self.password, self.ftp_wei, self.exp_code, self.sub_exp_code, self.plot_pos, self.extension, self.period, self.protocol
5852
5844
5853 class ShowMeConsole(QtCore.QObject):
5845 class ShowMeConsole(QtCore.QObject):
5854
5846
5855 textWritten = QtCore.pyqtSignal(str)
5847 textWritten = QtCore.pyqtSignal(str)
5856
5848
5857 def write(self, text):
5849 def write(self, text):
5858
5850
5859 if text[-1] == "\n":
5851 if text[-1] == "\n":
5860 text = text[:-1]
5852 text = text[:-1]
5861
5853
5862 self.textWritten.emit(str(text))
5854 self.textWritten.emit(str(text))
@@ -1,322 +1,344
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Form implementation generated from reading ui file '/home/alex/ui/MainWindow_21_02_13_v49.ui'
3 # Form implementation generated from reading ui file '/home/alex/ui/MainWindow_21_02_13_v49.ui'
4 #
4 #
5 # Created: Mon Mar 24 13:28:36 2014
5 # Created: Mon Mar 24 13:28:36 2014
6 # by: PyQt4 UI code generator 4.10
6 # by: PyQt4 UI code generator 4.10
7 #
7 #
8 # WARNING! All changes made in this file will be lost!
8 # WARNING! All changes made in this file will be lost!
9
9
10 from PyQt4 import QtCore, QtGui
10 from PyQt4 import QtCore, QtGui
11 from windows import *
11 from windows import *
12
12
13 try:
13 try:
14 _fromUtf8 = QtCore.QString.fromUtf8
14 _fromUtf8 = QtCore.QString.fromUtf8
15 except AttributeError:
15 except AttributeError:
16 def _fromUtf8(s):
16 def _fromUtf8(s):
17 return s
17 return s
18
18
19 try:
19 try:
20 _encoding = QtGui.QApplication.UnicodeUTF8
20 _encoding = QtGui.QApplication.UnicodeUTF8
21 def _translate(context, text, disambig):
21 def _translate(context, text, disambig):
22 return QtGui.QApplication.translate(context, text, disambig, _encoding)
22 return QtGui.QApplication.translate(context, text, disambig, _encoding)
23 except AttributeError:
23 except AttributeError:
24 def _translate(context, text, disambig):
24 def _translate(context, text, disambig):
25 return QtGui.QApplication.translate(context, text, disambig)
25 return QtGui.QApplication.translate(context, text, disambig)
26
26
27 import os
27 import os
28 from schainpy.gui.figures import tools
28 from schainpy.gui.figures import tools
29 from schainpy import __version__
29 from schainpy import __version__
30
30
31 FIGURES_PATH = tools.get_path()
31 FIGURES_PATH = tools.get_path()
32
32
33 class Ui_EnvWindow(object):
33 class Ui_EnvWindow(object):
34 paused = False
34 paused = False
35
35
36 def restorePauseIcon(self):
36 def restorePauseIcon(self):
37
37
38 iconPause = QtGui.QIcon()
38 icon_name = "pause.png"
39 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
39 iconPause = QtGui.QIcon()
40 self.actionPauseToolbar.setIcon(iconPause)
40 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
41
41 self.actionPauseToolbar.setIcon(iconPause)
42 self.paused = False
42
43
43 def restoreStartIcon(self):
44 def changePauseIcon(self):
44
45
45 icon_name = "start.png"
46 if self.paused == False:
46 iconStart = QtGui.QIcon()
47 iconPauseRed = QtGui.QIcon()
47 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
48 iconPauseRed.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pausered.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
48 self.actionStarToolbar.setIcon(iconStart)
49 self.actionPauseToolbar.setIcon(iconPauseRed)
49
50 self.paused = True
50 def changePauseIcon(self, paused=False):
51 return 0
51
52
52 if paused == True:
53 if self.paused:
53 icon_name = "pausered.png"
54 iconPause = QtGui.QIcon()
54 else:
55 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
55 icon_name = "pause.png"
56 self.actionPauseToolbar.setIcon(iconPause)
56
57 self.paused = False
57 iconPause = QtGui.QIcon()
58 return 0
58 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
59
59 self.actionPauseToolbar.setIcon(iconPause)
60
61 return
62
63 def changeStartIcon(self, started=False):
64
65 if started == True:
66 icon_name = "startred.png"
67 else:
68 icon_name = "start.png"
69
70 iconStart = QtGui.QIcon()
71 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
72 self.actionStarToolbar.setIcon(iconStart)
73
74 return
75
60 def setupUi(self, MainWindow):
76 def setupUi(self, MainWindow):
61
77
62 self.paused=False
78 self.paused=False
63
79
64 MainWindow.setObjectName(_fromUtf8("MainWindow"))
80 MainWindow.setObjectName(_fromUtf8("MainWindow"))
65 MainWindow.resize(1200, 800)
81 MainWindow.resize(1200, 800)
66
82
67 self.centralWidget = QtGui.QWidget(MainWindow)
83 self.centralWidget = QtGui.QWidget(MainWindow)
68 self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
84 self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
69 self.gridLayout_16 = QtGui.QGridLayout(self.centralWidget)
85 self.gridLayout_16 = QtGui.QGridLayout(self.centralWidget)
70 self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
86 self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
71 self.splitter_2 = QtGui.QSplitter(self.centralWidget)
87 self.splitter_2 = QtGui.QSplitter(self.centralWidget)
72 self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
88 self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
73 self.splitter_2.setObjectName(_fromUtf8("splitter_2"))
89 self.splitter_2.setObjectName(_fromUtf8("splitter_2"))
74 self.projectExplorerTree = QtGui.QTreeView(self.splitter_2)
90 self.projectExplorerTree = QtGui.QTreeView(self.splitter_2)
75 self.projectExplorerTree.setObjectName(_fromUtf8("projectExplorerTree"))
91 self.projectExplorerTree.setObjectName(_fromUtf8("projectExplorerTree"))
76 self.splitter = QtGui.QSplitter(self.splitter_2)
92 self.splitter = QtGui.QSplitter(self.splitter_2)
77 self.splitter.setOrientation(QtCore.Qt.Vertical)
93 self.splitter.setOrientation(QtCore.Qt.Vertical)
78 self.splitter.setObjectName(_fromUtf8("splitter"))
94 self.splitter.setObjectName(_fromUtf8("splitter"))
79 self.tabWidgetProject = QtGui.QTabWidget(self.splitter)
95 self.tabWidgetProject = QtGui.QTabWidget(self.splitter)
80 self.tabWidgetProject.setMinimumSize(QtCore.QSize(0, 278))
96 self.tabWidgetProject.setMinimumSize(QtCore.QSize(0, 278))
81 self.tabWidgetProject.setMaximumSize(QtCore.QSize(16777215, 16777215))
97 self.tabWidgetProject.setMaximumSize(QtCore.QSize(16777215, 16777215))
82 self.tabWidgetProject.setObjectName(_fromUtf8("tabWidgetProject"))
98 self.tabWidgetProject.setObjectName(_fromUtf8("tabWidgetProject"))
83
99
84 self.tabConsole = QtGui.QTabWidget(self.splitter)
100 self.tabConsole = QtGui.QTabWidget(self.splitter)
85 self.tabConsole.setMinimumSize(QtCore.QSize(0, 0))
101 self.tabConsole.setMinimumSize(QtCore.QSize(0, 0))
86 self.tabConsole.setObjectName(_fromUtf8("tabConsole"))
102 self.tabConsole.setObjectName(_fromUtf8("tabConsole"))
87 self.tab_5 = QtGui.QWidget()
103 self.tab_5 = QtGui.QWidget()
88 self.tab_5.setObjectName(_fromUtf8("tab_5"))
104 self.tab_5.setObjectName(_fromUtf8("tab_5"))
89 self.gridLayout_4 = QtGui.QGridLayout(self.tab_5)
105 self.gridLayout_4 = QtGui.QGridLayout(self.tab_5)
90 self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
106 self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
91 self.console = QtGui.QTextEdit(self.tab_5)
107 self.console = QtGui.QTextEdit(self.tab_5)
92 self.console.setObjectName(_fromUtf8("console"))
108 self.console.setObjectName(_fromUtf8("console"))
93 self.gridLayout_4.addWidget(self.console, 0, 0, 1, 1)
109 self.gridLayout_4.addWidget(self.console, 0, 0, 1, 1)
94 self.tabConsole.addTab(self.tab_5, _fromUtf8(""))
110 self.tabConsole.addTab(self.tab_5, _fromUtf8(""))
95 self.tabWidget = QtGui.QTabWidget(self.splitter_2)
111 self.tabWidget = QtGui.QTabWidget(self.splitter_2)
96 self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
112 self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
97 self.tabProjectProperty = QtGui.QWidget()
113 self.tabProjectProperty = QtGui.QWidget()
98 self.tabProjectProperty.setObjectName(_fromUtf8("tabProjectProperty"))
114 self.tabProjectProperty.setObjectName(_fromUtf8("tabProjectProperty"))
99 self.gridLayout_8 = QtGui.QGridLayout(self.tabProjectProperty)
115 self.gridLayout_8 = QtGui.QGridLayout(self.tabProjectProperty)
100 self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
116 self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
101 self.treeProjectProperties = QtGui.QTreeView(self.tabProjectProperty)
117 self.treeProjectProperties = QtGui.QTreeView(self.tabProjectProperty)
102 self.treeProjectProperties.setObjectName(_fromUtf8("treeProjectProperties"))
118 self.treeProjectProperties.setObjectName(_fromUtf8("treeProjectProperties"))
103 self.gridLayout_8.addWidget(self.treeProjectProperties, 0, 0, 1, 1)
119 self.gridLayout_8.addWidget(self.treeProjectProperties, 0, 0, 1, 1)
104 self.tabWidget.addTab(self.tabProjectProperty, _fromUtf8(""))
120 self.tabWidget.addTab(self.tabProjectProperty, _fromUtf8(""))
105 self.gridLayout_16.addWidget(self.splitter_2, 1, 0, 1, 1)
121 self.gridLayout_16.addWidget(self.splitter_2, 1, 0, 1, 1)
106
122
107 MainWindow.setCentralWidget(self.centralWidget)
123 MainWindow.setCentralWidget(self.centralWidget)
108 self.toolBar = QtGui.QToolBar(MainWindow)
124 self.toolBar = QtGui.QToolBar(MainWindow)
109 self.toolBar.setObjectName(_fromUtf8("toolBar"))
125 self.toolBar.setObjectName(_fromUtf8("toolBar"))
110 MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
126 MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
111
127
112 self.menuBar = QtGui.QMenuBar(MainWindow)
128 self.menuBar = QtGui.QMenuBar(MainWindow)
113 self.menuBar.setGeometry(QtCore.QRect(0, 0, 1065, 25))
129 self.menuBar.setGeometry(QtCore.QRect(0, 0, 1065, 25))
114 self.menuBar.setObjectName(_fromUtf8("menuBar"))
130 self.menuBar.setObjectName(_fromUtf8("menuBar"))
115 self.menuProject = QtGui.QMenu(self.menuBar)
131 self.menuProject = QtGui.QMenu(self.menuBar)
116 self.menuProject.setObjectName(_fromUtf8("menuProject"))
132 self.menuProject.setObjectName(_fromUtf8("menuProject"))
117 self.menuRun = QtGui.QMenu(self.menuBar)
133 self.menuRun = QtGui.QMenu(self.menuBar)
118 self.menuRun.setObjectName(_fromUtf8("menuRun"))
134 self.menuRun.setObjectName(_fromUtf8("menuRun"))
119 self.menuOptions = QtGui.QMenu(self.menuBar)
135 self.menuOptions = QtGui.QMenu(self.menuBar)
120 self.menuOptions.setObjectName(_fromUtf8("menuOptions"))
136 self.menuOptions.setObjectName(_fromUtf8("menuOptions"))
121 self.menuHelp = QtGui.QMenu(self.menuBar)
137 self.menuHelp = QtGui.QMenu(self.menuBar)
122 self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
138 self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
123 MainWindow.setMenuBar(self.menuBar)
139 MainWindow.setMenuBar(self.menuBar)
124
140
125 iconOpen = QtGui.QIcon()
141 iconOpen = QtGui.QIcon()
126 iconOpen.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"open.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
142 iconOpen.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"open.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
127 iconCreate = QtGui.QIcon()
143 iconCreate = QtGui.QIcon()
128 iconCreate.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"project.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
144 iconCreate.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"new.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
129 iconSave = QtGui.QIcon()
145 iconSave = QtGui.QIcon()
130 iconSave.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"saveicon.jpeg") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
146 iconSave.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"save.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
131 iconStart = QtGui.QIcon()
147 iconStart = QtGui.QIcon()
132 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"startServer.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
148 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"start.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
133 iconStop = QtGui.QIcon()
149 iconStop = QtGui.QIcon()
134 iconStop.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"stopServer.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
150 iconStop.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"stop.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
135 iconPause = QtGui.QIcon()
151 iconPause = QtGui.QIcon()
136 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
152 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
137 iconAddPU = QtGui.QIcon()
153 iconAddPU = QtGui.QIcon()
138 iconAddPU.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"add_PU.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
154 iconAddPU.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"branch.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
155 iconClose = QtGui.QIcon()
156 iconClose.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"close.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
157
139
158
140 self.actionOpen = QtGui.QAction(MainWindow)
159 self.actionOpen = QtGui.QAction(MainWindow)
141 self.actionOpen.setIcon(iconOpen)
160 self.actionOpen.setIcon(iconOpen)
142 self.actionOpen.setObjectName(_fromUtf8("actionOpen"))
161 self.actionOpen.setObjectName(_fromUtf8("actionOpen"))
143 self.actionCreate = QtGui.QAction(MainWindow)
162 self.actionCreate = QtGui.QAction(MainWindow)
144 self.actionCreate.setIcon(iconCreate)
163 self.actionCreate.setIcon(iconCreate)
145 self.actionCreate.setObjectName(_fromUtf8("actionCreate"))
164 self.actionCreate.setObjectName(_fromUtf8("actionCreate"))
146 self.actionSave = QtGui.QAction(MainWindow)
165 self.actionSave = QtGui.QAction(MainWindow)
147 self.actionSave.setIcon(iconSave)
166 self.actionSave.setIcon(iconSave)
148 self.actionSave.setObjectName(_fromUtf8("actionSave"))
167 self.actionSave.setObjectName(_fromUtf8("actionSave"))
149 self.actionClose = QtGui.QAction(MainWindow)
168 self.actionClose = QtGui.QAction(MainWindow)
169 self.actionClose.setIcon(iconClose)
150 self.actionClose.setObjectName(_fromUtf8("actionClose"))
170 self.actionClose.setObjectName(_fromUtf8("actionClose"))
151 self.actionStart = QtGui.QAction(MainWindow)
171 self.actionStart = QtGui.QAction(MainWindow)
152 self.actionStart.setIcon(iconStart)
172 self.actionStart.setIcon(iconStart)
153 self.actionStart.setObjectName(_fromUtf8("actionStart"))
173 self.actionStart.setObjectName(_fromUtf8("actionStart"))
154 self.actionPause = QtGui.QAction(MainWindow)
174 self.actionPause = QtGui.QAction(MainWindow)
155 self.actionPause.setIcon(iconPause)
175 self.actionPause.setIcon(iconPause)
156 self.actionPause.setObjectName(_fromUtf8("actionPause"))
176 self.actionPause.setObjectName(_fromUtf8("actionPause"))
157 self.actionStop = QtGui.QAction(MainWindow)
177 self.actionStop = QtGui.QAction(MainWindow)
158 self.actionStop.setIcon(iconStop)
178 self.actionStop.setIcon(iconStop)
159 self.actionStop.setObjectName(_fromUtf8("actionStop"))
179 self.actionStop.setObjectName(_fromUtf8("actionStop"))
160 self.actionAbout = QtGui.QAction(MainWindow)
180 self.actionAbout = QtGui.QAction(MainWindow)
161 self.actionAbout.setObjectName(_fromUtf8("actionAbout"))
181 self.actionAbout.setObjectName(_fromUtf8("actionAbout"))
162
182
163 self.actionOpenToolbar = QtGui.QAction(MainWindow)
183 self.actionOpenToolbar = QtGui.QAction(MainWindow)
164 self.actionOpenToolbar.setIcon(iconOpen)
184 self.actionOpenToolbar.setIcon(iconOpen)
165 self.actionOpenToolbar.setObjectName(_fromUtf8("actionOpenToolbar"))
185 self.actionOpenToolbar.setObjectName(_fromUtf8("actionOpenToolbar"))
166 self.actionCreateToolbar = QtGui.QAction(MainWindow)
186 self.actionCreateToolbar = QtGui.QAction(MainWindow)
167 self.actionCreateToolbar.setIcon(iconCreate)
187 self.actionCreateToolbar.setIcon(iconCreate)
168 self.actionCreateToolbar.setObjectName(_fromUtf8("actionCreateToolbar"))
188 self.actionCreateToolbar.setObjectName(_fromUtf8("actionCreateToolbar"))
169 self.actionSaveToolbar = QtGui.QAction(MainWindow)
189 self.actionSaveToolbar = QtGui.QAction(MainWindow)
170 self.actionSaveToolbar.setIcon(iconSave)
190 self.actionSaveToolbar.setIcon(iconSave)
171 self.actionSaveToolbar.setObjectName(_fromUtf8("actionSaveToolbar"))
191 self.actionSaveToolbar.setObjectName(_fromUtf8("actionSaveToolbar"))
172 self.actionStarToolbar = QtGui.QAction(MainWindow)
192 self.actionStarToolbar = QtGui.QAction(MainWindow)
173 self.actionStarToolbar.setIcon(iconStart)
193 self.actionStarToolbar.setIcon(iconStart)
174 self.actionStarToolbar.setObjectName(_fromUtf8("actionStarToolbar"))
194 self.actionStarToolbar.setObjectName(_fromUtf8("actionStarToolbar"))
175 self.actionStopToolbar = QtGui.QAction(MainWindow)
195 self.actionStopToolbar = QtGui.QAction(MainWindow)
176 self.actionStopToolbar.setIcon(iconStop)
196 self.actionStopToolbar.setIcon(iconStop)
177 self.actionStopToolbar.setObjectName(_fromUtf8("actionStopToolbar"))
197 self.actionStopToolbar.setObjectName(_fromUtf8("actionStopToolbar"))
178 self.actionPauseToolbar = QtGui.QAction(MainWindow)
198 self.actionPauseToolbar = QtGui.QAction(MainWindow)
179 self.actionPause.setIcon(iconPause)
199 self.actionPause.setIcon(iconPause)
180 self.actionPauseToolbar.setIcon(iconPause)
200 self.actionPauseToolbar.setIcon(iconPause)
181 self.actionPauseToolbar.setObjectName(_fromUtf8("actionPauseToolbar"))
201 self.actionPauseToolbar.setObjectName(_fromUtf8("actionPauseToolbar"))
182 self.actionAddPU = QtGui.QAction(MainWindow)
202 self.actionAddPU = QtGui.QAction(MainWindow)
183 self.actionAddPU.setIcon(iconAddPU)
203 self.actionAddPU.setIcon(iconAddPU)
184 self.actionAddPU.setObjectName(_fromUtf8("actionAddPU"))
204 self.actionAddPU.setObjectName(_fromUtf8("actionAddPU"))
185 self.actionFTP = QtGui.QAction(MainWindow)
205 self.actionFTP = QtGui.QAction(MainWindow)
186 self.actionFTP.setObjectName(_fromUtf8("actionFTP"))
206 self.actionFTP.setObjectName(_fromUtf8("actionFTP"))
187 self.toolBar.addAction(self.actionOpenToolbar)
207 self.toolBar.addAction(self.actionOpenToolbar)
188 self.toolBar.addSeparator()
208 self.toolBar.addSeparator()
189 self.toolBar.addAction(self.actionCreateToolbar)
209 self.toolBar.addAction(self.actionCreateToolbar)
190 self.toolBar.addSeparator()
210 self.toolBar.addSeparator()
191 self.toolBar.addAction(self.actionAddPU)
211 self.toolBar.addAction(self.actionAddPU)
192 self.toolBar.addSeparator()
212 self.toolBar.addSeparator()
193 self.toolBar.addAction(self.actionSaveToolbar)
213 self.toolBar.addAction(self.actionSaveToolbar)
194 self.toolBar.addSeparator()
214 self.toolBar.addSeparator()
195 self.toolBar.addAction(self.actionStarToolbar)
215 self.toolBar.addAction(self.actionStarToolbar)
196 self.toolBar.addSeparator()
216 self.toolBar.addSeparator()
197 self.toolBar.addAction(self.actionPauseToolbar)
217 self.toolBar.addAction(self.actionPauseToolbar)
198 self.toolBar.addSeparator()
218 self.toolBar.addSeparator()
199 self.toolBar.addAction(self.actionStopToolbar)
219 self.toolBar.addAction(self.actionStopToolbar)
200 self.toolBar.addSeparator()
220 self.toolBar.addSeparator()
201
221
202 self.actionPause.triggered.connect(self.changePauseIcon)
222 # self.actionPause.triggered.connect(self.changePauseIcon)
203 self.actionPauseToolbar.triggered.connect(self.changePauseIcon)
223 # self.actionPauseToolbar.triggered.connect(self.changePauseIcon)
204
224
205 self.menuProject.addAction(self.actionOpen)
225 self.menuProject.addAction(self.actionOpen)
206 self.menuProject.addAction(self.actionCreate)
226 self.menuProject.addAction(self.actionCreate)
207 self.menuProject.addAction(self.actionSave)
227 self.menuProject.addAction(self.actionSave)
208 self.menuProject.addAction(self.actionClose)
228 self.menuProject.addAction(self.actionClose)
209 self.menuRun.addAction(self.actionStart)
229 self.menuRun.addAction(self.actionStart)
210 self.menuRun.addAction(self.actionPause)
230 self.menuRun.addAction(self.actionPause)
211 self.menuRun.addAction(self.actionStop)
231 self.menuRun.addAction(self.actionStop)
212 self.menuOptions.addAction(self.actionFTP)
232 self.menuOptions.addAction(self.actionFTP)
213 self.menuHelp.addAction(self.actionAbout)
233 self.menuHelp.addAction(self.actionAbout)
214 self.menuBar.addAction(self.menuProject.menuAction())
234 self.menuBar.addAction(self.menuProject.menuAction())
215 self.menuBar.addAction(self.menuRun.menuAction())
235 self.menuBar.addAction(self.menuRun.menuAction())
216 self.menuBar.addAction(self.menuOptions.menuAction())
236 self.menuBar.addAction(self.menuOptions.menuAction())
217 self.menuBar.addAction(self.menuHelp.menuAction())
237 self.menuBar.addAction(self.menuHelp.menuAction())
218
238
219 self.tabConsole.setCurrentIndex(0)
239 self.tabConsole.setCurrentIndex(0)
220 self.tabWidget.setCurrentIndex(0)
240 self.tabWidget.setCurrentIndex(0)
221
241
222 def retranslateUi(self, MainWindow):
242 def retranslateUi(self, MainWindow):
223
243
224 MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
244 MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
225
245
226 self.tabConsole.setTabText(self.tabConsole.indexOf(self.tab_5), _translate("MainWindow", "Console", None))
246 self.tabConsole.setTabText(self.tabConsole.indexOf(self.tab_5), _translate("MainWindow", "Console", None))
227
247
228 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabProjectProperty), _translate("MainWindow", "Project Property", None))
248 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabProjectProperty), _translate("MainWindow", "Project Property", None))
229 self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar", None))
249 self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar", None))
230 self.menuProject.setTitle(_translate("MainWindow", "Project", None))
250 self.menuProject.setTitle(_translate("MainWindow", "Project", None))
231 self.menuRun.setTitle(_translate("MainWindow", "Run", None))
251 self.menuRun.setTitle(_translate("MainWindow", "Run", None))
232 self.menuOptions.setTitle(_translate("MainWindow", "Options", None))
252 self.menuOptions.setTitle(_translate("MainWindow", "Options", None))
233 self.menuHelp.setTitle(_translate("MainWindow", "Help", None))
253 self.menuHelp.setTitle(_translate("MainWindow", "Help", None))
234 self.actionOpen.setText(_translate("MainWindow", "Open", None))
254 self.actionOpen.setText(_translate("MainWindow", "Open", None))
235 self.actionCreate.setText(_translate("MainWindow", "Create", None))
255 self.actionCreate.setText(_translate("MainWindow", "Create", None))
236 self.actionSave.setText(_translate("MainWindow", "Save", None))
256 self.actionSave.setText(_translate("MainWindow", "Save", None))
237 self.actionClose.setText(_translate("MainWindow", "Close", None))
257 self.actionClose.setText(_translate("MainWindow", "Close", None))
238 self.actionStart.setText(_translate("MainWindow", "Start", None))
258 self.actionStart.setText(_translate("MainWindow", "Start", None))
239 self.actionPause.setText(_translate("MainWindow", "Pause", None))
259 self.actionPause.setText(_translate("MainWindow", "Pause", None))
240 self.actionStop.setText(_translate("MainWindow", "Stop", None))
260 self.actionStop.setText(_translate("MainWindow", "Stop", None))
241 self.actionAbout.setText(_translate("MainWindow", "About SChain", None))
261 self.actionAbout.setText(_translate("MainWindow", "About SChain", None))
242 self.actionOpenToolbar.setText(_translate("MainWindow", "openToolbar", None))
262 self.actionOpenToolbar.setText(_translate("MainWindow", "openToolbar", None))
243 self.actionOpenToolbar.setToolTip(_translate("MainWindow", "Open a project", None))
263 self.actionOpenToolbar.setToolTip(_translate("MainWindow", "Open a project", None))
244 self.actionCreateToolbar.setText(_translate("MainWindow", "createToolbar", None))
264 self.actionCreateToolbar.setText(_translate("MainWindow", "createToolbar", None))
245 self.actionCreateToolbar.setToolTip(_translate("MainWindow", "Create a new project", None))
265 self.actionCreateToolbar.setToolTip(_translate("MainWindow", "Create a new project", None))
246 self.actionSaveToolbar.setText(_translate("MainWindow", "saveToolbar", None))
266 self.actionSaveToolbar.setText(_translate("MainWindow", "saveToolbar", None))
247 self.actionSaveToolbar.setToolTip(_translate("MainWindow", "Save a project", None))
267 self.actionSaveToolbar.setToolTip(_translate("MainWindow", "Save a project", None))
248 self.actionStarToolbar.setText(_translate("MainWindow", "starToolbar", None))
268 self.actionStarToolbar.setText(_translate("MainWindow", "starToolbar", None))
249 self.actionStarToolbar.setToolTip(_translate("MainWindow", "Start process", None))
269 self.actionStarToolbar.setToolTip(_translate("MainWindow", "Start process", None))
250 self.actionStopToolbar.setText(_translate("MainWindow", "stopToolbar", None))
270 self.actionStopToolbar.setText(_translate("MainWindow", "stopToolbar", None))
251 self.actionStopToolbar.setToolTip(_translate("MainWindow", "Stop process", None))
271 self.actionStopToolbar.setToolTip(_translate("MainWindow", "Stop process", None))
252 self.actionPauseToolbar.setText(_translate("MainWindow", "pauseToolbar", None))
272 self.actionPauseToolbar.setText(_translate("MainWindow", "pauseToolbar", None))
253 self.actionPauseToolbar.setToolTip(_translate("MainWindow", "Pause process", None))
273 self.actionPauseToolbar.setToolTip(_translate("MainWindow", "Pause process", None))
254 self.actionAddPU.setText(_translate("MainWindow", "Add Processing Unit", None))
274 self.actionAddPU.setText(_translate("MainWindow", "Add Processing Unit", None))
255 self.actionFTP.setText(_translate("MainWindow", "FTP", None))
275 self.actionFTP.setText(_translate("MainWindow", "FTP", None))
256
276
257 def closeEvent(self, event):
277 def closeEvent(self, event):
258
278
259 reply = QtGui.QMessageBox.question(self, 'Message',
279 reply = QtGui.QMessageBox.question(self, 'Message',
260 "Are you sure to quit?", QtGui.QMessageBox.Yes |
280 "Are you sure to quit?", QtGui.QMessageBox.Yes |
261 QtGui.QMessageBox.No, QtGui.QMessageBox.No)
281 QtGui.QMessageBox.No, QtGui.QMessageBox.No)
262 if reply == QtGui.QMessageBox.Yes:
282 if reply == QtGui.QMessageBox.Yes:
263 event.accept()
283 event.accept()
264 else:
284 else:
265 event.ignore()
285 event.ignore()
266
286
267 def aboutEvent(self):
287 def aboutEvent(self):
288 title = "Signal Chain Processing Software v%s" %__version__
289 message = """
290 Developed by Jicamarca Radio Observatory
291 Any comment to miguel.urco@jro.igp.gob.pe
292 """
268
293
269 reply = QtGui.QMessageBox.information(self,
294 QtGui.QMessageBox.about(self, title, message)
270 'About',
295
271 "Signal Chain Processing Software v%s" %__version__,
272 "Developed by Jicamarca Radio Observatory\nComments to miguel.urco@jro.igp.gob.pe")
273
274
296
275 class Ui_BasicWindow(Ui_EnvWindow, Ui_ProjectTab, Ui_VoltageTab, Ui_SpectraTab, Ui_SpectraHeisTab, Ui_CorrelationTab):
297 class Ui_BasicWindow(Ui_EnvWindow, Ui_ProjectTab, Ui_VoltageTab, Ui_SpectraTab, Ui_SpectraHeisTab, Ui_CorrelationTab):
276
298
277 def setupUi(self, MainWindow):
299 def setupUi(self, MainWindow):
278
300
279 Ui_EnvWindow.setupUi(self, MainWindow)
301 Ui_EnvWindow.setupUi(self, MainWindow)
280
302
281 Ui_ProjectTab.setupUi(self)
303 Ui_ProjectTab.setupUi(self)
282 Ui_VoltageTab.setupUi(self)
304 Ui_VoltageTab.setupUi(self)
283 Ui_SpectraTab.setupUi(self)
305 Ui_SpectraTab.setupUi(self)
284 Ui_SpectraHeisTab.setupUi(self)
306 Ui_SpectraHeisTab.setupUi(self)
285 Ui_CorrelationTab.setupUi(self)
307 Ui_CorrelationTab.setupUi(self)
286
308
287 self.retranslateUi(MainWindow)
309 self.retranslateUi(MainWindow)
288
310
289 QtCore.QMetaObject.connectSlotsByName(MainWindow)
311 QtCore.QMetaObject.connectSlotsByName(MainWindow)
290
312
291 def retranslateUi(self, MainWindow):
313 def retranslateUi(self, MainWindow):
292
314
293 Ui_EnvWindow.retranslateUi(self, MainWindow)
315 Ui_EnvWindow.retranslateUi(self, MainWindow)
294
316
295 Ui_ProjectTab.retranslateUi(self)
317 Ui_ProjectTab.retranslateUi(self)
296 Ui_VoltageTab.retranslateUi(self)
318 Ui_VoltageTab.retranslateUi(self)
297 Ui_SpectraTab.retranslateUi(self)
319 Ui_SpectraTab.retranslateUi(self)
298 Ui_SpectraHeisTab.retranslateUi(self)
320 Ui_SpectraHeisTab.retranslateUi(self)
299 Ui_CorrelationTab.retranslateUi(self)
321 Ui_CorrelationTab.retranslateUi(self)
300
322
301
323
302 class Ui_AdvancedWindow(Ui_EnvWindow):
324 class Ui_AdvancedWindow(Ui_EnvWindow):
303
325
304 def setupUi(self, AdvancedWindow):
326 def setupUi(self, AdvancedWindow):
305
327
306 Ui_MainWindow.setupUi(self, AdvancedWindow)
328 Ui_MainWindow.setupUi(self, AdvancedWindow)
307
329
308 def retranslateUi(self, AdvancedWindow):
330 def retranslateUi(self, AdvancedWindow):
309
331
310 Ui_MainWindow.retranslateUi(self, AdvancedWindow)
332 Ui_MainWindow.retranslateUi(self, AdvancedWindow)
311
333
312
334
313
335
314 if __name__ == "__main__":
336 if __name__ == "__main__":
315 import sys
337 import sys
316 app = QtGui.QApplication(sys.argv)
338 app = QtGui.QApplication(sys.argv)
317 MainWindow = QtGui.QMainWindow()
339 MainWindow = QtGui.QMainWindow()
318 ui = Ui_BasicWindow()
340 ui = Ui_BasicWindow()
319 ui.setupUi(MainWindow)
341 ui.setupUi(MainWindow)
320 MainWindow.show()
342 MainWindow.show()
321 sys.exit(app.exec_())
343 sys.exit(app.exec_())
322
344
1 NO CONTENT: file was removed, binary diff hidden
NO CONTENT: file was removed, binary diff hidden
1 NO CONTENT: file was removed, binary diff hidden
NO CONTENT: file was removed, binary diff hidden
1 NO CONTENT: file was removed, binary diff hidden
NO CONTENT: file was removed, binary diff hidden
1 NO CONTENT: file was removed, binary diff hidden
NO CONTENT: file was removed, binary diff hidden
1 NO CONTENT: file was removed, binary diff hidden
NO CONTENT: file was removed, binary diff hidden
1 NO CONTENT: file was removed, binary diff hidden
NO CONTENT: file was removed, binary diff hidden
1 NO CONTENT: file was removed, binary diff hidden
NO CONTENT: file was removed, binary diff hidden
1 NO CONTENT: file was removed, binary diff hidden
NO CONTENT: file was removed, binary diff hidden
1 NO CONTENT: file was removed, binary diff hidden
NO CONTENT: file was removed, binary diff hidden
General Comments 0
You need to be logged in to leave comments. Login now