##// END OF EJS Templates
Signal Chain GUI v2.1
Miguel Valdez -
r596:bf27846f03e1
parent child
Show More
@@ -50,6 +50,13 class ParameterConf():
50
50
51 value = self.value
51 value = self.value
52
52
53 if self.format == 'str':
54 self.__formated_value = str(value)
55 return self.__formated_value
56
57 if value == '':
58 raise ValueError, "%s: This parameter value is empty" %self.name
59
53 if self.format == 'bool':
60 if self.format == 'bool':
54 value = int(value)
61 value = int(value)
55
62
@@ -65,14 +72,7 class ParameterConf():
65 Example:
72 Example:
66 value = (0,1,2)
73 value = (0,1,2)
67 """
74 """
68 value = value.replace('(', '')
75 intList = ast.literal_eval(value)
69 value = value.replace(')', '')
70
71 value = value.replace('[', '')
72 value = value.replace(']', '')
73
74 strList = value.split(',')
75 intList = [int(x) for x in strList]
76
76
77 self.__formated_value = intList
77 self.__formated_value = intList
78
78
@@ -84,14 +84,7 class ParameterConf():
84 value = (0.5, 1.4, 2.7)
84 value = (0.5, 1.4, 2.7)
85 """
85 """
86
86
87 value = value.replace('(', '')
87 floatList = ast.literal_eval(value)
88 value = value.replace(')', '')
89
90 value = value.replace('[', '')
91 value = value.replace(']', '')
92
93 strList = value.split(',')
94 floatList = [float(x) for x in strList]
95
88
96 self.__formated_value = floatList
89 self.__formated_value = floatList
97
90
@@ -121,17 +114,7 class ParameterConf():
121 value = (0,1),(1,2)
114 value = (0,1),(1,2)
122 """
115 """
123
116
124 value = value.replace('(', '')
117 pairList = ast.literal_eval(value)
125 value = value.replace(')', '')
126
127 value = value.replace('[', '')
128 value = value.replace(']', '')
129
130 strList = value.split(',')
131 intList = [int(item) for item in strList]
132 pairList = []
133 for i in range(len(intList)/2):
134 pairList.append((intList[i*2], intList[i*2 + 1]))
135
118
136 self.__formated_value = pairList
119 self.__formated_value = pairList
137
120
@@ -153,10 +136,14 class ParameterConf():
153 self.__formated_value = format_func(value)
136 self.__formated_value = format_func(value)
154
137
155 return self.__formated_value
138 return self.__formated_value
139
140 def updateId(self, new_id):
156
141
142 self.id = str(new_id)
143
157 def setup(self, id, name, value, format='str'):
144 def setup(self, id, name, value, format='str'):
158
145
159 self.id = id
146 self.id = str(id)
160 self.name = name
147 self.name = name
161 self.value = str(value)
148 self.value = str(value)
162 self.format = str.lower(format)
149 self.format = str.lower(format)
@@ -212,7 +199,19 class OperationConf():
212 def __getNewId(self):
199 def __getNewId(self):
213
200
214 return int(self.id)*10 + len(self.parmConfObjList) + 1
201 return int(self.id)*10 + len(self.parmConfObjList) + 1
215
202
203 def updateId(self, new_id):
204
205 self.id = str(new_id)
206
207 n = 1
208 for parmObj in self.parmConfObjList:
209
210 idParm = str(int(new_id)*10 + n)
211 parmObj.updateId(idParm)
212
213 n += 1
214
216 def getElementName(self):
215 def getElementName(self):
217
216
218 return self.ELEMENTNAME
217 return self.ELEMENTNAME
@@ -251,7 +250,7 class OperationConf():
251
250
252 def setup(self, id, name, priority, type):
251 def setup(self, id, name, priority, type):
253
252
254 self.id = id
253 self.id = str(id)
255 self.name = name
254 self.name = name
256 self.type = type
255 self.type = type
257 self.priority = priority
256 self.priority = priority
@@ -387,7 +386,30 class ProcUnitConf():
387 def getId(self):
386 def getId(self):
388
387
389 return self.id
388 return self.id
390
389
390 def updateId(self, new_id, parentId=parentId):
391
392
393 new_id = int(parentId)*10 + (int(self.id) % 10)
394 new_inputId = int(parentId)*10 + (int(self.inputId) % 10)
395
396 #If this proc unit has not inputs
397 if self.inputId == '0':
398 new_inputId = 0
399
400 n = 1
401 for opConfObj in self.opConfObjList:
402
403 idOp = str(int(new_id)*10 + n)
404 opConfObj.updateId(idOp)
405
406 n += 1
407
408 self.parentId = str(parentId)
409 self.id = str(new_id)
410 self.inputId = str(new_inputId)
411
412
391 def getInputId(self):
413 def getInputId(self):
392
414
393 return self.inputId
415 return self.inputId
@@ -420,8 +442,21 class ProcUnitConf():
420 return self.procUnitObj
442 return self.procUnitObj
421
443
422 def setup(self, id, name, datatype, inputId, parentId=None):
444 def setup(self, id, name, datatype, inputId, parentId=None):
445
446 #Compatible with old signal chain version
447 if datatype==None and name==None:
448 raise ValueError, "datatype or name should be defined"
423
449
424 self.id = id
450 if name==None:
451 if 'Proc' in datatype:
452 name = datatype
453 else:
454 name = '%sProc' %(datatype)
455
456 if datatype==None:
457 datatype = name.replace('Proc','')
458
459 self.id = str(id)
425 self.name = name
460 self.name = name
426 self.datatype = datatype
461 self.datatype = datatype
427 self.inputId = inputId
462 self.inputId = inputId
@@ -479,6 +514,12 class ProcUnitConf():
479 self.datatype = upElement.get('datatype')
514 self.datatype = upElement.get('datatype')
480 self.inputId = upElement.get('inputId')
515 self.inputId = upElement.get('inputId')
481
516
517 if self.ELEMENTNAME == "ReadUnit":
518 self.datatype = self.datatype.replace("Reader", "")
519
520 if self.ELEMENTNAME == "ProcUnit":
521 self.datatype = self.datatype.replace("Proc", "")
522
482 if self.inputId == 'None':
523 if self.inputId == 'None':
483 self.inputId = '0'
524 self.inputId = '0'
484
525
@@ -583,7 +624,20 class ReadUnitConf(ProcUnitConf):
583 return self.ELEMENTNAME
624 return self.ELEMENTNAME
584
625
585 def setup(self, id, name, datatype, path, startDate="", endDate="", startTime="", endTime="", parentId=None, **kwargs):
626 def setup(self, id, name, datatype, path, startDate="", endDate="", startTime="", endTime="", parentId=None, **kwargs):
627
628 #Compatible with old signal chain version
629 if datatype==None and name==None:
630 raise ValueError, "datatype or name should be defined"
631
632 if name==None:
633 if 'Reader' in datatype:
634 name = datatype
635 else:
636 name = '%sReader' %(datatype)
586
637
638 if datatype==None:
639 datatype = name.replace('Reader','')
640
587 self.id = id
641 self.id = id
588 self.name = name
642 self.name = name
589 self.datatype = datatype
643 self.datatype = datatype
@@ -601,6 +655,10 class ReadUnitConf(ProcUnitConf):
601
655
602 def update(self, datatype, path, startDate, endDate, startTime, endTime, parentId=None, name=None, **kwargs):
656 def update(self, datatype, path, startDate, endDate, startTime, endTime, parentId=None, name=None, **kwargs):
603
657
658 #Compatible with old signal chain version
659 if datatype==None and name==None:
660 raise ValueError, "datatype or name should be defined"
661
604 if name==None:
662 if name==None:
605 if 'Reader' in datatype:
663 if 'Reader' in datatype:
606 name = datatype
664 name = datatype
@@ -618,7 +676,7 class ReadUnitConf(ProcUnitConf):
618 self.startTime = startTime
676 self.startTime = startTime
619 self.endTime = endTime
677 self.endTime = endTime
620
678
621 self.inputId = None
679 self.inputId = '0'
622 self.parentId = parentId
680 self.parentId = parentId
623
681
624 self.updateRunOperation(**kwargs)
682 self.updateRunOperation(**kwargs)
@@ -678,9 +736,7 class Project():
678 #data_q = dataq
736 #data_q = dataq
679
737
680 if control==None:
738 if control==None:
681 control = {}
739 control = {'stop':False,'pause':False}
682 control['stop'] = False
683 control['pause'] = False
684
740
685 self.control = control
741 self.control = control
686
742
@@ -698,9 +754,30 class Project():
698
754
699 return self.id
755 return self.id
700
756
757 def updateId(self, new_id):
758
759 self.id = str(new_id)
760
761 keyList = self.procUnitConfObjDict.keys()
762 keyList.sort()
763
764 n = 1
765 newProcUnitConfObjDict = {}
766
767 for procKey in keyList:
768
769 procUnitConfObj = self.procUnitConfObjDict[procKey]
770 idProcUnit = str(int(self.id)*10 + n)
771 procUnitConfObj.updateId(idProcUnit, parentId = self.id)
772
773 newProcUnitConfObjDict[idProcUnit] = procUnitConfObj
774 n += 1
775
776 self.procUnitConfObjDict = newProcUnitConfObjDict
777
701 def setup(self, id, name, description):
778 def setup(self, id, name, description):
702
779
703 self.id = id
780 self.id = str(id)
704 self.name = name
781 self.name = name
705 self.description = description
782 self.description = description
706
783
@@ -710,19 +787,6 class Project():
710 self.description = description
787 self.description = description
711
788
712 def addReadUnit(self, datatype=None, name=None, **kwargs):
789 def addReadUnit(self, datatype=None, name=None, **kwargs):
713
714 #Compatible with old signal chain version
715 if datatype==None and name==None:
716 raise ValueError, "datatype or name should be defined"
717
718 if name==None:
719 if 'Reader' in datatype:
720 name = datatype
721 else:
722 name = '%sReader' %(datatype)
723
724 if datatype==None:
725 datatype = name.replace('Reader','')
726
790
727 idReadUnit = self.__getNewId()
791 idReadUnit = self.__getNewId()
728
792
@@ -735,19 +799,6 class Project():
735
799
736 def addProcUnit(self, inputId='0', datatype=None, name=None):
800 def addProcUnit(self, inputId='0', datatype=None, name=None):
737
801
738 #Compatible with old signal chain version
739 if datatype==None and name==None:
740 raise ValueError, "datatype or name should be defined"
741
742 if name==None:
743 if 'Proc' in datatype:
744 name = datatype
745 else:
746 name = '%sProc' %(datatype)
747
748 if datatype==None:
749 datatype = name.replace('Proc','')
750
751 idProcUnit = self.__getNewId()
802 idProcUnit = self.__getNewId()
752
803
753 procUnitConfObj = ProcUnitConf()
804 procUnitConfObj = ProcUnitConf()
@@ -951,7 +1002,34 class Project():
951 self.createObjects()
1002 self.createObjects()
952 self.connectObjects()
1003 self.connectObjects()
953 self.run()
1004 self.run()
1005
1006 class ControllerThread(threading.Thread, Project):
1007
1008 def __init__(self, filename):
1009
1010 threading.Thread.__init__(self)
1011 Project.__init__(self)
1012
1013 self.setDaemon(True)
1014
1015 self.filename = filename
1016 self.control = {'stop':False, 'pause':False}
954
1017
1018 def stop(self):
1019 self.control['stop'] = True
1020
1021 def pause(self):
1022 self.control['pause'] = not(self.control['pause'])
1023
1024 def run(self):
1025 self.control['stop'] = False
1026 self.control['pause'] = False
1027
1028 self.readXml(self.filename)
1029 self.createObjects()
1030 self.connectObjects()
1031 Project.run(self)
1032
955 if __name__ == '__main__':
1033 if __name__ == '__main__':
956
1034
957 desc = "Segundo Test"
1035 desc = "Segundo Test"
This diff has been collapsed as it changes many lines, (3354 lines changed) Show them Hide them
@@ -12,6 +12,7 import Queue
12 from collections import OrderedDict
12 from collections import OrderedDict
13 from os.path import expanduser
13 from os.path import expanduser
14 from time import sleep
14 from time import sleep
15 import ast
15
16
16 from PyQt4.QtGui import QMainWindow
17 from PyQt4.QtGui import QMainWindow
17 from PyQt4.QtCore import pyqtSignature
18 from PyQt4.QtCore import pyqtSignature
@@ -22,15 +23,16 from PyQt4 import QtGui
22 from schainpy.gui.viewer.ui_unitprocess import Ui_UnitProcess
23 from schainpy.gui.viewer.ui_unitprocess import Ui_UnitProcess
23 from schainpy.gui.viewer.ui_ftp import Ui_Ftp
24 from schainpy.gui.viewer.ui_ftp import Ui_Ftp
24 from schainpy.gui.viewer.ui_mainwindow import Ui_BasicWindow
25 from schainpy.gui.viewer.ui_mainwindow import Ui_BasicWindow
25 from schainpy.controller import Project
26 from schainpy.controller import Project, ControllerThread
26
27
27 from propertiesViewModel import TreeModel, PropertyBuffer
28 from propertiesViewModel import TreeModel, PropertyBuffer
28 from parametersModel import ProjectParms
29 from parametersModel import ProjectParms
29
30
30 from schainpy.gui.figures import tools
31 from schainpy.gui.figures import tools
31 from schainpy.gui.viewcontroller.comm import ControllerThread
32 # from schainpy.gui.viewcontroller.comm import ControllerThread
32
33
33 FIGURES_PATH = tools.get_path()
34 FIGURES_PATH = tools.get_path()
35 TEMPORAL_FILE = "./.temp.xml"
34
36
35 def isRadarFile(file):
37 def isRadarFile(file):
36 try:
38 try:
@@ -78,6 +80,7 class BasicWindow(QMainWindow, Ui_BasicWindow):
78 self.idImagspectraHeis = 0
80 self.idImagspectraHeis = 0
79 self.idImagrtiHeis = 0
81 self.idImagrtiHeis = 0
80
82
83 self.dataPath = None
81 self.online = 0
84 self.online = 0
82 self.walk = 0
85 self.walk = 0
83 self.create = False
86 self.create = False
@@ -173,8 +176,9 class BasicWindow(QMainWindow, Ui_BasicWindow):
173 self.configFTPWindowObj.closed.connect(self.createFTPConfig)
176 self.configFTPWindowObj.closed.connect(self.createFTPConfig)
174
177
175 def createFTPConfig(self):
178 def createFTPConfig(self):
176 self.console.clear()
179
177 if not self.configFTPWindowObj.create:
180 if not self.configFTPWindowObj.create:
181 self.console.clear()
178 self.console.append("There is no FTP configuration")
182 self.console.append("There is no FTP configuration")
179 return
183 return
180 self.console.append("Push Ok in Spectra view to Add FTP Configuration")
184 self.console.append("Push Ok in Spectra view to Add FTP Configuration")
@@ -246,7 +250,7 class BasicWindow(QMainWindow, Ui_BasicWindow):
246 if index == 0:
250 if index == 0:
247 self.online = 0
251 self.online = 0
248 self.proDelay.setText("0")
252 self.proDelay.setText("0")
249 self.proSet.setText("0")
253 self.proSet.setText("")
250 self.proSet.setEnabled(False)
254 self.proSet.setEnabled(False)
251 self.proDelay.setEnabled(False)
255 self.proDelay.setEnabled(False)
252 elif index == 1:
256 elif index == 1:
@@ -261,8 +265,14 class BasicWindow(QMainWindow, Ui_BasicWindow):
261 """
265 """
262 Voltage or Spectra
266 Voltage or Spectra
263 """
267 """
268 self.labelSet.show()
269 self.proSet.show()
270
271 self.labelIPPKm.hide()
272 self.proIPPKm.hide()
273
264 if index == 0:
274 if index == 0:
265 extension = '.r'
275 extension = '.r'
266 elif index == 1:
276 elif index == 1:
267 extension = '.pdata'
277 extension = '.pdata'
268 elif index == 2:
278 elif index == 2:
@@ -270,8 +280,12 class BasicWindow(QMainWindow, Ui_BasicWindow):
270 elif index == 3:
280 elif index == 3:
271 extension = '.hdf5'
281 extension = '.hdf5'
272
282
283 self.labelSet.hide()
284 self.proSet.hide()
285 self.labelIPPKm.show()
286 self.proIPPKm.show()
287
273 self.proDataType.setText(extension)
288 self.proDataType.setText(extension)
274 self.console.clear()
275
289
276 @pyqtSignature("int")
290 @pyqtSignature("int")
277 def on_proComWalk_activated(self, index):
291 def on_proComWalk_activated(self, index):
@@ -288,19 +302,40 class BasicWindow(QMainWindow, Ui_BasicWindow):
288 """
302 """
289 Choose your path
303 Choose your path
290 """
304 """
291 self.dataPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
305
292 self.proDataPath.setText(self.dataPath)
306 current_dpath = './'
307 if self.dataPath:
308 current_dpath = self.dataPath
309
310 datapath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', current_dpath, QtGui.QFileDialog.ShowDirsOnly))
311
312 #If it was canceled
313 if not datapath:
314 return
315
316 #If any change was done
317 if datapath == self.dataPath:
318 return
319
320 self.proDataPath.setText(datapath)
321
322 self.actionStart.setEnabled(False)
323 self.actionStarToolbar.setEnabled(False)
324 self.proOk.setEnabled(False)
293
325
294 self.proComStartDate.clear()
326 self.proComStartDate.clear()
295 self.proComEndDate.clear()
327 self.proComEndDate.clear()
296
328
297 if not os.path.exists(self.dataPath):
329 if not os.path.exists(datapath):
298 self.proOk.setEnabled(False)
330
299 self.console.clear()
331 self.console.clear()
300 self.console.append("Write a correct a path")
332 self.console.append("Write a correct a path")
301 return
333 return
334
335 self.dataPath = datapath
336
302 self.console.clear()
337 self.console.clear()
303 self.console.append("Select the read mode")
338 self.console.append("Select the read mode and press 'load button'")
304
339
305
340
306 @pyqtSignature("")
341 @pyqtSignature("")
@@ -357,35 +392,63 class BasicWindow(QMainWindow, Ui_BasicWindow):
357 for i in self.dateList[:len(self.dateList) - stopIndex + 1]:
392 for i in self.dateList[:len(self.dateList) - stopIndex + 1]:
358 self.proComStartDate.addItem(i)
393 self.proComStartDate.addItem(i)
359 self.proComStartDate.setCurrentIndex(startIndex)
394 self.proComStartDate.setCurrentIndex(startIndex)
360
395
361 @pyqtSignature("")
396 @pyqtSignature("")
362 def on_proOk_clicked(self):
397 def on_proOk_clicked(self):
363 """
398 """
364 AΓ±ade al Obj XML de Projecto, name,datatype,date,time,readmode,wait,etc, crea el readUnitProcess del archivo xml.
399 AΓ±ade al Obj XML de Projecto, name,datatype,date,time,readmode,wait,etc, crea el readUnitProcess del archivo xml.
365 Prepara la configuraciΓ³n del diΓ‘grama del Arbol del treeView numero 2
400 Prepara la configuraciΓ³n del diΓ‘grama del Arbol del treeView numero 2
366 """
401 """
402
403 self.actionStart.setEnabled(False)
404 self.actionStarToolbar.setEnabled(False)
405
367 if self.create:
406 if self.create:
368 self.idProject += 1
407
369 projectId = self.idProject
408 projectId = self.__getNewProjectId()
409
410 if not projectId:
411 return 0
412
370 projectObjView = self.createProjectView(projectId)
413 projectObjView = self.createProjectView(projectId)
371 readUnitObj = self.createReadUnitView(projectObjView)
414
372 self.addProject2ProjectExplorer(id=projectId, name=projectObjView.name)
415 if not projectObjView:
416 return 0
417
418 readUnitObj = self.createReadUnitView(projectObjView)
419
420 if not readUnitObj:
421 return 0
422
373 else:
423 else:
374 projectObjView = self.updateProjectView()
424 projectObjView = self.updateProjectView()
425
426 if not projectObjView:
427 return 0
428
375 projectId = projectObjView.getId()
429 projectId = projectObjView.getId()
376 idReadUnit = projectObjView.getReadUnitId()
430 idReadUnit = projectObjView.getReadUnitId()
377 readUnitObj = self.updateReadUnitView(projectObjView, idReadUnit)
431 readUnitObj = self.updateReadUnitView(projectObjView, idReadUnit)
378
432
433 if not readUnitObj:
434 return 0
435
379 self.__itemTreeDict[projectId].setText(projectObjView.name)
436 self.__itemTreeDict[projectId].setText(projectObjView.name)
380 # Project Properties
437 # Project Properties
381 self.refreshProjectProperties(projectObjView)
438 self.refreshProjectProperties(projectObjView)
382 # Disable tabProject after finish the creation
439 # Disable tabProject after finish the creation
383 self.tabProject.setEnabled(True)
440
441 self.actionStart.setEnabled(True)
442 self.actionStarToolbar.setEnabled(True)
443 self.console.clear()
444 self.console.append("The project parameters were validated")
445
446 return 1
384
447
385 @pyqtSignature("")
448 @pyqtSignature("")
386 def on_proClear_clicked(self):
449 def on_proClear_clicked(self):
387 self.setInputsProject_View()
450
388 projectObj = self.getSelectedProjectObj()
451 self.console.clear()
389
452
390 @pyqtSignature("int")
453 @pyqtSignature("int")
391 def on_volOpCebChannels_stateChanged(self, p0):
454 def on_volOpCebChannels_stateChanged(self, p0):
@@ -440,7 +503,24 class BasicWindow(QMainWindow, Ui_BasicWindow):
440 self.volOpComProfile.setEnabled(False)
503 self.volOpComProfile.setEnabled(False)
441 self.volOpProfile.setEnabled(False)
504 self.volOpProfile.setEnabled(False)
442 self.volOpProfile.clear()
505 self.volOpProfile.clear()
443
506
507 @pyqtSignature("int")
508 def on_volOpComProfile_activated(self, index):
509 """
510 Check Box habilita ingreso del rango de Perfiles
511 """
512 #Profile List
513 if index == 0:
514 self.volOpProfile.setToolTip('List of selected profiles. Example: 0, 1, 2, 3, 4, 5, 6, 7')
515
516 #Profile Range
517 if index == 1:
518 self.volOpProfile.setToolTip('Minimum and maximum profile index. Example: 0, 7')
519
520 #Profile Range List
521 if index == 2:
522 self.volOpProfile.setToolTip('List of profile ranges. Example: (0, 7), (12, 19), (100, 200)')
523
444 @pyqtSignature("int")
524 @pyqtSignature("int")
445 def on_volOpCebDecodification_stateChanged(self, p0):
525 def on_volOpCebDecodification_stateChanged(self, p0):
446 """
526 """
@@ -454,6 +534,78 class BasicWindow(QMainWindow, Ui_BasicWindow):
454 self.volOpComMode.setEnabled(False)
534 self.volOpComMode.setEnabled(False)
455
535
456 @pyqtSignature("int")
536 @pyqtSignature("int")
537 def on_volOpComCode_activated(self, index):
538 """
539 Check Box habilita ingreso
540 """
541 if index == 13:
542 self.volOpCode.setEnabled(True)
543 else:
544 self.volOpCode.setEnabled(False)
545
546 if index == 0:
547 code = ''
548 self.volOpCode.setText(str(code))
549 return
550
551 if index == 1:
552 code = '(1,1,-1)'
553 nCode = '1'
554 nBaud = '3'
555 if index == 2:
556 code = '(1,1,-1,1)'
557 nCode = '1'
558 nBaud = '4'
559 if index == 3:
560 code = '(1,1,1,-1,1)'
561 nCode = '1'
562 nBaud = '5'
563 if index == 4:
564 code = '(1,1,1,-1,-1,1,-1)'
565 nCode = '1'
566 nBaud = '7'
567 if index == 5:
568 code = '(1,1,1,-1,-1,-1,1,-1,-1,1,-1)'
569 nCode = '1'
570 nBaud = '11'
571 if index == 6:
572 code = '(1,1,1,1,1,-1,-1,1,1,-1,1,-1,1)'
573 nCode = '1'
574 nBaud = '13'
575 if index == 7:
576 code = '(1,1,-1,-1,-1,1)'
577 nCode = '2'
578 nBaud = '3'
579 if index == 8:
580 code = '(1,1,-1,1,-1,-1,1,-1)'
581 nCode = '2'
582 nBaud = '4'
583 if index == 9:
584 code = '(1,1,1,-1,1,-1,-1,-1,1,-1)'
585 nCode = '2'
586 nBaud = '5'
587 if index == 10:
588 code = '(1,1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1)'
589 nCode = '2'
590 nBaud = '7'
591 if index == 11:
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 nCode = '2'
594 nBaud = '11'
595 if index == 12:
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 nCode = '2'
598 nBaud = '13'
599
600 code = ast.literal_eval(code)
601 nCode = int(nCode)
602 nBaud = int(nBaud)
603
604 code = numpy.asarray(code).reshape((nCode, nBaud)).tolist()
605
606 self.volOpCode.setText(str(code))
607
608 @pyqtSignature("int")
457 def on_volOpCebFlip_stateChanged(self, p0):
609 def on_volOpCebFlip_stateChanged(self, p0):
458 """
610 """
459 Check Box habilita ingresode del numero de Integraciones a realizar
611 Check Box habilita ingresode del numero de Integraciones a realizar
@@ -599,87 +751,57 class BasicWindow(QMainWindow, Ui_BasicWindow):
599 format = 'intlist'
751 format = 'intlist'
600 optype = 'other'
752 optype = 'other'
601 name_operation = 'ProfileSelector'
753 name_operation = 'ProfileSelector'
602 if self.volOpComProfile.currentIndex() == 0:
754 if self.volOpComProfile.currentIndex() == 0:
603 name_parameter = 'profileList'
755 name_parameter = 'profileList'
604 else:
756 if self.volOpComProfile.currentIndex() == 1:
605 name_parameter = 'profileRangeList'
757 name_parameter = 'profileRangeList'
758 if self.volOpComProfile.currentIndex() == 2:
759 name_parameter = 'rangeList'
760
606 opObj = puObj.addOperation(name='ProfileSelector', optype='other')
761 opObj = puObj.addOperation(name='ProfileSelector', optype='other')
607 opObj.addParameter(name=name_parameter, value=value, format=format)
762 opObj.addParameter(name=name_parameter, value=value, format=format)
608
763
609 if self.volOpCebDecodification.isChecked():
764 if self.volOpCebDecodification.isChecked():
610 name_operation = 'Decoder'
765
611 optype = 'other'
612 format1 = 'floatlist'
613 format2 = 'int'
614 format3 = 'int'
615 format4 = 'int'
616 name_parameter1 = 'code'
617 name_parameter2 = 'nCode'
618 name_parameter3 = 'nBaud'
619 name_parameter4 = 'mode'
620
621 if self.volOpComCode.currentIndex() == 0:
622 value1 = '1,1,-1'
623 value2 = '1'
624 value3 = '3'
625 if self.volOpComCode.currentIndex() == 1:
626 value1 = '1,1,-1,1'
627 value2 = '1'
628 value3 = '4'
629 if self.volOpComCode.currentIndex() == 2:
630 value1 = '1,1,1,-1,1'
631 value2 = '1'
632 value3 = '5'
633 if self.volOpComCode.currentIndex() == 3:
634 value1 = '1,1,1,-1,-1,1,-1'
635 value2 = '1'
636 value3 = '7'
637 if self.volOpComCode.currentIndex() == 4:
638 value1 = '1,1,1,-1,-1,-1,1,-1,-1,1,-1'
639 value2 = '1'
640 value3 = '11'
641 if self.volOpComCode.currentIndex() == 5:
642 value1 = '1,1,1,1,1,-1,-1,1,1,-1,1,-1,1'
643 value2 = '1'
644 value3 = '13'
645 if self.volOpComCode.currentIndex() == 6:
646 value1 = '1,1,-1,-1,-1,1'
647 value2 = '2'
648 value3 = '3'
649 if self.volOpComCode.currentIndex() == 7:
650 value1 = '1,1,-1,1,-1,-1,1,-1'
651 value2 = '2'
652 value3 = '4'
653 if self.volOpComCode.currentIndex() == 8:
654 value1 = '1,1,1,-1,1,-1,-1,-1,1,-1'
655 value2 = '2'
656 value3 = '5'
657 if self.volOpComCode.currentIndex() == 9:
658 value1 = '1,1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1'
659 value2 = '2'
660 value3 = '7'
661 if self.volOpComCode.currentIndex() == 10:
662 value1 = '1,1,1,-1,-1,-1,1,-1,-1,1,-1,-1 ,-1 ,-1 ,1 ,1,1,-1 ,1 ,1 ,-1 ,1'
663 value2 = '2'
664 value3 = '11'
665 if self.volOpComCode.currentIndex() == 11:
666 value1 = '1,1,1,1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1'
667 value2 = '2'
668 value3 = '13'
669 if self.volOpComMode.currentIndex() == 0:
766 if self.volOpComMode.currentIndex() == 0:
670 value4 = '0'
767 mode = '0'
671 if self.volOpComMode.currentIndex() == 1:
768 if self.volOpComMode.currentIndex() == 1:
672 value4 = '1'
769 mode = '1'
673 if self.volOpComMode.currentIndex() == 2:
770 if self.volOpComMode.currentIndex() == 2:
674 value4 = '2'
771 mode = '2'
675 opObj = puObj.addOperation(name=name_operation, optype='other')
772
676 if self.volOpComCode.currentIndex() == 12:
773 if self.volOpComCode.currentIndex() == 0:
677 pass
774 opObj = puObj.addOperation(name='Decoder', optype='other')
775 opObj.addParameter(name='mode', value=mode, format='int')
678 else:
776 else:
679 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
777 #User defined
680 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
778 code = str(self.volOpCode.text())
681 opObj.addParameter(name=name_parameter3, value=value3, format=format3)
779 try:
682 opObj.addParameter(name=name_parameter4, value=value4, format=format4)
780 code_tmp = ast.literal_eval(code)
781 except:
782 code_tmp = []
783
784 if len(code_tmp) < 1:
785 self.console.append("Please fill the code value")
786 return 0
787
788 if len(code_tmp) == 1 or type(code_tmp[0]) != int:
789 nBaud = len(code_tmp[0])
790 nCode = len(code_tmp)
791 else:
792 nBaud = len(code_tmp)
793 nCode = 1
794
795 opObj = puObj.addOperation(name='Decoder', optype='other')
796
797 code = code.replace("(", "")
798 code = code.replace(")", "")
799 code = code.replace("[", "")
800 code = code.replace("]", "")
801 opObj.addParameter(name='code', value=code, format='intlist')
802 opObj.addParameter(name='nCode', value=nCode, format='int')
803 opObj.addParameter(name='nBaud', value=nBaud, format='int')
804 opObj.addParameter(name='mode', value=mode, format='int')
683
805
684 if self.volOpCebFlip.isChecked():
806 if self.volOpCebFlip.isChecked():
685 name_operation = 'deFlip'
807 name_operation = 'deFlip'
@@ -696,6 +818,11 class BasicWindow(QMainWindow, Ui_BasicWindow):
696 name_operation = 'CohInt'
818 name_operation = 'CohInt'
697 optype = 'other'
819 optype = 'other'
698 value = str(self.volOpCohInt.text())
820 value = str(self.volOpCohInt.text())
821
822 if value == "":
823 print "Please fill number of coherent integrations"
824 return 0
825
699 name_parameter = 'n'
826 name_parameter = 'n'
700 format = 'float'
827 format = 'float'
701
828
@@ -719,57 +846,48 class BasicWindow(QMainWindow, Ui_BasicWindow):
719
846
720 opObj = puObj.addOperation(name=name_operation, optype=optype)
847 opObj = puObj.addOperation(name=name_operation, optype=optype)
721 # opObj.addParameter(name=name_parameter, value=value, format=format)
848 # opObj.addParameter(name=name_parameter, value=value, format=format)
722 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
849 opObj.addParameter(name=name_parameter1, value=opObj.id, format=format1)
723
850
724 channelList = str(self.volGraphChannelList.text())
851 channelList = str(self.volGraphChannelList.text()).replace(" ","")
725 xvalue = str(self.volGraphfreqrange.text())
852 xvalue = str(self.volGraphfreqrange.text()).replace(" ","")
726 yvalue = str(self.volGraphHeightrange.text())
853 yvalue = str(self.volGraphHeightrange.text()).replace(" ","")
727
854
728 if self.volGraphChannelList.isModified():
855 if channelList:
729 try:
856 opObj.addParameter(name='channelList', value=channelList, format='intlist')
730 value = str(channelList)
731 except:
732 return 0
733 opObj.addParameter(name='channelList', value=value, format='intlist')
734
857
735 if not xvalue == "":
858 if xvalue:
736 xvalueList = xvalue.split(',')
859 xvalueList = xvalue.split(',')
737 try:
860 try:
738 value0 = int(xvalueList[0])
861 value0 = float(xvalueList[0])
739 value1 = int(xvalueList[1])
862 value1 = float(xvalueList[1])
740 except:
863 except:
741 return 0
864 return 0
742 opObj.addParameter(name='xmin', value=value0, format='int')
865 opObj.addParameter(name='xmin', value=value0, format='float')
743 opObj.addParameter(name='xmax', value=value1, format='int')
866 opObj.addParameter(name='xmax', value=value1, format='float')
744
867
745
868
746 if not yvalue == "":
869 if not yvalue == "":
747 yvalueList = yvalue.split(",")
870 yvalueList = yvalue.split(",")
748 try:
871 try:
749 value = yvalueList[0]
872 value0 = int(yvalueList[0])
750 value = yvalueList[1]
873 value1 = int(yvalueList[1])
751 except:
874 except:
752 return 0
875 return 0
753 opObj.addParameter(name='ymin', value=yvalueList[0], format='int')
876
754 opObj.addParameter(name='ymax', value=yvalueList[1], format='int')
877 opObj.addParameter(name='ymin', value=value0, format='int')
878 opObj.addParameter(name='ymax', value=value1, format='int')
755
879
756 if self.volGraphCebSave.isChecked():
880 if self.volGraphCebSave.isChecked():
757 checkPath = True
881 checkPath = True
758 opObj.addParameter(name='save', value='1', format='int')
882 opObj.addParameter(name='save', value='1', format='int')
759 opObj.addParameter(name='figpath', value=self.volGraphPath.text(), format='str')
883 opObj.addParameter(name='figpath', value=self.volGraphPath.text(), format='str')
760 value = str(self.volGraphPrefix.text())
884 value = str(self.volGraphPrefix.text()).replace(" ","")
761 if not value == "":
885 if value:
762 try:
886 opObj.addParameter(name='figfile', value=value, format='str')
763 value = str(self.volGraphPrefix.text())
764 except:
765 self.console.clear()
766 self.console.append("Please Write prefix")
767 return 0
768 opObj.addParameter(name='figfile', value=self.volGraphPrefix.text(), format='str')
769
887
770 localfolder = None
888 localfolder = None
771 if checkPath:
889 if checkPath:
772 localfolder = str(self.specGraphPath.text())
890 localfolder = str(self.volGraphPath.text())
773 if localfolder == '':
891 if localfolder == '':
774 self.console.clear()
892 self.console.clear()
775 self.console.append("Graphic path should be defined")
893 self.console.append("Graphic path should be defined")
@@ -933,6 +1051,7 class BasicWindow(QMainWindow, Ui_BasicWindow):
933 if p0 == 0:
1051 if p0 == 0:
934 self.specOpgetNoise.setEnabled(False)
1052 self.specOpgetNoise.setEnabled(False)
935
1053
1054
936 def refreshID(self, puObj):
1055 def refreshID(self, puObj):
937 opObj = puObj.getOperationObj(name='Scope')
1056 opObj = puObj.getOperationObj(name='Scope')
938 # opObj = puObj.getOpObjfromParamValue(value="Scope")
1057 # opObj = puObj.getOpObjfromParamValue(value="Scope")
@@ -1122,6 +1241,11 class BasicWindow(QMainWindow, Ui_BasicWindow):
1122 name_parameter = 'pairsList'
1241 name_parameter = 'pairsList'
1123 format = 'pairslist'
1242 format = 'pairslist'
1124 value2 = self.specOppairsList.text()
1243 value2 = self.specOppairsList.text()
1244
1245 if value2 == "":
1246 print "Please fill the pairs list field"
1247 return 0
1248
1125 puObj.addParameter(name=name_parameter, value=value2, format=format)
1249 puObj.addParameter(name=name_parameter, value=value2, format=format)
1126
1250
1127 if self.specOpCebHeights.isChecked():
1251 if self.specOpCebHeights.isChecked():
@@ -1295,7 +1419,7 class BasicWindow(QMainWindow, Ui_BasicWindow):
1295 zvalue = self.specGgraphDbsrange.text()
1419 zvalue = self.specGgraphDbsrange.text()
1296 opObj = puObj.addOperation(name=name_operation, optype=optype)
1420 opObj = puObj.addOperation(name=name_operation, optype=optype)
1297 # opObj.addParameter(name=name_parameter, value=value, format=format)
1421 # opObj.addParameter(name=name_parameter, value=value, format=format)
1298 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1422 opObj.addParameter(name=name_parameter1, value=opObj.id, format=format1)
1299
1423
1300 if not channelList == '':
1424 if not channelList == '':
1301 name_parameter = 'channelList'
1425 name_parameter = 'channelList'
@@ -1385,7 +1509,7 class BasicWindow(QMainWindow, Ui_BasicWindow):
1385 yvalue = self.specGgraphHeight.text()
1509 yvalue = self.specGgraphHeight.text()
1386 zvalue = self.specGgraphDbsrange.text()
1510 zvalue = self.specGgraphDbsrange.text()
1387
1511
1388 opObj.addParameter(name='id', value=value1, format='int')
1512 opObj.addParameter(name='id', value=opObj.id, format='int')
1389
1513
1390 if self.specGgraphChannelList.isModified():
1514 if self.specGgraphChannelList.isModified():
1391 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1515 opObj.addParameter(name='channelList', value=channelList, format='intlist')
@@ -1462,7 +1586,7 class BasicWindow(QMainWindow, Ui_BasicWindow):
1462
1586
1463 opObj = puObj.addOperation(name=name_operation, optype=optype)
1587 opObj = puObj.addOperation(name=name_operation, optype=optype)
1464 # opObj.addParameter(name=name_parameter, value=value, format=format)
1588 # opObj.addParameter(name=name_parameter, value=value, format=format)
1465 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1589 opObj.addParameter(name=name_parameter1, value=opObj.id, format=format1)
1466
1590
1467 channelList = self.specGgraphChannelList.text()
1591 channelList = self.specGgraphChannelList.text()
1468 xvalue = self.specGgraphTminTmax.text()
1592 xvalue = self.specGgraphTminTmax.text()
@@ -1554,7 +1678,7 class BasicWindow(QMainWindow, Ui_BasicWindow):
1554 # opObj.addParameter(name=name_parameter, value=value, format=format)
1678 # opObj.addParameter(name=name_parameter, value=value, format=format)
1555 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1679 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1556 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1680 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1557 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1681 opObj.addParameter(name=name_parameter1, value=opObj.id, format=format1)
1558
1682
1559 channelList = self.specGgraphChannelList.text()
1683 channelList = self.specGgraphChannelList.text()
1560 if not channelList == '':
1684 if not channelList == '':
@@ -1638,7 +1762,7 class BasicWindow(QMainWindow, Ui_BasicWindow):
1638 value1 = int(self.idImagpower)
1762 value1 = int(self.idImagpower)
1639 opObj = puObj.addOperation(name=name_operation, optype=optype)
1763 opObj = puObj.addOperation(name=name_operation, optype=optype)
1640 # opObj.addParameter(name=name_parameter, value=value, format='str')
1764 # opObj.addParameter(name=name_parameter, value=value, format='str')
1641 opObj.addParameter(name='id', value=value1, format='int')
1765 opObj.addParameter(name='id', value=opObj.id, format='int')
1642
1766
1643 channelList = self.specGgraphChannelList.text()
1767 channelList = self.specGgraphChannelList.text()
1644 if not channelList == '':
1768 if not channelList == '':
@@ -1709,7 +1833,7 class BasicWindow(QMainWindow, Ui_BasicWindow):
1709
1833
1710 opObj = puObj.addOperation(name=name_operation, optype=optype)
1834 opObj = puObj.addOperation(name=name_operation, optype=optype)
1711 # opObj.addParameter(name=name_parameter, value=value, format=format)
1835 # opObj.addParameter(name=name_parameter, value=value, format=format)
1712 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1836 opObj.addParameter(name=name_parameter1, value=opObj.id, format=format1)
1713
1837
1714 channelList = self.specGgraphChannelList.text()
1838 channelList = self.specGgraphChannelList.text()
1715 xvalue = self.specGgraphTminTmax.text()
1839 xvalue = self.specGgraphTminTmax.text()
@@ -1788,7 +1912,7 class BasicWindow(QMainWindow, Ui_BasicWindow):
1788 self.temporalFTP.setwithoutconfiguration()
1912 self.temporalFTP.setwithoutconfiguration()
1789
1913
1790 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
1914 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
1791 self.createFTPProcUnitView(server, username, password, remotefolder,
1915 self.addFTPProcUnitView(server, username, password, remotefolder,
1792 ftp_wei, exp_code, sub_exp_code, plot_pos,
1916 ftp_wei, exp_code, sub_exp_code, plot_pos,
1793 localfolder=localfolder)
1917 localfolder=localfolder)
1794 else:
1918 else:
@@ -1975,8 +2099,6 class BasicWindow(QMainWindow, Ui_BasicWindow):
1975 self.specGraphPrefix.setEnabled(True)
2099 self.specGraphPrefix.setEnabled(True)
1976 self.specGraphToolPath.setEnabled(True)
2100 self.specGraphToolPath.setEnabled(True)
1977
2101
1978
1979 #-------ftp-----#
1980 @pyqtSignature("int")
2102 @pyqtSignature("int")
1981 def on_specGraphftpSpectra_stateChanged(self, p0):
2103 def on_specGraphftpSpectra_stateChanged(self, p0):
1982 """
2104 """
@@ -2012,10 +2134,6 class BasicWindow(QMainWindow, Ui_BasicWindow):
2012 def on_specGraphftpPowerprofile_stateChanged(self, p0):
2134 def on_specGraphftpPowerprofile_stateChanged(self, p0):
2013 if p0 == 2:
2135 if p0 == 2:
2014 self.specGgraphftpratio.setEnabled(True)
2136 self.specGgraphftpratio.setEnabled(True)
2015
2016 #-------------------#
2017
2018
2019
2137
2020 @pyqtSignature("")
2138 @pyqtSignature("")
2021 def on_specGraphToolPath_clicked(self):
2139 def on_specGraphToolPath_clicked(self):
@@ -2266,7 +2384,7 class BasicWindow(QMainWindow, Ui_BasicWindow):
2266 self.temporalFTP.setwithoutconfiguration()
2384 self.temporalFTP.setwithoutconfiguration()
2267
2385
2268 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
2386 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
2269 self.createFTPProcUnitView(server, username, password, remotefolder,
2387 self.addFTPProcUnitView(server, username, password, remotefolder,
2270 ftp_wei, exp_code, sub_exp_code, plot_pos,
2388 ftp_wei, exp_code, sub_exp_code, plot_pos,
2271 localfolder=localfolder)
2389 localfolder=localfolder)
2272 else:
2390 else:
@@ -2385,7 +2503,10 class BasicWindow(QMainWindow, Ui_BasicWindow):
2385 parms_ok = False
2503 parms_ok = False
2386 project_name = None
2504 project_name = None
2387
2505
2506 description = str(self.proDescription.toPlainText())
2507
2388 datatype = str(self.proComDataType.currentText())
2508 datatype = str(self.proComDataType.currentText())
2509
2389 ext = str(self.proDataType.text())
2510 ext = str(self.proDataType.text())
2390
2511
2391 dpath = str(self.proDataPath.text())
2512 dpath = str(self.proDataPath.text())
@@ -2403,56 +2524,58 class BasicWindow(QMainWindow, Ui_BasicWindow):
2403 parms_ok = False
2524 parms_ok = False
2404 dpath = None
2525 dpath = None
2405
2526
2406 online = str(self.proComReadMode.currentIndex())
2527 online = int(self.proComReadMode.currentIndex())
2407
2528
2408 delay = None
2529 delay = None
2409 if online==1:
2530 if online==1:
2410 try:
2531 try:
2411 delay = int(str(self.proDelay.text()))
2532 delay = int(str(self.proDelay.text()))
2412 except:
2533 except:
2413 outputstr = 'Delay value (%s) must be a integer number' %str(self.proName.text())
2534 outputstr = 'Delay value (%s) must be a integer number' %str(self.proDelay.text())
2414 self.console.append(outputstr)
2535 self.console.append(outputstr)
2415 parms_ok = False
2536 parms_ok = False
2416
2537
2417
2538
2418 set = None
2539 set = None
2540 value = str(self.proSet.text())
2541 try:
2542 set = int(value)
2543 except:
2544 pass
2545
2419 ippKm = None
2546 ippKm = None
2420
2547
2421 value = str(self.proSet.text())
2548 value = str(self.proIPPKm.text())
2422
2549
2423 if datatype.lower() == "usrp":
2550 try:
2424 try:
2551 ippKm = float(value)
2425 ippKm = float(value)
2552 except:
2426 except:
2553 if datatype=="USRP":
2427 outputstr = 'IPP value (%s) must be a float number' % str(self.proName.text())
2554 outputstr = 'IPP value (%s) must be a float number' % str(self.proIPPKm.text())
2428 self.console.append(outputstr)
2555 self.console.append(outputstr)
2429 parms_ok = False
2556 parms_ok = False
2430 else:
2431 try:
2432 set = int(value)
2433 except:
2434 pass
2435
2557
2436 walk = self.proComWalk.currentIndex()
2558 walk = int(self.proComWalk.currentIndex())
2437
2559
2438 starDate = str(self.proComStartDate.currentText())
2560 startDate = str(self.proComStartDate.currentText())
2439 endDate = str(self.proComEndDate.currentText())
2561 endDate = str(self.proComEndDate.currentText())
2440
2562
2441 # startDateList = starDate.split("/")
2563 # startDateList = startDate.split("/")
2442 # endDateList = endDate.split("/")
2564 # endDateList = endDate.split("/")
2443 #
2565 #
2444 # starDate = datetime.date(int(startDateList[0]), int(startDateList[1]), int(startDateList[2]))
2566 # startDate = datetime.date(int(startDateList[0]), int(startDateList[1]), int(startDateList[2]))
2445 # endDate = datetime.date(int(endDateList[0]), int(endDateList[1]), int(endDateList[2]))
2567 # endDate = datetime.date(int(endDateList[0]), int(endDateList[1]), int(endDateList[2]))
2446
2568
2447 startTime = self.proStartTime.time()
2569 startTime = self.proStartTime.time()
2448 endTime = self.proEndTime.time()
2570 endTime = self.proEndTime.time()
2449
2571
2450 startTime = startTime.strftime("%H:%M:%S")
2572 startTime = str(startTime.toString("H:m:s"))
2451 endTime = endTime.strftime("%H:%M:%S")
2573 endTime = str(endTime.toString("H:m:s"))
2452
2574
2453 projectParms = ProjectParms()
2575 projectParms = ProjectParms()
2454
2576
2455 projectParms.project_name = project_name
2577 projectParms.name = project_name
2578 projectParms.description = description
2456 projectParms.datatype = datatype
2579 projectParms.datatype = datatype
2457 projectParms.ext = ext
2580 projectParms.ext = ext
2458 projectParms.dpath = dpath
2581 projectParms.dpath = dpath
@@ -2527,7 +2650,8 class BasicWindow(QMainWindow, Ui_BasicWindow):
2527
2650
2528 projectParms = ProjectParms()
2651 projectParms = ProjectParms()
2529
2652
2530 projectParms.project_name = project_name
2653 projectParms.name = project_name
2654 projectParms.description = description
2531 projectParms.datatype = datatype
2655 projectParms.datatype = datatype
2532 projectParms.ext = None
2656 projectParms.ext = None
2533 projectParms.dpath = dpath
2657 projectParms.dpath = dpath
@@ -2547,20 +2671,20 class BasicWindow(QMainWindow, Ui_BasicWindow):
2547 def refreshProjectWindow2(self, projectObjView):
2671 def refreshProjectWindow2(self, projectObjView):
2548
2672
2549 projectParms = self.__getParmsFromProjectObj(projectObjView)
2673 projectParms = self.__getParmsFromProjectObj(projectObjView)
2550
2674
2551 index = projectParms.getDatatypeIndex()
2675 index = projectParms.getDatatypeIndex()
2552
2676
2553 self.proName.setText(projectObjView.name)
2677 self.proName.setText(projectParms.name)
2554 self.proDescription.clear()
2678 self.proDescription.clear()
2555 self.proDescription.append(projectObjView.description)
2679 self.proDescription.append(projectParms.description)
2556
2680
2557 self.on_proComDataType_activated(index=index)
2681 self.on_proComDataType_activated(index=index)
2558 self.proDataType.setText(projectParms.getExt())
2559 self.proDataPath.setText(projectParms.dpath)
2682 self.proDataPath.setText(projectParms.dpath)
2560 self.proComDataType.setCurrentIndex(index)
2683 self.proComDataType.setCurrentIndex(index)
2561 self.proComReadMode.setCurrentIndex(projectParms.online)
2684 self.proComReadMode.setCurrentIndex(projectParms.online)
2562 self.proDelay.setText(str(projectParms.delay))
2685 self.proDelay.setText(str(projectParms.delay))
2563 self.proSet.setText(str(projectParms.set))
2686 self.proSet.setText(str(projectParms.set))
2687 self.proIPPKm.setText(str(projectParms.ippKm))
2564
2688
2565 dateList = self.loadDays(data_path = projectParms.dpath,
2689 dateList = self.loadDays(data_path = projectParms.dpath,
2566 ext = projectParms.getExt(),
2690 ext = projectParms.getExt(),
@@ -2575,7 +2699,7 class BasicWindow(QMainWindow, Ui_BasicWindow):
2575 try:
2699 try:
2576 endDateIndex = dateList.index(projectParms.endDate)
2700 endDateIndex = dateList.index(projectParms.endDate)
2577 except:
2701 except:
2578 endDateIndex = -1
2702 endDateIndex = int(self.proComEndDate.count()-1)
2579
2703
2580 self.proComStartDate.setCurrentIndex(startDateIndex)
2704 self.proComStartDate.setCurrentIndex(startDateIndex)
2581 self.proComEndDate.setCurrentIndex(endDateIndex)
2705 self.proComEndDate.setCurrentIndex(endDateIndex)
@@ -2584,1340 +2708,1369 class BasicWindow(QMainWindow, Ui_BasicWindow):
2584 endlist = projectParms.endTime.split(":")
2708 endlist = projectParms.endTime.split(":")
2585
2709
2586 self.time.setHMS(int(startlist[0]), int(startlist[1]), int(startlist[2]))
2710 self.time.setHMS(int(startlist[0]), int(startlist[1]), int(startlist[2]))
2587 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
2588
2589 self.proStartTime.setTime(self.time)
2711 self.proStartTime.setTime(self.time)
2590 self.proEndTime.setTime(self.time)
2591
2592 def refreshProjectProperties(self, projectObjView):
2593
2712
2594 propertyBuffObj = PropertyBuffer()
2713 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
2595 name = projectObjView.name
2714 self.proEndTime.setTime(self.time)
2596
2715
2597 propertyBuffObj.append("Properties", "Name", projectObjView.name),
2716
2598 propertyBuffObj.append("Properties", "Description", projectObjView.description)
2717 def __refreshVoltageWindow(self, puObj):
2599 propertyBuffObj.append("Properties", "Workspace", self.pathWorkSpace)
2600
2601 readUnitObj = projectObjView.getReadUnitObj()
2602 runOperationObj = readUnitObj.getOperationObj(name='run')
2603
2718
2604 for thisParmObj in runOperationObj.getParameterObjList():
2719 opObj = puObj.getOperationObj(name='setRadarFrequency')
2605 propertyBuffObj.append("Reading parms", thisParmObj.name, str(thisParmObj.getValue()))
2720 if opObj == None:
2606
2721 self.volOpRadarfrequency.clear()
2607 propertiesModel = propertyBuffObj.getPropertyModel()
2722 self.volOpCebRadarfrequency.setCheckState(0)
2723 else:
2724 value = opObj.getParameterValue(parameterName='frequency')
2725 value = str(value)
2726 self.volOpRadarfrequency.setText(value)
2727 self.volOpRadarfrequency.setEnabled(True)
2728 self.volOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
2608
2729
2609 self.treeProjectProperties.setModel(propertiesModel)
2730 opObj = puObj.getOperationObj(name="selectChannels")
2610 self.treeProjectProperties.expandAll()
2611 self.treeProjectProperties.resizeColumnToContents(0)
2612 self.treeProjectProperties.resizeColumnToContents(1)
2613
2731
2614 def refreshPUProperties(self, puObjView):
2732 if opObj == None:
2733 opObj = puObj.getOperationObj(name="selectChannelsByIndex")
2615
2734
2616 propertyBuffObj = PropertyBuffer()
2735 if opObj == None:
2736 self.volOpChannel.clear()
2737 self.volOpCebChannels.setCheckState(0)
2738 else:
2739 channelEnabled = False
2740 try:
2741 value = opObj.getParameterValue(parameterName='channelList')
2742 value = str(value)[1:-1]
2743 channelEnabled = True
2744 channelMode = 0
2745 except:
2746 pass
2747 try:
2748 value = opObj.getParameterValue(parameterName='channelIndexList')
2749 value = str(value)[1:-1]
2750 channelEnabled = True
2751 channelMode = 1
2752 except:
2753 pass
2754
2755 if channelEnabled:
2756 self.volOpChannel.setText(value)
2757 self.volOpChannel.setEnabled(True)
2758 self.volOpCebChannels.setCheckState(QtCore.Qt.Checked)
2759 self.volOpComChannels.setCurrentIndex(channelMode)
2760
2761 opObj = puObj.getOperationObj(name="selectHeights")
2762 if opObj == None:
2763 self.volOpHeights.clear()
2764 self.volOpCebHeights.setCheckState(0)
2765 else:
2766 value1 = int(opObj.getParameterValue(parameterName='minHei'))
2767 value1 = str(value1)
2768 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
2769 value2 = str(value2)
2770 value = value1 + "," + value2
2771 self.volOpHeights.setText(value)
2772 self.volOpHeights.setEnabled(True)
2773 self.volOpCebHeights.setCheckState(QtCore.Qt.Checked)
2617
2774
2618 for thisOp in puObjView.getOperationObjList():
2775 opObj = puObj.getOperationObj(name="filterByHeights")
2776 if opObj == None:
2777 self.volOpFilter.clear()
2778 self.volOpCebFilter.setCheckState(0)
2779 else:
2780 value = opObj.getParameterValue(parameterName='window')
2781 value = str(value)
2782 self.volOpFilter.setText(value)
2783 self.volOpFilter.setEnabled(True)
2784 self.volOpCebFilter.setCheckState(QtCore.Qt.Checked)
2785
2786 opObj = puObj.getOperationObj(name="ProfileSelector")
2787 if opObj == None:
2788 self.volOpProfile.clear()
2789 self.volOpCebProfile.setCheckState(0)
2790 else:
2791 for parmObj in opObj.getParameterObjList():
2792
2793 if parmObj.name == "profileList":
2794 value = parmObj.getValue()
2795 value = str(value)[1:-1]
2796 self.volOpProfile.setText(value)
2797 self.volOpProfile.setEnabled(True)
2798 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2799 self.volOpComProfile.setCurrentIndex(0)
2800
2801 if parmObj.name == "profileRangeList":
2802 value = parmObj.getValue()
2803 value = str(value)[1:-1]
2804 self.volOpProfile.setText(value)
2805 self.volOpProfile.setEnabled(True)
2806 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2807 self.volOpComProfile.setCurrentIndex(1)
2808
2809 if parmObj.name == "rangeList":
2810 value = parmObj.getValue()
2811 value = str(value)[1:-1]
2812 self.volOpProfile.setText(value)
2813 self.volOpProfile.setEnabled(True)
2814 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2815 self.volOpComProfile.setCurrentIndex(2)
2816
2817 opObj = puObj.getOperationObj(name="Decoder")
2818 self.volOpCode.setText("")
2819 if opObj == None:
2820 self.volOpCebDecodification.setCheckState(0)
2821 else:
2822 self.volOpCebDecodification.setCheckState(QtCore.Qt.Checked)
2619
2823
2620 operationName = thisOp.name
2824 parmObj = opObj.getParameterObj('code')
2621 if operationName == 'run':
2622 operationName = 'Properties'
2623 else:
2624 if not thisOp.getParameterObjList():
2625 propertyBuffObj.append(operationName, '--', '--')
2626
2825
2627 for thisParmObj in thisOp.getParameterObjList():
2826 if parmObj == None:
2827 self.volOpComCode.setCurrentIndex(0)
2828 else:
2829
2830 parmObj1 = opObj.getParameterObj('nCode')
2831 parmObj2 = opObj.getParameterObj('nBaud')
2832
2833 if parmObj1 == None or parmObj2 == None:
2834 self.volOpComCode.setCurrentIndex(0)
2835 else:
2836 code = ast.literal_eval(str(parmObj.getValue()))
2837 nCode = parmObj1.getValue()
2838 nBaud = parmObj2.getValue()
2628
2839
2629 propertyBuffObj.append(operationName, thisParmObj.name, str(thisParmObj.getValue()))
2840 code = numpy.asarray(code).reshape((nCode, nBaud)).tolist()
2630
2841
2631 propertiesModel = propertyBuffObj.getPropertyModel()
2842 #User defined by default
2632
2843 self.volOpComCode.setCurrentIndex(13)
2633 self.treeProjectProperties.setModel(propertiesModel)
2844 self.volOpCode.setText(str(code))
2634 self.treeProjectProperties.expandAll()
2845
2635 self.treeProjectProperties.resizeColumnToContents(0)
2846 if nCode == 1:
2636 self.treeProjectProperties.resizeColumnToContents(1)
2847 if nBaud == 3:
2637
2848 self.volOpComCode.setCurrentIndex(1)
2638 def on_click(self, index):
2849 if nBaud == 4:
2639
2850 self.volOpComCode.setCurrentIndex(2)
2640 self.selectedItemTree = self.projectExplorerModel.itemFromIndex(index)
2851 if nBaud == 5:
2641
2852 self.volOpComCode.setCurrentIndex(3)
2642 projectObjView = self.getSelectedProjectObj()
2853 if nBaud == 7:
2643
2854 self.volOpComCode.setCurrentIndex(4)
2644 if not projectObjView:
2855 if nBaud == 11:
2645 return
2856 self.volOpComCode.setCurrentIndex(5)
2857 if nBaud == 13:
2858 self.volOpComCode.setCurrentIndex(6)
2859
2860 if nCode == 2:
2861 if nBaud == 3:
2862 self.volOpComCode.setCurrentIndex(7)
2863 if nBaud == 4:
2864 self.volOpComCode.setCurrentIndex(8)
2865 if nBaud == 5:
2866 self.volOpComCode.setCurrentIndex(9)
2867 if nBaud == 7:
2868 self.volOpComCode.setCurrentIndex(10)
2869 if nBaud == 11:
2870 self.volOpComCode.setCurrentIndex(11)
2871 if nBaud == 13:
2872 self.volOpComCode.setCurrentIndex(12)
2873
2874
2875 opObj = puObj.getOperationObj(name="deFlip")
2876 if opObj == None:
2877 self.volOpFlip.clear()
2878 self.volOpFlip.setEnabled(False)
2879 self.volOpCebFlip.setCheckState(0)
2880 else:
2881 try:
2882 value = opObj.getParameterValue(parameterName='channelList')
2883 value = str(value)[1:-1]
2884 except:
2885 value = ""
2886
2887 self.volOpFlip.setText(value)
2888 self.volOpFlip.setEnabled(True)
2889 self.volOpCebFlip.setCheckState(QtCore.Qt.Checked)
2890
2891 opObj = puObj.getOperationObj(name="CohInt")
2892 if opObj == None:
2893 self.volOpCohInt.clear()
2894 self.volOpCebCohInt.setCheckState(0)
2895 else:
2896 value = opObj.getParameterValue(parameterName='n')
2897 self.volOpCohInt.setText(str(value))
2898 self.volOpCohInt.setEnabled(True)
2899 self.volOpCebCohInt.setCheckState(QtCore.Qt.Checked)
2646
2900
2647 #A project has been selected
2901 opObj = puObj.getOperationObj(name='Scope')
2648 if projectObjView == self.getSelectedItemObj():
2902 if opObj == None:
2903 self.volGraphCebshow.setCheckState(0)
2904 else:
2905 self.volGraphCebshow.setCheckState(QtCore.Qt.Checked)
2649
2906
2650 self.refreshProjectWindow2(projectObjView)
2907 parmObj = opObj.getParameterObj(parameterName='channelList')
2651 self.refreshProjectProperties(projectObjView)
2652
2908
2653 self.tabProject.setEnabled(True)
2909 if parmObj == None:
2654 self.tabVoltage.setEnabled(False)
2910 self.volGraphChannelList.clear()
2655 self.tabSpectra.setEnabled(False)
2911 else:
2656 self.tabCorrelation.setEnabled(False)
2912 value = parmObj.getValue()
2657 self.tabSpectraHeis.setEnabled(False)
2913 value = str(value)
2658 self.tabWidgetProject.setCurrentWidget(self.tabProject)
2914 self.volGraphChannelList.setText(value)
2915 self.volOpProfile.setEnabled(True)
2659
2916
2660 return
2917 parmObj1 = opObj.getParameterObj(parameterName='xmin')
2661
2918 parmObj2 = opObj.getParameterObj(parameterName='xmax')
2662 #A processing unit has been selected
2663 voltEnable = False
2664 specEnable = False
2665 corrEnable = False
2666 specHeisEnable = False
2667 tabSelected = self.tabProject
2668
2669 puObj = self.getSelectedItemObj()
2670 inputId = puObj.getInputId()
2671 inputPUObj = projectObjView.getProcUnitObj(inputId)
2672
2673 if self.selectedItemTree.text() == 'Voltage':
2674 datatype = 'Voltage'
2675
2919
2676 if len(puObj.getOperationObjList()) == 1:
2920 if parmObj1 == None or parmObj2 ==None:
2677 self.clearPUWindow(datatype)
2921 self.volGraphfreqrange.clear()
2678 else:
2922 else:
2679 self.refreshPUWindow(datatype=datatype, puObj=puObj)
2923 value1 = parmObj1.getValue()
2680 self.refreshPUProperties(puObj)
2924 value1 = str(value1)
2925 value2 = parmObj2.getValue()
2926 value2 = str(value2)
2927 value = value1 + "," + value2
2928 self.volGraphfreqrange.setText(value)
2681
2929
2682 voltEnable = True
2930 parmObj1 = opObj.getParameterObj(parameterName='ymin')
2683 tabSelected = self.tabVoltage
2931 parmObj2 = opObj.getParameterObj(parameterName='ymax')
2684
2685 if self.selectedItemTree.text() == 'Spectra':
2686
2932
2687 datatype = 'Spectra'
2933 if parmObj1 == None or parmObj2 ==None:
2688
2934 self.volGraphHeightrange.clear()
2689 if inputPUObj.datatype == 'Spectra':
2690 self.specOpnFFTpoints.setEnabled(False)
2691 self.specOpProfiles.setEnabled(False)
2692 self.specOpippFactor.setEnabled(False)
2693 else:
2935 else:
2694 self.specOpnFFTpoints.setEnabled(True)
2936 value1 = parmObj1.getValue()
2695 self.specOpProfiles.setEnabled(True)
2937 value1 = str(value1)
2696 self.specOpippFactor.setEnabled(True)
2938 value2 = parmObj2.getValue()
2697
2939 value2 = str(value2)
2698 if len(puObj.getOperationObjList()) == 1:
2940 value = value1 + "," + value2
2699 self.clearPUWindow(datatype)
2941 value2 = str(value2)
2700
2942 self.volGraphHeightrange.setText(value)
2701 opObj = puObj.getOperationObj(name="run")
2943
2702 if opObj == None:
2944 parmObj = opObj.getParameterObj(parameterName='save')
2703 self.specOpnFFTpoints.clear()
2945
2704 self.specOpProfiles.clear()
2946 if parmObj == None:
2705 self.specOpippFactor.clear()
2947 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2948 else:
2949 value = parmObj.getValue()
2950 if int(value):
2951 self.volGraphCebSave.setCheckState(QtCore.Qt.Checked)
2706 else:
2952 else:
2707 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
2953 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2708 if parmObj == None:
2954
2709 self.specOpnFFTpoints.clear()
2955 parmObj = opObj.getParameterObj(parameterName='figpath')
2710 else:
2956 if parmObj == None:
2711 value = opObj.getParameterValue(parameterName='nFFTPoints')
2957 self.volGraphPath.clear()
2712 self.specOpnFFTpoints.setText(str(value))
2713
2714 parmObj = opObj.getParameterObj(parameterName='nProfiles')
2715 if parmObj == None:
2716 self.specOpProfiles.clear()
2717 else:
2718 value = opObj.getParameterValue(parameterName='nProfiles')
2719 self.specOpProfiles.setText(str(value))
2720
2721 parmObj = opObj.getParameterObj(parameterName="ippFactor")
2722 if parmObj == None:
2723 self.specOpippFactor.clear()
2724 else:
2725 value = opObj.getParameterValue(parameterName='ippFactor')
2726 self.specOpippFactor.setText(str(value))
2727
2728 opObj = puObj.getOperationObj(name="run")
2729 if opObj == None:
2730 self.specOppairsList.clear()
2731 self.specOpCebCrossSpectra.setCheckState(0)
2732 else:
2733 parmObj = opObj.getParameterObj(parameterName='pairsList')
2734 if parmObj == None:
2735 self.specOppairsList.clear()
2736 self.specOpCebCrossSpectra.setCheckState(0)
2737 else:
2738 value = opObj.getParameterValue(parameterName='pairsList')
2739 value = str(value)[1:-1]
2740 self.specOppairsList.setText(str(value))
2741 self.specOppairsList.setEnabled(True)
2742 self.specOpCebCrossSpectra.setCheckState(QtCore.Qt.Checked)
2743
2744 else:
2958 else:
2745 self.refreshPUWindow(datatype=datatype, puObj=puObj)
2959 value = parmObj.getValue()
2746 self.refreshPUProperties(puObj)
2960 path = str(value)
2747
2961 self.volGraphPath.setText(path)
2748 specEnable = True
2749 tabSelected = self.tabSpectra
2750
2751 if self.selectedItemTree.text() == 'Correlation':
2752
2962
2753 corrEnable = True
2963 parmObj = opObj.getParameterObj(parameterName='figfile')
2754 tabSelected = self.tabCorrelation
2964 if parmObj == None:
2965 self.volGraphPrefix.clear()
2966 else:
2967 value = parmObj.getValue()
2968 figfile = str(value)
2969 self.volGraphPrefix.setText(figfile)
2970
2971 # outputVoltageWrite
2972 opObj = puObj.getOperationObj(name='VoltageWriter')
2755
2973
2756 if self.selectedItemTree.text() == 'SpectraHeis':
2974 if opObj == None:
2757 datatype = 'SpectraHeis'
2975 self.volOutputPath.clear()
2758
2976 self.volOutputblocksperfile.clear()
2759 if len(puObj.getOperationObjList()) == 1:
2977 self.volOutputprofilesperblock.clear()
2760 self.clearPUWindow(datatype)
2978 else:
2979 parmObj = opObj.getParameterObj(parameterName='path')
2980 if parmObj == None:
2981 self.volOutputPath.clear()
2761 else:
2982 else:
2762 self.refreshPUWindow(datatype=datatype, puObj=puObj)
2983 value = parmObj.getValue()
2763 self.refreshPUProperties(puObj)
2984 path = str(value)
2985 self.volOutputPath.setText(path)
2764
2986
2765 specHeisEnable = False
2987 parmObj = opObj.getParameterObj(parameterName='blocksPerFile')
2766 tabSelected = self.tabSpectraHeis
2988 if parmObj == None:
2767
2989 self.volOutputblocksperfile.clear()
2768 self.tabProject.setEnabled(False)
2990 else:
2769 self.tabVoltage.setEnabled(voltEnable)
2991 value = parmObj.getValue()
2770 self.tabSpectra.setEnabled(specEnable)
2992 blocksperfile = str(value)
2771 self.tabCorrelation.setEnabled(corrEnable)
2993 self.volOutputblocksperfile.setText(blocksperfile)
2772 self.tabSpectraHeis.setEnabled(specHeisEnable)
2994
2773 self.tabWidgetProject.setCurrentWidget(tabSelected)
2995 parmObj = opObj.getParameterObj(parameterName='profilesPerBlock')
2774
2996 if parmObj == None:
2775 def on_right_click(self, pos):
2997 self.volOutputprofilesperblock.clear()
2998 else:
2999 value = parmObj.getValue()
3000 profilesPerBlock = str(value)
3001 self.volOutputprofilesperblock.setText(profilesPerBlock)
2776
3002
2777 self.menu = QtGui.QMenu()
3003 return
2778 quitAction0 = self.menu.addAction("Create a New Project")
2779 quitAction1 = self.menu.addAction("Create a New Processing Unit")
2780 quitAction2 = self.menu.addAction("Delete Item")
2781 quitAction3 = self.menu.addAction("Quit")
2782
3004
2783 if len(self.__itemTreeDict) == 0:
3005 def __refreshSpectraWindow(self, puObj):
2784 quitAction2.setEnabled(False)
3006
3007 opObj = puObj.getOperationObj(name='setRadarFrequency')
3008 if opObj == None:
3009 self.specOpRadarfrequency.clear()
3010 self.specOpCebRadarfrequency.setCheckState(0)
2785 else:
3011 else:
2786 quitAction2.setEnabled(True)
3012 value = opObj.getParameterValue(parameterName='frequency')
2787
3013 value = str(value)
2788 action = self.menu.exec_(self.mapToGlobal(pos))
3014 self.specOpRadarfrequency.setText(value)
3015 self.specOpRadarfrequency.setEnabled(True)
3016 self.specOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
2789
3017
2790 if action == quitAction0:
3018 opObj = puObj.getOperationObj(name="run")
2791 self. setInputsProject_View()
3019 if opObj == None:
2792 self.create = True
3020 self.specOpnFFTpoints.clear()
2793
3021 self.specOpProfiles.clear()
2794 if action == quitAction1:
3022 self.specOpippFactor.clear()
2795 if len(self.__projectObjDict) == 0:
3023 else:
2796 outputstr = "You need to create a Project before adding a Processing Unit"
3024 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
2797 self.console.clear()
3025 if parmObj == None:
2798 self.console.append(outputstr)
3026 self.specOpnFFTpoints.clear()
2799 return 0
2800 else:
2801 self.addPUWindow()
2802 self.console.clear()
2803 self.console.append("Please, Choose the type of Processing Unit")
2804 # self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
2805 # self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
2806 # self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
2807
2808 if action == quitAction2:
2809 index = self.selectedItemTree
2810 try:
2811 index.parent()
2812 except:
2813 self.console.append('Please first select a Project or Processing Unit')
2814 return 0
2815 # print index.parent(),index
2816 if index.parent() == None:
2817 self.projectExplorerModel.removeRow(index.row())
2818 else:
3027 else:
2819 index.parent().removeRow(index.row())
3028 self.specOpnFFTpoints.setEnabled(True)
2820 self.removeItemTreeFromProject()
3029 value = opObj.getParameterValue(parameterName='nFFTPoints')
2821 self.console.clear()
3030 self.specOpnFFTpoints.setText(str(value))
2822 # for i in self.projectExplorerTree.selectionModel().selection().indexes():
3031
2823 # print i.row()
3032 parmObj = opObj.getParameterObj(parameterName='nProfiles')
2824
3033 if parmObj == None:
2825 if action == quitAction3:
3034 self.specOpProfiles.clear()
2826 self.close()
3035 else:
2827 return 0
3036 self.specOpProfiles.setEnabled(True)
2828
3037 value = opObj.getParameterValue(parameterName='nProfiles')
2829 def refreshProjectWindow(self, project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, set):
3038 self.specOpProfiles.setText(str(value))
2830
3039
2831 self.proName.setText(str(project_name))
3040 parmObj = opObj.getParameterObj(parameterName='ippFactor')
3041 if parmObj == None:
3042 self.specOpippFactor.clear()
3043 else:
3044 self.specOpippFactor.setEnabled(True)
3045 value = opObj.getParameterValue(parameterName='ippFactor')
3046 self.specOpippFactor.setText(str(value))
3047
3048 opObj = puObj.getOperationObj(name="run")
3049 if opObj == None:
3050 self.specOppairsList.clear()
3051 self.specOpCebCrossSpectra.setCheckState(0)
3052 else:
3053 parmObj = opObj.getParameterObj(parameterName='pairsList')
3054 if parmObj == None:
3055 self.specOppairsList.clear()
3056 self.specOpCebCrossSpectra.setCheckState(0)
3057 else:
3058 value = opObj.getParameterValue(parameterName='pairsList')
3059 value = str(value)[1:-1]
3060 self.specOppairsList.setText(str(value))
3061 self.specOppairsList.setEnabled(True)
3062 self.specOpCebCrossSpectra.setCheckState(QtCore.Qt.Checked)
3063
3064 opObj = puObj.getOperationObj(name="selectChannels")
2832
3065
2833 if datatype == 'Voltage':
3066 if opObj == None:
2834 ext = '.r'
3067 opObj = puObj.getOperationObj(name="selectChannelsByIndex")
2835 value = 0
2836 elif datatype == 'Spectra':
2837 ext = '.pdata'
2838 value = 1
2839 elif datatype == 'Fits':
2840 ext = '.fits'
2841 value = 2
2842 elif datatype == 'USRP':
2843 ext = '.hdf5'
2844 value = 3
2845
2846 self.proDataType.setText(ext)
2847 self.proDataPath.setText(str(data_path))
2848 self.proComDataType.setCurrentIndex(value)
2849 self.proComReadMode.setCurrentIndex(int(online))
2850 self.proDelay.setText(str(delay))
2851 self.proSet.setText(str(set))
2852 self.proComStartDate.clear()
2853 self.proComEndDate.clear()
2854 self.proComStartDate.addItem(str(startDate))
2855 self.proComEndDate.addItem(str(endDate))
2856 starTime = str(startTime)
2857 starlist = starTime.split(":")
2858 endTime = str(endTime)
2859 endlist = endTime.split(":")
2860 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
2861 self.proStartTime.setTime(self.time)
2862 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
2863 self.proEndTime.setTime(self.time)
2864 self.proDescription.clear()
2865 self.proDescription.append(description)
2866
2867 def refreshPUWindow(self, datatype, puObj):
2868
2869 if datatype == 'Voltage':
2870 opObj = puObj.getOperationObj(name='setRadarFrequency')
2871 if opObj == None:
2872 self.volOpRadarfrequency.clear()
2873 self.volOpCebRadarfrequency.setCheckState(0)
2874 else:
2875 value = opObj.getParameterValue(parameterName='frequency')
2876 value = str(value)
2877 self.volOpRadarfrequency.setText(value)
2878 self.volOpRadarfrequency.setEnabled(True)
2879 self.volOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
2880
3068
3069 if opObj == None:
3070 self.specOpChannel.clear()
3071 self.specOpCebChannel.setCheckState(0)
3072 else:
3073 channelEnabled = False
3074 try:
3075 value = opObj.getParameterValue(parameterName='channelList')
3076 value = str(value)[1:-1]
3077 channelEnabled = True
3078 channelMode = 0
3079 except:
3080 pass
3081 try:
3082 value = opObj.getParameterValue(parameterName='channelIndexList')
3083 value = str(value)[1:-1]
3084 channelEnabled = True
3085 channelMode = 1
3086 except:
3087 pass
2881
3088
2882 opObj = puObj.getOperationObj(name="selectChannels")
3089 if channelEnabled:
3090 self.specOpChannel.setText(value)
3091 self.specOpChannel.setEnabled(True)
3092 self.specOpCebChannel.setCheckState(QtCore.Qt.Checked)
3093 self.specOpComChannel.setCurrentIndex(channelMode)
2883
3094
2884 if opObj == None:
3095 opObj = puObj.getOperationObj(name="selectHeights")
2885 opObj = puObj.getOperationObj(name="selectChannelsByIndex")
3096 if opObj == None:
3097 self.specOpHeights.clear()
3098 self.specOpCebHeights.setCheckState(0)
3099 else:
3100 value1 = int(opObj.getParameterValue(parameterName='minHei'))
3101 value1 = str(value1)
3102 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
3103 value2 = str(value2)
3104 value = value1 + "," + value2
3105 self.specOpHeights.setText(value)
3106 self.specOpHeights.setEnabled(True)
3107 self.specOpCebHeights.setCheckState(QtCore.Qt.Checked)
3108
3109 opObj = puObj.getOperationObj(name="IncohInt")
3110 if opObj == None:
3111 self.specOpIncoherent.clear()
3112 self.specOpCebIncoherent.setCheckState(0)
3113 else:
3114 for parmObj in opObj.getParameterObjList():
3115 if parmObj.name == 'timeInterval':
3116 value = opObj.getParameterValue(parameterName='timeInterval')
3117 value = float(value)
3118 self.specOpIncoherent.setText(str(value))
3119 self.specOpIncoherent.setEnabled(True)
3120 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3121 self.specOpCobIncInt.setCurrentIndex(0)
3122
3123 if parmObj.name == 'n':
3124 value = opObj.getParameterValue(parameterName='n')
3125 value = float(value)
3126 self.specOpIncoherent.setText(str(value))
3127 self.specOpIncoherent.setEnabled(True)
3128 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3129 self.specOpCobIncInt.setCurrentIndex(1)
3130
3131 opObj = puObj.getOperationObj(name="removeDC")
3132 if opObj == None:
3133 self.specOpCebRemoveDC.setCheckState(0)
3134 else:
3135 self.specOpCebRemoveDC.setCheckState(QtCore.Qt.Checked)
3136 value = opObj.getParameterValue(parameterName='mode')
3137 if value == 1:
3138 self.specOpComRemoveDC.setCurrentIndex(0)
3139 elif value == 2:
3140 self.specOpComRemoveDC.setCurrentIndex(1)
3141
3142 opObj = puObj.getOperationObj(name="removeInterference")
3143 if opObj == None:
3144 self.specOpCebRemoveInt.setCheckState(0)
3145 else:
3146 self.specOpCebRemoveInt.setCheckState(QtCore.Qt.Checked)
2886
3147
2887 if opObj == None:
3148 opObj = puObj.getOperationObj(name='getNoise')
2888 self.volOpChannel.clear()
3149 if opObj == None:
2889 self.volOpCebChannels.setCheckState(0)
3150 self.specOpCebgetNoise.setCheckState(0)
2890 else:
3151 self.specOpgetNoise.clear()
2891 channelEnabled = False
3152 else:
2892 try:
3153 self.specOpCebgetNoise.setCheckState(QtCore.Qt.Checked)
2893 value = opObj.getParameterValue(parameterName='channelList')
3154 parmObj = opObj.getParameterObj(parameterName='minHei')
2894 value = str(value)[1:-1]
3155 if parmObj == None:
2895 channelEnabled = True
3156 self.specOpgetNoise.clear()
2896 channelMode = 0
3157 value1 = None
2897 except:
2898 pass
2899 try:
2900 value = opObj.getParameterValue(parameterName='channelIndexList')
2901 value = str(value)[1:-1]
2902 channelEnabled = True
2903 channelMode = 1
2904 except:
2905 pass
2906
2907 if channelEnabled:
2908 self.volOpChannel.setText(value)
2909 self.volOpChannel.setEnabled(True)
2910 self.volOpCebChannels.setCheckState(QtCore.Qt.Checked)
2911 self.volOpComChannels.setCurrentIndex(channelMode)
2912
2913 opObj = puObj.getOperationObj(name="selectHeights")
2914 if opObj == None:
2915 self.volOpHeights.clear()
2916 self.volOpCebHeights.setCheckState(0)
2917 else:
2918 value1 = int(opObj.getParameterValue(parameterName='minHei'))
2919 value1 = str(value1)
2920 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
2921 value2 = str(value2)
2922 value = value1 + "," + value2
2923 self.volOpHeights.setText(value)
2924 self.volOpHeights.setEnabled(True)
2925 self.volOpCebHeights.setCheckState(QtCore.Qt.Checked)
2926
2927 opObj = puObj.getOperationObj(name="filterByHeights")
2928 if opObj == None:
2929 self.volOpFilter.clear()
2930 self.volOpCebFilter.setCheckState(0)
2931 else:
2932 value = opObj.getParameterValue(parameterName='window')
2933 value = str(value)
2934 self.volOpFilter.setText(value)
2935 self.volOpFilter.setEnabled(True)
2936 self.volOpCebFilter.setCheckState(QtCore.Qt.Checked)
2937
2938 opObj = puObj.getOperationObj(name="ProfileSelector")
2939 if opObj == None:
2940 self.volOpProfile.clear()
2941 self.volOpCebProfile.setCheckState(0)
2942 else:
2943 for parmObj in opObj.getParameterObjList():
2944 if parmObj.name == "profileRangeList":
2945 value = opObj.getParameterValue(parameterName='profileRangeList')
2946 value = str(value)[1:-1]
2947 self.volOpProfile.setText(value)
2948 self.volOpProfile.setEnabled(True)
2949 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2950 self.volOpComProfile.setCurrentIndex(1)
2951 if parmObj.name == "profileList":
2952 value = opObj.getParameterValue(parameterName='profileList')
2953 value = str(value)[1:-1]
2954 self.volOpProfile.setText(value)
2955 self.volOpProfile.setEnabled(True)
2956 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2957 self.volOpComProfile.setCurrentIndex(0)
2958
2959
2960 opObj = puObj.getOperationObj(name="Decoder")
2961 if opObj == None:
2962 self.volOpCebDecodification.setCheckState(0)
2963 else:
3158 else:
2964 try:
3159 value1 = opObj.getParameterValue(parameterName='minHei')
2965 valueCode = opObj.getParameterValue(parameterName='nCode')
3160 value1 = str(value1)
2966 status = "on"
3161 parmObj = opObj.getParameterObj(parameterName='maxHei')
2967 except:
3162 if parmObj == None:
2968 status = "off"
3163 value2 = None
2969 if not status == "off":
3164 value = value1
2970 if int(valueCode) == 1:
3165 self.specOpgetNoise.setText(value)
2971 valueBaud = opObj.getParameterValue(parameterName='nBaud')
3166 self.specOpgetNoise.setEnabled(True)
2972 if int(valueBaud) == 3:
2973 self.volOpComCode.setCurrentIndex(0)
2974 if int(valueBaud) == 4:
2975 self.volOpComCode.setCurrentIndex(1)
2976 if int(valueBaud) == 5:
2977 self.volOpComCode.setCurrentIndex(2)
2978 if int(valueBaud) == 7:
2979 self.volOpComCode.setCurrentIndex(3)
2980 if int(valueBaud) == 11:
2981 self.volOpComCode.setCurrentIndex(4)
2982 if int(valueBaud) == 13:
2983 self.volOpComCode.setCurrentIndex(5)
2984 else:
3167 else:
2985 valueBaud = opObj.getParameterValue(parameterName='nBaud')
3168 value2 = opObj.getParameterValue(parameterName='maxHei')
2986 if int(valueBaud) == 3:
3169 value2 = str(value2)
2987 self.volOpComCode.setCurrentIndex(6)
3170 parmObj = opObj.getParameterObj(parameterName='minVel')
2988 if int(valueBaud) == 4:
3171 if parmObj == None:
2989 self.volOpComCode.setCurrentIndex(7)
3172 value3 = None
2990 if int(valueBaud) == 5:
3173 value = value1 + "," + value2
2991 self.volOpComCode.setCurrentIndex(8)
3174 self.specOpgetNoise.setText(value)
2992 if int(valueBaud) == 7:
3175 self.specOpgetNoise.setEnabled(True)
2993 self.volOpComCode.setCurrentIndex(9)
3176 else:
2994 if int(valueBaud) == 11:
3177 value3 = opObj.getParameterValue(parameterName='minVel')
2995 self.volOpComCode.setCurrentIndex(10)
3178 value3 = str(value3)
2996 if int(valueBaud) == 13:
3179 parmObj = opObj.getParameterObj(parameterName='maxVel')
2997 self.volOpComCode.setCurrentIndex(11)
3180 if parmObj == None:
3181 value4 = None
3182 value = value1 + "," + value2 + "," + value3
3183 self.specOpgetNoise.setText(value)
3184 self.specOpgetNoise.setEnabled(True)
3185 else:
3186 value4 = opObj.getParameterValue(parameterName='maxVel')
3187 value4 = str(value4)
3188 value = value1 + "," + value2 + "," + value3 + ',' + value4
3189 self.specOpgetNoise.setText(value)
3190 self.specOpgetNoise.setEnabled(True)
2998
3191
2999 for parmObj in opObj.getParameterObjList():
3192 opObj = puObj.getOperationObj(name='SpectraPlot')
3000 if parmObj.name == "nBaud":
3193 # opObj = puObj.getOpObjfromParamValue(value="SpectraPlot")
3001 value = opObj.getParameterValue(parameterName='nBaud')
3194 if opObj == None:
3002 if parmObj.name == "mode":
3195 self.specGraphCebSpectraplot.setCheckState(0)
3003 value = opObj.getParameterValue(parameterName='mode')
3196 self.specGraphSaveSpectra.setCheckState(0)
3004 self.volOpComMode.setCurrentIndex(value)
3197 self.specGraphftpSpectra.setCheckState(0)
3005 else:
3006 self.volOpComCode.setCurrentIndex(12)
3007 self.volOpCebDecodification.setCheckState(QtCore.Qt.Checked)
3008
3198
3009 opObj = puObj.getOperationObj(name="deFlip")
3199 else:
3010 if opObj == None:
3200 operationSpectraPlot = "Enable"
3011 self.volOpFlip.clear()
3201 self.specGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3012 self.volOpFlip.setEnabled(False)
3202 parmObj = opObj.getParameterObj(parameterName='channelList')
3013 self.volOpCebFlip.setCheckState(0)
3203 if parmObj == None:
3204 self.specGgraphChannelList.clear()
3014 else:
3205 else:
3015 try:
3206 value = opObj.getParameterValue(parameterName='channelList')
3016 value = opObj.getParameterValue(parameterName='channelList')
3207 channelListSpectraPlot = str(value)[1:-1]
3017 value = str(value)[1:-1]
3208 self.specGgraphChannelList.setText(channelListSpectraPlot)
3018 except:
3209 self.specGgraphChannelList.setEnabled(True)
3019 value = ""
3210
3020
3211 parmObj = opObj.getParameterObj(parameterName='xmin')
3021 self.volOpFlip.setText(value)
3212 if parmObj == None:
3022 self.volOpFlip.setEnabled(True)
3213 self.specGgraphFreq.clear()
3023 self.volOpCebFlip.setCheckState(QtCore.Qt.Checked)
3024
3025 opObj = puObj.getOperationObj(name="CohInt")
3026 if opObj == None:
3027 self.volOpCohInt.clear()
3028 self.volOpCebCohInt.setCheckState(0)
3029 else:
3214 else:
3030 value = opObj.getParameterValue(parameterName='n')
3215 value1 = opObj.getParameterValue(parameterName='xmin')
3031 self.volOpCohInt.setText(str(value))
3216 value1 = str(value1)
3032 self.volOpCohInt.setEnabled(True)
3217 value2 = opObj.getParameterValue(parameterName='xmax')
3033 self.volOpCebCohInt.setCheckState(QtCore.Qt.Checked)
3218 value2 = str(value2)
3034
3219 value = value1 + "," + value2
3035 opObj = puObj.getOperationObj(name='Scope')
3220 self.specGgraphFreq.setText(value)
3036 if opObj == None:
3221 self.specGgraphFreq.setEnabled(True)
3037 self.volGraphCebshow.setCheckState(0)
3222
3038 else:
3223 parmObj = opObj.getParameterObj(parameterName='ymin')
3039 self.volGraphCebshow.setCheckState(QtCore.Qt.Checked)
3224 if parmObj == None:
3040 value = opObj.getParameterObj(parameterName='channelList')
3225 self.specGgraphHeight.clear()
3041 if value == None:
3042 self.volGraphChannelList.clear()
3043 else:
3044 value = opObj.getParameterValue(parameterName='channelList')
3045 value = str(value)[1:-1]
3046 self.volGraphChannelList.setText(value)
3047 self.volOpProfile.setEnabled(True)
3048
3049 for parmObj in opObj.getParameterObjList():
3050 if parmObj.name == "xmin":
3051 value1 = opObj.getParameterValue(parameterName='xmin')
3052 value1 = str(value1)
3053 value2 = opObj.getParameterValue(parameterName='xmax')
3054 value2 = str(value2)
3055 value = value1 + "," + value2
3056 self.volGraphfreqrange.setText(value)
3057 else:
3058 self.volGraphfreqrange.clear()
3059 for parmObj in opObj.getParameterObjList():
3060 if parmObj.name == "ymin":
3061 value1 = opObj.getParameterValue(parameterName='ymin')
3062 value1 = str(value1)
3063 value2 = opObj.getParameterValue(parameterName='ymax')
3064 value2 = str(value2)
3065 value = value1 + "," + value2
3066 value2 = str(value2)
3067 self.volGraphHeightrange.setText(value)
3068 else:
3069 self.volGraphHeightrange.clear()
3070
3071
3072 for parmObj in opObj.getParameterObjList():
3073 if parmObj.name == "save":
3074 self.volGraphCebSave.setCheckState(QtCore.Qt.Checked)
3075 else:
3076 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
3077
3078 # outputVoltageWrite
3079 opObj = puObj.getOperationObj(name='VoltageWriter')
3080 if opObj == None:
3081 self.volOutputPath.clear()
3082 self.volOutputblocksperfile.clear()
3083 self.volOutputprofilesperblock.clear()
3084 else:
3226 else:
3085 value = opObj.getParameterObj(parameterName='path')
3227 value1 = opObj.getParameterValue(parameterName='ymin')
3086 if value == None:
3228 value1 = str(value1)
3087 self.volOutputPath.clear()
3229 value2 = opObj.getParameterValue(parameterName='ymax')
3088 else:
3230 value2 = str(value2)
3089 value = opObj.getParameterValue(parameterName='path')
3231 value = value1 + "," + value2
3090 path = str(value)
3232 self.specGgraphHeight.setText(value)
3091 self.volOutputPath.setText(path)
3233 self.specGgraphHeight.setEnabled(True)
3092 value = opObj.getParameterObj(parameterName='blocksPerFile')
3093 if value == None:
3094 self.volOutputblocksperfile.clear()
3095 else:
3096 value = opObj.getParameterValue(parameterName='blocksPerFile')
3097 blocksperfile = str(value)
3098 self.volOutputblocksperfile.setText(blocksperfile)
3099 value = opObj.getParameterObj(parameterName='profilesPerBlock')
3100 if value == None:
3101 self.volOutputprofilesperblock.clear()
3102 else:
3103 value = opObj.getParameterValue(parameterName='profilesPerBlock')
3104 profilesPerBlock = str(value)
3105 self.volOutputprofilesperblock.setText(profilesPerBlock)
3106
3234
3107 if datatype == 'Spectra':
3235 parmObj = opObj.getParameterObj(parameterName='zmin')
3108
3236 if parmObj == None:
3109 opObj = puObj.getOperationObj(name='setRadarFrequency')
3237 self.specGgraphDbsrange.clear()
3110 if opObj == None:
3111 self.specOpRadarfrequency.clear()
3112 self.specOpCebRadarfrequency.setCheckState(0)
3113 else:
3238 else:
3114 value = opObj.getParameterValue(parameterName='frequency')
3239 value1 = opObj.getParameterValue(parameterName='zmin')
3115 value = str(value)
3240 value1 = str(value1)
3116 self.specOpRadarfrequency.setText(value)
3241 value2 = opObj.getParameterValue(parameterName='zmax')
3117 self.specOpRadarfrequency.setEnabled(True)
3242 value2 = str(value2)
3118 self.specOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
3243 value = value1 + "," + value2
3244 self.specGgraphDbsrange.setText(value)
3245 self.specGgraphDbsrange.setEnabled(True)
3119
3246
3120 opObj = puObj.getOperationObj(name="run")
3247
3121 if opObj == None:
3248 parmObj = opObj.getParameterObj(parameterName="figpath")
3122 self.specOpnFFTpoints.clear()
3249 if parmObj == None:
3123 self.specOpProfiles.clear()
3250 self.specGraphSaveSpectra.setCheckState(0)
3124 self.specOpippFactor.clear()
3125 else:
3251 else:
3126 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
3252 self.specGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3127 if parmObj == None:
3253 value = opObj.getParameterValue(parameterName='figpath')
3128 self.specOpnFFTpoints.clear()
3254 self.specGraphPath.setText(value)
3129 else:
3130 self.specOpnFFTpoints.setEnabled(True)
3131 value = opObj.getParameterValue(parameterName='nFFTPoints')
3132 self.specOpnFFTpoints.setText(str(value))
3133
3255
3134 parmObj = opObj.getParameterObj(parameterName='nProfiles')
3256 parmObj = opObj.getParameterObj(parameterName="ftp")
3135 if parmObj == None:
3257 if parmObj == None:
3136 self.specOpProfiles.clear()
3258 self.specGraphftpSpectra.setCheckState(0)
3137 else:
3259 else:
3138 self.specOpProfiles.setEnabled(True)
3260 self.specGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3139 value = opObj.getParameterValue(parameterName='nProfiles')
3261 try:
3140 self.specOpProfiles.setText(str(value))
3262 value = opObj.getParameterValue(parameterName='wr_period')
3263 except:
3264 value = " "
3265 self.specGgraphftpratio.setText(str(value))
3141
3266
3142 parmObj = opObj.getParameterObj(parameterName='ippFactor')
3267 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
3143 if parmObj == None:
3268 # opObj = puObj.getOpObjfromParamValue(value="CrossSpectraPlot")
3144 self.specOpippFactor.clear()
3269 if opObj == None:
3145 else:
3270 self.specGraphCebCrossSpectraplot.setCheckState(0)
3146 self.specOpippFactor.setEnabled(True)
3271 self.specGraphSaveCross.setCheckState(0)
3147 value = opObj.getParameterValue(parameterName='ippFactor')
3272
3148 self.specOpippFactor.setText(str(value))
3273 else:
3149
3274 operationCrossSpectraPlot = "Enable"
3150 opObj = puObj.getOperationObj(name="run")
3275 self.specGraphCebCrossSpectraplot.setCheckState(QtCore.Qt.Checked)
3151 if opObj == None:
3276 parmObj = opObj.getParameterObj(parameterName='xmin')
3152 self.specOppairsList.clear()
3277 if parmObj == None:
3153 self.specOpCebCrossSpectra.setCheckState(0)
3278 self.specGgraphFreq.clear()
3154 else:
3155 parmObj = opObj.getParameterObj(parameterName='pairsList')
3156 if parmObj == None:
3157 self.specOppairsList.clear()
3158 self.specOpCebCrossSpectra.setCheckState(0)
3159 else:
3160 value = opObj.getParameterValue(parameterName='pairsList')
3161 value = str(value)[1:-1]
3162 self.specOppairsList.setText(str(value))
3163 self.specOppairsList.setEnabled(True)
3164 self.specOpCebCrossSpectra.setCheckState(QtCore.Qt.Checked)
3165
3166 opObj = puObj.getOperationObj(name="selectChannels")
3167
3168 if opObj == None:
3169 opObj = puObj.getOperationObj(name="selectChannelsByIndex")
3170
3171 if opObj == None:
3172 self.specOpChannel.clear()
3173 self.specOpCebChannel.setCheckState(0)
3174 else:
3279 else:
3175 channelEnabled = False
3280 value1 = opObj.getParameterValue(parameterName='xmin')
3176 try:
3281 value1 = str(value1)
3177 value = opObj.getParameterValue(parameterName='channelList')
3282 value2 = opObj.getParameterValue(parameterName='xmax')
3178 value = str(value)[1:-1]
3283 value2 = str(value2)
3179 channelEnabled = True
3284 value = value1 + "," + value2
3180 channelMode = 0
3285 self.specGgraphFreq.setText(value)
3181 except:
3286 self.specGgraphFreq.setEnabled(True)
3182 pass
3183 try:
3184 value = opObj.getParameterValue(parameterName='channelIndexList')
3185 value = str(value)[1:-1]
3186 channelEnabled = True
3187 channelMode = 1
3188 except:
3189 pass
3190
3191 if channelEnabled:
3192 self.specOpChannel.setText(value)
3193 self.specOpChannel.setEnabled(True)
3194 self.specOpCebChannel.setCheckState(QtCore.Qt.Checked)
3195 self.specOpComChannel.setCurrentIndex(channelMode)
3196
3197 opObj = puObj.getOperationObj(name="selectHeights")
3198 if opObj == None:
3199 self.specOpHeights.clear()
3200 self.specOpCebHeights.setCheckState(0)
3201 else:
3202 value1 = int(opObj.getParameterValue(parameterName='minHei'))
3203 value1 = str(value1)
3204 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
3205 value2 = str(value2)
3206 value = value1 + "," + value2
3207 self.specOpHeights.setText(value)
3208 self.specOpHeights.setEnabled(True)
3209 self.specOpCebHeights.setCheckState(QtCore.Qt.Checked)
3210
3211 opObj = puObj.getOperationObj(name="IncohInt")
3212 if opObj == None:
3213 self.specOpIncoherent.clear()
3214 self.specOpCebIncoherent.setCheckState(0)
3215 else:
3216 for parmObj in opObj.getParameterObjList():
3217 if parmObj.name == 'timeInterval':
3218 value = opObj.getParameterValue(parameterName='timeInterval')
3219 value = float(value)
3220 self.specOpIncoherent.setText(str(value))
3221 self.specOpIncoherent.setEnabled(True)
3222 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3223 self.specOpCobIncInt.setCurrentIndex(0)
3224
3225 if parmObj.name == 'n':
3226 value = opObj.getParameterValue(parameterName='n')
3227 value = float(value)
3228 self.specOpIncoherent.setText(str(value))
3229 self.specOpIncoherent.setEnabled(True)
3230 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3231 self.specOpCobIncInt.setCurrentIndex(1)
3232
3233 opObj = puObj.getOperationObj(name="removeDC")
3234 if opObj == None:
3235 self.specOpCebRemoveDC.setCheckState(0)
3236 else:
3237 self.specOpCebRemoveDC.setCheckState(QtCore.Qt.Checked)
3238 value = opObj.getParameterValue(parameterName='mode')
3239 if value == 1:
3240 self.specOpComRemoveDC.setCurrentIndex(0)
3241 elif value == 2:
3242 self.specOpComRemoveDC.setCurrentIndex(1)
3243
3287
3244 opObj = puObj.getOperationObj(name="removeInterference")
3288 parmObj = opObj.getParameterObj(parameterName='ymin')
3245 if opObj == None:
3289 if parmObj == None:
3246 self.specOpCebRemoveInt.setCheckState(0)
3290 self.specGgraphHeight.clear()
3247 else:
3248 self.specOpCebRemoveInt.setCheckState(QtCore.Qt.Checked)
3249
3250 opObj = puObj.getOperationObj(name='getNoise')
3251 if opObj == None:
3252 self.specOpCebgetNoise.setCheckState(0)
3253 self.specOpgetNoise.clear()
3254 else:
3291 else:
3255 self.specOpCebgetNoise.setCheckState(QtCore.Qt.Checked)
3292 value1 = opObj.getParameterValue(parameterName='ymin')
3256 parmObj = opObj.getParameterObj(parameterName='minHei')
3293 value1 = str(value1)
3257 if parmObj == None:
3294 value2 = opObj.getParameterValue(parameterName='ymax')
3258 self.specOpgetNoise.clear()
3295 value2 = str(value2)
3259 value1 = None
3296 value = value1 + "," + value2
3260 else:
3297 self.specGgraphHeight.setText(value)
3261 value1 = opObj.getParameterValue(parameterName='minHei')
3298 self.specGgraphHeight.setEnabled(True)
3262 value1 = str(value1)
3263 parmObj = opObj.getParameterObj(parameterName='maxHei')
3264 if parmObj == None:
3265 value2 = None
3266 value = value1
3267 self.specOpgetNoise.setText(value)
3268 self.specOpgetNoise.setEnabled(True)
3269 else:
3270 value2 = opObj.getParameterValue(parameterName='maxHei')
3271 value2 = str(value2)
3272 parmObj = opObj.getParameterObj(parameterName='minVel')
3273 if parmObj == None:
3274 value3 = None
3275 value = value1 + "," + value2
3276 self.specOpgetNoise.setText(value)
3277 self.specOpgetNoise.setEnabled(True)
3278 else:
3279 value3 = opObj.getParameterValue(parameterName='minVel')
3280 value3 = str(value3)
3281 parmObj = opObj.getParameterObj(parameterName='maxVel')
3282 if parmObj == None:
3283 value4 = None
3284 value = value1 + "," + value2 + "," + value3
3285 self.specOpgetNoise.setText(value)
3286 self.specOpgetNoise.setEnabled(True)
3287 else:
3288 value4 = opObj.getParameterValue(parameterName='maxVel')
3289 value4 = str(value4)
3290 value = value1 + "," + value2 + "," + value3 + ',' + value4
3291 self.specOpgetNoise.setText(value)
3292 self.specOpgetNoise.setEnabled(True)
3293
3294 opObj = puObj.getOperationObj(name='SpectraPlot')
3295 # opObj = puObj.getOpObjfromParamValue(value="SpectraPlot")
3296 if opObj == None:
3297 self.specGraphCebSpectraplot.setCheckState(0)
3298 self.specGraphSaveSpectra.setCheckState(0)
3299 self.specGraphftpSpectra.setCheckState(0)
3300
3299
3300 parmObj = opObj.getParameterObj(parameterName='zmin')
3301 if parmObj == None:
3302 self.specGgraphDbsrange.clear()
3301 else:
3303 else:
3302 operationSpectraPlot = "Enable"
3304 value1 = opObj.getParameterValue(parameterName='zmin')
3303 self.specGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3305 value1 = str(value1)
3304 parmObj = opObj.getParameterObj(parameterName='channelList')
3306 value2 = opObj.getParameterValue(parameterName='zmax')
3305 if parmObj == None:
3307 value2 = str(value2)
3306 self.specGgraphChannelList.clear()
3308 value = value1 + "," + value2
3307 else:
3309 self.specGgraphDbsrange.setText(value)
3308 value = opObj.getParameterValue(parameterName='channelList')
3310 self.specGgraphDbsrange.setEnabled(True)
3309 channelListSpectraPlot = str(value)[1:-1]
3311
3310 self.specGgraphChannelList.setText(channelListSpectraPlot)
3312 parmObj = opObj.getParameterObj(parameterName="figpath")
3311 self.specGgraphChannelList.setEnabled(True)
3313 if parmObj == None:
3312
3313 parmObj = opObj.getParameterObj(parameterName='xmin')
3314 if parmObj == None:
3315 self.specGgraphFreq.clear()
3316 else:
3317 value1 = opObj.getParameterValue(parameterName='xmin')
3318 value1 = str(value1)
3319 value2 = opObj.getParameterValue(parameterName='xmax')
3320 value2 = str(value2)
3321 value = value1 + "," + value2
3322 self.specGgraphFreq.setText(value)
3323 self.specGgraphFreq.setEnabled(True)
3324
3325 parmObj = opObj.getParameterObj(parameterName='ymin')
3326 if parmObj == None:
3327 self.specGgraphHeight.clear()
3328 else:
3329 value1 = opObj.getParameterValue(parameterName='ymin')
3330 value1 = str(value1)
3331 value2 = opObj.getParameterValue(parameterName='ymax')
3332 value2 = str(value2)
3333 value = value1 + "," + value2
3334 self.specGgraphHeight.setText(value)
3335 self.specGgraphHeight.setEnabled(True)
3336
3337 parmObj = opObj.getParameterObj(parameterName='zmin')
3338 if parmObj == None:
3339 self.specGgraphDbsrange.clear()
3340 else:
3341 value1 = opObj.getParameterValue(parameterName='zmin')
3342 value1 = str(value1)
3343 value2 = opObj.getParameterValue(parameterName='zmax')
3344 value2 = str(value2)
3345 value = value1 + "," + value2
3346 self.specGgraphDbsrange.setText(value)
3347 self.specGgraphDbsrange.setEnabled(True)
3348
3349
3350 parmObj = opObj.getParameterObj(parameterName="figpath")
3351 if parmObj == None:
3352 self.specGraphSaveSpectra.setCheckState(0)
3353 else:
3354 self.specGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3355 value = opObj.getParameterValue(parameterName='figpath')
3356 self.specGraphPath.setText(value)
3357
3358 parmObj = opObj.getParameterObj(parameterName="ftp")
3359 if parmObj == None:
3360 self.specGraphftpSpectra.setCheckState(0)
3361 else:
3362 self.specGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3363 try:
3364 value = opObj.getParameterValue(parameterName='wr_period')
3365 except:
3366 value = " "
3367 self.specGgraphftpratio.setText(str(value))
3368
3369 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
3370 # opObj = puObj.getOpObjfromParamValue(value="CrossSpectraPlot")
3371 if opObj == None:
3372 self.specGraphCebCrossSpectraplot.setCheckState(0)
3373 self.specGraphSaveCross.setCheckState(0)
3314 self.specGraphSaveCross.setCheckState(0)
3374
3375 else:
3376 operationCrossSpectraPlot = "Enable"
3377 self.specGraphCebCrossSpectraplot.setCheckState(QtCore.Qt.Checked)
3378 parmObj = opObj.getParameterObj(parameterName='xmin')
3379 if parmObj == None:
3380 self.specGgraphFreq.clear()
3381 else:
3382 value1 = opObj.getParameterValue(parameterName='xmin')
3383 value1 = str(value1)
3384 value2 = opObj.getParameterValue(parameterName='xmax')
3385 value2 = str(value2)
3386 value = value1 + "," + value2
3387 self.specGgraphFreq.setText(value)
3388 self.specGgraphFreq.setEnabled(True)
3389
3390 parmObj = opObj.getParameterObj(parameterName='ymin')
3391 if parmObj == None:
3392 self.specGgraphHeight.clear()
3393 else:
3394 value1 = opObj.getParameterValue(parameterName='ymin')
3395 value1 = str(value1)
3396 value2 = opObj.getParameterValue(parameterName='ymax')
3397 value2 = str(value2)
3398 value = value1 + "," + value2
3399 self.specGgraphHeight.setText(value)
3400 self.specGgraphHeight.setEnabled(True)
3401
3402 parmObj = opObj.getParameterObj(parameterName='zmin')
3403 if parmObj == None:
3404 self.specGgraphDbsrange.clear()
3405 else:
3406 value1 = opObj.getParameterValue(parameterName='zmin')
3407 value1 = str(value1)
3408 value2 = opObj.getParameterValue(parameterName='zmax')
3409 value2 = str(value2)
3410 value = value1 + "," + value2
3411 self.specGgraphDbsrange.setText(value)
3412 self.specGgraphDbsrange.setEnabled(True)
3413
3414 parmObj = opObj.getParameterObj(parameterName="figpath")
3415 if parmObj == None:
3416 self.specGraphSaveCross.setCheckState(0)
3417
3418 else:
3419 self.specGraphSaveCross.setCheckState(QtCore.Qt.Checked)
3420 value = opObj.getParameterValue(parameterName='figpath')
3421 self.specGraphPath.setText(value)
3422
3315
3423 parmObj = opObj.getParameterObj(parameterName="ftp")
3424 if parmObj == None:
3425 self.specGraphftpCross.setCheckState(0)
3426 else:
3427 self.specGraphftpCross.setCheckState(QtCore.Qt.Checked)
3428 try:
3429 value = opObj.getParameterValue(parameterName='wr_period')
3430 except:
3431 value = " "
3432 self.specGgraphftpratio.setText(str(value))
3433
3434 opObj = puObj.getOperationObj(name='RTIPlot')
3435 # opObj = puObj.getOpObjfromParamValue(value="RTIPlot")
3436 if opObj == None:
3437 self.specGraphCebRTIplot.setCheckState(0)
3438 self.specGraphSaveRTIplot.setCheckState(0)
3439 self.specGraphftpRTIplot.setCheckState(0)
3440 else:
3316 else:
3441 self.specGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3317 self.specGraphSaveCross.setCheckState(QtCore.Qt.Checked)
3442 parmObj = opObj.getParameterObj(parameterName='channelList')
3318 value = opObj.getParameterValue(parameterName='figpath')
3443 if parmObj == None:
3319 self.specGraphPath.setText(value)
3444 self.specGgraphChannelList.clear()
3320
3445 else:
3321 parmObj = opObj.getParameterObj(parameterName="ftp")
3446 value = opObj.getParameterValue(parameterName='channelList')
3322 if parmObj == None:
3447 channelListRTIPlot = str(value)[1:-1]
3323 self.specGraphftpCross.setCheckState(0)
3448 self.specGgraphChannelList.setText(channelListRTIPlot)
3324 else:
3449 self.specGgraphChannelList.setEnabled(True)
3325 self.specGraphftpCross.setCheckState(QtCore.Qt.Checked)
3450
3326 try:
3451 parmObj = opObj.getParameterObj(parameterName='xmin')
3327 value = opObj.getParameterValue(parameterName='wr_period')
3452 if parmObj == None:
3328 except:
3453 self.specGgraphTminTmax.clear()
3329 value = " "
3454 else:
3330 self.specGgraphftpratio.setText(str(value))
3455 value1 = opObj.getParameterValue(parameterName='xmin')
3331
3456 value1 = str(value1)
3332 opObj = puObj.getOperationObj(name='RTIPlot')
3457 value2 = opObj.getParameterValue(parameterName='xmax')
3333 # opObj = puObj.getOpObjfromParamValue(value="RTIPlot")
3458 value2 = str(value2)
3334 if opObj == None:
3459 value = value1 + "," + value2
3335 self.specGraphCebRTIplot.setCheckState(0)
3460 self.specGgraphTminTmax.setText(value)
3336 self.specGraphSaveRTIplot.setCheckState(0)
3461 self.specGgraphTminTmax.setEnabled(True)
3337 self.specGraphftpRTIplot.setCheckState(0)
3462
3338 else:
3463 parmObj = opObj.getParameterObj(parameterName='timerange')
3339 self.specGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3464 if parmObj == None:
3340 parmObj = opObj.getParameterObj(parameterName='channelList')
3465 self.specGgraphTimeRange.clear()
3341 if parmObj == None:
3466 else:
3342 self.specGgraphChannelList.clear()
3467 value1 = opObj.getParameterValue(parameterName='timerange')
3343 else:
3468 value1 = str(value1)
3344 value = opObj.getParameterValue(parameterName='channelList')
3469 self.specGgraphTimeRange.setText(value1)
3345 channelListRTIPlot = str(value)[1:-1]
3470 self.specGgraphTimeRange.setEnabled(True)
3346 self.specGgraphChannelList.setText(channelListRTIPlot)
3471
3347 self.specGgraphChannelList.setEnabled(True)
3472 parmObj = opObj.getParameterObj(parameterName='ymin')
3348
3473 if parmObj == None:
3349 parmObj = opObj.getParameterObj(parameterName='xmin')
3474 self.specGgraphHeight.clear()
3350 if parmObj == None:
3475 else:
3351 self.specGgraphTminTmax.clear()
3476 value1 = opObj.getParameterValue(parameterName='ymin')
3352 else:
3477 value1 = str(value1)
3353 value1 = opObj.getParameterValue(parameterName='xmin')
3478 value2 = opObj.getParameterValue(parameterName='ymax')
3354 value1 = str(value1)
3479 value2 = str(value2)
3355 value2 = opObj.getParameterValue(parameterName='xmax')
3480 value = value1 + "," + value2
3356 value2 = str(value2)
3481 self.specGgraphHeight.setText(value)
3357 value = value1 + "," + value2
3482 self.specGgraphHeight.setEnabled(True)
3358 self.specGgraphTminTmax.setText(value)
3359 self.specGgraphTminTmax.setEnabled(True)
3360
3361 parmObj = opObj.getParameterObj(parameterName='timerange')
3362 if parmObj == None:
3363 self.specGgraphTimeRange.clear()
3364 else:
3365 value1 = opObj.getParameterValue(parameterName='timerange')
3366 value1 = str(value1)
3367 self.specGgraphTimeRange.setText(value1)
3368 self.specGgraphTimeRange.setEnabled(True)
3369
3370 parmObj = opObj.getParameterObj(parameterName='ymin')
3371 if parmObj == None:
3372 self.specGgraphHeight.clear()
3373 else:
3374 value1 = opObj.getParameterValue(parameterName='ymin')
3375 value1 = str(value1)
3376 value2 = opObj.getParameterValue(parameterName='ymax')
3377 value2 = str(value2)
3378 value = value1 + "," + value2
3379 self.specGgraphHeight.setText(value)
3380 self.specGgraphHeight.setEnabled(True)
3483
3381
3484 parmObj = opObj.getParameterObj(parameterName='zmin')
3382 parmObj = opObj.getParameterObj(parameterName='zmin')
3485 if parmObj == None:
3383 if parmObj == None:
3486 self.specGgraphDbsrange.clear()
3384 self.specGgraphDbsrange.clear()
3487 else:
3385 else:
3488 value1 = opObj.getParameterValue(parameterName='zmin')
3386 value1 = opObj.getParameterValue(parameterName='zmin')
3489 value1 = str(value1)
3387 value1 = str(value1)
3490 value2 = opObj.getParameterValue(parameterName='zmax')
3388 value2 = opObj.getParameterValue(parameterName='zmax')
3491 value2 = str(value2)
3389 value2 = str(value2)
3492 value = value1 + "," + value2
3390 value = value1 + "," + value2
3493 self.specGgraphDbsrange.setText(value)
3391 self.specGgraphDbsrange.setText(value)
3494 self.specGgraphDbsrange.setEnabled(True)
3392 self.specGgraphDbsrange.setEnabled(True)
3495
3393
3496 parmObj = opObj.getParameterObj(parameterName="figpath")
3394 parmObj = opObj.getParameterObj(parameterName="figpath")
3497 if parmObj == None:
3395 if parmObj == None:
3498 self.specGraphSaveRTIplot.setCheckState(0)
3396 self.specGraphSaveRTIplot.setCheckState(0)
3499 else:
3397 else:
3500 self.specGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3398 self.specGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3501 value = opObj.getParameterValue(parameterName='figpath')
3399 value = opObj.getParameterValue(parameterName='figpath')
3502 self.specGraphPath.setText(value)
3400 self.specGraphPath.setText(value)
3503 #---------add----#
3401
3504 parmObj = opObj.getParameterObj(parameterName="ftp")
3402 parmObj = opObj.getParameterObj(parameterName="ftp")
3505 if parmObj == None:
3403 if parmObj == None:
3506 self.specGraphftpRTIplot.setCheckState(0)
3404 self.specGraphftpRTIplot.setCheckState(0)
3507 else:
3405 else:
3508 self.specGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3406 self.specGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3509 try:
3407 try:
3510 value = opObj.getParameterValue(parameterName='wr_period')
3408 value = opObj.getParameterValue(parameterName='wr_period')
3511 except:
3409 except:
3512 value = " "
3410 value = " "
3513 self.specGgraphftpratio.setText(str(value))
3411 self.specGgraphftpratio.setText(str(value))
3514
3412
3515 opObj = puObj.getOperationObj(name='CoherenceMap')
3413 opObj = puObj.getOperationObj(name='CoherenceMap')
3516 # opObj = puObj.getOpObjfromParamValue(value="CoherenceMap")
3414 # opObj = puObj.getOpObjfromParamValue(value="CoherenceMap")
3517 if opObj == None:
3415 if opObj == None:
3518 self.specGraphCebCoherencmap.setCheckState(0)
3416 self.specGraphCebCoherencmap.setCheckState(0)
3519 self.specGraphSaveCoherencemap.setCheckState(0)
3417 self.specGraphSaveCoherencemap.setCheckState(0)
3520 self.specGraphftpCoherencemap.setCheckState(0)
3418 self.specGraphftpCoherencemap.setCheckState(0)
3419
3420 else:
3421 operationCoherenceMap = "Enable"
3422 self.specGraphCebCoherencmap.setCheckState(QtCore.Qt.Checked)
3423 parmObj = opObj.getParameterObj(parameterName='xmin')
3424 if parmObj == None:
3425 self.specGgraphTminTmax.clear()
3426 else:
3427 value1 = opObj.getParameterValue(parameterName='xmin')
3428 value1 = str(value1)
3429 value2 = opObj.getParameterValue(parameterName='xmax')
3430 value2 = str(value2)
3431 value = value1 + "," + value2
3432 self.specGgraphTminTmax.setText(value)
3433 self.specGgraphTminTmax.setEnabled(True)
3521
3434
3435 parmObj = opObj.getParameterObj(parameterName='timerange')
3436 if parmObj == None:
3437 self.specGgraphTimeRange.clear()
3522 else:
3438 else:
3523 operationCoherenceMap = "Enable"
3439 value1 = opObj.getParameterValue(parameterName='timerange')
3524 self.specGraphCebCoherencmap.setCheckState(QtCore.Qt.Checked)
3440 value1 = str(value1)
3525 parmObj = opObj.getParameterObj(parameterName='xmin')
3441 self.specGgraphTimeRange.setText(value1)
3526 if parmObj == None:
3442 self.specGgraphTimeRange.setEnabled(True)
3527 self.specGgraphTminTmax.clear()
3443
3528 else:
3444 parmObj = opObj.getParameterObj(parameterName='ymin')
3529 value1 = opObj.getParameterValue(parameterName='xmin')
3445 if parmObj == None:
3530 value1 = str(value1)
3446 self.specGgraphHeight.clear()
3531 value2 = opObj.getParameterValue(parameterName='xmax')
3532 value2 = str(value2)
3533 value = value1 + "," + value2
3534 self.specGgraphTminTmax.setText(value)
3535 self.specGgraphTminTmax.setEnabled(True)
3536
3537 parmObj = opObj.getParameterObj(parameterName='timerange')
3538 if parmObj == None:
3539 self.specGgraphTimeRange.clear()
3540 else:
3541 value1 = opObj.getParameterValue(parameterName='timerange')
3542 value1 = str(value1)
3543 self.specGgraphTimeRange.setText(value1)
3544 self.specGgraphTimeRange.setEnabled(True)
3545
3546 parmObj = opObj.getParameterObj(parameterName='ymin')
3547 if parmObj == None:
3548 self.specGgraphHeight.clear()
3549 else:
3550 value1 = opObj.getParameterValue(parameterName='ymin')
3551 value1 = str(value1)
3552 value2 = opObj.getParameterValue(parameterName='ymax')
3553 value2 = str(value2)
3554 value = value1 + "," + value2
3555 self.specGgraphHeight.setText(value)
3556 self.specGgraphHeight.setEnabled(True)
3557
3558 parmObj = opObj.getParameterObj(parameterName='zmin')
3559 if parmObj == None:
3560 self.specGgraphmagnitud.clear()
3561 else:
3562 value1 = opObj.getParameterValue(parameterName='zmin')
3563 value1 = str(value1)
3564 value2 = opObj.getParameterValue(parameterName='zmax')
3565 value2 = str(value2)
3566 value = value1 + "," + value2
3567 self.specGgraphmagnitud.setText(value)
3568 self.specGgraphmagnitud.setEnabled(True)
3569
3570 parmObj = opObj.getParameterObj(parameterName="figpath")
3571 if parmObj == None:
3572 self.specGraphSaveCoherencemap.setCheckState(0)
3573 else:
3574 self.specGraphSaveCoherencemap.setCheckState(QtCore.Qt.Checked)
3575 value = opObj.getParameterValue(parameterName='figpath')
3576 self.specGraphPath.setText(value)
3577
3578 parmObj = opObj.getParameterObj(parameterName="ftp")
3579 if parmObj == None:
3580 self.specGraphftpCoherencemap.setCheckState(0)
3581 else:
3582 self.specGraphftpCoherencemap.setCheckState(QtCore.Qt.Checked)
3583 try:
3584 value = opObj.getParameterValue(parameterName='wr_period')
3585 except:
3586 value = " "
3587 self.specGgraphftpratio.setText(str(value))
3588
3589 opObj = puObj.getOperationObj(name='PowerProfilePlot')
3590 # opObj = puObj.getOpObjfromParamValue(value="PowerProfilePlot")
3591 if opObj == None:
3592 self.specGraphPowerprofile.setCheckState(0)
3593 self.specGraphSavePowerprofile.setCheckState(0)
3594 operationPowerProfilePlot = "Disabled"
3595 channelList = None
3596 freq_vel = None
3597 heightsrange = None
3598 else:
3447 else:
3599 operationPowerProfilePlot = "Enable"
3448 value1 = opObj.getParameterValue(parameterName='ymin')
3600 self.specGraphPowerprofile.setCheckState(QtCore.Qt.Checked)
3449 value1 = str(value1)
3601 parmObj = opObj.getParameterObj(parameterName='xmin')
3450 value2 = opObj.getParameterValue(parameterName='ymax')
3602 if parmObj == None:
3451 value2 = str(value2)
3603 self.specGgraphDbsrange.clear()
3452 value = value1 + "," + value2
3604 else:
3453 self.specGgraphHeight.setText(value)
3605 value1 = opObj.getParameterValue(parameterName='xmin')
3454 self.specGgraphHeight.setEnabled(True)
3606 value1 = str(value1)
3455
3607 value2 = opObj.getParameterValue(parameterName='xmax')
3456 parmObj = opObj.getParameterObj(parameterName='zmin')
3608 value2 = str(value2)
3457 if parmObj == None:
3609 value = value1 + "," + value2
3458 self.specGgraphmagnitud.clear()
3610 self.specGgraphDbsrange.setText(value)
3459 else:
3611 self.specGgraphDbsrange.setEnabled(True)
3460 value1 = opObj.getParameterValue(parameterName='zmin')
3612
3461 value1 = str(value1)
3613 parmObj = opObj.getParameterObj(parameterName='ymin')
3462 value2 = opObj.getParameterValue(parameterName='zmax')
3614 if parmObj == None:
3463 value2 = str(value2)
3615 self.specGgraphHeight.clear()
3464 value = value1 + "," + value2
3616 else:
3465 self.specGgraphmagnitud.setText(value)
3617 value1 = opObj.getParameterValue(parameterName='ymin')
3466 self.specGgraphmagnitud.setEnabled(True)
3618 value1 = str(value1)
3467
3619 value2 = opObj.getParameterValue(parameterName='ymax')
3468 parmObj = opObj.getParameterObj(parameterName="figpath")
3620 value2 = str(value2)
3469 if parmObj == None:
3621 value = value1 + "," + value2
3470 self.specGraphSaveCoherencemap.setCheckState(0)
3622 self.specGgraphHeight.setText(value)
3471 else:
3623 self.specGgraphHeight.setEnabled(True)
3472 self.specGraphSaveCoherencemap.setCheckState(QtCore.Qt.Checked)
3624
3473 value = opObj.getParameterValue(parameterName='figpath')
3625 parmObj = opObj.getParameterObj(parameterName="figpath")
3474 self.specGraphPath.setText(value)
3626 if parmObj == None:
3475
3627 self.specGraphSavePowerprofile.setCheckState(0)
3476 parmObj = opObj.getParameterObj(parameterName="ftp")
3628 else:
3477 if parmObj == None:
3629 self.specGraphSavePowerprofile.setCheckState(QtCore.Qt.Checked)
3478 self.specGraphftpCoherencemap.setCheckState(0)
3630 value = opObj.getParameterValue(parameterName='figpath')
3479 else:
3631 self.specGraphPath.setText(value)
3480 self.specGraphftpCoherencemap.setCheckState(QtCore.Qt.Checked)
3632
3633 parmObj = opObj.getParameterObj(parameterName="ftp")
3634 if parmObj == None:
3635 self.specGraphftpPowerprofile.setCheckState(0)
3636 else:
3637 self.specGraphftpPowerprofile.setCheckState(QtCore.Qt.Checked)
3638 try:
3481 try:
3639 value = opObj.getParameterValue(parameterName='wr_period')
3482 value = opObj.getParameterValue(parameterName='wr_period')
3640 except:
3483 except:
3641 value = " "
3484 value = " "
3642 self.specGgraphftpratio.setText(str(value))
3485 self.specGgraphftpratio.setText(str(value))
3643 # -noise
3486
3644 opObj = puObj.getOperationObj(name='Noise')
3487 opObj = puObj.getOperationObj(name='PowerProfilePlot')
3488 # opObj = puObj.getOpObjfromParamValue(value="PowerProfilePlot")
3489 if opObj == None:
3490 self.specGraphPowerprofile.setCheckState(0)
3491 self.specGraphSavePowerprofile.setCheckState(0)
3492 operationPowerProfilePlot = "Disabled"
3493 channelList = None
3494 freq_vel = None
3495 heightsrange = None
3496 else:
3497 operationPowerProfilePlot = "Enable"
3498 self.specGraphPowerprofile.setCheckState(QtCore.Qt.Checked)
3499 parmObj = opObj.getParameterObj(parameterName='xmin')
3500 if parmObj == None:
3501 self.specGgraphDbsrange.clear()
3502 else:
3503 value1 = opObj.getParameterValue(parameterName='xmin')
3504 value1 = str(value1)
3505 value2 = opObj.getParameterValue(parameterName='xmax')
3506 value2 = str(value2)
3507 value = value1 + "," + value2
3508 self.specGgraphDbsrange.setText(value)
3509 self.specGgraphDbsrange.setEnabled(True)
3510
3511 parmObj = opObj.getParameterObj(parameterName='ymin')
3512 if parmObj == None:
3513 self.specGgraphHeight.clear()
3514 else:
3515 value1 = opObj.getParameterValue(parameterName='ymin')
3516 value1 = str(value1)
3517 value2 = opObj.getParameterValue(parameterName='ymax')
3518 value2 = str(value2)
3519 value = value1 + "," + value2
3520 self.specGgraphHeight.setText(value)
3521 self.specGgraphHeight.setEnabled(True)
3522
3523 parmObj = opObj.getParameterObj(parameterName="figpath")
3524 if parmObj == None:
3525 self.specGraphSavePowerprofile.setCheckState(0)
3526 else:
3527 self.specGraphSavePowerprofile.setCheckState(QtCore.Qt.Checked)
3528 value = opObj.getParameterValue(parameterName='figpath')
3529 self.specGraphPath.setText(value)
3530
3531 parmObj = opObj.getParameterObj(parameterName="ftp")
3532 if parmObj == None:
3533 self.specGraphftpPowerprofile.setCheckState(0)
3534 else:
3535 self.specGraphftpPowerprofile.setCheckState(QtCore.Qt.Checked)
3536 try:
3537 value = opObj.getParameterValue(parameterName='wr_period')
3538 except:
3539 value = " "
3540 self.specGgraphftpratio.setText(str(value))
3541 # -noise
3542 opObj = puObj.getOperationObj(name='Noise')
3645 # opObj = puObj.getOpObjfromParamValue(value="Noise")
3543 # opObj = puObj.getOpObjfromParamValue(value="Noise")
3646 if opObj == None:
3544 if opObj == None:
3647 self.specGraphCebRTInoise.setCheckState(0)
3545 self.specGraphCebRTInoise.setCheckState(0)
3546 self.specGraphSaveRTInoise.setCheckState(0)
3547 self.specGraphftpRTInoise.setCheckState(0)
3548 else:
3549 self.specGraphCebRTInoise.setCheckState(QtCore.Qt.Checked)
3550 parmObj = opObj.getParameterObj(parameterName='channelList')
3551 if parmObj == None:
3552 self.specGgraphChannelList.clear()
3553 else:
3554 value = opObj.getParameterValue(parameterName='channelList')
3555 channelListRTINoise = str(value)[1:-1]
3556 self.specGgraphChannelList.setText(channelListRTINoise)
3557 self.specGgraphChannelList.setEnabled(True)
3558
3559 parmObj = opObj.getParameterObj(parameterName='xmin')
3560 if parmObj == None:
3561 self.specGgraphTminTmax.clear()
3562 else:
3563 value1 = opObj.getParameterValue(parameterName='xmin')
3564 value1 = str(value1)
3565 value2 = opObj.getParameterValue(parameterName='xmax')
3566 value2 = str(value2)
3567 value = value1 + "," + value2
3568 self.specGgraphTminTmax.setText(value)
3569 self.specGgraphTminTmax.setEnabled(True)
3570
3571 parmObj = opObj.getParameterObj(parameterName='timerange')
3572 if parmObj == None:
3573 self.specGgraphTimeRange.clear()
3574 else:
3575 value1 = opObj.getParameterValue(parameterName='timerange')
3576 value1 = str(value1)
3577 self.specGgraphTimeRange.setText(value1)
3578 self.specGgraphTimeRange.setEnabled(True)
3579
3580
3581 parmObj = opObj.getParameterObj(parameterName='ymin')
3582 if parmObj == None:
3583 self.specGgraphDbsrange.clear()
3584 else:
3585 value1 = opObj.getParameterValue(parameterName='ymin')
3586 value1 = str(value1)
3587 value2 = opObj.getParameterValue(parameterName='ymax')
3588 value2 = str(value2)
3589 value = value1 + "," + value2
3590 self.specGgraphDbsrange.setText(value)
3591 self.specGgraphDbsrange.setEnabled(True)
3592
3593 parmObj = opObj.getParameterObj(parameterName="figpath")
3594 if parmObj == None:
3648 self.specGraphSaveRTInoise.setCheckState(0)
3595 self.specGraphSaveRTInoise.setCheckState(0)
3596 else:
3597 self.specGraphSaveRTInoise.setCheckState(QtCore.Qt.Checked)
3598 value = opObj.getParameterValue(parameterName='figpath')
3599 self.specGraphPath.setText(value)
3600
3601 parmObj = opObj.getParameterObj(parameterName="ftp")
3602 if parmObj == None:
3649 self.specGraphftpRTInoise.setCheckState(0)
3603 self.specGraphftpRTInoise.setCheckState(0)
3650 else:
3604 else:
3651 self.specGraphCebRTInoise.setCheckState(QtCore.Qt.Checked)
3605 self.specGraphftpRTInoise.setCheckState(QtCore.Qt.Checked)
3652 parmObj = opObj.getParameterObj(parameterName='channelList')
3606 try:
3653 if parmObj == None:
3607 value = opObj.getParameterValue(parameterName='wr_period')
3654 self.specGgraphChannelList.clear()
3608 except:
3655 else:
3609 value = " "
3656 value = opObj.getParameterValue(parameterName='channelList')
3610 self.specGgraphftpratio.setText(str(value))
3657 channelListRTINoise = str(value)[1:-1]
3611
3658 self.specGgraphChannelList.setText(channelListRTINoise)
3612 # outputSpectraWrite
3659 self.specGgraphChannelList.setEnabled(True)
3613 opObj = puObj.getOperationObj(name='SpectraWriter')
3660
3614 if opObj == None:
3661 parmObj = opObj.getParameterObj(parameterName='xmin')
3615 self.specOutputPath.clear()
3662 if parmObj == None:
3616 self.specOutputblocksperfile.clear()
3663 self.specGgraphTminTmax.clear()
3617 self.specOutputprofileperblock.clear()
3664 else:
3618 else:
3665 value1 = opObj.getParameterValue(parameterName='xmin')
3619 value = opObj.getParameterObj(parameterName='path')
3666 value1 = str(value1)
3620 if value == None:
3667 value2 = opObj.getParameterValue(parameterName='xmax')
3668 value2 = str(value2)
3669 value = value1 + "," + value2
3670 self.specGgraphTminTmax.setText(value)
3671 self.specGgraphTminTmax.setEnabled(True)
3672
3673 parmObj = opObj.getParameterObj(parameterName='timerange')
3674 if parmObj == None:
3675 self.specGgraphTimeRange.clear()
3676 else:
3677 value1 = opObj.getParameterValue(parameterName='timerange')
3678 value1 = str(value1)
3679 self.specGgraphTimeRange.setText(value1)
3680 self.specGgraphTimeRange.setEnabled(True)
3681
3682
3683 parmObj = opObj.getParameterObj(parameterName='ymin')
3684 if parmObj == None:
3685 self.specGgraphDbsrange.clear()
3686 else:
3687 value1 = opObj.getParameterValue(parameterName='ymin')
3688 value1 = str(value1)
3689 value2 = opObj.getParameterValue(parameterName='ymax')
3690 value2 = str(value2)
3691 value = value1 + "," + value2
3692 self.specGgraphDbsrange.setText(value)
3693 self.specGgraphDbsrange.setEnabled(True)
3694
3695 parmObj = opObj.getParameterObj(parameterName="figpath")
3696 if parmObj == None:
3697 self.specGraphSaveRTInoise.setCheckState(0)
3698 else:
3699 self.specGraphSaveRTInoise.setCheckState(QtCore.Qt.Checked)
3700 value = opObj.getParameterValue(parameterName='figpath')
3701 self.specGraphPath.setText(value)
3702 #---------add----#
3703 parmObj = opObj.getParameterObj(parameterName="ftp")
3704 if parmObj == None:
3705 self.specGraphftpRTInoise.setCheckState(0)
3706 else:
3707 self.specGraphftpRTInoise.setCheckState(QtCore.Qt.Checked)
3708 try:
3709 value = opObj.getParameterValue(parameterName='wr_period')
3710 except:
3711 value = " "
3712 self.specGgraphftpratio.setText(str(value))
3713
3714 # outputSpectraWrite
3715 opObj = puObj.getOperationObj(name='SpectraWriter')
3716 if opObj == None:
3717 self.specOutputPath.clear()
3621 self.specOutputPath.clear()
3718 self.specOutputblocksperfile.clear()
3622 else:
3623 value = opObj.getParameterValue(parameterName='path')
3624 path = str(value)
3625 self.specOutputPath.setText(path)
3626 value = opObj.getParameterObj(parameterName='blocksPerFile')
3627 if value == None:
3628 self.specOutputblocksperfile.clear()
3629 else:
3630 value = opObj.getParameterValue(parameterName='blocksPerFile')
3631 blocksperfile = str(value)
3632 self.specOutputblocksperfile.setText(blocksperfile)
3633 value = opObj.getParameterObj(parameterName='profilesPerBlock')
3634 if value == None:
3719 self.specOutputprofileperblock.clear()
3635 self.specOutputprofileperblock.clear()
3720 else:
3636 else:
3721 value = opObj.getParameterObj(parameterName='path')
3637 value = opObj.getParameterValue(parameterName='profilesPerBlock')
3722 if value == None:
3638 profilesPerBlock = str(value)
3723 self.specOutputPath.clear()
3639 self.specOutputprofileperblock.setText(profilesPerBlock)
3724 else:
3640
3725 value = opObj.getParameterValue(parameterName='path')
3641 return
3726 path = str(value)
3642
3727 self.specOutputPath.setText(path)
3643 def __refreshSpectraHeisWindow(self, puObj):
3728 value = opObj.getParameterObj(parameterName='blocksPerFile')
3644
3729 if value == None:
3645 opObj = puObj.getOperationObj(name="IncohInt4SpectraHeis")
3730 self.specOutputblocksperfile.clear()
3646 if opObj == None:
3731 else:
3647 self.specHeisOpIncoherent.clear()
3732 value = opObj.getParameterValue(parameterName='blocksPerFile')
3648 self.specHeisOpCebIncoherent.setCheckState(0)
3733 blocksperfile = str(value)
3649 else:
3734 self.specOutputblocksperfile.setText(blocksperfile)
3650 for parmObj in opObj.getParameterObjList():
3735 value = opObj.getParameterObj(parameterName='profilesPerBlock')
3651 if parmObj.name == 'timeInterval':
3736 if value == None:
3652 value = opObj.getParameterValue(parameterName='timeInterval')
3737 self.specOutputprofileperblock.clear()
3653 value = float(value)
3738 else:
3654 self.specHeisOpIncoherent.setText(str(value))
3739 value = opObj.getParameterValue(parameterName='profilesPerBlock')
3655 self.specHeisOpIncoherent.setEnabled(True)
3740 profilesPerBlock = str(value)
3656 self.specHeisOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3741 self.specOutputprofileperblock.setText(profilesPerBlock)
3657 self.specHeisOpCobIncInt.setCurrentIndex(0)
3742
3658
3743 if datatype == 'SpectraHeis':
3659 # SpectraHeis Graph
3744 opObj = puObj.getOperationObj(name="IncohInt4SpectraHeis")
3660 opObj = puObj.getOperationObj(name='SpectraHeisScope')
3745 if opObj == None:
3746 self.specHeisOpIncoherent.clear()
3747 self.specHeisOpCebIncoherent.setCheckState(0)
3748 else:
3749 for parmObj in opObj.getParameterObjList():
3750 if parmObj.name == 'timeInterval':
3751 value = opObj.getParameterValue(parameterName='timeInterval')
3752 value = float(value)
3753 self.specHeisOpIncoherent.setText(str(value))
3754 self.specHeisOpIncoherent.setEnabled(True)
3755 self.specHeisOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3756 self.specHeisOpCobIncInt.setCurrentIndex(0)
3757
3758 # SpectraHeis Graph
3759 opObj = puObj.getOperationObj(name='SpectraHeisScope')
3760 # opObj = puObj.getOpObjfromParamValue(value="SpectraHeisScope")
3661 # opObj = puObj.getOpObjfromParamValue(value="SpectraHeisScope")
3761 if opObj == None:
3662 if opObj == None:
3762 self.specHeisGraphCebSpectraplot.setCheckState(0)
3663 self.specHeisGraphCebSpectraplot.setCheckState(0)
3763 self.specHeisGraphSaveSpectra.setCheckState(0)
3664 self.specHeisGraphSaveSpectra.setCheckState(0)
3764 self.specHeisGraphftpSpectra.setCheckState(0)
3665 self.specHeisGraphftpSpectra.setCheckState(0)
3765
3666
3667 else:
3668 operationSpectraHeisScope = "Enable"
3669 self.specHeisGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3670 parmObj = opObj.getParameterObj(parameterName='channelList')
3671 if parmObj == None:
3672 self.specHeisGgraphChannelList.clear()
3766 else:
3673 else:
3767 operationSpectraHeisScope = "Enable"
3674 value = opObj.getParameterValue(parameterName='channelList')
3768 self.specHeisGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3675 channelListSpectraHeisScope = str(value)[1:-1]
3769 parmObj = opObj.getParameterObj(parameterName='channelList')
3676 self.specHeisGgraphChannelList.setText(channelListSpectraHeisScope)
3770 if parmObj == None:
3677 self.specHeisGgraphChannelList.setEnabled(True)
3771 self.specHeisGgraphChannelList.clear()
3678
3772 else:
3679 parmObj = opObj.getParameterObj(parameterName='xmin')
3773 value = opObj.getParameterValue(parameterName='channelList')
3680 if parmObj == None:
3774 channelListSpectraHeisScope = str(value)[1:-1]
3681 self.specHeisGgraphXminXmax.clear()
3775 self.specHeisGgraphChannelList.setText(channelListSpectraHeisScope)
3682 else:
3776 self.specHeisGgraphChannelList.setEnabled(True)
3683 value1 = opObj.getParameterValue(parameterName='xmin')
3777
3684 value1 = str(value1)
3778 parmObj = opObj.getParameterObj(parameterName='xmin')
3685 value2 = opObj.getParameterValue(parameterName='xmax')
3779 if parmObj == None:
3686 value2 = str(value2)
3780 self.specHeisGgraphXminXmax.clear()
3687 value = value1 + "," + value2
3781 else:
3688 self.specHeisGgraphXminXmax.setText(value)
3782 value1 = opObj.getParameterValue(parameterName='xmin')
3689 self.specHeisGgraphXminXmax.setEnabled(True)
3783 value1 = str(value1)
3690
3784 value2 = opObj.getParameterValue(parameterName='xmax')
3691 parmObj = opObj.getParameterObj(parameterName='ymin')
3785 value2 = str(value2)
3692 if parmObj == None:
3786 value = value1 + "," + value2
3693 self.specHeisGgraphYminYmax.clear()
3787 self.specHeisGgraphXminXmax.setText(value)
3694 else:
3788 self.specHeisGgraphXminXmax.setEnabled(True)
3695 value1 = opObj.getParameterValue(parameterName='ymin')
3789
3696 value1 = str(value1)
3790 parmObj = opObj.getParameterObj(parameterName='ymin')
3697 value2 = opObj.getParameterValue(parameterName='ymax')
3791 if parmObj == None:
3698 value2 = str(value2)
3792 self.specHeisGgraphYminYmax.clear()
3699 value = value1 + "," + value2
3793 else:
3700 self.specHeisGgraphYminYmax.setText(value)
3794 value1 = opObj.getParameterValue(parameterName='ymin')
3701 self.specHeisGgraphYminYmax.setEnabled(True)
3795 value1 = str(value1)
3702
3796 value2 = opObj.getParameterValue(parameterName='ymax')
3703 parmObj = opObj.getParameterObj(parameterName="figpath")
3797 value2 = str(value2)
3704 if parmObj == None:
3798 value = value1 + "," + value2
3705 self.specHeisGraphSaveSpectra.setCheckState(0)
3799 self.specHeisGgraphYminYmax.setText(value)
3706 else:
3800 self.specHeisGgraphYminYmax.setEnabled(True)
3707 self.specHeisGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3801
3708 value = opObj.getParameterValue(parameterName='figpath')
3802 parmObj = opObj.getParameterObj(parameterName="figpath")
3709 self.specHeisGraphPath.setText(value)
3803 if parmObj == None:
3710
3804 self.specHeisGraphSaveSpectra.setCheckState(0)
3711 parmObj = opObj.getParameterObj(parameterName="ftp")
3805 else:
3712 if parmObj == None:
3806 self.specHeisGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3713 self.specHeisGraphftpSpectra.setCheckState(0)
3807 value = opObj.getParameterValue(parameterName='figpath')
3714 else:
3808 self.specHeisGraphPath.setText(value)
3715 self.specHeisGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3809
3716 try:
3810 parmObj = opObj.getParameterObj(parameterName="ftp")
3717 value = opObj.getParameterValue(parameterName='wr_period')
3811 if parmObj == None:
3718 except:
3812 self.specHeisGraphftpSpectra.setCheckState(0)
3719 value = " "
3813 else:
3720 self.specHeisGgraphftpratio.setText(str(value))
3814 self.specHeisGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3721
3815 try:
3722 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
3816 value = opObj.getParameterValue(parameterName='wr_period')
3817 except:
3818 value = " "
3819 self.specHeisGgraphftpratio.setText(str(value))
3820
3821 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
3822 # opObj = puObj.getOpObjfromParamValue(value="RTIfromSpectraHeis")
3723 # opObj = puObj.getOpObjfromParamValue(value="RTIfromSpectraHeis")
3823 if opObj == None:
3724 if opObj == None:
3824 self.specHeisGraphCebRTIplot.setCheckState(0)
3725 self.specHeisGraphCebRTIplot.setCheckState(0)
3726 self.specHeisGraphSaveRTIplot.setCheckState(0)
3727 self.specHeisGraphftpRTIplot.setCheckState(0)
3728 else:
3729 self.specHeisGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3730 parmObj = opObj.getParameterObj(parameterName='channelList')
3731 if parmObj == None:
3732 self.specHeisGgraphChannelList.clear()
3733 else:
3734 value = opObj.getParameterValue(parameterName='channelList')
3735 channelListRTIPlot = str(value)[1:-1]
3736 self.specGgraphChannelList.setText(channelListRTIPlot)
3737 self.specGgraphChannelList.setEnabled(True)
3738
3739 parmObj = opObj.getParameterObj(parameterName='xmin')
3740 if parmObj == None:
3741 self.specHeisGgraphTminTmax.clear()
3742 else:
3743 value1 = opObj.getParameterValue(parameterName='xmin')
3744 value1 = str(value1)
3745 value2 = opObj.getParameterValue(parameterName='xmax')
3746 value2 = str(value2)
3747 value = value1 + "," + value2
3748 self.specHeisGgraphTminTmax.setText(value)
3749 self.specHeisGgraphTminTmax.setEnabled(True)
3750
3751 parmObj = opObj.getParameterObj(parameterName='timerange')
3752 if parmObj == None:
3753 self.specGgraphTimeRange.clear()
3754 else:
3755 value1 = opObj.getParameterValue(parameterName='timerange')
3756 value1 = str(value1)
3757 self.specHeisGgraphTimeRange.setText(value1)
3758 self.specHeisGgraphTimeRange.setEnabled(True)
3759
3760 parmObj = opObj.getParameterObj(parameterName='ymin')
3761 if parmObj == None:
3762 self.specHeisGgraphYminYmax.clear()
3763 else:
3764 value1 = opObj.getParameterValue(parameterName='ymin')
3765 value1 = str(value1)
3766 value2 = opObj.getParameterValue(parameterName='ymax')
3767 value2 = str(value2)
3768 value = value1 + "," + value2
3769 self.specHeisGgraphYminYmax.setText(value)
3770 self.specHeisGgraphYminYmax.setEnabled(True)
3771
3772 parmObj = opObj.getParameterObj(parameterName="figpath")
3773 if parmObj == None:
3825 self.specHeisGraphSaveRTIplot.setCheckState(0)
3774 self.specHeisGraphSaveRTIplot.setCheckState(0)
3775 else:
3776 self.specHeisGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3777 value = opObj.getParameterValue(parameterName='figpath')
3778 self.specHeisGraphPath.setText(value)
3779
3780 parmObj = opObj.getParameterObj(parameterName="ftp")
3781 if parmObj == None:
3826 self.specHeisGraphftpRTIplot.setCheckState(0)
3782 self.specHeisGraphftpRTIplot.setCheckState(0)
3827 else:
3783 else:
3828 self.specHeisGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3784 self.specHeisGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3829 parmObj = opObj.getParameterObj(parameterName='channelList')
3785 try:
3830 if parmObj == None:
3786 value = opObj.getParameterValue(parameterName='wr_period')
3831 self.specHeisGgraphChannelList.clear()
3787 except:
3832 else:
3788 value = " "
3833 value = opObj.getParameterValue(parameterName='channelList')
3789 self.specHeisGgraphftpratio.setText(str(value))
3834 channelListRTIPlot = str(value)[1:-1]
3790
3835 self.specGgraphChannelList.setText(channelListRTIPlot)
3791 # outputSpectraHeisWrite
3836 self.specGgraphChannelList.setEnabled(True)
3792 opObj = puObj.getOperationObj(name='FitsWriter')
3793 if opObj == None:
3794 self.specHeisOutputPath.clear()
3795 self.specHeisOutputblocksperfile.clear()
3796 self.specHeisOutputMetada.clear()
3797 else:
3798 value = opObj.getParameterObj(parameterName='path')
3799 if value == None:
3800 self.specHeisOutputPath.clear()
3801 else:
3802 value = opObj.getParameterValue(parameterName='path')
3803 path = str(value)
3804 self.specHeisOutputPath.setText(path)
3805 value = opObj.getParameterObj(parameterName='dataBlocksPerFile')
3806 if value == None:
3807 self.specHeisOutputblocksperfile.clear()
3808 else:
3809 value = opObj.getParameterValue(parameterName='dataBlocksPerFile')
3810 blocksperfile = str(value)
3811 self.specHeisOutputblocksperfile.setText(blocksperfile)
3812 value = opObj.getParameterObj(parameterName='metadatafile')
3813 if value == None:
3814 self.specHeisOutputMetada.clear()
3815 else:
3816 value = opObj.getParameterValue(parameterName='metadatafile')
3817 metada = str(value)
3818 self.specHeisOutputMetada.setText(metada)
3819
3820 return
3821
3822 def __refreshCorrelationWindow(self, puObj):
3823 pass
3824
3825 def refreshPUWindow(self, datatype, puObj):
3826
3827 if datatype == 'Voltage':
3828 self.__refreshVoltageWindow(puObj)
3829
3830 if datatype == 'Spectra':
3831 self.__refreshSpectraWindow(puObj)
3832
3833 if datatype == 'SpectraHeis':
3834 self.__refreshSpectraHeisWindow(puObj)
3835
3836 def refreshProjectProperties(self, projectObjView):
3837
3838 propertyBuffObj = PropertyBuffer()
3839 name = projectObjView.name
3840
3841 propertyBuffObj.append("Properties", "Name", projectObjView.name),
3842 propertyBuffObj.append("Properties", "Description", projectObjView.description)
3843 propertyBuffObj.append("Properties", "Workspace", self.pathWorkSpace)
3844
3845 readUnitObj = projectObjView.getReadUnitObj()
3846 runOperationObj = readUnitObj.getOperationObj(name='run')
3847
3848 for thisParmObj in runOperationObj.getParameterObjList():
3849 propertyBuffObj.append("Reading parms", thisParmObj.name, str(thisParmObj.getValue()))
3850
3851 propertiesModel = propertyBuffObj.getPropertyModel()
3852
3853 self.treeProjectProperties.setModel(propertiesModel)
3854 self.treeProjectProperties.expandAll()
3855 self.treeProjectProperties.resizeColumnToContents(0)
3856 self.treeProjectProperties.resizeColumnToContents(1)
3857
3858 def refreshPUProperties(self, puObjView):
3859
3860 propertyBuffObj = PropertyBuffer()
3861
3862 for thisOp in puObjView.getOperationObjList():
3863
3864 operationName = thisOp.name
3865 if operationName == 'run':
3866 operationName = 'Properties'
3867 else:
3868 if not thisOp.getParameterObjList():
3869 propertyBuffObj.append(operationName, '--', '--')
3870
3871 for thisParmObj in thisOp.getParameterObjList():
3837
3872
3838 parmObj = opObj.getParameterObj(parameterName='xmin')
3873 propertyBuffObj.append(operationName, thisParmObj.name, str(thisParmObj.getValue()))
3839 if parmObj == None:
3874
3840 self.specHeisGgraphTminTmax.clear()
3875 propertiesModel = propertyBuffObj.getPropertyModel()
3841 else:
3876
3842 value1 = opObj.getParameterValue(parameterName='xmin')
3877 self.treeProjectProperties.setModel(propertiesModel)
3843 value1 = str(value1)
3878 self.treeProjectProperties.expandAll()
3844 value2 = opObj.getParameterValue(parameterName='xmax')
3879 self.treeProjectProperties.resizeColumnToContents(0)
3845 value2 = str(value2)
3880 self.treeProjectProperties.resizeColumnToContents(1)
3846 value = value1 + "," + value2
3881
3847 self.specHeisGgraphTminTmax.setText(value)
3882 def refreshGraphicsId(self):
3848 self.specHeisGgraphTminTmax.setEnabled(True)
3883
3849
3884 projectObj = self.getSelectedProjectObj()
3850 parmObj = opObj.getParameterObj(parameterName='timerange')
3885
3851 if parmObj == None:
3886 for idPU, puObj in projectObj.procUnitConfObjDict.items():
3852 self.specGgraphTimeRange.clear()
3887
3853 else:
3888 for opObj in puObj.getOperationObjList():
3854 value1 = opObj.getParameterValue(parameterName='timerange')
3855 value1 = str(value1)
3856 self.specHeisGgraphTimeRange.setText(value1)
3857 self.specHeisGgraphTimeRange.setEnabled(True)
3858
3859 parmObj = opObj.getParameterObj(parameterName='ymin')
3860 if parmObj == None:
3861 self.specHeisGgraphYminYmax.clear()
3862 else:
3863 value1 = opObj.getParameterValue(parameterName='ymin')
3864 value1 = str(value1)
3865 value2 = opObj.getParameterValue(parameterName='ymax')
3866 value2 = str(value2)
3867 value = value1 + "," + value2
3868 self.specHeisGgraphYminYmax.setText(value)
3869 self.specHeisGgraphYminYmax.setEnabled(True)
3870
3871 parmObj = opObj.getParameterObj(parameterName="figpath")
3872 if parmObj == None:
3873 self.specHeisGraphSaveRTIplot.setCheckState(0)
3874 else:
3875 self.specHeisGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3876 value = opObj.getParameterValue(parameterName='figpath')
3877 self.specHeisGraphPath.setText(value)
3878 #---------add----#
3879 parmObj = opObj.getParameterObj(parameterName="ftp")
3880 if parmObj == None:
3881 self.specHeisGraphftpRTIplot.setCheckState(0)
3882 else:
3883 self.specHeisGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3884 try:
3885 value = opObj.getParameterValue(parameterName='wr_period')
3886 except:
3887 value = " "
3888 self.specHeisGgraphftpratio.setText(str(value))
3889
3889
3890 if opObj.name not in ('Scope', 'SpectraPlot', 'CrossSpectraPlot', 'RTIPlot', 'CoherenceMap', 'PowerProfilePlot', 'Noise', 'SpectraHeisScope', 'RTIfromSpectraHeis'):
3891 continue
3890
3892
3893 opObj.changeParameter(name='id', value=opObj.id, format='int')
3894
3895 def on_click(self, index):
3896
3897 self.console.clear()
3898
3899 self.selectedItemTree = self.projectExplorerModel.itemFromIndex(index)
3900
3901 projectObjView = self.getSelectedProjectObj()
3902
3903 if not projectObjView:
3904 return
3905
3906 self.create = False
3907 selectedObjView = self.getSelectedItemObj()
3908
3909 #A project has been selected
3910 if projectObjView == selectedObjView:
3911
3912 self.refreshProjectWindow2(projectObjView)
3913 self.refreshProjectProperties(projectObjView)
3914
3915 self.tabProject.setEnabled(True)
3916 self.tabVoltage.setEnabled(False)
3917 self.tabSpectra.setEnabled(False)
3918 self.tabCorrelation.setEnabled(False)
3919 self.tabSpectraHeis.setEnabled(False)
3920 self.tabWidgetProject.setCurrentWidget(self.tabProject)
3921
3922 return
3923
3924 #A processing unit has been selected
3925 voltEnable = False
3926 specEnable = False
3927 corrEnable = False
3928 specHeisEnable = False
3929 tabSelected = self.tabProject
3930
3931 puObj = selectedObjView
3932 inputId = puObj.getInputId()
3933 inputPUObj = projectObjView.getProcUnitObj(inputId)
3934
3935 if self.selectedItemTree.text() == 'Voltage':
3936 datatype = 'Voltage'
3937 self.refreshPUWindow(datatype=datatype, puObj=puObj)
3938 self.refreshPUProperties(puObj)
3939
3940 voltEnable = True
3941 tabSelected = self.tabVoltage
3891
3942
3892 # outputSpectraHeisWrite
3943 if self.selectedItemTree.text() == 'Spectra':
3893 opObj = puObj.getOperationObj(name='FitsWriter')
3944
3894 if opObj == None:
3945 datatype = 'Spectra'
3895 self.specHeisOutputPath.clear()
3946
3896 self.specHeisOutputblocksperfile.clear()
3947 if inputPUObj.datatype == 'Spectra':
3897 self.specHeisOutputMetada.clear()
3948 self.specOpnFFTpoints.setEnabled(False)
3949 self.specOpProfiles.setEnabled(False)
3950 self.specOpippFactor.setEnabled(False)
3898 else:
3951 else:
3899 value = opObj.getParameterObj(parameterName='path')
3952 self.specOpnFFTpoints.setEnabled(True)
3900 if value == None:
3953 self.specOpProfiles.setEnabled(True)
3901 self.specHeisOutputPath.clear()
3954 self.specOpippFactor.setEnabled(True)
3902 else:
3955
3903 value = opObj.getParameterValue(parameterName='path')
3956 self.refreshPUWindow(datatype=datatype, puObj=puObj)
3904 path = str(value)
3957 self.refreshPUProperties(puObj)
3905 self.specHeisOutputPath.setText(path)
3958
3906 value = opObj.getParameterObj(parameterName='dataBlocksPerFile')
3959 specEnable = True
3907 if value == None:
3960 tabSelected = self.tabSpectra
3908 self.specHeisOutputblocksperfile.clear()
3961
3909 else:
3962 if self.selectedItemTree.text() == 'Correlation':
3910 value = opObj.getParameterValue(parameterName='dataBlocksPerFile')
3963
3911 blocksperfile = str(value)
3964 corrEnable = True
3912 self.specHeisOutputblocksperfile.setText(blocksperfile)
3965 tabSelected = self.tabCorrelation
3913 value = opObj.getParameterObj(parameterName='metadatafile')
3966
3914 if value == None:
3967 if self.selectedItemTree.text() == 'SpectraHeis':
3915 self.specHeisOutputMetada.clear()
3968 datatype = 'SpectraHeis'
3916 else:
3969
3917 value = opObj.getParameterValue(parameterName='metadatafile')
3970 self.refreshPUWindow(datatype=datatype, puObj=puObj)
3918 metada = str(value)
3971 self.refreshPUProperties(puObj)
3919 self.specHeisOutputMetada.setText(metada)
3972
3920
3973 specHeisEnable = False
3974 tabSelected = self.tabSpectraHeis
3975
3976 self.tabProject.setEnabled(False)
3977 self.tabVoltage.setEnabled(voltEnable)
3978 self.tabSpectra.setEnabled(specEnable)
3979 self.tabCorrelation.setEnabled(corrEnable)
3980 self.tabSpectraHeis.setEnabled(specHeisEnable)
3981 self.tabWidgetProject.setCurrentWidget(tabSelected)
3982
3983 def on_right_click(self, pos):
3984
3985 self.menu = QtGui.QMenu()
3986 quitAction0 = self.menu.addAction("Create a New Project")
3987 quitAction1 = self.menu.addAction("Create a New Processing Unit")
3988 quitAction2 = self.menu.addAction("Delete Item")
3989 quitAction3 = self.menu.addAction("Quit")
3990
3991 if len(self.__itemTreeDict) == 0:
3992 quitAction2.setEnabled(False)
3993 else:
3994 quitAction2.setEnabled(True)
3995
3996 action = self.menu.exec_(self.mapToGlobal(pos))
3997
3998 if action == quitAction0:
3999 self. setInputsProject_View()
4000 self.create = True
4001
4002 if action == quitAction1:
4003 if len(self.__projectObjDict) == 0:
4004 outputstr = "You need to create a Project before adding a Processing Unit"
4005 self.console.clear()
4006 self.console.append(outputstr)
4007 return 0
4008 else:
4009 self.addPUWindow()
4010 self.console.clear()
4011 self.console.append("Please, Choose the type of Processing Unit")
4012 # self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
4013 # self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
4014 # self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
4015
4016 if action == quitAction2:
4017 index = self.selectedItemTree
4018 try:
4019 index.parent()
4020 except:
4021 self.console.append('Please first select a Project or Processing Unit')
4022 return 0
4023 # print index.parent(),index
4024 if index.parent() == None:
4025 self.projectExplorerModel.removeRow(index.row())
4026 else:
4027 index.parent().removeRow(index.row())
4028 self.removeItemTreeFromProject()
4029 self.console.clear()
4030 # for i in self.projectExplorerTree.selectionModel().selection().indexes():
4031 # print i.row()
4032
4033 if action == quitAction3:
4034 self.close()
4035 return 0
4036
4037 def refreshProjectWindow(self, project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, set):
4038
4039 self.proName.setText(str(project_name))
4040
4041 if datatype == 'Voltage':
4042 ext = '.r'
4043 value = 0
4044 elif datatype == 'Spectra':
4045 ext = '.pdata'
4046 value = 1
4047 elif datatype == 'Fits':
4048 ext = '.fits'
4049 value = 2
4050 elif datatype == 'USRP':
4051 ext = '.hdf5'
4052 value = 3
4053
4054 self.proDataType.setText(ext)
4055 self.proDataPath.setText(str(data_path))
4056 self.proComDataType.setCurrentIndex(value)
4057 self.proComReadMode.setCurrentIndex(int(online))
4058 self.proDelay.setText(str(delay))
4059 self.proSet.setText(str(set))
4060 self.proComStartDate.clear()
4061 self.proComEndDate.clear()
4062 self.proComStartDate.addItem(str(startDate))
4063 self.proComEndDate.addItem(str(endDate))
4064 starTime = str(startTime)
4065 starlist = starTime.split(":")
4066 endTime = str(endTime)
4067 endlist = endTime.split(":")
4068 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
4069 self.proStartTime.setTime(self.time)
4070 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
4071 self.proEndTime.setTime(self.time)
4072 self.proDescription.clear()
4073 self.proDescription.append(description)
3921
4074
3922
4075
3923 def setspecGraph(self):
4076 def setspecGraph(self):
@@ -3965,86 +4118,120 class BasicWindow(QMainWindow, Ui_BasicWindow):
3965
4118
3966 def createProjectView(self, id):
4119 def createProjectView(self, id):
3967
4120
3968 self.create = False
4121 # project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
3969 project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4122 id = str(id)
4123 projectParms = self.__getParmsFromProjectWindow()
4124
4125 if not projectParms.isValid():
4126 return None
3970
4127
3971 projectObjView = Project()
4128 projectObjView = Project()
3972 projectObjView.setup(id=id, name=project_name, description=description)
4129 projectObjView.setup(id=id, name=projectParms.name, description=projectParms.description)
3973
4130
3974 self.__projectObjDict[id] = projectObjView
4131 self.__projectObjDict[id] = projectObjView
4132 self.addProject2ProjectExplorer(id=id, name=projectObjView.name)
4133
4134 self.create = False
3975
4135
3976 return projectObjView
4136 return projectObjView
3977
4137
3978 def updateProjectView(self):
4138 def updateProjectView(self):
3979
4139
3980 project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4140 # project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4141
4142 projectParms = self.__getParmsFromProjectWindow()
4143
4144 if not projectParms.isValid():
4145 return None
3981
4146
3982 projectObjView = self.getSelectedProjectObj()
4147 projectObjView = self.getSelectedProjectObj()
3983 projectObjView.update(name=project_name, description=description)
4148 projectObjView.update(name=projectParms.name, description=projectParms.description)
3984
4149
3985 return projectObjView
4150 return projectObjView
3986
4151
3987 def createReadUnitView(self, projectObjView):
4152 def createReadUnitView(self, projectObjView):
3988
4153
3989 project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4154 # project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
3990
4155
3991 if datatype == "Voltage" or datatype == "Spectra" or datatype == "Fits":
4156 projectParms = self.__getParmsFromProjectWindow()
3992 readUnitConfObj = projectObjView.addReadUnit(datatype=datatype,
4157
3993 path=data_path,
4158 if not projectParms.isValid():
3994 startDate=startDate,
4159 return None
3995 endDate=endDate,
4160
3996 startTime=startTime,
4161 if projectParms.datatype in ("Voltage", "Spectra", "Fits"):
3997 endTime=endTime,
4162 readUnitConfObj = projectObjView.addReadUnit(datatype=projectParms.datatype,
3998 online=online,
4163 path=projectParms.dpath,
3999 delay=delay,
4164 startDate=projectParms.startDate,
4000 walk=walk,
4165 endDate=projectParms.endDate,
4001 set=set
4166 startTime=projectParms.startTime,
4167 endTime=projectParms.endTime,
4168 online=projectParms.online,
4169 walk=projectParms.walk
4002 )
4170 )
4003
4171
4004 if datatype == "USRP":
4172 if projectParms.set:
4005 readUnitConfObj = projectObjView.addReadUnit(datatype=datatype,
4173 readUnitConfObj.addParameter(name="set", value=projectParms.set, format="int")
4006 path=data_path,
4174
4007 startDate=startDate,
4175 if projectParms.delay:
4008 endDate=endDate,
4176 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4009 startTime=startTime,
4177
4010 endTime=endTime,
4178 if projectParms.datatype == "USRP":
4011 online=online,
4179 readUnitConfObj = projectObjView.addReadUnit(datatype=projectParms.datatype,
4012 delay=delay,
4180 path=projectParms.dpath,
4013 ippKm=set
4181 startDate=projectParms.startDate,
4014 )
4182 endDate=projectParms.endDate,
4183 startTime=projectParms.startTime,
4184 endTime=projectParms.endTime,
4185 online=projectParms.online,
4186 ippKm=projectParms.ippKm
4187 )
4188
4189 if projectParms.delay:
4190 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4191
4015 return readUnitConfObj
4192 return readUnitConfObj
4016
4193
4017 def updateReadUnitView(self, projectObjView, idReadUnit):
4194 def updateReadUnitView(self, projectObjView, idReadUnit):
4018
4195
4019 project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk , set = self.getParmsFromProjectWindow()
4196 # project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk , set = self.getParmsFromProjectWindow()
4020
4197
4021 readUnitConfObj = projectObjView.getProcUnitObj(idReadUnit)
4198 readUnitConfObj = projectObjView.getProcUnitObj(idReadUnit)
4022
4199
4023 if datatype == "Voltage" or datatype == "Spectra" or datatype == "Fits":
4200 projectParms = self.__getParmsFromProjectWindow()
4024 readUnitConfObj.update(datatype=datatype,
4201
4025 path=data_path,
4202 if not projectParms.isValid():
4026 startDate=startDate,
4203 return None
4027 endDate=endDate,
4204
4028 startTime=startTime,
4205 if projectParms.datatype in ["Voltage", "Spectra", "Fits"]:
4029 endTime=endTime,
4206 readUnitConfObj.update(datatype=projectParms.datatype,
4030 online=online,
4207 path=projectParms.dpath,
4031 delay=delay,
4208 startDate=projectParms.startDate,
4032 walk=walk,
4209 endDate=projectParms.endDate,
4033 set=set
4210 startTime=projectParms.startTime,
4211 endTime=projectParms.endTime,
4212 online=projectParms.online,
4213 walk=projectParms.walk
4034 )
4214 )
4035
4215 if projectParms.set:
4036 if datatype == "USRP":
4216 readUnitConfObj.addParameter(name="set", value=projectParms.set, format="int")
4037 readUnitConfObj.update(datatype=datatype,
4038 path=data_path,
4039 startDate=startDate,
4040 endDate=endDate,
4041 startTime=startTime,
4042 endTime=endTime,
4043 online=online,
4044 delay=delay,
4045 ippKm=set
4046 )
4047
4217
4218 if projectParms.delay:
4219 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4220
4221 if projectParms.datatype == "USRP":
4222 readUnitConfObj.update(datatype=projectParms.datatype,
4223 path=projectParms.dpath,
4224 startDate=projectParms.startDate,
4225 endDate=projectParms.endDate,
4226 startTime=projectParms.startTime,
4227 endTime=projectParms.endTime,
4228 online=projectParms.online,
4229 ippKm=projectParms.ippKm
4230 )
4231
4232 if projectParms.delay:
4233 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4234
4048 return readUnitConfObj
4235 return readUnitConfObj
4049
4236
4050 def createProcUnitView(self, projectObjView, datatype, inputId):
4237 def createProcUnitView(self, projectObjView, datatype, inputId):
@@ -4083,8 +4270,6 class BasicWindow(QMainWindow, Ui_BasicWindow):
4083
4270
4084 def createPUWindow(self):
4271 def createPUWindow(self):
4085
4272
4086 self.console.clear()
4087
4088 if not self.configUPWindowObj.create:
4273 if not self.configUPWindowObj.create:
4089 return
4274 return
4090
4275
@@ -4146,7 +4331,7 class BasicWindow(QMainWindow, Ui_BasicWindow):
4146
4331
4147 opObj.addParameter(name='wr_period', value=value, format='int')
4332 opObj.addParameter(name='wr_period', value=value, format='int')
4148
4333
4149 def createFTPProcUnitView(self, server, username, password, remotefolder,
4334 def addFTPProcUnitView(self, server, username, password, remotefolder,
4150 ftp_wei, exp_code, sub_exp_code, plot_pos,
4335 ftp_wei, exp_code, sub_exp_code, plot_pos,
4151 localfolder='./', extension='.png', period='60', protocol='ftp'):
4336 localfolder='./', extension='.png', period='60', protocol='ftp'):
4152
4337
@@ -5609,7 +5794,8 class BasicWindow(QMainWindow, Ui_BasicWindow):
5609 if self.__itemTreeDict.has_key(inputId):
5794 if self.__itemTreeDict.has_key(inputId):
5610 self.parentItem = self.__itemTreeDict[inputId]
5795 self.parentItem = self.__itemTreeDict[inputId]
5611 else:
5796 else:
5612 self.parentItem = self.__itemTreeDict[inputId[0]]
5797 #If parent is a Reader object
5798 self.parentItem = self.__itemTreeDict[inputId[:-1]]
5613
5799
5614 self.parentItem.appendRow(itemTree)
5800 self.parentItem.appendRow(itemTree)
5615 self.projectExplorerTree.expandAll()
5801 self.projectExplorerTree.expandAll()
@@ -5644,7 +5830,6 class BasicWindow(QMainWindow, Ui_BasicWindow):
5644 projectId = puObj.parentId
5830 projectId = puObj.parentId
5645
5831
5646 projectObj = self.__projectObjDict[projectId]
5832 projectObj = self.__projectObjDict[projectId]
5647
5648 return projectObj
5833 return projectObj
5649
5834
5650 return None
5835 return None
@@ -5663,11 +5848,47 class BasicWindow(QMainWindow, Ui_BasicWindow):
5663 fatherObj = self.__projectObjDict[key]
5848 fatherObj = self.__projectObjDict[key]
5664 else:
5849 else:
5665 fatherObj = self.__puObjDict[key]
5850 fatherObj = self.__puObjDict[key]
5666
5851
5667 return fatherObj
5852 return fatherObj
5668
5853
5669 return None
5854 return None
5670
5855
5856 def _WarningWindow(self, text, information):
5857
5858 msgBox = QtGui.QMessageBox()
5859 msgBox.setText(text)
5860 msgBox.setInformativeText(information)
5861 msgBox.setStandardButtons(QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel)
5862 msgBox.setDefaultButton(QtGui.QMessageBox.Ok)
5863 ret = msgBox.exec_()
5864
5865 answer = False
5866
5867 if ret == QtGui.QMessageBox.Ok:
5868 answer = True
5869
5870 return answer
5871
5872 def __getNewProjectId(self):
5873
5874 loadProject = False
5875
5876 for thisId in range(1,10):
5877 newId = str(thisId)
5878 if newId in self.__projectObjDict.keys():
5879 continue
5880
5881 loadProject = True
5882 projectId = newId
5883 break
5884
5885 if not loadProject:
5886 self.console.clear()
5887 self.console.append("The maximum number of projects has been loaded, a new project can not be loaded")
5888 return None
5889
5890 return projectId
5891
5671 def openProject(self):
5892 def openProject(self):
5672
5893
5673 self.actionStart.setEnabled(False)
5894 self.actionStart.setEnabled(False)
@@ -5678,10 +5899,11 class BasicWindow(QMainWindow, Ui_BasicWindow):
5678
5899
5679 # print self.dir
5900 # print self.dir
5680 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.pathWorkSpace, self.tr("Text Files (*.xml)")))
5901 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.pathWorkSpace, self.tr("Text Files (*.xml)")))
5681 self.console.clear()
5902
5682 projectObjLoad = Project()
5903 projectObjLoad = Project()
5904
5683 try:
5905 try:
5684 projectObjLoad.readXml(filename)
5906 projectObjLoad.readXml(filename)
5685 except:
5907 except:
5686 self.console.clear()
5908 self.console.clear()
5687 self.console.append("The selected xml file could not be loaded ...")
5909 self.console.append("The selected xml file could not be loaded ...")
@@ -5689,36 +5911,26 class BasicWindow(QMainWindow, Ui_BasicWindow):
5689
5911
5690 self.refreshProjectWindow2(projectObjLoad)
5912 self.refreshProjectWindow2(projectObjLoad)
5691 self.refreshProjectProperties(projectObjLoad)
5913 self.refreshProjectProperties(projectObjLoad)
5692 # project_name, description = projectObjLoad.name, projectObjLoad.description
5914
5693 id = projectObjLoad.id
5915 projectId = projectObjLoad.id
5694 self.__projectObjDict[id] = projectObjLoad
5916
5695 # # Project Properties
5917 if projectId in self.__projectObjDict.keys():
5696 # datatype, data_path, startDate, endDate, startTime, endTime , online , delay, walk, set = self.showProjectProperties(projectObjLoad)
5918
5697 # # show ProjectView
5919 # answer = self._WarningWindow("You already have a project loaded with the same Id",
5698 self.addProject2ProjectExplorer(id=id, name=projectObjLoad.name)
5920 # "Do you want to load the file anyway?")
5699 # self.refreshProjectWindow(project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, set)
5921 # if not answer:
5700 #
5922 # return
5701 # if datatype == "Voltage":
5923
5702 # ext = '.r'
5924 projectId = self.__getNewProjectId()
5703 # self.specOpProfiles.setEnabled(True)
5925
5704 # self.specOpippFactor.setEnabled(True)
5926 if not projectId:
5705 # elif datatype == "Spectra":
5927 return
5706 # ext = '.pdata'
5928
5707 # self.specOpProfiles.setEnabled(False)
5929 projectObjLoad.updateId(projectId)
5708 # self.specOpippFactor.setEnabled(False)
5930
5709 # elif datatype == "Fits":
5931 self.__projectObjDict[projectId] = projectObjLoad
5710 # ext = '.fits'
5932
5711 # elif datatype == "USRP":
5933 self.addProject2ProjectExplorer(id=projectId, name=projectObjLoad.name)
5712 # ext = '.hdf5'
5713 #
5714 # if online == 0:
5715 # self.loadDays(data_path, ext, walk)
5716 # else:
5717 # self.proComStartDate.setEnabled(False)
5718 # self.proComEndDate.setEnabled(False)
5719 # self.proStartTime.setEnabled(False)
5720 # self.proEndTime.setEnabled(False)
5721 # self.frame_2.setEnabled(True)
5722
5934
5723 self.tabWidgetProject.setEnabled(True)
5935 self.tabWidgetProject.setEnabled(True)
5724 self.tabWidgetProject.setCurrentWidget(self.tabProject)
5936 self.tabWidgetProject.setCurrentWidget(self.tabProject)
@@ -5728,28 +5940,8 class BasicWindow(QMainWindow, Ui_BasicWindow):
5728
5940
5729 for puId, puObj in puObjorderList.items():
5941 for puId, puObj in puObjorderList.items():
5730
5942
5731 # print "%s %s %s %s %s" %(puObj.datatype, inputId, puObj.inputId, puObj.getId(), puObj.parentId)
5732
5733 self.__puObjDict[puId] = puObj
5943 self.__puObjDict[puId] = puObj
5734
5944
5735 if puObj.inputId != '0':
5736 self.addPU2PELoadXML(id=puId , name=puObj.datatype , inputId=puObj.inputId)
5737
5738 if puObj.datatype == "Voltage":
5739 self.refreshPUWindow(puObj.datatype, puObj)
5740 self.refreshPUProperties(puObj)
5741 self.showtabPUCreated(datatype=puObj.datatype)
5742
5743 if puObj.datatype == "Spectra":
5744 self.refreshPUWindow(puObj.datatype, puObj)
5745 self.refreshPUProperties(puObj)
5746 self.showtabPUCreated(datatype=puObj.datatype)
5747
5748 if puObj.datatype == "SpectraHeis":
5749 self.refreshPUWindow(puObj.datatype, puObj)
5750 self.refreshPUProperties(puObj)
5751 self.showtabPUCreated(datatype=puObj.datatype)
5752
5753 if puObj.name == "SendToServer":
5945 if puObj.name == "SendToServer":
5754 self.__ftpProcUnitAdded = True
5946 self.__ftpProcUnitAdded = True
5755 self.__ftpProcUnitId = puObj.getId()
5947 self.__ftpProcUnitId = puObj.getId()
@@ -5757,9 +5949,19 class BasicWindow(QMainWindow, Ui_BasicWindow):
5757 opObj = puObj.getOperationObj(name="run")
5949 opObj = puObj.getOperationObj(name="run")
5758 self.saveFTPvalues(opObj)
5950 self.saveFTPvalues(opObj)
5759
5951
5760 # self.console.clear()
5952 if puObj.inputId == '0':
5953 continue
5954
5955 self.addPU2PELoadXML(id=puId , name=puObj.datatype , inputId=puObj.inputId)
5956
5957 if puObj.datatype in ("Voltage", "Spectra", "SpectraHeis"):
5958 self.refreshPUWindow(puObj.datatype, puObj)
5959 self.refreshPUProperties(puObj)
5960 self.showtabPUCreated(datatype=puObj.datatype)
5961
5962
5963 self.console.clear()
5761 self.console.append("The selected xml file has been loaded successfully")
5964 self.console.append("The selected xml file has been loaded successfully")
5762 # self.refreshPUWindow(datatype=datatype,puObj=puObj)
5763
5965
5764 self.actionStart.setEnabled(True)
5966 self.actionStart.setEnabled(True)
5765 self.actionStarToolbar.setEnabled(True)
5967 self.actionStarToolbar.setEnabled(True)
@@ -5773,24 +5975,23 class BasicWindow(QMainWindow, Ui_BasicWindow):
5773 if not self.controllerObj.isAlive():
5975 if not self.controllerObj.isAlive():
5774 self.stopProject()
5976 self.stopProject()
5775
5977
5776 def playProject(self, ext=".xml"):
5978 def playProject(self, ext=".xml", save=0):
5777
5979
5980 # self.console.clear()
5778 projectObj = self.getSelectedProjectObj()
5981 projectObj = self.getSelectedProjectObj()
5779
5982
5780 if not projectObj:
5983 if not projectObj:
5781 print "Please select a project before pressing PLAY"
5984 print "Please select a project before pressing PLAY"
5782 return
5985 return
5783
5986
5784 filename = os.path.join(str(self.pathWorkSpace),
5987 if save:
5785 "%s%s%s" %(str(projectObj.name), str(projectObj.id), ext)
5988 filename = self.saveProject()
5786 )
5989 if filename == None:
5787
5990 self.console.append("Process did not initialize.")
5788 self.console.clear()
5991 return
5789 filename = self.saveProject()
5992 else:
5790 # projectObj.writeXml(filename)
5993 filename = TEMPORAL_FILE
5791 if filename == None:
5994 projectObj.writeXml(filename)
5792 self.console.append("Process did not initialize.")
5793 return
5794
5995
5795 self.actionStart.setEnabled(False)
5996 self.actionStart.setEnabled(False)
5796 self.actionPause.setEnabled(True)
5997 self.actionPause.setEnabled(True)
@@ -5838,15 +6039,26 class BasicWindow(QMainWindow, Ui_BasicWindow):
5838 self.actionPauseToolbar.setEnabled(True)
6039 self.actionPauseToolbar.setEnabled(True)
5839 self.actionStopToolbar.setEnabled(True)
6040 self.actionStopToolbar.setEnabled(True)
5840
6041
5841 def saveProject(self):
6042 def saveProject(self, filename=None):
5842
6043
5843 self.actionStart.setEnabled(False)
6044 self.actionStart.setEnabled(False)
5844 self.actionStarToolbar.setEnabled(False)
6045 self.actionStarToolbar.setEnabled(False)
5845
6046
6047 projectObj = self.getSelectedProjectObj()
6048 self.refreshGraphicsId()
6049
5846 sts = True
6050 sts = True
5847 puObj = self.getSelectedItemObj()
6051 selectedItemObj = self.getSelectedItemObj()
6052
6053 #A Processing Unit has been selected
6054 if projectObj == selectedItemObj:
6055 if not self.on_proOk_clicked():
6056 return None
5848
6057
5849 if puObj != None:
6058 #A Processing Unit has been selected
6059 if projectObj != selectedItemObj:
6060 puObj = selectedItemObj
6061
5850 if puObj.name == 'VoltageProc':
6062 if puObj.name == 'VoltageProc':
5851 sts = self.on_volOpOk_clicked()
6063 sts = self.on_volOpOk_clicked()
5852 if puObj.name == 'SpectraProc':
6064 if puObj.name == 'SpectraProc':
@@ -5856,25 +6068,12 class BasicWindow(QMainWindow, Ui_BasicWindow):
5856
6068
5857 if not sts:
6069 if not sts:
5858 return None
6070 return None
5859
6071
5860 projectObj = self.getSelectedProjectObj()
6072 if not filename:
5861 puObjorderList = OrderedDict(sorted(projectObj.procUnitConfObjDict.items(), key=lambda x: x[0]))
6073 filename = os.path.join( str(self.pathWorkSpace), "%s%s" %(str(projectObj.name), '.xml') )
5862
6074
5863 for inputId, puObj in puObjorderList.items():
5864 # print puObj.datatype, puObj.inputId,puObj.getId(),puObj.parentId
5865
5866 if puObj.name == "VoltageProc":
5867 self.refreshID(puObj)
5868 if puObj.name == "SpectraProc":
5869 self.refreshID(puObj)
5870 if puObj.name == "SpectraHeisProc":
5871 self.refreshID(puObj)
5872
5873 filename = os.path.join(str(self.pathWorkSpace),
5874 "%s%s%s" %(str(projectObj.name), str(projectObj.id), '.xml')
5875 )
5876 projectObj.writeXml(filename)
6075 projectObj.writeXml(filename)
5877 self.console.append("Now, you can press the Start Icon on the toolbar")
6076 self.console.append("Now, you can press Start Button on the toolbar")
5878
6077
5879 self.actionStart.setEnabled(True)
6078 self.actionStart.setEnabled(True)
5880 self.actionStarToolbar.setEnabled(True)
6079 self.actionStarToolbar.setEnabled(True)
@@ -5964,7 +6163,6 class BasicWindow(QMainWindow, Ui_BasicWindow):
5964 try:
6163 try:
5965 set = int(self.proSet.text())
6164 set = int(self.proSet.text())
5966 except:
6165 except:
5967 self.console.clear()
5968 set = None
6166 set = None
5969
6167
5970
6168
@@ -6007,15 +6205,21 class BasicWindow(QMainWindow, Ui_BasicWindow):
6007 endTime = "23:59:59"
6205 endTime = "23:59:59"
6008 starlist = startTime.split(":")
6206 starlist = startTime.split(":")
6009 endlist = endTime.split(":")
6207 endlist = endTime.split(":")
6010 self.proDelay.setText("0")
6208 self.proDelay.setText("60")
6011 self.proSet.setText("0")
6209 self.proSet.setText("")
6210
6211 self.labelSet.show()
6212 self.proSet.show()
6213
6214 self.labelIPPKm.hide()
6215 self.proIPPKm.hide()
6216
6012 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
6217 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
6013 self.proStartTime.setTime(self.time)
6218 self.proStartTime.setTime(self.time)
6014 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
6219 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
6015 self.proEndTime.setTime(self.time)
6220 self.proEndTime.setTime(self.time)
6016 self.proDescription.clear()
6221 self.proDescription.clear()
6017 self.proOk.setEnabled(False)
6222 self.proOk.setEnabled(False)
6018 self.console.clear()
6019 # self.console.append("Please, Write a name Project")
6223 # self.console.append("Please, Write a name Project")
6020 # self.console.append("Introduce Project Parameters")DC
6224 # self.console.append("Introduce Project Parameters")DC
6021 # self.console.append("Select data type Voltage( .rawdata) or Spectra(.pdata)")
6225 # self.console.append("Select data type Voltage( .rawdata) or Spectra(.pdata)")
@@ -6235,9 +6439,9 class BasicWindow(QMainWindow, Ui_BasicWindow):
6235 try:
6439 try:
6236 delay = int(str(self.proDelay.text()))
6440 delay = int(str(self.proDelay.text()))
6237 except:
6441 except:
6238 outputstr = 'Delay: %s, this must be a integer number' % str(self.proName.text())
6442 outputstr = 'Delay: %s, this must be a integer number' % str(self.proDelay.text())
6239 self.console.append(outputstr)
6443 self.console.append(outputstr)
6240 parms_ok = False
6444 # parms_ok = False
6241 delay = None
6445 delay = None
6242
6446
6243 try:
6447 try:
@@ -6488,11 +6692,14 class BasicWindow(QMainWindow, Ui_BasicWindow):
6488 dateList = self.findDatafiles(data_path, ext=ext, walk=walk, expLabel=expLabel)
6692 dateList = self.findDatafiles(data_path, ext=ext, walk=walk, expLabel=expLabel)
6489
6693
6490 if not dateList:
6694 if not dateList:
6491 self.console.clear()
6695 # self.console.clear()
6492 outputstr = "The path: %s is empty with file extension *%s" % (data_path, ext)
6696 outputstr = "The path: %s is empty with file extension *%s" % (data_path, ext)
6493 self.console.append(outputstr)
6697 self.console.append(outputstr)
6494 return
6698 return
6495
6699
6700 self.proComStartDate.clear()
6701 self.proComEndDate.clear()
6702
6496 dateStrList = []
6703 dateStrList = []
6497 for thisDate in dateList:
6704 for thisDate in dateList:
6498 dateStr = thisDate.strftime("%Y/%m/%d")
6705 dateStr = thisDate.strftime("%Y/%m/%d")
@@ -6500,8 +6707,9 class BasicWindow(QMainWindow, Ui_BasicWindow):
6500 self.proComStartDate.addItem(dateStr)
6707 self.proComStartDate.addItem(dateStr)
6501 self.proComEndDate.addItem(dateStr)
6708 self.proComEndDate.addItem(dateStr)
6502 dateStrList.append(dateStr)
6709 dateStrList.append(dateStr)
6503
6710
6504 self.proComEndDate.setCurrentIndex(self.proComStartDate.count() - 1)
6711 self.proComStartDate.setCurrentIndex(0)
6712 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - 1)
6505
6713
6506 self.dateList = dateStrList
6714 self.dateList = dateStrList
6507 self.proOk.setEnabled(True)
6715 self.proOk.setEnabled(True)
@@ -6691,8 +6899,8 class BasicWindow(QMainWindow, Ui_BasicWindow):
6691 self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3')
6899 self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3')
6692 self.volOpOk.setToolTip('If you have finished, please Ok ')
6900 self.volOpOk.setToolTip('If you have finished, please Ok ')
6693 # tool tip gui volGraph
6901 # tool tip gui volGraph
6694 self.volGraphfreqrange.setToolTip('Example: -30,30')
6902 self.volGraphfreqrange.setToolTip('Height range. Example: 50,100')
6695 self.volGraphHeightrange.setToolTip('Example: 20,180')
6903 self.volGraphHeightrange.setToolTip('Amplitude. Example: 0,10000')
6696 # tool tip gui specOp
6904 # tool tip gui specOp
6697 self.specOpnFFTpoints.setToolTip('Example: 128')
6905 self.specOpnFFTpoints.setToolTip('Example: 128')
6698 self.specOpProfiles.setToolTip('Example: 128')
6906 self.specOpProfiles.setToolTip('Example: 128')
@@ -12,7 +12,8 Classes to save parameters from Windows.
12 class ProjectParms():
12 class ProjectParms():
13
13
14 parmsOk = False
14 parmsOk = False
15 project_name = None
15 name = None
16 description = None
16 datatype = None
17 datatype = None
17 ext = None
18 ext = None
18 dpath = None
19 dpath = None
@@ -30,23 +31,24 class ProjectParms():
30 def __init__(self):
31 def __init__(self):
31
32
32 self.parmsOk = True
33 self.parmsOk = True
34 self.description = ''
33 self.expLabel = ''
35 self.expLabel = ''
34 self.set = None
36 self.set = ''
35 self.ippKm = None
37 self.ippKm = ''
36 self.walk = None
38 self.walk = None
37 self.delay = None
39 self.delay = ''
38
40
39 def getDatatypeIndex(self):
41 def getDatatypeIndex(self):
40
42
41 indexDatatype = None
43 indexDatatype = None
42
44
43 if self.datatype.lower() == 'voltage':
45 if 'voltage' in self.datatype.lower():
44 indexDatatype = 0
46 indexDatatype = 0
45 if self.datatype.lower() == 'spectra':
47 if 'spectra' in self.datatype.lower():
46 indexDatatype = 1
48 indexDatatype = 1
47 if self.datatype.lower() == 'fits':
49 if 'fits' in self.datatype.lower():
48 indexDatatype = 2
50 indexDatatype = 2
49 if self.datatype.lower() == 'usrp':
51 if 'usrp' in self.datatype.lower():
50 indexDatatype = 3
52 indexDatatype = 3
51
53
52 return indexDatatype
54 return indexDatatype
@@ -70,7 +72,7 class ProjectParms():
70 startDate=None, endDate=None, startTime=None, endTime=None,
72 startDate=None, endDate=None, startTime=None, endTime=None,
71 delay=None, walk=None, set=None, ippKm=None, parmsOk=True):
73 delay=None, walk=None, set=None, ippKm=None, parmsOk=True):
72
74
73 project_name = project_name
75 name = project_name
74 datatype = datatype
76 datatype = datatype
75 ext = ext
77 ext = ext
76 dpath = dpath
78 dpath = dpath
@@ -84,4 +86,8 class ProjectParms():
84 set = set
86 set = set
85 ippKm = ippKm
87 ippKm = ippKm
86
88
87 self.parmsOk = parmsOk No newline at end of file
89 self.parmsOk = parmsOk
90
91 def isValid(self):
92
93 return self.parmsOk No newline at end of file
@@ -59,7 +59,7 class Ui_EnvWindow(object):
59 def setupUi(self, MainWindow):
59 def setupUi(self, MainWindow):
60
60
61 MainWindow.setObjectName(_fromUtf8("MainWindow"))
61 MainWindow.setObjectName(_fromUtf8("MainWindow"))
62 MainWindow.resize(1203, 711)
62 MainWindow.resize(1200, 800)
63
63
64 self.centralWidget = QtGui.QWidget(MainWindow)
64 self.centralWidget = QtGui.QWidget(MainWindow)
65 self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
65 self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
@@ -62,15 +62,15 class Ui_ProjectTab(object):
62 self.gridLayout_2.addWidget(self.label_23, 3, 0, 1, 1)
62 self.gridLayout_2.addWidget(self.label_23, 3, 0, 1, 1)
63 self.proComReadMode = QtGui.QComboBox(self.frame)
63 self.proComReadMode = QtGui.QComboBox(self.frame)
64 self.proComReadMode.setObjectName(_fromUtf8("proComReadMode"))
64 self.proComReadMode.setObjectName(_fromUtf8("proComReadMode"))
65 self.proComReadMode.addItem(_fromUtf8("------"))
65 self.proComReadMode.addItem(_fromUtf8(""))
66 self.proComReadMode.addItem(_fromUtf8(""))
66 self.proComReadMode.addItem(_fromUtf8(""))
67 self.gridLayout_2.addWidget(self.proComReadMode, 3, 1, 1, 4)
67 self.gridLayout_2.addWidget(self.proComReadMode, 3, 1, 1, 2)
68 self.label_33 = QtGui.QLabel(self.frame)
68 self.label_33 = QtGui.QLabel(self.frame)
69 self.label_33.setObjectName(_fromUtf8("label_33"))
69 self.label_33.setObjectName(_fromUtf8("label_33"))
70 self.gridLayout_2.addWidget(self.label_33, 3, 5, 1, 2)
70 self.gridLayout_2.addWidget(self.label_33, 3, 5, 1, 1)
71 self.proDelay = QtGui.QLineEdit(self.frame)
71 self.proDelay = QtGui.QLineEdit(self.frame)
72 self.proDelay.setObjectName(_fromUtf8("proDelay"))
72 self.proDelay.setObjectName(_fromUtf8("proDelay"))
73 self.gridLayout_2.addWidget(self.proDelay, 3, 8, 1, 1)
73 self.gridLayout_2.addWidget(self.proDelay, 3, 6, 1, 1)
74 self.label_32 = QtGui.QLabel(self.frame)
74 self.label_32 = QtGui.QLabel(self.frame)
75 self.label_32.setObjectName(_fromUtf8("label_32"))
75 self.label_32.setObjectName(_fromUtf8("label_32"))
76 self.gridLayout_2.addWidget(self.label_32, 4, 0, 1, 1)
76 self.gridLayout_2.addWidget(self.label_32, 4, 0, 1, 1)
@@ -82,12 +82,20 class Ui_ProjectTab(object):
82 self.proLoadButton = QtGui.QPushButton(self.frame)
82 self.proLoadButton = QtGui.QPushButton(self.frame)
83 self.proLoadButton.setObjectName(_fromUtf8("proLoadButton"))
83 self.proLoadButton.setObjectName(_fromUtf8("proLoadButton"))
84 self.gridLayout_2.addWidget(self.proLoadButton, 5, 0, 1, 9)
84 self.gridLayout_2.addWidget(self.proLoadButton, 5, 0, 1, 9)
85 self.label_10 = QtGui.QLabel(self.frame)
85 self.labelSet = QtGui.QLabel(self.frame)
86 self.label_10.setObjectName(_fromUtf8("label_10"))
86 self.labelSet.setObjectName(_fromUtf8("labelSet"))
87 self.gridLayout_2.addWidget(self.label_10, 3, 3, 1, 1)
87 self.gridLayout_2.addWidget(self.labelSet, 3, 7, 1, 1)
88 self.proSet = QtGui.QLineEdit(self.frame)
88 self.proSet = QtGui.QLineEdit(self.frame)
89 self.proSet.setObjectName(_fromUtf8("proSet"))
89 self.proSet.setObjectName(_fromUtf8("proSet"))
90 self.gridLayout_2.addWidget(self.proSet, 3, 4, 1, 1)
90 self.gridLayout_2.addWidget(self.proSet, 3, 8, 1, 1)
91 self.labelIPPKm = QtGui.QLabel(self.frame)
92 self.labelIPPKm.setObjectName(_fromUtf8("labelIPPKm"))
93 self.gridLayout_2.addWidget(self.labelIPPKm, 3, 7, 1, 1)
94 self.proIPPKm = QtGui.QLineEdit(self.frame)
95 self.proIPPKm.setObjectName(_fromUtf8("proIPPKm"))
96 self.gridLayout_2.addWidget(self.proIPPKm, 3, 8, 1, 1)
97
98
91 self.gridLayout_15.addWidget(self.frame, 0, 0, 1, 1)
99 self.gridLayout_15.addWidget(self.frame, 0, 0, 1, 1)
92 self.frame_2 = QtGui.QFrame(self.tabProject)
100 self.frame_2 = QtGui.QFrame(self.tabProject)
93 self.frame_2.setFrameShape(QtGui.QFrame.StyledPanel)
101 self.frame_2.setFrameShape(QtGui.QFrame.StyledPanel)
@@ -160,7 +168,8 class Ui_ProjectTab(object):
160 self.proComWalk.setItemText(0, _translate("MainWindow", "On Files", None))
168 self.proComWalk.setItemText(0, _translate("MainWindow", "On Files", None))
161 self.proComWalk.setItemText(1, _translate("MainWindow", "On Folder", None))
169 self.proComWalk.setItemText(1, _translate("MainWindow", "On Folder", None))
162 self.proLoadButton.setText(_translate("MainWindow", "Load", None))
170 self.proLoadButton.setText(_translate("MainWindow", "Load", None))
163 self.label_10.setText(_translate("MainWindow", "Set:", None))
171 self.labelSet.setText(_translate("MainWindow", "Set:", None))
172 self.labelIPPKm.setText(_translate("MainWindow", "IPP (km):", None))
164 self.label_27.setText(_translate("MainWindow", "Star Date:", None))
173 self.label_27.setText(_translate("MainWindow", "Star Date:", None))
165 self.label_28.setText(_translate("MainWindow", "End Date:", None))
174 self.label_28.setText(_translate("MainWindow", "End Date:", None))
166 self.label_2.setText(_translate("MainWindow", "Start Time:", None))
175 self.label_2.setText(_translate("MainWindow", "Start Time:", None))
@@ -67,6 +67,7 class Ui_VoltageTab(object):
67 self.volOpComProfile.setObjectName(_fromUtf8("volOpComProfile"))
67 self.volOpComProfile.setObjectName(_fromUtf8("volOpComProfile"))
68 self.volOpComProfile.addItem(_fromUtf8(""))
68 self.volOpComProfile.addItem(_fromUtf8(""))
69 self.volOpComProfile.addItem(_fromUtf8(""))
69 self.volOpComProfile.addItem(_fromUtf8(""))
70 self.volOpComProfile.addItem(_fromUtf8(""))
70 self.gridLayout.addWidget(self.volOpComProfile, 7, 0, 1, 3)
71 self.gridLayout.addWidget(self.volOpComProfile, 7, 0, 1, 3)
71 self.volOpCebDecodification = QtGui.QCheckBox(self.tabopVoltage)
72 self.volOpCebDecodification = QtGui.QCheckBox(self.tabopVoltage)
72 self.volOpCebDecodification.setObjectName(_fromUtf8("volOpCebDecodification"))
73 self.volOpCebDecodification.setObjectName(_fromUtf8("volOpCebDecodification"))
@@ -86,9 +87,6 class Ui_VoltageTab(object):
86 self.volOpChannel = QtGui.QLineEdit(self.tabopVoltage)
87 self.volOpChannel = QtGui.QLineEdit(self.tabopVoltage)
87 self.volOpChannel.setObjectName(_fromUtf8("volOpChannel"))
88 self.volOpChannel.setObjectName(_fromUtf8("volOpChannel"))
88 self.gridLayout.addWidget(self.volOpChannel, 2, 4, 1, 1)
89 self.gridLayout.addWidget(self.volOpChannel, 2, 4, 1, 1)
89 self.label_4 = QtGui.QLabel(self.tabopVoltage)
90 self.label_4.setObjectName(_fromUtf8("label_4"))
91 self.gridLayout.addWidget(self.label_4, 9, 2, 1, 1)
92 self.volOpCebChannels = QtGui.QCheckBox(self.tabopVoltage)
90 self.volOpCebChannels = QtGui.QCheckBox(self.tabopVoltage)
93 self.volOpCebChannels.setObjectName(_fromUtf8("volOpCebChannels"))
91 self.volOpCebChannels.setObjectName(_fromUtf8("volOpCebChannels"))
94 self.gridLayout.addWidget(self.volOpCebChannels, 1, 0, 1, 3)
92 self.gridLayout.addWidget(self.volOpCebChannels, 1, 0, 1, 3)
@@ -104,9 +102,6 class Ui_VoltageTab(object):
104 self.volOpCebRadarfrequency = QtGui.QCheckBox(self.tabopVoltage)
102 self.volOpCebRadarfrequency = QtGui.QCheckBox(self.tabopVoltage)
105 self.volOpCebRadarfrequency.setObjectName(_fromUtf8("volOpCebRadarfrequency"))
103 self.volOpCebRadarfrequency.setObjectName(_fromUtf8("volOpCebRadarfrequency"))
106 self.gridLayout.addWidget(self.volOpCebRadarfrequency, 0, 0, 1, 3)
104 self.gridLayout.addWidget(self.volOpCebRadarfrequency, 0, 0, 1, 3)
107 self.label_5 = QtGui.QLabel(self.tabopVoltage)
108 self.label_5.setObjectName(_fromUtf8("label_5"))
109 self.gridLayout.addWidget(self.label_5, 10, 2, 1, 1)
110 spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
105 spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
111 self.gridLayout.addItem(spacerItem3, 1, 4, 1, 1)
106 self.gridLayout.addItem(spacerItem3, 1, 4, 1, 1)
112 self.volOpCebFlip = QtGui.QCheckBox(self.tabopVoltage)
107 self.volOpCebFlip = QtGui.QCheckBox(self.tabopVoltage)
@@ -122,7 +117,21 class Ui_VoltageTab(object):
122 self.volOpCohInt = QtGui.QLineEdit(self.tabopVoltage)
117 self.volOpCohInt = QtGui.QLineEdit(self.tabopVoltage)
123 self.volOpCohInt.setObjectName(_fromUtf8("volOpCohInt"))
118 self.volOpCohInt.setObjectName(_fromUtf8("volOpCohInt"))
124 self.gridLayout.addWidget(self.volOpCohInt, 12, 4, 1, 1)
119 self.gridLayout.addWidget(self.volOpCohInt, 12, 4, 1, 1)
125
120
121 self.volLabCodeMode = QtGui.QLabel(self.tabopVoltage)
122 self.volLabCodeMode.setObjectName(_fromUtf8("volLabCodeMode"))
123 self.gridLayout.addWidget(self.volLabCodeMode, 8, 2, 1, 1)
124 self.volLabCodeType = QtGui.QLabel(self.tabopVoltage)
125 self.volLabCodeType.setObjectName(_fromUtf8("volLabCodeType"))
126 self.gridLayout.addWidget(self.volLabCodeType, 9, 2, 1, 1)
127 self.volLabCode = QtGui.QLabel(self.tabopVoltage)
128 self.volLabCode.setObjectName(_fromUtf8("volLabCode"))
129 self.gridLayout.addWidget(self.volLabCode, 10, 2, 1, 1)
130 self.volOpComMode = QtGui.QComboBox(self.tabopVoltage)
131 self.volOpComMode.setObjectName(_fromUtf8("volOpComMode"))
132 self.volOpComMode.addItem(_fromUtf8(""))
133 self.volOpComMode.addItem(_fromUtf8(""))
134 self.gridLayout.addWidget(self.volOpComMode, 8, 4, 1, 1)
126 self.volOpComCode = QtGui.QComboBox(self.tabopVoltage)
135 self.volOpComCode = QtGui.QComboBox(self.tabopVoltage)
127 self.volOpComCode.setObjectName(_fromUtf8("volOpComCode"))
136 self.volOpComCode.setObjectName(_fromUtf8("volOpComCode"))
128 self.volOpComCode.addItem(_fromUtf8(""))
137 self.volOpComCode.addItem(_fromUtf8(""))
@@ -138,14 +147,12 class Ui_VoltageTab(object):
138 self.volOpComCode.addItem(_fromUtf8(""))
147 self.volOpComCode.addItem(_fromUtf8(""))
139 self.volOpComCode.addItem(_fromUtf8(""))
148 self.volOpComCode.addItem(_fromUtf8(""))
140 self.volOpComCode.addItem(_fromUtf8(""))
149 self.volOpComCode.addItem(_fromUtf8(""))
150 self.volOpComCode.addItem(_fromUtf8(""))
141 self.gridLayout.addWidget(self.volOpComCode, 9, 4, 1, 1)
151 self.gridLayout.addWidget(self.volOpComCode, 9, 4, 1, 1)
142 self.volOpComMode = QtGui.QComboBox(self.tabopVoltage)
143 self.volOpComMode.setObjectName(_fromUtf8("volOpComMode"))
144 self.volOpComMode.addItem(_fromUtf8(""))
145 self.volOpComMode.addItem(_fromUtf8(""))
146 self.gridLayout.addWidget(self.volOpComMode, 10, 4, 1, 1)
147 self.tabWidgetVoltage.addTab(self.tabopVoltage, _fromUtf8(""))
152 self.tabWidgetVoltage.addTab(self.tabopVoltage, _fromUtf8(""))
148
153 self.volOpCode = QtGui.QLineEdit(self.tabopVoltage)
154 self.volOpCode.setObjectName(_fromUtf8("volOpCode"))
155 self.gridLayout.addWidget(self.volOpCode, 10, 4, 1, 1)
149
156
150 self.tabgraphVoltage = QtGui.QWidget()
157 self.tabgraphVoltage = QtGui.QWidget()
151 self.tabgraphVoltage.setObjectName(_fromUtf8("tabgraphVoltage"))
158 self.tabgraphVoltage.setObjectName(_fromUtf8("tabgraphVoltage"))
@@ -262,41 +269,44 class Ui_VoltageTab(object):
262 self.volOpComChannels.setItemText(1, _translate("MainWindow", "Index", None))
269 self.volOpComChannels.setItemText(1, _translate("MainWindow", "Index", None))
263 self.volOpCebProfile.setText(_translate("MainWindow", "Profile Selector", None))
270 self.volOpCebProfile.setText(_translate("MainWindow", "Profile Selector", None))
264 self.volOpComProfile.setItemText(0, _translate("MainWindow", "Profile List", None))
271 self.volOpComProfile.setItemText(0, _translate("MainWindow", "Profile List", None))
265 self.volOpComProfile.setItemText(1, _translate("MainWindow", "Profile Range List", None))
272 self.volOpComProfile.setItemText(1, _translate("MainWindow", "Profile Range", None))
273 self.volOpComProfile.setItemText(2, _translate("MainWindow", "List of Profile Ranges", None))
266 self.volOpCebDecodification.setText(_translate("MainWindow", "Decoder", None))
274 self.volOpCebDecodification.setText(_translate("MainWindow", "Decoder", None))
267 self.volOpCebCohInt.setText(_translate("MainWindow", "Coherent Integration", None))
275 self.volOpCebCohInt.setText(_translate("MainWindow", "Coherent Integration", None))
268 self.volOpCebFlip.setText(_translate("MainWindow", "Flip", None))
276 self.volOpCebFlip.setText(_translate("MainWindow", "Flip", None))
269 self.label_4.setText(_translate("MainWindow", "Code:", None))
277 self.volLabCodeType.setText(_translate("MainWindow", "Code type:", None))
270 self.volOpCebChannels.setText(_translate("MainWindow", "Select Channels", None))
278 self.volOpCebChannels.setText(_translate("MainWindow", "Select Channels", None))
271 self.volOpCebHeights.setText(_translate("MainWindow", "Select Heights", None))
279 self.volOpCebHeights.setText(_translate("MainWindow", "Select Heights", None))
272 self.volOpCebFilter.setText(_translate("MainWindow", "Filter", None))
280 self.volOpCebFilter.setText(_translate("MainWindow", "Filter", None))
273 self.volOpCebRadarfrequency.setText(_translate("MainWindow", "Radar Frequency", None))
281 self.volOpCebRadarfrequency.setText(_translate("MainWindow", "Radar Frequency", None))
274 self.label_5.setText(_translate("MainWindow", "Mode:", None))
282 self.volLabCodeMode.setText(_translate("MainWindow", "Mode:", None))
275 self.volOpComCode.setItemText(0, _translate("MainWindow", "Barker 3", None))
283 self.volLabCode.setText(_translate("MainWindow", "Code:", None))
276 self.volOpComCode.setItemText(1, _translate("MainWindow", "Barker 4", None))
284 self.volOpComCode.setItemText(0, _translate("MainWindow", "Read from header", None))
277 self.volOpComCode.setItemText(2, _translate("MainWindow", "Barker 5", None))
285 self.volOpComCode.setItemText(1, _translate("MainWindow", "Barker 3", None))
278 self.volOpComCode.setItemText(3, _translate("MainWindow", "Barker 7", None))
286 self.volOpComCode.setItemText(2, _translate("MainWindow", "Barker 4", None))
279 self.volOpComCode.setItemText(4, _translate("MainWindow", "Barker 11", None))
287 self.volOpComCode.setItemText(3, _translate("MainWindow", "Barker 5", None))
280 self.volOpComCode.setItemText(5, _translate("MainWindow", "Barker 13", None))
288 self.volOpComCode.setItemText(4, _translate("MainWindow", "Barker 7", None))
281 self.volOpComCode.setItemText(6, _translate("MainWindow", "Barker 3 + Comp.", None))
289 self.volOpComCode.setItemText(5, _translate("MainWindow", "Barker 11", None))
282 self.volOpComCode.setItemText(7, _translate("MainWindow", "Barker 4 + Comp.", None))
290 self.volOpComCode.setItemText(6, _translate("MainWindow", "Barker 13", None))
283 self.volOpComCode.setItemText(8, _translate("MainWindow", "Barker 5 + Comp.", None))
291 self.volOpComCode.setItemText(7, _translate("MainWindow", "Barker 3 + Comp.", None))
284 self.volOpComCode.setItemText(9, _translate("MainWindow", "Barker 7 + Comp.", None))
292 self.volOpComCode.setItemText(8, _translate("MainWindow", "Barker 4 + Comp.", None))
285 self.volOpComCode.setItemText(10, _translate("MainWindow", "Barker 11+ Comp.", None))
293 self.volOpComCode.setItemText(9, _translate("MainWindow", "Barker 5 + Comp.", None))
286 self.volOpComCode.setItemText(11, _translate("MainWindow", "Barker 13+ Comp.", None))
294 self.volOpComCode.setItemText(10, _translate("MainWindow", "Barker 7 + Comp.", None))
287 self.volOpComCode.setItemText(12, _translate("MainWindow", "Read from header", None))
295 self.volOpComCode.setItemText(11, _translate("MainWindow", "Barker 11+ Comp.", None))
296 self.volOpComCode.setItemText(12, _translate("MainWindow", "Barker 13+ Comp.", None))
297 self.volOpComCode.setItemText(13, _translate("MainWindow", "User defined", None))
288 self.volOpComMode.setItemText(0, _translate("MainWindow", "Time", None))
298 self.volOpComMode.setItemText(0, _translate("MainWindow", "Time", None))
289 self.volOpComMode.setItemText(1, _translate("MainWindow", "Freq 1", None))
299 self.volOpComMode.setItemText(1, _translate("MainWindow", "Frequency", None))
290 self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.tabopVoltage), _translate("MainWindow", "Operation", None))
300 self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.tabopVoltage), _translate("MainWindow", "Operation", None))
291
301
292 self.volGraphToolPath.setText(_translate("MainWindow", "...", None))
302 self.volGraphToolPath.setText(_translate("MainWindow", "...", None))
293 self.label_14.setText(_translate("MainWindow", "Scope", None))
303 self.label_14.setText(_translate("MainWindow", "Scope", None))
294 self.label_8.setText(_translate("MainWindow", "Channel List", None))
304 self.label_8.setText(_translate("MainWindow", "Channel List", None))
295 self.label_49.setText(_translate("MainWindow", "Show", None))
305 self.label_49.setText(_translate("MainWindow", "Show", None))
296 self.label_51.setText(_translate("MainWindow", "Freq/Vel", None))
306 self.label_51.setText(_translate("MainWindow", "Height range", None))
297 self.label_12.setText(_translate("MainWindow", "Path :", None))
307 self.label_12.setText(_translate("MainWindow", "Path :", None))
298 self.label_13.setText(_translate("MainWindow", "Prefix:", None))
308 self.label_13.setText(_translate("MainWindow", "Figure name:", None))
299 self.label_52.setText(_translate("MainWindow", "Height range", None))
309 self.label_52.setText(_translate("MainWindow", "Amplitude", None))
300 self.label_50.setText(_translate("MainWindow", "Save", None))
310 self.label_50.setText(_translate("MainWindow", "Save", None))
301 self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.tabgraphVoltage), _translate("MainWindow", "Graphics", None))
311 self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.tabgraphVoltage), _translate("MainWindow", "Graphics", None))
302
312
@@ -225,8 +225,8 class Figure(Operation):
225 return
225 return
226
226
227 # store png plot to FTP server according to RT-Web format
227 # store png plot to FTP server according to RT-Web format
228 name = self.getNameToFtp(thisDatetime, self.FTP_WEI, self.EXP_CODE, self.SUB_EXP_CODE, self.PLOT_CODE, self.PLOT_POS)
228 ftp_filename = self.getNameToFtp(thisDatetime, self.FTP_WEI, self.EXP_CODE, self.SUB_EXP_CODE, self.PLOT_CODE, self.PLOT_POS)
229 ftp_filename = os.path.join(figpath, name)
229 # ftp_filename = os.path.join(figpath, name)
230 self.saveFigure(figpath, ftp_filename)
230 self.saveFigure(figpath, ftp_filename)
231
231
232 def getNameToFtp(self, thisDatetime, FTP_WEI, EXP_CODE, SUB_EXP_CODE, PLOT_CODE, PLOT_POS):
232 def getNameToFtp(self, thisDatetime, FTP_WEI, EXP_CODE, SUB_EXP_CODE, PLOT_CODE, PLOT_POS):
@@ -129,6 +129,9 class USRPReader(ProcessingUnit):
129
129
130 channelNameList = digitalReadObj.get_channels()
130 channelNameList = digitalReadObj.get_channels()
131
131
132 if not channelNameList:
133 return []
134
132 metadata_dict = digitalReadObj.get_rf_file_metadata(channelNameList[0])
135 metadata_dict = digitalReadObj.get_rf_file_metadata(channelNameList[0])
133
136
134 sample_rate = metadata_dict['sample_rate'][0]
137 sample_rate = metadata_dict['sample_rate'][0]
@@ -206,6 +206,9 class VoltageProc(ProcessingUnit):
206 self.dataOut.data = data
206 self.dataOut.data = data
207 self.dataOut.heightList = self.dataOut.heightList[minIndex:maxIndex]
207 self.dataOut.heightList = self.dataOut.heightList[minIndex:maxIndex]
208
208
209 if self.dataOut.nHeights <= 1:
210 raise ValueError, "selectHeights: Too few heights. Current number of heights is %d" %(self.dataOut.nHeights)
211
209 return 1
212 return 1
210
213
211
214
@@ -218,7 +221,11 class VoltageProc(ProcessingUnit):
218
221
219 newdelta = deltaHeight * window
222 newdelta = deltaHeight * window
220 r = self.dataOut.nHeights % window
223 r = self.dataOut.nHeights % window
224 newheights = (self.dataOut.nHeights-r)/window
221
225
226 if newheights <= 1:
227 raise ValueError, "filterByHeights: Too few heights. Current number of heights is %d and window is %d" %(self.dataOut.nHeights, window)
228
222 if self.dataOut.flagDataAsBlock:
229 if self.dataOut.flagDataAsBlock:
223 """
230 """
224 Si la data es obtenida por bloques, dimension = [nChannels, nProfiles, nHeis]
231 Si la data es obtenida por bloques, dimension = [nChannels, nProfiles, nHeis]
@@ -232,8 +239,8 class VoltageProc(ProcessingUnit):
232 buffer = buffer.reshape(self.dataOut.nChannels,self.dataOut.nHeights/window,window)
239 buffer = buffer.reshape(self.dataOut.nChannels,self.dataOut.nHeights/window,window)
233 buffer = numpy.sum(buffer,2)
240 buffer = numpy.sum(buffer,2)
234
241
235 self.dataOut.data = buffer.copy()
242 self.dataOut.data = buffer
236 self.dataOut.heightList = numpy.arange(self.dataOut.heightList[0],newdelta*(self.dataOut.nHeights-r)/window,newdelta)
243 self.dataOut.heightList = self.dataOut.heightList[0] + numpy.arange( newheights )*newdelta
237 self.dataOut.windowOfFilter = window
244 self.dataOut.windowOfFilter = window
238
245
239 def setH0(self, h0, deltaHeight = None):
246 def setH0(self, h0, deltaHeight = None):
@@ -619,7 +626,7 class Decoder(Operation):
619
626
620 return self.datadecTime
627 return self.datadecTime
621
628
622 def run(self, dataOut, code=None, nCode=None, nBaud=None, mode = 0, times=None, osamp=None):
629 def run(self, dataOut, code=None, nCode=None, nBaud=None, mode = 0, osamp=None):
623
630
624 if not self.isConfig:
631 if not self.isConfig:
625
632
@@ -654,9 +661,6 class Decoder(Operation):
654 dataOut.code = self.code
661 dataOut.code = self.code
655 dataOut.nCode = self.nCode
662 dataOut.nCode = self.nCode
656 dataOut.nBaud = self.nBaud
663 dataOut.nBaud = self.nBaud
657 dataOut.radarControllerHeaderObj.code = self.code
658 dataOut.radarControllerHeaderObj.nCode = self.nCode
659 dataOut.radarControllerHeaderObj.nBaud = self.nBaud
660
664
661 dataOut.data = datadec
665 dataOut.data = datadec
662
666
@@ -785,14 +789,18 class ProfileSelector(Operation):
785 dataOut.data = dataOut.data[:,profileList,:]
789 dataOut.data = dataOut.data[:,profileList,:]
786 dataOut.nProfiles = len(profileList)
790 dataOut.nProfiles = len(profileList)
787 dataOut.profileIndex = dataOut.nProfiles - 1
791 dataOut.profileIndex = dataOut.nProfiles - 1
788 else:
792
793 if profileRangeList != None:
789 minIndex = profileRangeList[0]
794 minIndex = profileRangeList[0]
790 maxIndex = profileRangeList[1]
795 maxIndex = profileRangeList[1]
791
796
792 dataOut.data = dataOut.data[:,minIndex:maxIndex+1,:]
797 dataOut.data = dataOut.data[:,minIndex:maxIndex+1,:]
793 dataOut.nProfiles = maxIndex - minIndex + 1
798 dataOut.nProfiles = maxIndex - minIndex + 1
794 dataOut.profileIndex = dataOut.nProfiles - 1
799 dataOut.profileIndex = dataOut.nProfiles - 1
795
800
801 if rangeList != None:
802 raise ValueError, "Profile Selector: Not implemented for rangeList yet"
803
796 dataOut.flagNoData = False
804 dataOut.flagNoData = False
797
805
798 return True
806 return True
@@ -865,7 +873,7 class ProfileSelector(Operation):
865 self.incIndex()
873 self.incIndex()
866 return 1
874 return 1
867
875
868 raise ValueError, "ProfileSelector needs profileList or profileRangeList"
876 raise ValueError, "ProfileSelector needs profileList, profileRangeList or rangeList parameter"
869
877
870 return 0
878 return 0
871
879
General Comments 0
You need to be logged in to leave comments. Login now