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