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