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