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