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