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