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