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