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