##// END OF EJS Templates
Signal Chain GUI updated:...
Miguel Valdez -
r586:b35b513c27b8
parent child
Show More
@@ -1,1034 +1,1051
1 '''
1 '''
2 Created on September , 2012
2 Created on September , 2012
3 @author:
3 @author:
4 '''
4 '''
5 from xml.etree.ElementTree import Element, SubElement
5 from xml.etree.ElementTree import Element, SubElement
6 from xml.etree import ElementTree as ET
6 from xml.etree import ElementTree as ET
7 from xml.dom import minidom
7 from xml.dom import minidom
8
8
9 #import datetime
9 #import datetime
10 from model import *
10 from model import *
11
11
12 import ast
12 import ast
13
13
14 def prettify(elem):
14 def prettify(elem):
15 """Return a pretty-printed XML string for the Element.
15 """Return a pretty-printed XML string for the Element.
16 """
16 """
17 rough_string = ET.tostring(elem, 'utf-8')
17 rough_string = ET.tostring(elem, 'utf-8')
18 reparsed = minidom.parseString(rough_string)
18 reparsed = minidom.parseString(rough_string)
19 return reparsed.toprettyxml(indent=" ")
19 return reparsed.toprettyxml(indent=" ")
20
20
21 class ParameterConf():
21 class ParameterConf():
22
22
23 id = None
23 id = None
24 name = None
24 name = None
25 value = None
25 value = None
26 format = None
26 format = None
27
27
28 __formated_value = None
28 __formated_value = None
29
29
30 ELEMENTNAME = 'Parameter'
30 ELEMENTNAME = 'Parameter'
31
31
32 def __init__(self):
32 def __init__(self):
33
33
34 self.format = 'str'
34 self.format = 'str'
35
35
36 def getElementName(self):
36 def getElementName(self):
37
37
38 return self.ELEMENTNAME
38 return self.ELEMENTNAME
39
39
40 def getValue(self):
40 def getValue(self):
41
41
42 if self.__formated_value != None:
42 if self.__formated_value != None:
43
43
44 return self.__formated_value
44 return self.__formated_value
45
45
46 value = self.value
46 value = self.value
47
47
48 if self.format == 'bool':
48 if self.format == 'bool':
49 value = int(value)
49 value = int(value)
50
50
51 if self.format == 'list':
51 if self.format == 'list':
52 strList = value.split(',')
52 strList = value.split(',')
53
53
54 self.__formated_value = strList
54 self.__formated_value = strList
55
55
56 return self.__formated_value
56 return self.__formated_value
57
57
58 if self.format == 'intlist':
58 if self.format == 'intlist':
59 """
59 """
60 Example:
60 Example:
61 value = (0,1,2)
61 value = (0,1,2)
62 """
62 """
63 value = value.replace('(', '')
64 value = value.replace(')', '')
65
66 value = value.replace('[', '')
67 value = value.replace(']', '')
68
63 strList = value.split(',')
69 strList = value.split(',')
64 intList = [int(x) for x in strList]
70 intList = [int(x) for x in strList]
65
71
66 self.__formated_value = intList
72 self.__formated_value = intList
67
73
68 return self.__formated_value
74 return self.__formated_value
69
75
70 if self.format == 'floatlist':
76 if self.format == 'floatlist':
71 """
77 """
72 Example:
78 Example:
73 value = (0.5, 1.4, 2.7)
79 value = (0.5, 1.4, 2.7)
74 """
80 """
81
82 value = value.replace('(', '')
83 value = value.replace(')', '')
84
85 value = value.replace('[', '')
86 value = value.replace(']', '')
87
75 strList = value.split(',')
88 strList = value.split(',')
76 floatList = [float(x) for x in strList]
89 floatList = [float(x) for x in strList]
77
90
78 self.__formated_value = floatList
91 self.__formated_value = floatList
79
92
80 return self.__formated_value
93 return self.__formated_value
81
94
82 if self.format == 'date':
95 if self.format == 'date':
83 strList = value.split('/')
96 strList = value.split('/')
84 intList = [int(x) for x in strList]
97 intList = [int(x) for x in strList]
85 date = datetime.date(intList[0], intList[1], intList[2])
98 date = datetime.date(intList[0], intList[1], intList[2])
86
99
87 self.__formated_value = date
100 self.__formated_value = date
88
101
89 return self.__formated_value
102 return self.__formated_value
90
103
91 if self.format == 'time':
104 if self.format == 'time':
92 strList = value.split(':')
105 strList = value.split(':')
93 intList = [int(x) for x in strList]
106 intList = [int(x) for x in strList]
94 time = datetime.time(intList[0], intList[1], intList[2])
107 time = datetime.time(intList[0], intList[1], intList[2])
95
108
96 self.__formated_value = time
109 self.__formated_value = time
97
110
98 return self.__formated_value
111 return self.__formated_value
99
112
100 if self.format == 'pairslist':
113 if self.format == 'pairslist':
101 """
114 """
102 Example:
115 Example:
103 value = (0,1),(1,2)
116 value = (0,1),(1,2)
104 """
117 """
105
118
106 value = value.replace('(', '')
119 value = value.replace('(', '')
107 value = value.replace(')', '')
120 value = value.replace(')', '')
108
121
122 value = value.replace('[', '')
123 value = value.replace(']', '')
124
109 strList = value.split(',')
125 strList = value.split(',')
110 intList = [int(item) for item in strList]
126 intList = [int(item) for item in strList]
111 pairList = []
127 pairList = []
112 for i in range(len(intList)/2):
128 for i in range(len(intList)/2):
113 pairList.append((intList[i*2], intList[i*2 + 1]))
129 pairList.append((intList[i*2], intList[i*2 + 1]))
114
130
115 self.__formated_value = pairList
131 self.__formated_value = pairList
116
132
117 return self.__formated_value
133 return self.__formated_value
118
134
119 if self.format == 'multilist':
135 if self.format == 'multilist':
120 """
136 """
121 Example:
137 Example:
122 value = (0,1,2),(3,4,5)
138 value = (0,1,2),(3,4,5)
123 """
139 """
124 multiList = ast.literal_eval(value)
140 multiList = ast.literal_eval(value)
125
141
126 self.__formated_value = multiList
142 self.__formated_value = multiList
127
143
128 return self.__formated_value
144 return self.__formated_value
129
145
130 format_func = eval(self.format)
146 format_func = eval(self.format)
131
147
132 self.__formated_value = format_func(value)
148 self.__formated_value = format_func(value)
133
149
134 return self.__formated_value
150 return self.__formated_value
135
151
136 def setup(self, id, name, value, format='str'):
152 def setup(self, id, name, value, format='str'):
137
153
138 self.id = id
154 self.id = id
139 self.name = name
155 self.name = name
140 self.value = str(value)
156 self.value = str(value)
141 self.format = str.lower(format)
157 self.format = str.lower(format)
142
158
143 def update(self, name, value, format='str'):
159 def update(self, name, value, format='str'):
144
160
145 self.name = name
161 self.name = name
146 self.value = str(value)
162 self.value = str(value)
147 self.format = format
163 self.format = format
148
164
149 def makeXml(self, opElement):
165 def makeXml(self, opElement):
150
166
151 parmElement = SubElement(opElement, self.ELEMENTNAME)
167 parmElement = SubElement(opElement, self.ELEMENTNAME)
152 parmElement.set('id', str(self.id))
168 parmElement.set('id', str(self.id))
153 parmElement.set('name', self.name)
169 parmElement.set('name', self.name)
154 parmElement.set('value', self.value)
170 parmElement.set('value', self.value)
155 parmElement.set('format', self.format)
171 parmElement.set('format', self.format)
156
172
157 def readXml(self, parmElement):
173 def readXml(self, parmElement):
158
174
159 self.id = parmElement.get('id')
175 self.id = parmElement.get('id')
160 self.name = parmElement.get('name')
176 self.name = parmElement.get('name')
161 self.value = parmElement.get('value')
177 self.value = parmElement.get('value')
162 self.format = str.lower(parmElement.get('format'))
178 self.format = str.lower(parmElement.get('format'))
163
179
164 #Compatible with old signal chain version
180 #Compatible with old signal chain version
165 if self.format == 'int' and self.name == 'idfigure':
181 if self.format == 'int' and self.name == 'idfigure':
166 self.name = 'id'
182 self.name = 'id'
167
183
168 def printattr(self):
184 def printattr(self):
169
185
170 print "Parameter[%s]: name = %s, value = %s, format = %s" %(self.id, self.name, self.value, self.format)
186 print "Parameter[%s]: name = %s, value = %s, format = %s" %(self.id, self.name, self.value, self.format)
171
187
172 class OperationConf():
188 class OperationConf():
173
189
174 id = None
190 id = None
175 name = None
191 name = None
176 priority = None
192 priority = None
177 type = None
193 type = None
178
194
179 parmConfObjList = []
195 parmConfObjList = []
180
196
181 ELEMENTNAME = 'Operation'
197 ELEMENTNAME = 'Operation'
182
198
183 def __init__(self):
199 def __init__(self):
184
200
185 self.id = 0
201 self.id = 0
186 self.name = None
202 self.name = None
187 self.priority = None
203 self.priority = None
188 self.type = 'self'
204 self.type = 'self'
189
205
190
206
191 def __getNewId(self):
207 def __getNewId(self):
192
208
193 return int(self.id)*10 + len(self.parmConfObjList) + 1
209 return int(self.id)*10 + len(self.parmConfObjList) + 1
194
210
195 def getElementName(self):
211 def getElementName(self):
196
212
197 return self.ELEMENTNAME
213 return self.ELEMENTNAME
198
214
199 def getParameterObjList(self):
215 def getParameterObjList(self):
200
216
201 return self.parmConfObjList
217 return self.parmConfObjList
202
218
203 def getParameterObj(self, parameterName):
219 def getParameterObj(self, parameterName):
204
220
205 for parmConfObj in self.parmConfObjList:
221 for parmConfObj in self.parmConfObjList:
206
222
207 if parmConfObj.name != parameterName:
223 if parmConfObj.name != parameterName:
208 continue
224 continue
209
225
210 return parmConfObj
226 return parmConfObj
211
227
212 return None
228 return None
213
229
214 def getParameterObjfromValue(self,parameterValue):
230 def getParameterObjfromValue(self,parameterValue):
215 for parmConfObj in self.parmConfObjList:
231 for parmConfObj in self.parmConfObjList:
216
232
217 if parmConfObj.getValue() != parameterValue:
233 if parmConfObj.getValue() != parameterValue:
218 continue
234 continue
219
235
220 return parmConfObj.getValue()
236 return parmConfObj.getValue()
221
237
222 return None
238 return None
223
239
224 def getParameterValue(self, parameterName):
240 def getParameterValue(self, parameterName):
225
241
226 parameterObj = self.getParameterObj(parameterName)
242 parameterObj = self.getParameterObj(parameterName)
227 value = parameterObj.getValue()
243 value = parameterObj.getValue()
228
244
229 return value
245 return value
230
246
231 def setup(self, id, name, priority, type):
247 def setup(self, id, name, priority, type):
232
248
233 self.id = id
249 self.id = id
234 self.name = name
250 self.name = name
235 self.type = type
251 self.type = type
236 self.priority = priority
252 self.priority = priority
237
253
238 self.parmConfObjList = []
254 self.parmConfObjList = []
239
255
240 def removeParameters(self):
256 def removeParameters(self):
241
257
242 for obj in self.parmConfObjList:
258 for obj in self.parmConfObjList:
243 del obj
259 del obj
244
260
245 self.parmConfObjList = []
261 self.parmConfObjList = []
246
262
247 def addParameter(self, name, value, format='str'):
263 def addParameter(self, name, value, format='str'):
248
264
249 id = self.__getNewId()
265 id = self.__getNewId()
250
266
251 parmConfObj = ParameterConf()
267 parmConfObj = ParameterConf()
252 parmConfObj.setup(id, name, value, format)
268 parmConfObj.setup(id, name, value, format)
253
269
254 self.parmConfObjList.append(parmConfObj)
270 self.parmConfObjList.append(parmConfObj)
255
271
256 return parmConfObj
272 return parmConfObj
257
273
258 def changeParameter(self, name, value, format='str'):
274 def changeParameter(self, name, value, format='str'):
259
275
260 parmConfObj = self.getParameterObj(name)
276 parmConfObj = self.getParameterObj(name)
261 parmConfObj.update(name, value, format)
277 parmConfObj.update(name, value, format)
262
278
263 return parmConfObj
279 return parmConfObj
264
280
265 def makeXml(self, upElement):
281 def makeXml(self, upElement):
266
282
267 opElement = SubElement(upElement, self.ELEMENTNAME)
283 opElement = SubElement(upElement, self.ELEMENTNAME)
268 opElement.set('id', str(self.id))
284 opElement.set('id', str(self.id))
269 opElement.set('name', self.name)
285 opElement.set('name', self.name)
270 opElement.set('type', self.type)
286 opElement.set('type', self.type)
271 opElement.set('priority', str(self.priority))
287 opElement.set('priority', str(self.priority))
272
288
273 for parmConfObj in self.parmConfObjList:
289 for parmConfObj in self.parmConfObjList:
274 parmConfObj.makeXml(opElement)
290 parmConfObj.makeXml(opElement)
275
291
276 def readXml(self, opElement):
292 def readXml(self, opElement):
277
293
278 self.id = opElement.get('id')
294 self.id = opElement.get('id')
279 self.name = opElement.get('name')
295 self.name = opElement.get('name')
280 self.type = opElement.get('type')
296 self.type = opElement.get('type')
281 self.priority = opElement.get('priority')
297 self.priority = opElement.get('priority')
282
298
283 #Compatible with old signal chain version
299 #Compatible with old signal chain version
284 #Use of 'run' method instead 'init'
300 #Use of 'run' method instead 'init'
285 if self.type == 'self' and self.name == 'init':
301 if self.type == 'self' and self.name == 'init':
286 self.name = 'run'
302 self.name = 'run'
287
303
288 self.parmConfObjList = []
304 self.parmConfObjList = []
289
305
290 parmElementList = opElement.getiterator(ParameterConf().getElementName())
306 parmElementList = opElement.getiterator(ParameterConf().getElementName())
291
307
292 for parmElement in parmElementList:
308 for parmElement in parmElementList:
293 parmConfObj = ParameterConf()
309 parmConfObj = ParameterConf()
294 parmConfObj.readXml(parmElement)
310 parmConfObj.readXml(parmElement)
295
311
296 #Compatible with old signal chain version
312 #Compatible with old signal chain version
297 #If an 'plot' OPERATION is found, changes name operation by the value of its type PARAMETER
313 #If an 'plot' OPERATION is found, changes name operation by the value of its type PARAMETER
298 if self.type != 'self' and self.name == 'Plot':
314 if self.type != 'self' and self.name == 'Plot':
299 if parmConfObj.format == 'str' and parmConfObj.name == 'type':
315 if parmConfObj.format == 'str' and parmConfObj.name == 'type':
300 self.name = parmConfObj.value
316 self.name = parmConfObj.value
301 continue
317 continue
302
318
303 self.parmConfObjList.append(parmConfObj)
319 self.parmConfObjList.append(parmConfObj)
304
320
305 def printattr(self):
321 def printattr(self):
306
322
307 print "%s[%s]: name = %s, type = %s, priority = %s" %(self.ELEMENTNAME,
323 print "%s[%s]: name = %s, type = %s, priority = %s" %(self.ELEMENTNAME,
308 self.id,
324 self.id,
309 self.name,
325 self.name,
310 self.type,
326 self.type,
311 self.priority)
327 self.priority)
312
328
313 for parmConfObj in self.parmConfObjList:
329 for parmConfObj in self.parmConfObjList:
314 parmConfObj.printattr()
330 parmConfObj.printattr()
315
331
316 def createObject(self):
332 def createObject(self):
317
333
318 if self.type == 'self':
334 if self.type == 'self':
319 raise ValueError, "This operation type cannot be created"
335 raise ValueError, "This operation type cannot be created"
320
336
321 if self.type == 'external' or self.type == 'other':
337 if self.type == 'external' or self.type == 'other':
322 className = eval(self.name)
338 className = eval(self.name)
323 opObj = className()
339 opObj = className()
324
340
325 return opObj
341 return opObj
326
342
327 class ProcUnitConf():
343 class ProcUnitConf():
328
344
329 id = None
345 id = None
330 name = None
346 name = None
331 datatype = None
347 datatype = None
332 inputId = None
348 inputId = None
333 parentId = None
349 parentId = None
334
350
335 opConfObjList = []
351 opConfObjList = []
336
352
337 procUnitObj = None
353 procUnitObj = None
338 opObjList = []
354 opObjList = []
339
355
340 ELEMENTNAME = 'ProcUnit'
356 ELEMENTNAME = 'ProcUnit'
341
357
342 def __init__(self):
358 def __init__(self):
343
359
344 self.id = None
360 self.id = None
345 self.datatype = None
361 self.datatype = None
346 self.name = None
362 self.name = None
347 self.inputId = None
363 self.inputId = None
348
364
349 self.opConfObjList = []
365 self.opConfObjList = []
350
366
351 self.procUnitObj = None
367 self.procUnitObj = None
352 self.opObjDict = {}
368 self.opObjDict = {}
353
369
354 def __getPriority(self):
370 def __getPriority(self):
355
371
356 return len(self.opConfObjList)+1
372 return len(self.opConfObjList)+1
357
373
358 def __getNewId(self):
374 def __getNewId(self):
359
375
360 return int(self.id)*10 + len(self.opConfObjList) + 1
376 return int(self.id)*10 + len(self.opConfObjList) + 1
361
377
362 def getElementName(self):
378 def getElementName(self):
363
379
364 return self.ELEMENTNAME
380 return self.ELEMENTNAME
365
381
366 def getId(self):
382 def getId(self):
367
383
368 return str(self.id)
384 return str(self.id)
369
385
370 def getInputId(self):
386 def getInputId(self):
371
387
372 return str(self.inputId)
388 return str(self.inputId)
373
389
374 def getOperationObjList(self):
390 def getOperationObjList(self):
375
391
376 return self.opConfObjList
392 return self.opConfObjList
377
393
378 def getOperationObj(self, name=None):
394 def getOperationObj(self, name=None):
379
395
380 for opConfObj in self.opConfObjList:
396 for opConfObj in self.opConfObjList:
381
397
382 if opConfObj.name != name:
398 if opConfObj.name != name:
383 continue
399 continue
384
400
385 return opConfObj
401 return opConfObj
386
402
387 return None
403 return None
388
404
389 def getOpObjfromParamValue(self,value=None):
405 def getOpObjfromParamValue(self,value=None):
390
406
391 for opConfObj in self.opConfObjList:
407 for opConfObj in self.opConfObjList:
392 if opConfObj.getParameterObjfromValue(parameterValue=value) != value:
408 if opConfObj.getParameterObjfromValue(parameterValue=value) != value:
393 continue
409 continue
394 return opConfObj
410 return opConfObj
395 return None
411 return None
396
412
397 def getProcUnitObj(self):
413 def getProcUnitObj(self):
398
414
399 return self.procUnitObj
415 return self.procUnitObj
400
416
401 def setup(self, id, name, datatype, inputId, parentId=None):
417 def setup(self, id, name, datatype, inputId, parentId=None):
402
418
403 self.id = id
419 self.id = id
404 self.name = name
420 self.name = name
405 self.datatype = datatype
421 self.datatype = datatype
406 self.inputId = inputId
422 self.inputId = inputId
407 self.parentId = parentId
423 self.parentId = parentId
408
424
409 self.opConfObjList = []
425 self.opConfObjList = []
410
426
411 self.addOperation(name='run', optype='self')
427 self.addOperation(name='run', optype='self')
412
428
413 def removeOperations(self):
429 def removeOperations(self):
414
430
415 for obj in self.opConfObjList:
431 for obj in self.opConfObjList:
416 del obj
432 del obj
417
433
418 self.opConfObjList = []
434 self.opConfObjList = []
419 self.addOperation(name='run')
435 self.addOperation(name='run')
420
436
421 def addParameter(self, **kwargs):
437 def addParameter(self, **kwargs):
422 '''
438 '''
423 Add parameters to "run" operation
439 Add parameters to "run" operation
424 '''
440 '''
425 opObj = self.opConfObjList[0]
441 opObj = self.opConfObjList[0]
426
442
427 opObj.addParameter(**kwargs)
443 opObj.addParameter(**kwargs)
428
444
429 return opObj
445 return opObj
430
446
431 def addOperation(self, name, optype='self'):
447 def addOperation(self, name, optype='self'):
432
448
433 id = self.__getNewId()
449 id = self.__getNewId()
434 priority = self.__getPriority()
450 priority = self.__getPriority()
435
451
436 opConfObj = OperationConf()
452 opConfObj = OperationConf()
437 opConfObj.setup(id, name=name, priority=priority, type=optype)
453 opConfObj.setup(id, name=name, priority=priority, type=optype)
438
454
439 self.opConfObjList.append(opConfObj)
455 self.opConfObjList.append(opConfObj)
440
456
441 return opConfObj
457 return opConfObj
442
458
443 def makeXml(self, procUnitElement):
459 def makeXml(self, procUnitElement):
444
460
445 upElement = SubElement(procUnitElement, self.ELEMENTNAME)
461 upElement = SubElement(procUnitElement, self.ELEMENTNAME)
446 upElement.set('id', str(self.id))
462 upElement.set('id', str(self.id))
447 upElement.set('name', self.name)
463 upElement.set('name', self.name)
448 upElement.set('datatype', self.datatype)
464 upElement.set('datatype', self.datatype)
449 upElement.set('inputId', str(self.inputId))
465 upElement.set('inputId', str(self.inputId))
450
466
451 for opConfObj in self.opConfObjList:
467 for opConfObj in self.opConfObjList:
452 opConfObj.makeXml(upElement)
468 opConfObj.makeXml(upElement)
453
469
454 def readXml(self, upElement):
470 def readXml(self, upElement):
455
471
456 self.id = upElement.get('id')
472 self.id = upElement.get('id')
457 self.name = upElement.get('name')
473 self.name = upElement.get('name')
458 self.datatype = upElement.get('datatype')
474 self.datatype = upElement.get('datatype')
459 self.inputId = upElement.get('inputId')
475 self.inputId = upElement.get('inputId')
460
476
461 self.opConfObjList = []
477 self.opConfObjList = []
462
478
463 opElementList = upElement.getiterator(OperationConf().getElementName())
479 opElementList = upElement.getiterator(OperationConf().getElementName())
464
480
465 for opElement in opElementList:
481 for opElement in opElementList:
466 opConfObj = OperationConf()
482 opConfObj = OperationConf()
467 opConfObj.readXml(opElement)
483 opConfObj.readXml(opElement)
468 self.opConfObjList.append(opConfObj)
484 self.opConfObjList.append(opConfObj)
469
485
470 def printattr(self):
486 def printattr(self):
471
487
472 print "%s[%s]: name = %s, datatype = %s, inputId = %s" %(self.ELEMENTNAME,
488 print "%s[%s]: name = %s, datatype = %s, inputId = %s" %(self.ELEMENTNAME,
473 self.id,
489 self.id,
474 self.name,
490 self.name,
475 self.datatype,
491 self.datatype,
476 self.inputId)
492 self.inputId)
477
493
478 for opConfObj in self.opConfObjList:
494 for opConfObj in self.opConfObjList:
479 opConfObj.printattr()
495 opConfObj.printattr()
480
496
481 def createObjects(self):
497 def createObjects(self):
482
498
483 className = eval(self.name)
499 className = eval(self.name)
484 procUnitObj = className()
500 procUnitObj = className()
485
501
486 for opConfObj in self.opConfObjList:
502 for opConfObj in self.opConfObjList:
487
503
488 if opConfObj.type == 'self':
504 if opConfObj.type == 'self':
489 continue
505 continue
490
506
491 opObj = opConfObj.createObject()
507 opObj = opConfObj.createObject()
492
508
493 self.opObjDict[opConfObj.id] = opObj
509 self.opObjDict[opConfObj.id] = opObj
494 procUnitObj.addOperation(opObj, opConfObj.id)
510 procUnitObj.addOperation(opObj, opConfObj.id)
495
511
496 self.procUnitObj = procUnitObj
512 self.procUnitObj = procUnitObj
497
513
498 return procUnitObj
514 return procUnitObj
499
515
500 def run(self):
516 def run(self):
501
517
502 finalSts = False
518 finalSts = False
503
519
504 for opConfObj in self.opConfObjList:
520 for opConfObj in self.opConfObjList:
505
521
506 kwargs = {}
522 kwargs = {}
507 for parmConfObj in opConfObj.getParameterObjList():
523 for parmConfObj in opConfObj.getParameterObjList():
508 if opConfObj.name == 'run' and parmConfObj.name == 'datatype':
524 if opConfObj.name == 'run' and parmConfObj.name == 'datatype':
509 continue
525 continue
510
526
511 kwargs[parmConfObj.name] = parmConfObj.getValue()
527 kwargs[parmConfObj.name] = parmConfObj.getValue()
512
528
513 #print "\tRunning the '%s' operation with %s" %(opConfObj.name, opConfObj.id)
529 #print "\tRunning the '%s' operation with %s" %(opConfObj.name, opConfObj.id)
514 sts = self.procUnitObj.call(opType = opConfObj.type,
530 sts = self.procUnitObj.call(opType = opConfObj.type,
515 opName = opConfObj.name,
531 opName = opConfObj.name,
516 opId = opConfObj.id,
532 opId = opConfObj.id,
517 **kwargs)
533 **kwargs)
518 finalSts = finalSts or sts
534 finalSts = finalSts or sts
519
535
520 return finalSts
536 return finalSts
521
537
522 def close(self):
538 def close(self):
523
539
524 for opConfObj in self.opConfObjList:
540 for opConfObj in self.opConfObjList:
525 if opConfObj.type == 'self':
541 if opConfObj.type == 'self':
526 continue
542 continue
527
543
528 opObj = self.procUnitObj.getOperationObj(opConfObj.id)
544 opObj = self.procUnitObj.getOperationObj(opConfObj.id)
529 opObj.close()
545 opObj.close()
530
546
531 self.procUnitObj.close()
547 self.procUnitObj.close()
532
548
533 return
549 return
534
550
535 class ReadUnitConf(ProcUnitConf):
551 class ReadUnitConf(ProcUnitConf):
536
552
537 path = None
553 path = None
538 startDate = None
554 startDate = None
539 endDate = None
555 endDate = None
540 startTime = None
556 startTime = None
541 endTime = None
557 endTime = None
542
558
543 ELEMENTNAME = 'ReadUnit'
559 ELEMENTNAME = 'ReadUnit'
544
560
545 def __init__(self):
561 def __init__(self):
546
562
547 self.id = None
563 self.id = None
548 self.datatype = None
564 self.datatype = None
549 self.name = None
565 self.name = None
550 self.inputId = 0
566 self.inputId = 0
551
567
552 self.opConfObjList = []
568 self.opConfObjList = []
553 self.opObjList = []
569 self.opObjList = []
554
570
555 def getElementName(self):
571 def getElementName(self):
556
572
557 return self.ELEMENTNAME
573 return self.ELEMENTNAME
558
574
559 def setup(self, id, name, datatype, path, startDate="", endDate="", startTime="", endTime="", parentId=None, **kwargs):
575 def setup(self, id, name, datatype, path, startDate="", endDate="", startTime="", endTime="", parentId=None, **kwargs):
560
576
561 self.id = id
577 self.id = id
562 self.name = name
578 self.name = name
563 self.datatype = datatype
579 self.datatype = datatype
564
580
565 self.path = path
581 self.path = path
566 self.startDate = startDate
582 self.startDate = startDate
567 self.endDate = endDate
583 self.endDate = endDate
568 self.startTime = startTime
584 self.startTime = startTime
569 self.endTime = endTime
585 self.endTime = endTime
570
586
571 self.addRunOperation(**kwargs)
587 self.addRunOperation(**kwargs)
572
588
573 def update(self, datatype, path, startDate, endDate, startTime, endTime, parentId=None, **kwargs):
589 def update(self, datatype, path, startDate, endDate, startTime, endTime, parentId=None, **kwargs):
574
590
575 self.datatype = datatype
591 self.datatype = datatype
576 self.path = path
592 self.path = path
577 self.startDate = startDate
593 self.startDate = startDate
578 self.endDate = endDate
594 self.endDate = endDate
579 self.startTime = startTime
595 self.startTime = startTime
580 self.endTime = endTime
596 self.endTime = endTime
581
597
582 self.updateRunOperation(**kwargs)
598 self.updateRunOperation(**kwargs)
583
599
584 def addRunOperation(self, **kwargs):
600 def addRunOperation(self, **kwargs):
585
601
586 opObj = self.addOperation(name = 'run', optype = 'self')
602 opObj = self.addOperation(name = 'run', optype = 'self')
587
603
588 opObj.addParameter(name='datatype' , value=self.datatype, format='str')
604 opObj.addParameter(name='datatype' , value=self.datatype, format='str')
589 opObj.addParameter(name='path' , value=self.path, format='str')
605 opObj.addParameter(name='path' , value=self.path, format='str')
590 opObj.addParameter(name='startDate' , value=self.startDate, format='date')
606 opObj.addParameter(name='startDate' , value=self.startDate, format='date')
591 opObj.addParameter(name='endDate' , value=self.endDate, format='date')
607 opObj.addParameter(name='endDate' , value=self.endDate, format='date')
592 opObj.addParameter(name='startTime' , value=self.startTime, format='time')
608 opObj.addParameter(name='startTime' , value=self.startTime, format='time')
593 opObj.addParameter(name='endTime' , value=self.endTime, format='time')
609 opObj.addParameter(name='endTime' , value=self.endTime, format='time')
594
610
595 for key, value in kwargs.items():
611 for key, value in kwargs.items():
596 opObj.addParameter(name=key, value=value, format=type(value).__name__)
612 opObj.addParameter(name=key, value=value, format=type(value).__name__)
597
613
598 return opObj
614 return opObj
599
615
600 def updateRunOperation(self, **kwargs):
616 def updateRunOperation(self, **kwargs):
601
617
602 opObj = self.getOperationObj(name = 'run')
618 opObj = self.getOperationObj(name = 'run')
603 opObj.removeParameters()
619 opObj.removeParameters()
604
620
605 opObj.addParameter(name='datatype' , value=self.datatype, format='str')
621 opObj.addParameter(name='datatype' , value=self.datatype, format='str')
606 opObj.addParameter(name='path' , value=self.path, format='str')
622 opObj.addParameter(name='path' , value=self.path, format='str')
607 opObj.addParameter(name='startDate' , value=self.startDate, format='date')
623 opObj.addParameter(name='startDate' , value=self.startDate, format='date')
608 opObj.addParameter(name='endDate' , value=self.endDate, format='date')
624 opObj.addParameter(name='endDate' , value=self.endDate, format='date')
609 opObj.addParameter(name='startTime' , value=self.startTime, format='time')
625 opObj.addParameter(name='startTime' , value=self.startTime, format='time')
610 opObj.addParameter(name='endTime' , value=self.endTime, format='time')
626 opObj.addParameter(name='endTime' , value=self.endTime, format='time')
611
627
612 for key, value in kwargs.items():
628 for key, value in kwargs.items():
613 opObj.addParameter(name=key, value=value, format=type(value).__name__)
629 opObj.addParameter(name=key, value=value, format=type(value).__name__)
614
630
615 return opObj
631 return opObj
616
632
617 class Project():
633 class Project():
618
634
619 id = None
635 id = None
620 name = None
636 name = None
621 description = None
637 description = None
622 # readUnitConfObjList = None
638 # readUnitConfObjList = None
623 procUnitConfObjDict = None
639 procUnitConfObjDict = None
624
640
625 ELEMENTNAME = 'Project'
641 ELEMENTNAME = 'Project'
626
642
627 def __init__(self, control=None, dataq=None):
643 def __init__(self, control=None, dataq=None):
628
644
629 self.id = None
645 self.id = None
630 self.name = None
646 self.name = None
631 self.description = None
647 self.description = None
632
648
633 self.procUnitConfObjDict = {}
649 self.procUnitConfObjDict = {}
634
650
635 #global data_q
651 #global data_q
636 #data_q = dataq
652 #data_q = dataq
637
653
638 if control==None:
654 if control==None:
639 control = {}
655 control = {}
640 control['stop'] = False
656 control['stop'] = False
641 control['pause'] = False
657 control['pause'] = False
642
658
643 self.control = control
659 self.control = control
644
660
645 def __getNewId(self):
661 def __getNewId(self):
646
662
647 id = int(self.id)*10 + len(self.procUnitConfObjDict) + 1
663 id = int(self.id)*10 + len(self.procUnitConfObjDict) + 1
648
664
649 return str(id)
665 return str(id)
650
666
651 def getElementName(self):
667 def getElementName(self):
652
668
653 return self.ELEMENTNAME
669 return self.ELEMENTNAME
654
670
655 def getId(self):
671 def getId(self):
656
672
657 return self.id
673 return self.id
658
674
659 def setup(self, id, name, description):
675 def setup(self, id, name, description):
660
676
661 self.id = id
677 self.id = id
662 self.name = name
678 self.name = name
663 self.description = description
679 self.description = description
664
680
665 def update(self, name, description):
681 def update(self, name, description):
666
682
667 self.name = name
683 self.name = name
668 self.description = description
684 self.description = description
669
685
670 def addReadUnit(self, datatype=None, name=None, **kwargs):
686 def addReadUnit(self, datatype=None, name=None, **kwargs):
671
687
672 #Compatible with old signal chain version
688 #Compatible with old signal chain version
673 if datatype==None and name==None:
689 if datatype==None and name==None:
674 raise ValueError, "datatype or name should be defined"
690 raise ValueError, "datatype or name should be defined"
675
691
676 if name==None:
692 if name==None:
677 if 'Reader' in datatype:
693 if 'Reader' in datatype:
678 name = datatype
694 name = datatype
679 else:
695 else:
680 name = '%sReader' %(datatype)
696 name = '%sReader' %(datatype)
681
697
682 if datatype==None:
698 if datatype==None:
683 datatype = name.replace('Reader','')
699 datatype = name.replace('Reader','')
684
700
685 id = self.__getNewId()
701 id = self.__getNewId()
686
702
687 readUnitConfObj = ReadUnitConf()
703 readUnitConfObj = ReadUnitConf()
688 readUnitConfObj.setup(id, name, datatype, parentId=self.id, **kwargs)
704 readUnitConfObj.setup(id, name, datatype, parentId=self.id, **kwargs)
689
705
690 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
706 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
691
707
692 return readUnitConfObj
708 return readUnitConfObj
693
709
694 def addProcUnit(self, inputId=0, datatype=None, name=None):
710 def addProcUnit(self, inputId=0, datatype=None, name=None):
695
711
696 #Compatible with old signal chain version
712 #Compatible with old signal chain version
697 if datatype==None and name==None:
713 if datatype==None and name==None:
698 raise ValueError, "datatype or name should be defined"
714 raise ValueError, "datatype or name should be defined"
699
715
700 if name==None:
716 if name==None:
701 if 'Proc' in datatype:
717 if 'Proc' in datatype:
702 name = datatype
718 name = datatype
703 else:
719 else:
704 name = '%sProc' %(datatype)
720 name = '%sProc' %(datatype)
705
721
706 if datatype==None:
722 if datatype==None:
707 datatype = name.replace('Proc','')
723 datatype = name.replace('Proc','')
708
724
709 id = self.__getNewId()
725 id = self.__getNewId()
710
726
711 procUnitConfObj = ProcUnitConf()
727 procUnitConfObj = ProcUnitConf()
712 procUnitConfObj.setup(id, name, datatype, inputId, parentId=self.id)
728 procUnitConfObj.setup(id, name, datatype, inputId, parentId=self.id)
713
729
714 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
730 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
715
731
716 return procUnitConfObj
732 return procUnitConfObj
717
733
718 def getReadUnitId(self):
734 def getReadUnitId(self):
719
735
720 readUnitConfObj = self.getReadUnitObj()
736 readUnitConfObj = self.getReadUnitObj()
721
737
722 return readUnitConfObj.id
738 return readUnitConfObj.id
723
739
724 def getReadUnitObj(self):
740 def getReadUnitObj(self):
725
741
726 for obj in self.procUnitConfObjDict.values():
742 for obj in self.procUnitConfObjDict.values():
727 if obj.getElementName() == "ReadUnit":
743 if obj.getElementName() == "ReadUnit":
728 return obj
744 return obj
729
745
730 return None
746 return None
731
747
732 def getProcUnitObj(self, id):
748 def getProcUnitObj(self, id):
733
749
734 return self.procUnitConfObjDict[id]
750 return self.procUnitConfObjDict[id]
735
751
736 def getProcUnitObjByName(self, name):
752 def getProcUnitObjByName(self, name):
737
753
738 for obj in self.procUnitConfObjDict.values():
754 for obj in self.procUnitConfObjDict.values():
739 if obj.name == name:
755 if obj.name == name:
740 return obj
756 return obj
741
757
742 return None
758 return None
743
759
744 def makeXml(self):
760 def makeXml(self):
745
761
746 projectElement = Element('Project')
762 projectElement = Element('Project')
747 projectElement.set('id', str(self.id))
763 projectElement.set('id', str(self.id))
748 projectElement.set('name', self.name)
764 projectElement.set('name', self.name)
749 projectElement.set('description', self.description)
765 projectElement.set('description', self.description)
750
766
751 # for readUnitConfObj in self.readUnitConfObjList:
767 # for readUnitConfObj in self.readUnitConfObjList:
752 # readUnitConfObj.makeXml(projectElement)
768 # readUnitConfObj.makeXml(projectElement)
753
769
754 for procUnitConfObj in self.procUnitConfObjDict.values():
770 for procUnitConfObj in self.procUnitConfObjDict.values():
755 procUnitConfObj.makeXml(projectElement)
771 procUnitConfObj.makeXml(projectElement)
756
772
757 self.projectElement = projectElement
773 self.projectElement = projectElement
758
774
759 def writeXml(self, filename):
775 def writeXml(self, filename):
760
776
761 self.makeXml()
777 self.makeXml()
762
778
763 #print prettify(self.projectElement)
779 #print prettify(self.projectElement)
764
780
765 ElementTree(self.projectElement).write(filename, method='xml')
781 ElementTree(self.projectElement).write(filename, method='xml')
766
782
767 def readXml(self, filename):
783 def readXml(self, filename):
768
784
769 #tree = ET.parse(filename)
785 #tree = ET.parse(filename)
770 self.projectElement = None
786 self.projectElement = None
771 # self.readUnitConfObjList = []
787 # self.readUnitConfObjList = []
772 self.procUnitConfObjDict = {}
788 self.procUnitConfObjDict = {}
773
789
774 self.projectElement = ElementTree().parse(filename)
790 self.projectElement = ElementTree().parse(filename)
775
791
776 self.project = self.projectElement.tag
792 self.project = self.projectElement.tag
777
793
778 self.id = self.projectElement.get('id')
794 self.id = self.projectElement.get('id')
779 self.name = self.projectElement.get('name')
795 self.name = self.projectElement.get('name')
780 self.description = self.projectElement.get('description')
796 self.description = self.projectElement.get('description')
781
797
782 readUnitElementList = self.projectElement.getiterator(ReadUnitConf().getElementName())
798 readUnitElementList = self.projectElement.getiterator(ReadUnitConf().getElementName())
783
799
784 for readUnitElement in readUnitElementList:
800 for readUnitElement in readUnitElementList:
785 readUnitConfObj = ReadUnitConf()
801 readUnitConfObj = ReadUnitConf()
786 readUnitConfObj.readXml(readUnitElement)
802 readUnitConfObj.readXml(readUnitElement)
787
803
788 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
804 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
789
805
790 procUnitElementList = self.projectElement.getiterator(ProcUnitConf().getElementName())
806 procUnitElementList = self.projectElement.getiterator(ProcUnitConf().getElementName())
791
807
792 for procUnitElement in procUnitElementList:
808 for procUnitElement in procUnitElementList:
793 procUnitConfObj = ProcUnitConf()
809 procUnitConfObj = ProcUnitConf()
794 procUnitConfObj.readXml(procUnitElement)
810 procUnitConfObj.readXml(procUnitElement)
795
811
796 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
812 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
797
813
798 def printattr(self):
814 def printattr(self):
799
815
800 print "Project[%s]: name = %s, description = %s" %(self.id,
816 print "Project[%s]: name = %s, description = %s" %(self.id,
801 self.name,
817 self.name,
802 self.description)
818 self.description)
803
819
804 # for readUnitConfObj in self.readUnitConfObjList:
820 # for readUnitConfObj in self.readUnitConfObjList:
805 # readUnitConfObj.printattr()
821 # readUnitConfObj.printattr()
806
822
807 for procUnitConfObj in self.procUnitConfObjDict.values():
823 for procUnitConfObj in self.procUnitConfObjDict.values():
808 procUnitConfObj.printattr()
824 procUnitConfObj.printattr()
809
825
810 def createObjects(self):
826 def createObjects(self):
811
827
812 # for readUnitConfObj in self.readUnitConfObjList:
828 # for readUnitConfObj in self.readUnitConfObjList:
813 # readUnitConfObj.createObjects()
829 # readUnitConfObj.createObjects()
814
830
815 for procUnitConfObj in self.procUnitConfObjDict.values():
831 for procUnitConfObj in self.procUnitConfObjDict.values():
816 procUnitConfObj.createObjects()
832 procUnitConfObj.createObjects()
817
833
818 def __connect(self, objIN, thisObj):
834 def __connect(self, objIN, thisObj):
819
835
820 thisObj.setInput(objIN.getOutputObj())
836 thisObj.setInput(objIN.getOutputObj())
821
837
822 def connectObjects(self):
838 def connectObjects(self):
823
839
824 for thisPUConfObj in self.procUnitConfObjDict.values():
840 for thisPUConfObj in self.procUnitConfObjDict.values():
825
841
826 inputId = thisPUConfObj.getInputId()
842 inputId = thisPUConfObj.getInputId()
827
843
828 if int(inputId) == 0:
844 if int(inputId) == 0:
829 continue
845 continue
830
846
831 #Get input object
847 #Get input object
832 puConfINObj = self.procUnitConfObjDict[inputId]
848 puConfINObj = self.procUnitConfObjDict[inputId]
833 puObjIN = puConfINObj.getProcUnitObj()
849 puObjIN = puConfINObj.getProcUnitObj()
834
850
835 #Get current object
851 #Get current object
836 thisPUObj = thisPUConfObj.getProcUnitObj()
852 thisPUObj = thisPUConfObj.getProcUnitObj()
837
853
838 self.__connect(puObjIN, thisPUObj)
854 self.__connect(puObjIN, thisPUObj)
839
855
840 def run(self):
856 def run(self):
841
857
842 # for readUnitConfObj in self.readUnitConfObjList:
858 # for readUnitConfObj in self.readUnitConfObjList:
843 # readUnitConfObj.run()
859 # readUnitConfObj.run()
844 print
860 print
845 print "*"*40
861 print "*"*40
846 print " Starting SIGNAL CHAIN PROCESSING "
862 print " Starting SIGNAL CHAIN PROCESSING "
847 print "*"*40
863 print "*"*40
848 print
864 print
849
865
850 keyList = self.procUnitConfObjDict.keys()
866 keyList = self.procUnitConfObjDict.keys()
851 keyList.sort()
867 keyList.sort()
852
868
853 while(True):
869 while(True):
854
870
855 finalSts = False
871 finalSts = False
856
872
857 for procKey in keyList:
873 for procKey in keyList:
858 # print "Running the '%s' process with %s" %(procUnitConfObj.name, procUnitConfObj.id)
874 # print "Running the '%s' process with %s" %(procUnitConfObj.name, procUnitConfObj.id)
859
875
860 procUnitConfObj = self.procUnitConfObjDict[procKey]
876 procUnitConfObj = self.procUnitConfObjDict[procKey]
861 sts = procUnitConfObj.run()
877 sts = procUnitConfObj.run()
862 finalSts = finalSts or sts
878 finalSts = finalSts or sts
863
879
864 #If every process unit finished so end process
880 #If every process unit finished so end process
865 if not(finalSts):
881 if not(finalSts):
866 print "Every process unit have finished"
882 print "Every process unit have finished"
867 break
883 break
868
884
869 if self.control['pause']:
885 if self.control['pause']:
870 print "Pause..."
886 print "Process suspended"
871
887
872 while True:
888 while True:
873 time.sleep(0.1)
889 time.sleep(0.1)
874
890
875 if not self.control['pause']:
891 if not self.control['pause']:
876 break
892 break
877
893
878 if self.control['stop']:
894 if self.control['stop']:
879 break
895 break
896 print "Process reinitialized"
880
897
881 if self.control['stop']:
898 if self.control['stop']:
882 print "Stopping process"
899 print "Stopping process"
883 break
900 break
884
901
885 #Closing every process
902 #Closing every process
886 for procKey in keyList:
903 for procKey in keyList:
887 procUnitConfObj = self.procUnitConfObjDict[procKey]
904 procUnitConfObj = self.procUnitConfObjDict[procKey]
888 procUnitConfObj.close()
905 procUnitConfObj.close()
889
906
890 print "Process stopped"
907 print "Process stopped"
891
908
892 def start(self, filename):
909 def start(self, filename):
893
910
894 self.writeXml(filename)
911 self.writeXml(filename)
895 self.readXml(filename)
912 self.readXml(filename)
896
913
897 self.createObjects()
914 self.createObjects()
898 self.connectObjects()
915 self.connectObjects()
899 self.run()
916 self.run()
900
917
901 if __name__ == '__main__':
918 if __name__ == '__main__':
902
919
903 desc = "Segundo Test"
920 desc = "Segundo Test"
904 filename = "schain.xml"
921 filename = "schain.xml"
905
922
906 controllerObj = Project()
923 controllerObj = Project()
907
924
908 controllerObj.setup(id = '191', name='test01', description=desc)
925 controllerObj.setup(id = '191', name='test01', description=desc)
909
926
910 readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage',
927 readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage',
911 path='data/rawdata/',
928 path='data/rawdata/',
912 startDate='2011/01/01',
929 startDate='2011/01/01',
913 endDate='2012/12/31',
930 endDate='2012/12/31',
914 startTime='00:00:00',
931 startTime='00:00:00',
915 endTime='23:59:59',
932 endTime='23:59:59',
916 online=1,
933 online=1,
917 walk=1)
934 walk=1)
918
935
919 # opObj00 = readUnitConfObj.addOperation(name='printInfo')
936 # opObj00 = readUnitConfObj.addOperation(name='printInfo')
920
937
921 procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId())
938 procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId())
922
939
923 opObj10 = procUnitConfObj0.addOperation(name='selectChannels')
940 opObj10 = procUnitConfObj0.addOperation(name='selectChannels')
924 opObj10.addParameter(name='channelList', value='3,4,5', format='intlist')
941 opObj10.addParameter(name='channelList', value='3,4,5', format='intlist')
925
942
926 opObj10 = procUnitConfObj0.addOperation(name='selectHeights')
943 opObj10 = procUnitConfObj0.addOperation(name='selectHeights')
927 opObj10.addParameter(name='minHei', value='90', format='float')
944 opObj10.addParameter(name='minHei', value='90', format='float')
928 opObj10.addParameter(name='maxHei', value='180', format='float')
945 opObj10.addParameter(name='maxHei', value='180', format='float')
929
946
930 opObj12 = procUnitConfObj0.addOperation(name='CohInt', optype='external')
947 opObj12 = procUnitConfObj0.addOperation(name='CohInt', optype='external')
931 opObj12.addParameter(name='n', value='10', format='int')
948 opObj12.addParameter(name='n', value='10', format='int')
932
949
933 procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId())
950 procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId())
934 procUnitConfObj1.addParameter(name='nFFTPoints', value='32', format='int')
951 procUnitConfObj1.addParameter(name='nFFTPoints', value='32', format='int')
935 # procUnitConfObj1.addParameter(name='pairList', value='(0,1),(0,2),(1,2)', format='')
952 # procUnitConfObj1.addParameter(name='pairList', value='(0,1),(0,2),(1,2)', format='')
936
953
937
954
938 opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
955 opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
939 opObj11.addParameter(name='idfigure', value='1', format='int')
956 opObj11.addParameter(name='idfigure', value='1', format='int')
940 opObj11.addParameter(name='wintitle', value='SpectraPlot0', format='str')
957 opObj11.addParameter(name='wintitle', value='SpectraPlot0', format='str')
941 opObj11.addParameter(name='zmin', value='40', format='int')
958 opObj11.addParameter(name='zmin', value='40', format='int')
942 opObj11.addParameter(name='zmax', value='90', format='int')
959 opObj11.addParameter(name='zmax', value='90', format='int')
943 opObj11.addParameter(name='showprofile', value='1', format='int')
960 opObj11.addParameter(name='showprofile', value='1', format='int')
944
961
945 # opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='external')
962 # opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='external')
946 # opObj11.addParameter(name='idfigure', value='2', format='int')
963 # opObj11.addParameter(name='idfigure', value='2', format='int')
947 # opObj11.addParameter(name='wintitle', value='CrossSpectraPlot', format='str')
964 # opObj11.addParameter(name='wintitle', value='CrossSpectraPlot', format='str')
948 # opObj11.addParameter(name='zmin', value='40', format='int')
965 # opObj11.addParameter(name='zmin', value='40', format='int')
949 # opObj11.addParameter(name='zmax', value='90', format='int')
966 # opObj11.addParameter(name='zmax', value='90', format='int')
950
967
951
968
952 # procUnitConfObj2 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitConfObj0.getId())
969 # procUnitConfObj2 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitConfObj0.getId())
953 #
970 #
954 # opObj12 = procUnitConfObj2.addOperation(name='CohInt', optype='external')
971 # opObj12 = procUnitConfObj2.addOperation(name='CohInt', optype='external')
955 # opObj12.addParameter(name='n', value='2', format='int')
972 # opObj12.addParameter(name='n', value='2', format='int')
956 # opObj12.addParameter(name='overlapping', value='1', format='int')
973 # opObj12.addParameter(name='overlapping', value='1', format='int')
957 #
974 #
958 # procUnitConfObj3 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj2.getId())
975 # procUnitConfObj3 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj2.getId())
959 # procUnitConfObj3.addParameter(name='nFFTPoints', value='32', format='int')
976 # procUnitConfObj3.addParameter(name='nFFTPoints', value='32', format='int')
960 #
977 #
961 # opObj11 = procUnitConfObj3.addOperation(name='SpectraPlot', optype='external')
978 # opObj11 = procUnitConfObj3.addOperation(name='SpectraPlot', optype='external')
962 # opObj11.addParameter(name='idfigure', value='2', format='int')
979 # opObj11.addParameter(name='idfigure', value='2', format='int')
963 # opObj11.addParameter(name='wintitle', value='SpectraPlot1', format='str')
980 # opObj11.addParameter(name='wintitle', value='SpectraPlot1', format='str')
964 # opObj11.addParameter(name='zmin', value='40', format='int')
981 # opObj11.addParameter(name='zmin', value='40', format='int')
965 # opObj11.addParameter(name='zmax', value='90', format='int')
982 # opObj11.addParameter(name='zmax', value='90', format='int')
966 # opObj11.addParameter(name='showprofile', value='1', format='int')
983 # opObj11.addParameter(name='showprofile', value='1', format='int')
967
984
968 # opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='external')
985 # opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='external')
969 # opObj11.addParameter(name='idfigure', value='10', format='int')
986 # opObj11.addParameter(name='idfigure', value='10', format='int')
970 # opObj11.addParameter(name='wintitle', value='RTI', format='str')
987 # opObj11.addParameter(name='wintitle', value='RTI', format='str')
971 ## opObj11.addParameter(name='xmin', value='21', format='float')
988 ## opObj11.addParameter(name='xmin', value='21', format='float')
972 ## opObj11.addParameter(name='xmax', value='22', format='float')
989 ## opObj11.addParameter(name='xmax', value='22', format='float')
973 # opObj11.addParameter(name='zmin', value='40', format='int')
990 # opObj11.addParameter(name='zmin', value='40', format='int')
974 # opObj11.addParameter(name='zmax', value='90', format='int')
991 # opObj11.addParameter(name='zmax', value='90', format='int')
975 # opObj11.addParameter(name='showprofile', value='1', format='int')
992 # opObj11.addParameter(name='showprofile', value='1', format='int')
976 # opObj11.addParameter(name='timerange', value=str(60), format='int')
993 # opObj11.addParameter(name='timerange', value=str(60), format='int')
977
994
978 # opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
995 # opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
979 # opObj10.addParameter(name='channelList', value='0,2,4,6', format='intlist')
996 # opObj10.addParameter(name='channelList', value='0,2,4,6', format='intlist')
980 #
997 #
981 # opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='external')
998 # opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='external')
982 # opObj12.addParameter(name='n', value='2', format='int')
999 # opObj12.addParameter(name='n', value='2', format='int')
983 #
1000 #
984 # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
1001 # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
985 # opObj11.addParameter(name='idfigure', value='2', format='int')
1002 # opObj11.addParameter(name='idfigure', value='2', format='int')
986 # opObj11.addParameter(name='wintitle', value='SpectraPlot10', format='str')
1003 # opObj11.addParameter(name='wintitle', value='SpectraPlot10', format='str')
987 # opObj11.addParameter(name='zmin', value='70', format='int')
1004 # opObj11.addParameter(name='zmin', value='70', format='int')
988 # opObj11.addParameter(name='zmax', value='90', format='int')
1005 # opObj11.addParameter(name='zmax', value='90', format='int')
989 #
1006 #
990 # opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
1007 # opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
991 # opObj10.addParameter(name='channelList', value='2,6', format='intlist')
1008 # opObj10.addParameter(name='channelList', value='2,6', format='intlist')
992 #
1009 #
993 # opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='external')
1010 # opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='external')
994 # opObj12.addParameter(name='n', value='2', format='int')
1011 # opObj12.addParameter(name='n', value='2', format='int')
995 #
1012 #
996 # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
1013 # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
997 # opObj11.addParameter(name='idfigure', value='3', format='int')
1014 # opObj11.addParameter(name='idfigure', value='3', format='int')
998 # opObj11.addParameter(name='wintitle', value='SpectraPlot10', format='str')
1015 # opObj11.addParameter(name='wintitle', value='SpectraPlot10', format='str')
999 # opObj11.addParameter(name='zmin', value='70', format='int')
1016 # opObj11.addParameter(name='zmin', value='70', format='int')
1000 # opObj11.addParameter(name='zmax', value='90', format='int')
1017 # opObj11.addParameter(name='zmax', value='90', format='int')
1001
1018
1002
1019
1003 # opObj12 = procUnitConfObj1.addOperation(name='decoder')
1020 # opObj12 = procUnitConfObj1.addOperation(name='decoder')
1004 # opObj12.addParameter(name='ncode', value='2', format='int')
1021 # opObj12.addParameter(name='ncode', value='2', format='int')
1005 # opObj12.addParameter(name='nbauds', value='8', format='int')
1022 # opObj12.addParameter(name='nbauds', value='8', format='int')
1006 # opObj12.addParameter(name='code0', value='001110011', format='int')
1023 # opObj12.addParameter(name='code0', value='001110011', format='int')
1007 # opObj12.addParameter(name='code1', value='001110011', format='int')
1024 # opObj12.addParameter(name='code1', value='001110011', format='int')
1008
1025
1009
1026
1010
1027
1011 # procUnitConfObj2 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj1.getId())
1028 # procUnitConfObj2 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj1.getId())
1012 #
1029 #
1013 # opObj21 = procUnitConfObj2.addOperation(name='IncohInt', optype='external')
1030 # opObj21 = procUnitConfObj2.addOperation(name='IncohInt', optype='external')
1014 # opObj21.addParameter(name='n', value='2', format='int')
1031 # opObj21.addParameter(name='n', value='2', format='int')
1015 #
1032 #
1016 # opObj11 = procUnitConfObj2.addOperation(name='SpectraPlot', optype='external')
1033 # opObj11 = procUnitConfObj2.addOperation(name='SpectraPlot', optype='external')
1017 # opObj11.addParameter(name='idfigure', value='4', format='int')
1034 # opObj11.addParameter(name='idfigure', value='4', format='int')
1018 # opObj11.addParameter(name='wintitle', value='SpectraPlot OBJ 2', format='str')
1035 # opObj11.addParameter(name='wintitle', value='SpectraPlot OBJ 2', format='str')
1019 # opObj11.addParameter(name='zmin', value='70', format='int')
1036 # opObj11.addParameter(name='zmin', value='70', format='int')
1020 # opObj11.addParameter(name='zmax', value='90', format='int')
1037 # opObj11.addParameter(name='zmax', value='90', format='int')
1021
1038
1022 print "Escribiendo el archivo XML"
1039 print "Escribiendo el archivo XML"
1023
1040
1024 controllerObj.writeXml(filename)
1041 controllerObj.writeXml(filename)
1025
1042
1026 print "Leyendo el archivo XML"
1043 print "Leyendo el archivo XML"
1027 controllerObj.readXml(filename)
1044 controllerObj.readXml(filename)
1028 #controllerObj.printattr()
1045 #controllerObj.printattr()
1029
1046
1030 controllerObj.createObjects()
1047 controllerObj.createObjects()
1031 controllerObj.connectObjects()
1048 controllerObj.connectObjects()
1032 controllerObj.run()
1049 controllerObj.run()
1033
1050
1034 No newline at end of file
1051
@@ -1,6480 +1,6543
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2 """
2 """
3 Module implementing MainWindow.
3 Module implementing MainWindow.
4 #+++++++++++++GUI V1++++++++++++++#
4 #+++++++++++++GUI V1++++++++++++++#
5 @author: AlexanderValdezPortocarrero Γ±_Γ±
5 @author: AlexanderValdezPortocarrero Γ±_Γ±
6 """
6 """
7 import os, sys, time
7 import os, sys, time
8 import datetime
8 import datetime
9 import Queue
9 import Queue
10 from PyQt4.QtGui import QMainWindow
10 from PyQt4.QtGui import QMainWindow
11 from PyQt4.QtCore import pyqtSignature
11 from PyQt4.QtCore import pyqtSignature
12 from PyQt4.QtCore import pyqtSignal
12 from PyQt4.QtCore import pyqtSignal
13 from PyQt4 import QtCore
13 from PyQt4 import QtCore
14 from PyQt4 import QtGui
14 from PyQt4 import QtGui
15
15
16 from schainpy.gui.viewer.ui_unitprocess import Ui_UnitProcess
16 from schainpy.gui.viewer.ui_unitprocess import Ui_UnitProcess
17 from schainpy.gui.viewer.ui_ftp import Ui_Ftp
17 from schainpy.gui.viewer.ui_ftp import Ui_Ftp
18 from schainpy.gui.viewer.ui_mainwindow import Ui_BasicWindow
18 from schainpy.gui.viewer.ui_mainwindow import Ui_BasicWindow
19 from schainpy.controller import Project
19 from schainpy.controller import Project
20
20
21 from modelProperties import treeModel
21 from modelProperties import treeModel
22 from collections import OrderedDict
22 from collections import OrderedDict
23 from os.path import expanduser
23 from os.path import expanduser
24 #from CodeWarrior.Standard_Suite import file
24 #from CodeWarrior.Standard_Suite import file
25 from comm import *
25 from comm import *
26
26
27 from schainpy.gui.figures import tools
27 from schainpy.gui.figures import tools
28 import numpy
28
29
29 FIGURES_PATH = tools.get_path()
30 FIGURES_PATH = tools.get_path()
30
31
31 def isRadarFile(file):
32 def isRadarFile(file):
32 try:
33 try:
33 year = int(file[1:5])
34 year = int(file[1:5])
34 doy = int(file[5:8])
35 doy = int(file[5:8])
35 set = int(file[8:11])
36 set = int(file[8:11])
36 except:
37 except:
37 return 0
38 return 0
38
39
39 return 1
40 return 1
40
41
41 def isRadarPath(path):
42 def isRadarPath(path):
42 try:
43 try:
43 year = int(path[1:5])
44 year = int(path[1:5])
44 doy = int(path[5:8])
45 doy = int(path[5:8])
45 except:
46 except:
46 return 0
47 return 0
47
48
48 return 1
49 return 1
49
50
50 class BasicWindow(QMainWindow, Ui_BasicWindow):
51 class BasicWindow(QMainWindow, Ui_BasicWindow):
51 """
52 """
52 """
53 """
53 def __init__(self, parent=None):
54 def __init__(self, parent=None):
54 """
55 """
55
56
56 """
57 """
57 QMainWindow.__init__(self, parent)
58 QMainWindow.__init__(self, parent)
58 self.setupUi(self)
59 self.setupUi(self)
59 self.__puObjDict = {}
60 self.__puObjDict = {}
60 self.__itemTreeDict = {}
61 self.__itemTreeDict = {}
61 self.readUnitConfObjList = []
62 self.readUnitConfObjList = []
62 self.operObjList = []
63 self.operObjList = []
63 self.projecObjView = None
64 self.projecObjView = None
64 self.idProject = 0
65 self.idProject = 0
65 # self.idImag = 0
66 # self.idImag = 0
66
67
67 self.idImagscope = 0
68 self.idImagscope = 0
68 self.idImagspectra = 0
69 self.idImagspectra = 0
69 self.idImagcross = 0
70 self.idImagcross = 0
70 self.idImagrti = 0
71 self.idImagrti = 0
71 self.idImagcoherence = 0
72 self.idImagcoherence = 0
72 self.idImagpower = 0
73 self.idImagpower = 0
73 self.idImagrtinoise = 0
74 self.idImagrtinoise = 0
74 self.idImagspectraHeis = 0
75 self.idImagspectraHeis = 0
75 self.idImagrtiHeis = 0
76 self.idImagrtiHeis = 0
76
77
77 self.online = 0
78 self.online = 0
78 self.walk = 0
79 self.walk = 0
79 self.create = False
80 self.create = False
80 self.selectedItemTree = None
81 self.selectedItemTree = None
81 self.commCtrlPThread = None
82 self.commCtrlPThread = None
82 self.setParameter()
83 self.setParameter()
83 self.create_comm()
84 self.create_comm()
84 # self.create_timers()
85 # self.create_timers()
85 # self.create_figure()
86 # self.create_figure()
86 self.temporalFTP = ftpBuffer()
87 self.temporalFTP = ftpBuffer()
87 self.projectProperCaracteristica = []
88 self.projectProperCaracteristica = []
88 self.projectProperPrincipal = []
89 self.projectProperPrincipal = []
89 self.projectProperDescripcion = []
90 self.projectProperDescripcion = []
90 self.volProperCaracteristica = []
91 self.volProperCaracteristica = []
91 self.volProperPrincipal = []
92 self.volProperPrincipal = []
92 self.volProperDescripcion = []
93 self.volProperDescripcion = []
93 self.specProperCaracteristica = []
94 self.specProperCaracteristica = []
94 self.specProperPrincipal = []
95 self.specProperPrincipal = []
95 self.specProperDescripcion = []
96 self.specProperDescripcion = []
96
97
97 self.specHeisProperCaracteristica = []
98 self.specHeisProperCaracteristica = []
98 self.specHeisProperPrincipal = []
99 self.specHeisProperPrincipal = []
99 self.specHeisProperDescripcion = []
100 self.specHeisProperDescripcion = []
100
101
101 # self.pathWorkSpace = './'
102 # self.pathWorkSpace = './'
102
103
103 self.__projectObjDict = {}
104 self.__projectObjDict = {}
104 self.__operationObjDict = {}
105 self.__operationObjDict = {}
105
106
106 self.__ftpProcUnitAdded = False
107 self.__ftpProcUnitAdded = False
107 self.__ftpProcUnitId = None
108 self.__ftpProcUnitId = None
108
109
110 @pyqtSignature("")
111 def on_actionOpen_triggered(self):
112 """
113 Slot documentation goes here.
114 """
115 self.openProject()
116
109 @pyqtSignature("")
117 @pyqtSignature("")
110 def on_actionCreate_triggered(self):
118 def on_actionCreate_triggered(self):
111 """
119 """
112 Slot documentation goes here.
120 Slot documentation goes here.
113 """
121 """
114 self.setInputsProject_View()
122 self.setInputsProject_View()
115 self.create = True
123 self.create = True
116
124
117 @pyqtSignature("")
125 @pyqtSignature("")
118 def on_actionSave_triggered(self):
126 def on_actionSave_triggered(self):
119 """
127 """
120 Slot documentation goes here.
128 Slot documentation goes here.
121 """
129 """
122 self.saveProject()
130 self.saveProject()
123
131
124 @pyqtSignature("")
132 @pyqtSignature("")
125 def on_actionClose_triggered(self):
133 def on_actionClose_triggered(self):
126 """
134 """
127 Slot documentation goes here.
135 Slot documentation goes here.
128 """
136 """
129 self.close()
137 self.close()
130
138
131 @pyqtSignature("")
139 @pyqtSignature("")
132 def on_actionStart_triggered(self):
140 def on_actionStart_triggered(self):
133 """
141 """
134 """
142 """
135 self.playProject()
143 self.playProject()
136
144
137 @pyqtSignature("")
145 @pyqtSignature("")
138 def on_actionPause_triggered(self):
146 def on_actionPause_triggered(self):
139 """
147 """
140 """
148 """
141 self.pauseProject()
149 self.pauseProject()
142
150
143 @pyqtSignature("")
151 @pyqtSignature("")
144 def on_actionStop_triggered(self):
152 def on_actionStop_triggered(self):
145 """
153 """
146 """
154 """
147 self.stopProject()
155 self.stopProject()
148
156
149 @pyqtSignature("")
157 @pyqtSignature("")
150 def on_actionFTP_triggered(self):
158 def on_actionFTP_triggered(self):
151 """
159 """
152 """
160 """
153 self.configFTPWindowObj = Ftp(self)
161 self.configFTPWindowObj = Ftp(self)
154 # if self.temporalFTP.create:
162 # if self.temporalFTP.create:
155 if self.temporalFTP.createforView:
163 if self.temporalFTP.createforView:
156 server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
164 server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
157 self.configFTPWindowObj.setParmsfromTemporal(server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos)
165 self.configFTPWindowObj.setParmsfromTemporal(server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos)
158 self.configFTPWindowObj.show()
166 self.configFTPWindowObj.show()
159 self.configFTPWindowObj.closed.connect(self.createFTPConfig)
167 self.configFTPWindowObj.closed.connect(self.createFTPConfig)
160
168
161 def createFTPConfig(self):
169 def createFTPConfig(self):
162 self.console.clear()
170 self.console.clear()
163 if not self.configFTPWindowObj.create:
171 if not self.configFTPWindowObj.create:
164 self.console.append("There is no FTP configuration")
172 self.console.append("There is no FTP configuration")
165 return
173 return
166 self.console.append("Push Ok in Spectra view to Add FTP Configuration")
174 self.console.append("Push Ok in Spectra view to Add FTP Configuration")
167 server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.configFTPWindowObj.getParmsFromFtpWindow()
175 server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.configFTPWindowObj.getParmsFromFtpWindow()
168 self.temporalFTP.save(server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos)
176 self.temporalFTP.save(server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos)
169
177
170 @pyqtSignature("")
178 @pyqtSignature("")
171 def on_actionOpenToolbar_triggered(self):
179 def on_actionOpenToolbar_triggered(self):
172 """
180 """
173 Slot documentation goes here.
181 Slot documentation goes here.
174 """
182 """
175 self.create = False
183 self.openProject()
176 self.frame_2.setEnabled(True)
177 home = expanduser("~")
178 self.dir = os.path.join(home, 'schain_workspace')
179 # print self.dir
180 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.dir, self.tr("Text Files (*.xml)")))
181 self.console.clear()
182 projectObjLoad = Project()
183 try:
184 projectObjLoad.readXml(filename)
185 except:
186 self.console.clear()
187 self.console.append("The selected xml file could not be loaded ...")
188 return 0
189
190 project_name, description = projectObjLoad.name, projectObjLoad.description
191 id = projectObjLoad.id
192 self.__projectObjDict[id] = projectObjLoad
193 # Project Properties
194 datatype, data_path, startDate, endDate, startTime, endTime , online , delay, walk, set = self.showProjectProperties(projectObjLoad)
195 # show ProjectView
196 self.addProject2ProjectExplorer(id=id, name=project_name)
197 self.refreshProjectWindow(project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, set)
198
199 if datatype == "Voltage":
200 ext = '.r'
201 self.specOpProfiles.setEnabled(True)
202 self.specOpippFactor.setEnabled(True)
203 elif datatype == "Spectra":
204 ext = '.pdata'
205 self.specOpProfiles.setEnabled(False)
206 self.specOpippFactor.setEnabled(False)
207 elif datatype == "Fits":
208 ext = '.fits'
209
210 if online == 0:
211 self.loadDays(data_path, ext, walk)
212 else:
213 self.proComStartDate.setEnabled(False)
214 self.proComEndDate.setEnabled(False)
215 self.proStartTime.setEnabled(False)
216 self.proEndTime.setEnabled(False)
217 self.frame_2.setEnabled(True)
218
219 self.tabWidgetProject.setEnabled(True)
220 self.tabWidgetProject.setCurrentWidget(self.tabProject)
221 # Disable tabProject after finish the creation
222 self.tabProject.setEnabled(True)
223 puObjorderList = OrderedDict(sorted(projectObjLoad.procUnitConfObjDict.items(), key=lambda x: x[0]))
224
225 for inputId, puObj in puObjorderList.items():
226 # print puObj.datatype, puObj.inputId,puObj.getId(),puObj.parentId
227 self.__puObjDict[puObj.getId()] = puObj
228
229 if puObj.inputId != "0":
230 self.addPU2PELoadXML(id=puObj.getId() , name=puObj.datatype , idParent=puObj.inputId)
231
232 if puObj.datatype == "Voltage":
233 self.refreshPUWindow(puObj.datatype, puObj)
234 self.showPUVoltageProperties(puObj)
235 self.showtabPUCreated(datatype=puObj.datatype)
236
237 if puObj.datatype == "Spectra":
238 self.refreshPUWindow(puObj.datatype, puObj)
239 self.showPUSpectraProperties(puObj)
240 self.showtabPUCreated(datatype=puObj.datatype)
241
242 if puObj.datatype == "SpectraHeis":
243 self.refreshPUWindow(puObj.datatype, puObj)
244 self.showPUSpectraHeisProperties(puObj)
245 self.showtabPUCreated(datatype=puObj.datatype)
246
247 if puObj.name == "SendToServer":
248 self.__ftpProcUnitAdded = True
249 self.__ftpProcUnitId = puObj.getId()
250
251 opObj = puObj.getOperationObj(name="run")
252 self.saveFTPvalues(opObj)
253
254 self.console.clear()
255 self.console.append("The selected xml file has been loaded successfully")
256 # self.refreshPUWindow(datatype=datatype,puObj=puObj)
257
184
258 @pyqtSignature("")
185 @pyqtSignature("")
259 def on_actionCreateToolbar_triggered(self):
186 def on_actionCreateToolbar_triggered(self):
260 """
187 """
261 Slot documentation goes here.
188 Slot documentation goes here.
262 """
189 """
263 self.setInputsProject_View()
190 self.setInputsProject_View()
264 self.create = True
191 self.create = True
265
192
266 @pyqtSignature("")
193 @pyqtSignature("")
267 def on_actionAddPU_triggered(self):
194 def on_actionAddPU_triggered(self):
268 if len(self.__projectObjDict) == 0:
195 if len(self.__projectObjDict) == 0:
269 outputstr = "First Create a Project then add Processing Unit"
196 outputstr = "First Create a Project then add Processing Unit"
270 self.console.clear()
197 self.console.clear()
271 self.console.append(outputstr)
198 self.console.append(outputstr)
272 return 0
199 return 0
273 else:
200 else:
274 self.addPUWindow()
201 self.addPUWindow()
275 self.console.clear()
202 self.console.clear()
276 self.console.append("Please, Choose the type of Processing Unit")
203 self.console.append("Please, Choose the type of Processing Unit")
277 self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
204 self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
278 self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
205 self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
279 self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
206 self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
280
207
281
208
282 @pyqtSignature("")
209 @pyqtSignature("")
283 def on_actionSaveToolbar_triggered(self):
210 def on_actionSaveToolbar_triggered(self):
284 """
211 """
285 Slot documentation goes here.
212 Slot documentation goes here.
286 """
213 """
287 self.saveProject()
214 self.saveProject()
288
215
289 @pyqtSignature("")
216 @pyqtSignature("")
290 def on_actionStarToolbar_triggered(self):
217 def on_actionStarToolbar_triggered(self):
291 """
218 """
292 Slot documentation goes here.
219 Slot documentation goes here.
293 """
220 """
294 self.playProject()
221 self.playProject()
295
222
296 @pyqtSignature("")
223 @pyqtSignature("")
297 def on_actionPauseToolbar_triggered(self):
224 def on_actionPauseToolbar_triggered(self):
298
225
299 self.pauseProject()
226 self.pauseProject()
300
227
301 @pyqtSignature("")
228 @pyqtSignature("")
302 def on_actionStopToolbar_triggered(self):
229 def on_actionStopToolbar_triggered(self):
303 """
230 """
304 Slot documentation goes here.
231 Slot documentation goes here.
305 """
232 """
306 self.stopProject()
233 self.stopProject()
307
234
308 @pyqtSignature("int")
235 @pyqtSignature("int")
309 def on_proComReadMode_activated(self, index):
236 def on_proComReadMode_activated(self, index):
310 """
237 """
311 SELECCION DEL MODO DE LECTURA ON=1, OFF=0
238 SELECCION DEL MODO DE LECTURA ON=1, OFF=0
312 """
239 """
313 if index == 0:
240 if index == 0:
314 self.online = 0
241 self.online = 0
315 self.proDelay.setText("0")
242 self.proDelay.setText("0")
316 self.proSet.setText("0")
243 self.proSet.setText("0")
317 self.proSet.setEnabled(False)
244 self.proSet.setEnabled(False)
318 self.proDelay.setEnabled(False)
245 self.proDelay.setEnabled(False)
319 elif index == 1:
246 elif index == 1:
320 self.online = 1
247 self.online = 1
321 self.proSet.setText(" ")
248 self.proSet.setText(" ")
322 self.proDelay.setText("5")
249 self.proDelay.setText("5")
323 self.proSet.setEnabled(True)
250 self.proSet.setEnabled(True)
324 self.proDelay.setEnabled(True)
251 self.proDelay.setEnabled(True)
325
252
326 @pyqtSignature("int")
253 @pyqtSignature("int")
327 def on_proComDataType_activated(self, index):
254 def on_proComDataType_activated(self, index):
328 """
255 """
329 Voltage or Spectra
256 Voltage or Spectra
330 """
257 """
331 if index == 0:
258 if index == 0:
332 self.datatype = '.r'
259 self.datatype = '.r'
333 elif index == 1:
260 elif index == 1:
334 self.datatype = '.pdata'
261 self.datatype = '.pdata'
335 elif index == 2:
262 elif index == 2:
336 self.datatype = '.fits'
263 self.datatype = '.fits'
337
264
338 self.proDataType.setText(self.datatype)
265 self.proDataType.setText(self.datatype)
339 self.console.clear()
266 self.console.clear()
340
267
341 @pyqtSignature("int")
268 @pyqtSignature("int")
342 def on_proComWalk_activated(self, index):
269 def on_proComWalk_activated(self, index):
343 """
270 """
344
271
345 """
272 """
346 if index == 0:
273 if index == 0:
347 self.walk = 0
274 self.walk = 0
348 elif index == 1:
275 elif index == 1:
349 self.walk = 1
276 self.walk = 1
350
277
351 @pyqtSignature("")
278 @pyqtSignature("")
352 def on_proToolPath_clicked(self):
279 def on_proToolPath_clicked(self):
353 """
280 """
354 Choose your path
281 Choose your path
355 """
282 """
356 self.dataPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
283 self.dataPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
357 self.proDataPath.setText(self.dataPath)
284 self.proDataPath.setText(self.dataPath)
358
285
359 self.proComStartDate.clear()
286 self.proComStartDate.clear()
360 self.proComEndDate.clear()
287 self.proComEndDate.clear()
361
288
362 if not os.path.exists(self.dataPath):
289 if not os.path.exists(self.dataPath):
363 self.proOk.setEnabled(False)
290 self.proOk.setEnabled(False)
364 self.console.clear()
291 self.console.clear()
365 self.console.append("Write a correct a path")
292 self.console.append("Write a correct a path")
366 return
293 return
367 self.console.clear()
294 self.console.clear()
368 self.console.append("Select the read mode")
295 self.console.append("Select the read mode")
369
296
370
297
371 @pyqtSignature("")
298 @pyqtSignature("")
372 def on_proLoadButton_clicked(self):
299 def on_proLoadButton_clicked(self):
373 self.console.clear()
300 self.console.clear()
374 parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk , set = self.checkInputsProject()
301 parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk , set = self.checkInputsProject()
375 if read_mode == "Offline":
302 if read_mode == "Offline":
376 if parms_ok:
303 if parms_ok:
377 self.proComStartDate.clear()
304 self.proComStartDate.clear()
378 self.proComEndDate.clear()
305 self.proComEndDate.clear()
379 self.loadDays(data_path, ext, walk)
306 self.loadDays(data_path, ext, walk)
380 self.proComStartDate.setEnabled(True)
307 self.proComStartDate.setEnabled(True)
381 self.proComEndDate.setEnabled(True)
308 self.proComEndDate.setEnabled(True)
382 self.proStartTime.setEnabled(True)
309 self.proStartTime.setEnabled(True)
383 self.proEndTime.setEnabled(True)
310 self.proEndTime.setEnabled(True)
384 self.frame_2.setEnabled(True)
311 self.frame_2.setEnabled(True)
385 return
312 return
386 if read_mode == "Online":
313 if read_mode == "Online":
387 if parms_ok:
314 if parms_ok:
388 self.proComStartDate.addItem("2010/01/30")
315 self.proComStartDate.addItem("2010/01/30")
389 self.proComEndDate.addItem("2013/12/30")
316 self.proComEndDate.addItem("2013/12/30")
390 self.loadDays(data_path, ext, walk)
317 self.loadDays(data_path, ext, walk)
391 self.proComStartDate.setEnabled(False)
318 self.proComStartDate.setEnabled(False)
392 self.proComEndDate.setEnabled(False)
319 self.proComEndDate.setEnabled(False)
393 self.proStartTime.setEnabled(False)
320 self.proStartTime.setEnabled(False)
394 self.proEndTime.setEnabled(False)
321 self.proEndTime.setEnabled(False)
395 self.frame_2.setEnabled(True)
322 self.frame_2.setEnabled(True)
396
323
397 @pyqtSignature("int")
324 @pyqtSignature("int")
398 def on_proComStartDate_activated(self, index):
325 def on_proComStartDate_activated(self, index):
399 """
326 """
400 SELECCION DEL RANGO DE FECHAS -START DATE
327 SELECCION DEL RANGO DE FECHAS -START DATE
401 """
328 """
402 stopIndex = self.proComEndDate.count() - self.proComEndDate.currentIndex()
329 stopIndex = self.proComEndDate.count() - self.proComEndDate.currentIndex()
403 self.proComEndDate.clear()
330 self.proComEndDate.clear()
404 for i in self.dateList[index:]:
331 for i in self.dateList[index:]:
405 self.proComEndDate.addItem(i)
332 self.proComEndDate.addItem(i)
406 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - stopIndex)
333 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - stopIndex)
407
334
408 @pyqtSignature("int")
335 @pyqtSignature("int")
409 def on_proComEndDate_activated(self, index):
336 def on_proComEndDate_activated(self, index):
410 """
337 """
411 SELECCION DEL RANGO DE FECHAS-END DATE
338 SELECCION DEL RANGO DE FECHAS-END DATE
412 """
339 """
413 startIndex = self.proComStartDate.currentIndex()
340 startIndex = self.proComStartDate.currentIndex()
414 stopIndex = self.proComEndDate.count() - index
341 stopIndex = self.proComEndDate.count() - index
415 self.proComStartDate.clear()
342 self.proComStartDate.clear()
416 for i in self.dateList[:len(self.dateList) - stopIndex + 1]:
343 for i in self.dateList[:len(self.dateList) - stopIndex + 1]:
417 self.proComStartDate.addItem(i)
344 self.proComStartDate.addItem(i)
418 self.proComStartDate.setCurrentIndex(startIndex)
345 self.proComStartDate.setCurrentIndex(startIndex)
419
346
420 @pyqtSignature("")
347 @pyqtSignature("")
421 def on_proOk_clicked(self):
348 def on_proOk_clicked(self):
422 """
349 """
423 AΓ±ade al Obj XML de Projecto, name,datatype,date,time,readmode,wait,etc, crea el readUnitProcess del archivo xml.
350 AΓ±ade al Obj XML de Projecto, name,datatype,date,time,readmode,wait,etc, crea el readUnitProcess del archivo xml.
424 Prepara la configuraciΓ³n del diΓ‘grama del Arbol del treeView numero 2
351 Prepara la configuraciΓ³n del diΓ‘grama del Arbol del treeView numero 2
425 """
352 """
426 if self.create:
353 if self.create:
427 self.idProject += 1
354 self.idProject += 1
428 projectId = self.idProject
355 projectId = self.idProject
429 projectObjView = self.createProjectView(projectId)
356 projectObjView = self.createProjectView(projectId)
430 readUnitObj = self.createReadUnitView(projectObjView)
357 readUnitObj = self.createReadUnitView(projectObjView)
431 self.addProject2ProjectExplorer(id=projectId, name=projectObjView.name)
358 self.addProject2ProjectExplorer(id=projectId, name=projectObjView.name)
432 else:
359 else:
433 projectObjView = self.updateProjectView()
360 projectObjView = self.updateProjectView()
434 projectId = projectObjView.getId()
361 projectId = projectObjView.getId()
435 idReadUnit = projectObjView.getReadUnitId()
362 idReadUnit = projectObjView.getReadUnitId()
436 readUnitObj = self.updateReadUnitView(projectObjView, idReadUnit)
363 readUnitObj = self.updateReadUnitView(projectObjView, idReadUnit)
437
364
438 self.__itemTreeDict[projectId].setText(projectObjView.name)
365 self.__itemTreeDict[projectId].setText(projectObjView.name)
439 # Project Properties
366 # Project Properties
440 self.showProjectProperties(projectObjView)
367 self.showProjectProperties(projectObjView)
441 # Disable tabProject after finish the creation
368 # Disable tabProject after finish the creation
442 self.tabProject.setEnabled(True)
369 self.tabProject.setEnabled(True)
443
370
444 @pyqtSignature("")
371 @pyqtSignature("")
445 def on_proClear_clicked(self):
372 def on_proClear_clicked(self):
446 self.setInputsProject_View()
373 self.setInputsProject_View()
447 projectObj = self.getSelectedProjectObj()
374 projectObj = self.getSelectedProjectObj()
448
375
449 @pyqtSignature("int")
376 @pyqtSignature("int")
450 def on_volOpCebChannels_stateChanged(self, p0):
377 def on_volOpCebChannels_stateChanged(self, p0):
451 """
378 """
452 Check Box habilita operaciones de SelecciοΏ½n de Canales
379 Check Box habilita operaciones de SelecciοΏ½n de Canales
453 """
380 """
454 if p0 == 2:
381 if p0 == 2:
455 self.volOpComChannels.setEnabled(True)
382 self.volOpComChannels.setEnabled(True)
456 self.volOpChannel.setEnabled(True)
383 self.volOpChannel.setEnabled(True)
457
384
458 if p0 == 0:
385 if p0 == 0:
459 self.volOpComChannels.setEnabled(False)
386 self.volOpComChannels.setEnabled(False)
460 self.volOpChannel.setEnabled(False)
387 self.volOpChannel.setEnabled(False)
461 self.volOpChannel.clear()
388 self.volOpChannel.clear()
462
389
463 @pyqtSignature("int")
390 @pyqtSignature("int")
464 def on_volOpCebHeights_stateChanged(self, p0):
391 def on_volOpCebHeights_stateChanged(self, p0):
465 """
392 """
466 Check Box habilita operaciones de SelecciοΏ½n de Alturas
393 Check Box habilita operaciones de SelecciοΏ½n de Alturas
467 """
394 """
468 if p0 == 2:
395 if p0 == 2:
469 self.volOpHeights.setEnabled(True)
396 self.volOpHeights.setEnabled(True)
470 self.volOpComHeights.setEnabled(True)
397 self.volOpComHeights.setEnabled(True)
471
398
472 if p0 == 0:
399 if p0 == 0:
473 self.volOpHeights.setEnabled(False)
400 self.volOpHeights.setEnabled(False)
474 self.volOpHeights.clear()
401 self.volOpHeights.clear()
475 self.volOpComHeights.setEnabled(False)
402 self.volOpComHeights.setEnabled(False)
476
403
477 @pyqtSignature("int")
404 @pyqtSignature("int")
478 def on_volOpCebFilter_stateChanged(self, p0):
405 def on_volOpCebFilter_stateChanged(self, p0):
479 """
406 """
480 Name='Decoder', optype='other'
407 Name='Decoder', optype='other'
481 """
408 """
482 if p0 == 2:
409 if p0 == 2:
483 self.volOpFilter.setEnabled(True)
410 self.volOpFilter.setEnabled(True)
484
411
485 if p0 == 0:
412 if p0 == 0:
486 self.volOpFilter.setEnabled(False)
413 self.volOpFilter.setEnabled(False)
487 self.volOpFilter.clear()
414 self.volOpFilter.clear()
488
415
489 @pyqtSignature("int")
416 @pyqtSignature("int")
490 def on_volOpCebProfile_stateChanged(self, p0):
417 def on_volOpCebProfile_stateChanged(self, p0):
491 """
418 """
492 Check Box habilita ingreso del rango de Perfiles
419 Check Box habilita ingreso del rango de Perfiles
493 """
420 """
494 if p0 == 2:
421 if p0 == 2:
495 self.volOpComProfile.setEnabled(True)
422 self.volOpComProfile.setEnabled(True)
496 self.volOpProfile.setEnabled(True)
423 self.volOpProfile.setEnabled(True)
497
424
498 if p0 == 0:
425 if p0 == 0:
499 self.volOpComProfile.setEnabled(False)
426 self.volOpComProfile.setEnabled(False)
500 self.volOpProfile.setEnabled(False)
427 self.volOpProfile.setEnabled(False)
501 self.volOpProfile.clear()
428 self.volOpProfile.clear()
502
429
503 @pyqtSignature("int")
430 @pyqtSignature("int")
504 def on_volOpCebDecodification_stateChanged(self, p0):
431 def on_volOpCebDecodification_stateChanged(self, p0):
505 """
432 """
506 Check Box habilita
433 Check Box habilita
507 """
434 """
508 if p0 == 2:
435 if p0 == 2:
509 self.volOpComCode.setEnabled(True)
436 self.volOpComCode.setEnabled(True)
510 self.volOpComMode.setEnabled(True)
437 self.volOpComMode.setEnabled(True)
511 if p0 == 0:
438 if p0 == 0:
512 self.volOpComCode.setEnabled(False)
439 self.volOpComCode.setEnabled(False)
513 self.volOpComMode.setEnabled(False)
440 self.volOpComMode.setEnabled(False)
514
441
442 @pyqtSignature("int")
443 def on_volOpCebFlip_stateChanged(self, p0):
444 """
445 Check Box habilita ingresode del numero de Integraciones a realizar
446 """
447 if p0 == 2:
448 self.volOpFlip.setEnabled(True)
449 if p0 == 0:
450 self.volOpFlip.setEnabled(False)
451 self.volOpFlip.clear()
452
515 @pyqtSignature("int")
453 @pyqtSignature("int")
516 def on_volOpCebCohInt_stateChanged(self, p0):
454 def on_volOpCebCohInt_stateChanged(self, p0):
517 """
455 """
518 Check Box habilita ingresode del numero de Integraciones a realizar
456 Check Box habilita ingresode del numero de Integraciones a realizar
519 """
457 """
520 if p0 == 2:
458 if p0 == 2:
521 self.volOpCohInt.setEnabled(True)
459 self.volOpCohInt.setEnabled(True)
522 if p0 == 0:
460 if p0 == 0:
523 self.volOpCohInt.setEnabled(False)
461 self.volOpCohInt.setEnabled(False)
524 self.volOpCohInt.clear()
462 self.volOpCohInt.clear()
525
463
526 @pyqtSignature("int")
464 @pyqtSignature("int")
527 def on_volOpCebRadarfrequency_stateChanged(self, p0):
465 def on_volOpCebRadarfrequency_stateChanged(self, p0):
528 """
466 """
529 Check Box habilita ingresode del numero de Integraciones a realizar
467 Check Box habilita ingresode del numero de Integraciones a realizar
530 """
468 """
531 if p0 == 2:
469 if p0 == 2:
532 self.volOpRadarfrequency.setEnabled(True)
470 self.volOpRadarfrequency.setEnabled(True)
533 if p0 == 0:
471 if p0 == 0:
534 self.volOpRadarfrequency.clear()
472 self.volOpRadarfrequency.clear()
535 self.volOpRadarfrequency.setEnabled(False)
473 self.volOpRadarfrequency.setEnabled(False)
536
474
537 @pyqtSignature("")
475 @pyqtSignature("")
538 def on_volOutputToolPath_clicked(self):
476 def on_volOutputToolPath_clicked(self):
539 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
477 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
540 self.volOutputPath.setText(dirOutPath)
478 self.volOutputPath.setText(dirOutPath)
541
479
542 @pyqtSignature("")
480 @pyqtSignature("")
543 def on_specOutputToolPath_clicked(self):
481 def on_specOutputToolPath_clicked(self):
544 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
482 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
545 self.specOutputPath.setText(dirOutPath)
483 self.specOutputPath.setText(dirOutPath)
546
484
547 @pyqtSignature("")
485 @pyqtSignature("")
548 def on_specHeisOutputToolPath_clicked(self):
486 def on_specHeisOutputToolPath_clicked(self):
549 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
487 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
550 self.specHeisOutputPath.setText(dirOutPath)
488 self.specHeisOutputPath.setText(dirOutPath)
551
489
552 @pyqtSignature("")
490 @pyqtSignature("")
553 def on_specHeisOutputMetadaToolPath_clicked(self):
491 def on_specHeisOutputMetadaToolPath_clicked(self):
554 home = expanduser("~")
492 home = expanduser("~")
555 self.dir = os.path.join(home, 'schain_workspace')
493 self.dir = os.path.join(home, 'schain_workspace')
556 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.dir, self.tr("Text Files (*.xml)")))
494 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.dir, self.tr("Text Files (*.xml)")))
557 self.specHeisOutputMetada.setText(filename)
495 self.specHeisOutputMetada.setText(filename)
558
496
559 @pyqtSignature("")
497 @pyqtSignature("")
560 def on_volOpOk_clicked(self):
498 def on_volOpOk_clicked(self):
561 """
499 """
562 BUSCA EN LA LISTA DE OPERACIONES DEL TIPO VOLTAJE Y LES AοΏ½ADE EL PARAMETRO ADECUADO ESPERANDO LA ACEPTACION DEL USUARIO
500 BUSCA EN LA LISTA DE OPERACIONES DEL TIPO VOLTAJE Y LES AοΏ½ADE EL PARAMETRO ADECUADO ESPERANDO LA ACEPTACION DEL USUARIO
563 PARA AGREGARLO AL ARCHIVO DE CONFIGURACION XML
501 PARA AGREGARLO AL ARCHIVO DE CONFIGURACION XML
564 """
502 """
565
503
566 checkPath = False
504 checkPath = False
567
505
568 self.actionSaveToolbar.setEnabled(False)
506 self.actionSaveToolbar.setEnabled(False)
569 self.actionStarToolbar.setEnabled(False)
507 self.actionStarToolbar.setEnabled(False)
570
508
571 puObj = self.getSelectedPUObj()
509 puObj = self.getSelectedPUObj()
572 puObj.removeOperations()
510 puObj.removeOperations()
573
511
574 if self.volOpCebRadarfrequency.isChecked():
512 if self.volOpCebRadarfrequency.isChecked():
575 value = self.volOpRadarfrequency.text()
513 value = self.volOpRadarfrequency.text()
576 format = 'float'
514 format = 'float'
577 name_operation = 'setRadarFrequency'
515 name_operation = 'setRadarFrequency'
578 name_parameter = 'frequency'
516 name_parameter = 'frequency'
579 if not value == "":
517 if not value == "":
580 try:
518 try:
581 radarfreq = float(self.volOpRadarfrequency.text())
519 radarfreq = float(self.volOpRadarfrequency.text())
582 except:
520 except:
583 self.console.clear()
521 self.console.clear()
584 self.console.append("Write the parameter Radar Frequency type float")
522 self.console.append("Write the parameter Radar Frequency type float")
585 return 0
523 return 0
586 opObj = puObj.addOperation(name=name_operation)
524 opObj = puObj.addOperation(name=name_operation)
587 opObj.addParameter(name=name_parameter, value=radarfreq, format=format)
525 opObj.addParameter(name=name_parameter, value=radarfreq, format=format)
588
526
589
527
590
528
591 if self.volOpCebChannels.isChecked():
529 if self.volOpCebChannels.isChecked():
592 value = self.volOpChannel.text()
530 value = self.volOpChannel.text()
593 format = 'intlist'
531 format = 'intlist'
594 if self.volOpComChannels.currentIndex() == 0:
532 if self.volOpComChannels.currentIndex() == 0:
595 name_operation = "selectChannels"
533 name_operation = "selectChannels"
596 name_parameter = 'channelList'
534 name_parameter = 'channelList'
597 else:
535 else:
598 name_operation = "selectChannelsByIndex"
536 name_operation = "selectChannelsByIndex"
599 name_parameter = 'channelIndexList'
537 name_parameter = 'channelIndexList'
600
538
601 opObj = puObj.addOperation(name=name_operation)
539 opObj = puObj.addOperation(name=name_operation)
602 opObj.addParameter(name=name_parameter, value=value, format=format)
540 opObj.addParameter(name=name_parameter, value=value, format=format)
603
541
604 if self.volOpCebHeights.isChecked():
542 if self.volOpCebHeights.isChecked():
605 value = self.volOpHeights.text()
543 value = self.volOpHeights.text()
606 valueList = value.split(',')
544 valueList = value.split(',')
607 format = 'float'
545 format = 'float'
608 if self.volOpComHeights.currentIndex() == 0:
546 if self.volOpComHeights.currentIndex() == 0:
609 name_operation = 'selectHeights'
547 name_operation = 'selectHeights'
610 name_parameter1 = 'minHei'
548 name_parameter1 = 'minHei'
611 name_parameter2 = 'maxHei'
549 name_parameter2 = 'maxHei'
612 else:
550 else:
613 name_operation = 'selectHeightsByIndex'
551 name_operation = 'selectHeightsByIndex'
614 name_parameter1 = 'minIndex'
552 name_parameter1 = 'minIndex'
615 name_parameter2 = 'maxIndex'
553 name_parameter2 = 'maxIndex'
616 opObj = puObj.addOperation(name=name_operation)
554 opObj = puObj.addOperation(name=name_operation)
617 opObj.addParameter(name=name_parameter1, value=valueList[0], format=format)
555 opObj.addParameter(name=name_parameter1, value=valueList[0], format=format)
618 opObj.addParameter(name=name_parameter2, value=valueList[1], format=format)
556 opObj.addParameter(name=name_parameter2, value=valueList[1], format=format)
619
557
620 if self.volOpCebFilter.isChecked():
558 if self.volOpCebFilter.isChecked():
621 value = self.volOpFilter.text()
559 value = self.volOpFilter.text()
622 format = 'int'
560 format = 'int'
623 name_operation = 'filterByHeights'
561 name_operation = 'filterByHeights'
624 name_parameter = 'window'
562 name_parameter = 'window'
625 opObj = puObj.addOperation(name=name_operation)
563 opObj = puObj.addOperation(name=name_operation)
626 opObj.addParameter(name=name_parameter, value=value, format=format)
564 opObj.addParameter(name=name_parameter, value=value, format=format)
627
565
628 if self.volOpCebProfile.isChecked():
566 if self.volOpCebProfile.isChecked():
629 value = self.volOpProfile.text()
567 value = self.volOpProfile.text()
630 format = 'intlist'
568 format = 'intlist'
631 optype = 'other'
569 optype = 'other'
632 name_operation = 'ProfileSelector'
570 name_operation = 'ProfileSelector'
633 if self.volOpComProfile.currentIndex() == 0:
571 if self.volOpComProfile.currentIndex() == 0:
634 name_parameter = 'profileList'
572 name_parameter = 'profileList'
635 else:
573 else:
636 name_parameter = 'profileRangeList'
574 name_parameter = 'profileRangeList'
637 opObj = puObj.addOperation(name='ProfileSelector', optype='other')
575 opObj = puObj.addOperation(name='ProfileSelector', optype='other')
638 opObj.addParameter(name=name_parameter, value=value, format=format)
576 opObj.addParameter(name=name_parameter, value=value, format=format)
639
577
640 if self.volOpCebDecodification.isChecked():
578 if self.volOpCebDecodification.isChecked():
641 name_operation = 'Decoder'
579 name_operation = 'Decoder'
642 optype = 'other'
580 optype = 'other'
643 format1 = 'floatlist'
581 format1 = 'floatlist'
644 format2 = 'int'
582 format2 = 'int'
645 format3 = 'int'
583 format3 = 'int'
646 format4 = 'int'
584 format4 = 'int'
647 name_parameter1 = 'code'
585 name_parameter1 = 'code'
648 name_parameter2 = 'nCode'
586 name_parameter2 = 'nCode'
649 name_parameter3 = 'nBaud'
587 name_parameter3 = 'nBaud'
650 name_parameter4 = 'mode'
588 name_parameter4 = 'mode'
651
589
652 if self.volOpComCode.currentIndex() == 0:
590 if self.volOpComCode.currentIndex() == 0:
653 value1 = '1,1,-1'
591 value1 = '1,1,-1'
654 value2 = '1'
592 value2 = '1'
655 value3 = '3'
593 value3 = '3'
656 if self.volOpComCode.currentIndex() == 1:
594 if self.volOpComCode.currentIndex() == 1:
657 value1 = '1,1,-1,1'
595 value1 = '1,1,-1,1'
658 value2 = '1'
596 value2 = '1'
659 value3 = '4'
597 value3 = '4'
660 if self.volOpComCode.currentIndex() == 2:
598 if self.volOpComCode.currentIndex() == 2:
661 value1 = '1,1,1,βˆ’1,1'
599 value1 = '1,1,1,-1,1'
662 value2 = '1'
600 value2 = '1'
663 value3 = '5'
601 value3 = '5'
664 if self.volOpComCode.currentIndex() == 3:
602 if self.volOpComCode.currentIndex() == 3:
665 value1 = '1,1,1,-1,-1,1,-1'
603 value1 = '1,1,1,-1,-1,1,-1'
666 value2 = '1'
604 value2 = '1'
667 value3 = '7'
605 value3 = '7'
668 if self.volOpComCode.currentIndex() == 4:
606 if self.volOpComCode.currentIndex() == 4:
669 value1 = '1,1,1,-1,-1,-1,1,-1,-1,1,-1'
607 value1 = '1,1,1,-1,-1,-1,1,-1,-1,1,-1'
670 value2 = '1'
608 value2 = '1'
671 value3 = '11'
609 value3 = '11'
672 if self.volOpComCode.currentIndex() == 5:
610 if self.volOpComCode.currentIndex() == 5:
673 value1 = '1,1,1,1,1,-1,-1,1,1,-1,1,-1,1'
611 value1 = '1,1,1,1,1,-1,-1,1,1,-1,1,-1,1'
674 value2 = '1'
612 value2 = '1'
675 value3 = '13'
613 value3 = '13'
676 if self.volOpComCode.currentIndex() == 6:
614 if self.volOpComCode.currentIndex() == 6:
677 value1 = '1,1,-1,-1,-1,1'
615 value1 = '1,1,-1,-1,-1,1'
678 value2 = '2'
616 value2 = '2'
679 value3 = '3'
617 value3 = '3'
680 if self.volOpComCode.currentIndex() == 7:
618 if self.volOpComCode.currentIndex() == 7:
681 value1 = '1,1,-1,1,-1,-1,1,-1'
619 value1 = '1,1,-1,1,-1,-1,1,-1'
682 value2 = '2'
620 value2 = '2'
683 value3 = '4'
621 value3 = '4'
684 if self.volOpComCode.currentIndex() == 8:
622 if self.volOpComCode.currentIndex() == 8:
685 value1 = '1,1,1,-1,1,-1,-1,-1,1,-1'
623 value1 = '1,1,1,-1,1,-1,-1,-1,1,-1'
686 value2 = '2'
624 value2 = '2'
687 value3 = '5'
625 value3 = '5'
688 if self.volOpComCode.currentIndex() == 9:
626 if self.volOpComCode.currentIndex() == 9:
689 value1 = '1,1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1'
627 value1 = '1,1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1'
690 value2 = '2'
628 value2 = '2'
691 value3 = '7'
629 value3 = '7'
692 if self.volOpComCode.currentIndex() == 10:
630 if self.volOpComCode.currentIndex() == 10:
693 value1 = '1,1,1,-1,-1,-1,1,-1,-1,1,-1,-1 ,-1 ,-1 ,1 ,1,1,-1 ,1 ,1 ,-1 ,1'
631 value1 = '1,1,1,-1,-1,-1,1,-1,-1,1,-1,-1 ,-1 ,-1 ,1 ,1,1,-1 ,1 ,1 ,-1 ,1'
694 value2 = '2'
632 value2 = '2'
695 value3 = '11'
633 value3 = '11'
696 if self.volOpComCode.currentIndex() == 11:
634 if self.volOpComCode.currentIndex() == 11:
697 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'
635 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'
698 value2 = '2'
636 value2 = '2'
699 value3 = '13'
637 value3 = '13'
700 if self.volOpComMode.currentIndex() == 0:
638 if self.volOpComMode.currentIndex() == 0:
701 value4 = '0'
639 value4 = '0'
702 if self.volOpComMode.currentIndex() == 1:
640 if self.volOpComMode.currentIndex() == 1:
703 value4 = '1'
641 value4 = '1'
704 if self.volOpComMode.currentIndex() == 2:
642 if self.volOpComMode.currentIndex() == 2:
705 value4 = '2'
643 value4 = '2'
706 opObj = puObj.addOperation(name=name_operation, optype='other')
644 opObj = puObj.addOperation(name=name_operation, optype='other')
707 if self.volOpComCode.currentIndex() == 12:
645 if self.volOpComCode.currentIndex() == 12:
708 pass
646 pass
709 else:
647 else:
710 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
648 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
711 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
649 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
712 opObj.addParameter(name=name_parameter3, value=value3, format=format3)
650 opObj.addParameter(name=name_parameter3, value=value3, format=format3)
713 opObj.addParameter(name=name_parameter4, value=value4, format=format4)
651 opObj.addParameter(name=name_parameter4, value=value4, format=format4)
714
652
715 if self.volOpCebFlip.isChecked():
653 if self.volOpCebFlip.isChecked():
716 name_operation = 'deFlip'
654 name_operation = 'deFlip'
717 optype = 'self'
655 optype = 'self'
718 value = self.volOpFlip.text()
656 value = self.volOpFlip.text()
719 name_parameter = 'channelList'
657 name_parameter = 'channelList'
720 format = 'intList'
658 format = 'intlist'
721
659
722 opObj = puObj.addOperation(name=name_operation, optype=optype)
660 opObj = puObj.addOperation(name=name_operation, optype=optype)
723 opObj.addParameter(name=name_parameter, value=value, format=format)
661 opObj.addParameter(name=name_parameter, value=value, format=format)
724
662
725 if self.volOpCebCohInt.isChecked():
663 if self.volOpCebCohInt.isChecked():
726 name_operation = 'CohInt'
664 name_operation = 'CohInt'
727 optype = 'other'
665 optype = 'other'
728 value = self.volOpCohInt.text()
666 value = self.volOpCohInt.text()
729 name_parameter = 'n'
667 name_parameter = 'n'
730 format = 'float'
668 format = 'float'
731
669
732 opObj = puObj.addOperation(name=name_operation, optype=optype)
670 opObj = puObj.addOperation(name=name_operation, optype=optype)
733 opObj.addParameter(name=name_parameter, value=value, format=format)
671 opObj.addParameter(name=name_parameter, value=value, format=format)
734
672
735 if self.volGraphCebshow.isChecked():
673 if self.volGraphCebshow.isChecked():
736 name_operation = 'Scope'
674 name_operation = 'Scope'
737 optype = 'other'
675 optype = 'other'
738 name_parameter = 'type'
676 name_parameter = 'type'
739 value = 'Scope'
677 value = 'Scope'
740 if self.idImagscope == 0:
678 if self.idImagscope == 0:
741 self.idImagscope = 100
679 self.idImagscope = 100
742 else:
680 else:
743 self.idImagscope = self.idImagscope + 1
681 self.idImagscope = self.idImagscope + 1
744
682
745 name_parameter1 = 'id'
683 name_parameter1 = 'id'
746 value1 = int(self.idImagscope)
684 value1 = int(self.idImagscope)
747 format1 = 'int'
685 format1 = 'int'
748 format = 'str'
686 format = 'str'
749
687
750 opObj = puObj.addOperation(name=name_operation, optype=optype)
688 opObj = puObj.addOperation(name=name_operation, optype=optype)
751 # opObj.addParameter(name=name_parameter, value=value, format=format)
689 # opObj.addParameter(name=name_parameter, value=value, format=format)
752 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
690 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
753
691
754 channelList = self.volGraphChannelList.text()
692 channelList = self.volGraphChannelList.text()
755 xvalue = self.volGraphfreqrange.text()
693 xvalue = self.volGraphfreqrange.text()
756 yvalue = self.volGraphHeightrange.text()
694 yvalue = self.volGraphHeightrange.text()
757
695
758 if self.volGraphChannelList.isModified():
696 if self.volGraphChannelList.isModified():
759 try:
697 try:
760 value = str(channelList)
698 value = str(channelList)
761 except:
699 except:
762 return 0
700 return 0
763 opObj.addParameter(name='channelList', value=value, format='intlist')
701 opObj.addParameter(name='channelList', value=value, format='intlist')
764
702
765 if not xvalue == "":
703 if not xvalue == "":
766 xvalueList = xvalue.split(',')
704 xvalueList = xvalue.split(',')
767 try:
705 try:
768 value0 = int(xvalueList[0])
706 value0 = int(xvalueList[0])
769 value1 = int(xvalueList[1])
707 value1 = int(xvalueList[1])
770 except:
708 except:
771 return 0
709 return 0
772 opObj.addParameter(name='xmin', value=value0, format='int')
710 opObj.addParameter(name='xmin', value=value0, format='int')
773 opObj.addParameter(name='xmax', value=value1, format='int')
711 opObj.addParameter(name='xmax', value=value1, format='int')
774
712
775
713
776 if not yvalue == "":
714 if not yvalue == "":
777 yvalueList = yvalue.split(",")
715 yvalueList = yvalue.split(",")
778 try:
716 try:
779 value = yvalueList[0]
717 value = yvalueList[0]
780 value = yvalueList[1]
718 value = yvalueList[1]
781 except:
719 except:
782 return 0
720 return 0
783 opObj.addParameter(name='ymin', value=yvalueList[0], format='int')
721 opObj.addParameter(name='ymin', value=yvalueList[0], format='int')
784 opObj.addParameter(name='ymax', value=yvalueList[1], format='int')
722 opObj.addParameter(name='ymax', value=yvalueList[1], format='int')
785
723
786 if self.volGraphCebSave.isChecked():
724 if self.volGraphCebSave.isChecked():
787 checkPath = True
725 checkPath = True
788 opObj.addParameter(name='save', value='1', format='int')
726 opObj.addParameter(name='save', value='1', format='int')
789 opObj.addParameter(name='figpath', value=self.volGraphPath.text(), format='str')
727 opObj.addParameter(name='figpath', value=self.volGraphPath.text(), format='str')
790 value = self.volGraphPrefix.text()
728 value = self.volGraphPrefix.text()
791 if not value == "":
729 if not value == "":
792 try:
730 try:
793 value = str(self.volGraphPrefix.text())
731 value = str(self.volGraphPrefix.text())
794 except:
732 except:
795 self.console.clear()
733 self.console.clear()
796 self.console.append("Please Write prefix")
734 self.console.append("Please Write prefix")
797 return 0
735 return 0
798 opObj.addParameter(name='figfile', value=self.volGraphPrefix.text(), format='str')
736 opObj.addParameter(name='figfile', value=self.volGraphPrefix.text(), format='str')
799
737
800 localfolder = None
738 localfolder = None
801 if checkPath:
739 if checkPath:
802 localfolder = str(self.specGraphPath.text())
740 localfolder = str(self.specGraphPath.text())
803 if localfolder == '':
741 if localfolder == '':
804 self.console.clear()
742 self.console.clear()
805 self.console.append("Graphic path should be defined")
743 self.console.append("Graphic path should be defined")
806 return 0
744 return 0
807
745
808 # if something happend
746 # if something happend
809 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Voltage')
747 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Voltage')
810 if parms_ok:
748 if parms_ok:
811 name_operation = 'VoltageWriter'
749 name_operation = 'VoltageWriter'
812 optype = 'other'
750 optype = 'other'
813 name_parameter1 = 'path'
751 name_parameter1 = 'path'
814 name_parameter2 = 'blocksPerFile'
752 name_parameter2 = 'blocksPerFile'
815 name_parameter3 = 'profilesPerBlock'
753 name_parameter3 = 'profilesPerBlock'
816 value1 = output_path
754 value1 = output_path
817 value2 = blocksperfile
755 value2 = blocksperfile
818 value3 = profilesperblock
756 value3 = profilesperblock
819 format = "int"
757 format = "int"
820 opObj = puObj.addOperation(name=name_operation, optype=optype)
758 opObj = puObj.addOperation(name=name_operation, optype=optype)
821 opObj.addParameter(name=name_parameter1, value=value1)
759 opObj.addParameter(name=name_parameter1, value=value1)
822 opObj.addParameter(name=name_parameter2, value=value2, format=format)
760 opObj.addParameter(name=name_parameter2, value=value2, format=format)
823 opObj.addParameter(name=name_parameter3, value=value3, format=format)
761 opObj.addParameter(name=name_parameter3, value=value3, format=format)
824
762
825 #---------NEW VOLTAGE PROPERTIES
763 #---------NEW VOLTAGE PROPERTIES
826 self.showPUVoltageProperties(puObj)
764 self.showPUVoltageProperties(puObj)
827
765
828 self.console.clear()
766 self.console.clear()
829 self.console.append("If you want to save your project")
767 self.console.append("If you want to save your project")
830 self.console.append("click on your project name in the Tree Project Explorer")
768 self.console.append("click on your project name in the Tree Project Explorer")
831
769
832 self.actionSaveToolbar.setEnabled(True)
770 self.actionSaveToolbar.setEnabled(True)
833 self.actionStarToolbar.setEnabled(True)
771 self.actionStarToolbar.setEnabled(True)
834
772
835 return 1
773 return 1
836
774
837 """
775 """
838 Voltage Graph
776 Voltage Graph
839 """
777 """
840 @pyqtSignature("int")
778 @pyqtSignature("int")
841 def on_volGraphCebSave_stateChanged(self, p0):
779 def on_volGraphCebSave_stateChanged(self, p0):
842 """
780 """
843 Check Box habilita ingresode del numero de Integraciones a realizar
781 Check Box habilita ingresode del numero de Integraciones a realizar
844 """
782 """
845 if p0 == 2:
783 if p0 == 2:
846 self.volGraphPath.setEnabled(True)
784 self.volGraphPath.setEnabled(True)
847 self.volGraphPrefix.setEnabled(True)
785 self.volGraphPrefix.setEnabled(True)
848 self.volGraphToolPath.setEnabled(True)
786 self.volGraphToolPath.setEnabled(True)
849
787
850 if p0 == 0:
788 if p0 == 0:
851 self.volGraphPath.setEnabled(False)
789 self.volGraphPath.setEnabled(False)
852 self.volGraphPrefix.setEnabled(False)
790 self.volGraphPrefix.setEnabled(False)
853 self.volGraphToolPath.setEnabled(False)
791 self.volGraphToolPath.setEnabled(False)
854
792
855 @pyqtSignature("")
793 @pyqtSignature("")
856 def on_volGraphToolPath_clicked(self):
794 def on_volGraphToolPath_clicked(self):
857 """
795 """
858 Donde se guardan los DATOS
796 Donde se guardan los DATOS
859 """
797 """
860 self.dataPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
798 self.dataPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
861 self.volGraphPath.setText(self.dataPath)
799 self.volGraphPath.setText(self.dataPath)
862
800
863 # if not os.path.exists(self.dataPath):
801 # if not os.path.exists(self.dataPath):
864 # self.volGraphOk.setEnabled(False)
802 # self.volGraphOk.setEnabled(False)
865 # return
803 # return
866
804
867 @pyqtSignature("int")
805 @pyqtSignature("int")
868 def on_volGraphCebshow_stateChanged(self, p0):
806 def on_volGraphCebshow_stateChanged(self, p0):
869 """
807 """
870 Check Box habilita ingresode del numero de Integraciones a realizar
808 Check Box habilita ingresode del numero de Integraciones a realizar
871 """
809 """
872 if p0 == 0:
810 if p0 == 0:
873
811
874 self.volGraphChannelList.setEnabled(False)
812 self.volGraphChannelList.setEnabled(False)
875 self.volGraphfreqrange.setEnabled(False)
813 self.volGraphfreqrange.setEnabled(False)
876 self.volGraphHeightrange.setEnabled(False)
814 self.volGraphHeightrange.setEnabled(False)
877 if p0 == 2:
815 if p0 == 2:
878
816
879 self.volGraphChannelList.setEnabled(True)
817 self.volGraphChannelList.setEnabled(True)
880 self.volGraphfreqrange.setEnabled(True)
818 self.volGraphfreqrange.setEnabled(True)
881 self.volGraphHeightrange.setEnabled(True)
819 self.volGraphHeightrange.setEnabled(True)
882
820
883 """
821 """
884 Spectra operation
822 Spectra operation
885 """
823 """
886 @pyqtSignature("int")
824 @pyqtSignature("int")
887 def on_specOpCebRadarfrequency_stateChanged(self, p0):
825 def on_specOpCebRadarfrequency_stateChanged(self, p0):
888 """
826 """
889 Check Box habilita ingresode del numero de Integraciones a realizar
827 Check Box habilita ingresode del numero de Integraciones a realizar
890 """
828 """
891 if p0 == 2:
829 if p0 == 2:
892 self.specOpRadarfrequency.setEnabled(True)
830 self.specOpRadarfrequency.setEnabled(True)
893 if p0 == 0:
831 if p0 == 0:
894 self.specOpRadarfrequency.clear()
832 self.specOpRadarfrequency.clear()
895 self.specOpRadarfrequency.setEnabled(False)
833 self.specOpRadarfrequency.setEnabled(False)
896
834
897
835
898 @pyqtSignature("int")
836 @pyqtSignature("int")
899 def on_specOpCebCrossSpectra_stateChanged(self, p0):
837 def on_specOpCebCrossSpectra_stateChanged(self, p0):
900 """
838 """
901 Habilita la opcion de aοΏ½adir el parοΏ½metro CrossSpectra a la Unidad de Procesamiento .
839 Habilita la opcion de aοΏ½adir el parοΏ½metro CrossSpectra a la Unidad de Procesamiento .
902 """
840 """
903 if p0 == 2:
841 if p0 == 2:
904 # self.specOpnFFTpoints.setEnabled(True)
842 # self.specOpnFFTpoints.setEnabled(True)
905 self.specOppairsList.setEnabled(True)
843 self.specOppairsList.setEnabled(True)
906 if p0 == 0:
844 if p0 == 0:
907 # self.specOpnFFTpoints.setEnabled(False)
845 # self.specOpnFFTpoints.setEnabled(False)
908 self.specOppairsList.setEnabled(False)
846 self.specOppairsList.setEnabled(False)
909
847
910 @pyqtSignature("int")
848 @pyqtSignature("int")
911 def on_specOpCebChannel_stateChanged(self, p0):
849 def on_specOpCebChannel_stateChanged(self, p0):
912 """
850 """
913 Habilita la opcion de aοΏ½adir el parοΏ½metro numero de Canales a la Unidad de Procesamiento .
851 Habilita la opcion de aοΏ½adir el parοΏ½metro numero de Canales a la Unidad de Procesamiento .
914 """
852 """
915 if p0 == 2:
853 if p0 == 2:
916 self.specOpChannel.setEnabled(True)
854 self.specOpChannel.setEnabled(True)
917 self.specOpComChannel.setEnabled(True)
855 self.specOpComChannel.setEnabled(True)
918 if p0 == 0:
856 if p0 == 0:
919 self.specOpChannel.setEnabled(False)
857 self.specOpChannel.setEnabled(False)
920 self.specOpComChannel.setEnabled(False)
858 self.specOpComChannel.setEnabled(False)
921
859
922 @pyqtSignature("int")
860 @pyqtSignature("int")
923 def on_specOpCebHeights_stateChanged(self, p0):
861 def on_specOpCebHeights_stateChanged(self, p0):
924 """
862 """
925 Habilita la opcion de aοΏ½adir el parοΏ½metro de alturas a la Unidad de Procesamiento .
863 Habilita la opcion de aοΏ½adir el parοΏ½metro de alturas a la Unidad de Procesamiento .
926 """
864 """
927 if p0 == 2:
865 if p0 == 2:
928 self.specOpComHeights.setEnabled(True)
866 self.specOpComHeights.setEnabled(True)
929 self.specOpHeights.setEnabled(True)
867 self.specOpHeights.setEnabled(True)
930 if p0 == 0:
868 if p0 == 0:
931 self.specOpComHeights.setEnabled(False)
869 self.specOpComHeights.setEnabled(False)
932 self.specOpHeights.setEnabled(False)
870 self.specOpHeights.setEnabled(False)
933
871
934
872
935 @pyqtSignature("int")
873 @pyqtSignature("int")
936 def on_specOpCebIncoherent_stateChanged(self, p0):
874 def on_specOpCebIncoherent_stateChanged(self, p0):
937 """
875 """
938 Habilita la opcion de aοΏ½adir el parοΏ½metro integraciones incoherentes a la Unidad de Procesamiento .
876 Habilita la opcion de aοΏ½adir el parοΏ½metro integraciones incoherentes a la Unidad de Procesamiento .
939 """
877 """
940 if p0 == 2:
878 if p0 == 2:
941 self.specOpIncoherent.setEnabled(True)
879 self.specOpIncoherent.setEnabled(True)
942 if p0 == 0:
880 if p0 == 0:
943 self.specOpIncoherent.setEnabled(False)
881 self.specOpIncoherent.setEnabled(False)
944
882
945 @pyqtSignature("int")
883 @pyqtSignature("int")
946 def on_specOpCebRemoveDC_stateChanged(self, p0):
884 def on_specOpCebRemoveDC_stateChanged(self, p0):
947 """
885 """
948 Habilita la opcion de aοΏ½adir el parοΏ½metro remover DC a la Unidad de Procesamiento .
886 Habilita la opcion de aοΏ½adir el parοΏ½metro remover DC a la Unidad de Procesamiento .
949 """
887 """
950 if p0 == 2:
888 if p0 == 2:
951 self.specOpComRemoveDC.setEnabled(True)
889 self.specOpComRemoveDC.setEnabled(True)
952 if p0 == 0:
890 if p0 == 0:
953 self.specOpComRemoveDC.setEnabled(False)
891 self.specOpComRemoveDC.setEnabled(False)
954
892
955 @pyqtSignature("int")
893 @pyqtSignature("int")
956 def on_specOpCebgetNoise_stateChanged(self, p0):
894 def on_specOpCebgetNoise_stateChanged(self, p0):
957 """
895 """
958 Habilita la opcion de aοΏ½adir la estimacion de ruido a la Unidad de Procesamiento .
896 Habilita la opcion de aοΏ½adir la estimacion de ruido a la Unidad de Procesamiento .
959 """
897 """
960 if p0 == 2:
898 if p0 == 2:
961 self.specOpgetNoise.setEnabled(True)
899 self.specOpgetNoise.setEnabled(True)
962
900
963 if p0 == 0:
901 if p0 == 0:
964 self.specOpgetNoise.setEnabled(False)
902 self.specOpgetNoise.setEnabled(False)
965
903
966 def refreshID(self, puObj):
904 def refreshID(self, puObj):
967 opObj = puObj.getOperationObj(name='Scope')
905 opObj = puObj.getOperationObj(name='Scope')
968 # opObj = puObj.getOpObjfromParamValue(value="Scope")
906 # opObj = puObj.getOpObjfromParamValue(value="Scope")
969 if opObj == None:
907 if opObj == None:
970 pass
908 pass
971 else:
909 else:
972 name_parameter1 = 'id'
910 name_parameter1 = 'id'
973 format1 = 'int'
911 format1 = 'int'
974 if self.idImagscope == 0:
912 if self.idImagscope == 0:
975 self.idImagscope = 100
913 self.idImagscope = 100
976 else:
914 else:
977 self.idImagscope = self.idImagscope + 1
915 self.idImagscope = self.idImagscope + 1
978 value1 = int(self.idImagscope)
916 value1 = int(self.idImagscope)
979 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
917 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
980
918
981 opObj = puObj.getOperationObj(name='SpectraPlot')
919 opObj = puObj.getOperationObj(name='SpectraPlot')
982 # opObj = puObj.getOpObjfromParamValue(value="SpectraPlot")
920 # opObj = puObj.getOpObjfromParamValue(value="SpectraPlot")
983 if opObj == None:
921 if opObj == None:
984 pass
922 pass
985 else:
923 else:
986 name_parameter1 = 'id'
924 name_parameter1 = 'id'
987 format1 = 'int'
925 format1 = 'int'
988 if self.idImagspectra == 0:
926 if self.idImagspectra == 0:
989 self.idImagspectra = 200
927 self.idImagspectra = 200
990 else:
928 else:
991 self.idImagspectra = self.idImagspectra + 1
929 self.idImagspectra = self.idImagspectra + 1
992 value1 = int(self.idImagspectra)
930 value1 = int(self.idImagspectra)
993 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
931 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
994
932
995 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
933 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
996 # opObj = puObj.getOpObjfromParamValue(value="CrossSpectraPlot")
934 # opObj = puObj.getOpObjfromParamValue(value="CrossSpectraPlot")
997 if opObj == None:
935 if opObj == None:
998 pass
936 pass
999 else:
937 else:
1000 name_parameter1 = 'id'
938 name_parameter1 = 'id'
1001 format1 = 'int'
939 format1 = 'int'
1002 if self.idImagcross == 0:
940 if self.idImagcross == 0:
1003 self.idImagcross = 300
941 self.idImagcross = 300
1004 else:
942 else:
1005 self.idImagcross = self.idImagcross + 1
943 self.idImagcross = self.idImagcross + 1
1006 value1 = int(self.idImagcross)
944 value1 = int(self.idImagcross)
1007 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
945 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1008
946
1009 opObj = puObj.getOperationObj(name='RTIPlot')
947 opObj = puObj.getOperationObj(name='RTIPlot')
1010 # opObj = puObj.getOpObjfromParamValue(value="RTIPlot")
948 # opObj = puObj.getOpObjfromParamValue(value="RTIPlot")
1011 if opObj == None:
949 if opObj == None:
1012 pass
950 pass
1013 else:
951 else:
1014 name_parameter1 = 'id'
952 name_parameter1 = 'id'
1015 format1 = 'int'
953 format1 = 'int'
1016 if self.idImagrti == 0:
954 if self.idImagrti == 0:
1017 self.idImagrti = 400
955 self.idImagrti = 400
1018 else:
956 else:
1019 self.idImagrti = self.idImagrti + 1
957 self.idImagrti = self.idImagrti + 1
1020 value1 = int(self.idImagrti)
958 value1 = int(self.idImagrti)
1021 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
959 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1022
960
1023 opObj = puObj.getOperationObj(name='CoherenceMap')
961 opObj = puObj.getOperationObj(name='CoherenceMap')
1024 # opObj = puObj.getOpObjfromParamValue(value="CoherenceMap")
962 # opObj = puObj.getOpObjfromParamValue(value="CoherenceMap")
1025 if opObj == None:
963 if opObj == None:
1026 pass
964 pass
1027 else:
965 else:
1028 name_parameter1 = 'id'
966 name_parameter1 = 'id'
1029 format1 = 'int'
967 format1 = 'int'
1030 if self.idImagcoherence == 0:
968 if self.idImagcoherence == 0:
1031 self.idImagcoherence = 500
969 self.idImagcoherence = 500
1032 else:
970 else:
1033 self.idImagcoherence = self.idImagcoherence + 1
971 self.idImagcoherence = self.idImagcoherence + 1
1034 value1 = int(self.idImagcoherence)
972 value1 = int(self.idImagcoherence)
1035 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
973 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1036
974
1037 opObj = puObj.getOperationObj(name='PowerProfilePlot')
975 opObj = puObj.getOperationObj(name='PowerProfilePlot')
1038 # opObj = puObj.getOpObjfromParamValue(value="PowerProfilePlot")
976 # opObj = puObj.getOpObjfromParamValue(value="PowerProfilePlot")
1039 if opObj == None:
977 if opObj == None:
1040 pass
978 pass
1041 else:
979 else:
1042 name_parameter1 = 'id'
980 name_parameter1 = 'id'
1043 format1 = 'int'
981 format1 = 'int'
1044 if self.idImagpower == 0:
982 if self.idImagpower == 0:
1045 self.idImagpower = 600
983 self.idImagpower = 600
1046 else:
984 else:
1047 self.idImagpower = self.idImagpower + 1
985 self.idImagpower = self.idImagpower + 1
1048 value1 = int(self.idImagpower)
986 value1 = int(self.idImagpower)
1049 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
987 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1050
988
1051 opObj = puObj.getOperationObj(name='Noise')
989 opObj = puObj.getOperationObj(name='Noise')
1052 # opObj = puObj.getOpObjfromParamValue(value="Noise")
990 # opObj = puObj.getOpObjfromParamValue(value="Noise")
1053 if opObj == None:
991 if opObj == None:
1054 pass
992 pass
1055 else:
993 else:
1056 name_parameter1 = 'id'
994 name_parameter1 = 'id'
1057 format1 = 'int'
995 format1 = 'int'
1058 if self.idImagrtinoise == 0:
996 if self.idImagrtinoise == 0:
1059 self.idImagrtinoise = 700
997 self.idImagrtinoise = 700
1060 else:
998 else:
1061 self.idImagrtinoise = self.idImagrtinoise + 1
999 self.idImagrtinoise = self.idImagrtinoise + 1
1062 value1 = int(self.idImagrtinoise)
1000 value1 = int(self.idImagrtinoise)
1063 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1001 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1064
1002
1065 opObj = puObj.getOperationObj(name='SpectraHeisScope')
1003 opObj = puObj.getOperationObj(name='SpectraHeisScope')
1066 # opObj = puObj.getOpObjfromParamValue(value="SpectraHeisScope")
1004 # opObj = puObj.getOpObjfromParamValue(value="SpectraHeisScope")
1067 if opObj == None:
1005 if opObj == None:
1068 pass
1006 pass
1069 else:
1007 else:
1070 name_parameter1 = 'id'
1008 name_parameter1 = 'id'
1071 format1 = 'int'
1009 format1 = 'int'
1072 if self.idImagspectraHeis == 0:
1010 if self.idImagspectraHeis == 0:
1073 self.idImagspectraHeis = 800
1011 self.idImagspectraHeis = 800
1074 else:
1012 else:
1075 self.idImagspectraHeis = self.idImagspectraHeis + 1
1013 self.idImagspectraHeis = self.idImagspectraHeis + 1
1076 value1 = int(self.idImagspectraHeis)
1014 value1 = int(self.idImagspectraHeis)
1077 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1015 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1078
1016
1079 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
1017 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
1080 # opObj = puObj.getOpObjfromParamValue(value="RTIfromSpectraHeis")
1018 # opObj = puObj.getOpObjfromParamValue(value="RTIfromSpectraHeis")
1081 if opObj == None:
1019 if opObj == None:
1082 pass
1020 pass
1083 else:
1021 else:
1084 name_parameter1 = 'id'
1022 name_parameter1 = 'id'
1085 format1 = 'int'
1023 format1 = 'int'
1086 if self.idImagrtiHeis == 0:
1024 if self.idImagrtiHeis == 0:
1087 self.idImagrtiHeis = 900
1025 self.idImagrtiHeis = 900
1088 else:
1026 else:
1089 self.idImagrtiHeis = self.idImagrtiHeis + 1
1027 self.idImagrtiHeis = self.idImagrtiHeis + 1
1090 value1 = int(self.idImagrtiHeis)
1028 value1 = int(self.idImagrtiHeis)
1091 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1029 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1092
1030
1093 @pyqtSignature("")
1031 @pyqtSignature("")
1094 def on_specOpOk_clicked(self):
1032 def on_specOpOk_clicked(self):
1095 """
1033 """
1096 AΓ‘ADE OPERACION SPECTRA
1034 AΓ‘ADE OPERACION SPECTRA
1097 """
1035 """
1098
1036
1099 addFTP = False
1037 addFTP = False
1100 checkPath = False
1038 checkPath = False
1101
1039
1102 self.actionSaveToolbar.setEnabled(False)
1040 self.actionSaveToolbar.setEnabled(False)
1103 self.actionStarToolbar.setEnabled(False)
1041 self.actionStarToolbar.setEnabled(False)
1104
1042
1105 puObj = self.getSelectedPUObj()
1043 puObj = self.getSelectedPUObj()
1106 puObj.removeOperations()
1044 puObj.removeOperations()
1107
1045
1108 if self.specOpCebRadarfrequency.isChecked():
1046 if self.specOpCebRadarfrequency.isChecked():
1109 value = self.specOpRadarfrequency.text()
1047 value = self.specOpRadarfrequency.text()
1110 format = 'float'
1048 format = 'float'
1111 name_operation = 'setRadarFrequency'
1049 name_operation = 'setRadarFrequency'
1112 name_parameter = 'frequency'
1050 name_parameter = 'frequency'
1113 if not value == "":
1051 if not value == "":
1114 try:
1052 try:
1115 radarfreq = float(self.specOpRadarfrequency.text())
1053 radarfreq = float(self.specOpRadarfrequency.text())
1116 except:
1054 except:
1117 self.console.clear()
1055 self.console.clear()
1118 self.console.append("Write the parameter Radar Frequency type float")
1056 self.console.append("Write the parameter Radar Frequency type float")
1119 return 0
1057 return 0
1120 opObj = puObj.addOperation(name=name_operation)
1058 opObj = puObj.addOperation(name=name_operation)
1121 opObj.addParameter(name=name_parameter, value=radarfreq, format=format)
1059 opObj.addParameter(name=name_parameter, value=radarfreq, format=format)
1122
1060
1123
1061
1124 if self.proComDataType.currentText() == 'Voltage':
1062 if self.proComDataType.currentText() == 'Voltage':
1125 name_parameter = 'nFFTPoints'
1063 name_parameter = 'nFFTPoints'
1126 value = self.specOpnFFTpoints.text()
1064 value = self.specOpnFFTpoints.text()
1127 name_parameter1 = 'nProfiles'
1065 name_parameter1 = 'nProfiles'
1128 value1 = self.specOpProfiles.text()
1066 value1 = self.specOpProfiles.text()
1129 name_parameter2 = 'ippFactor'
1067 name_parameter2 = 'ippFactor'
1130 value2 = self.specOpippFactor.text()
1068 value2 = self.specOpippFactor.text()
1131 format = 'int'
1069 format = 'int'
1132 try:
1070 try:
1133 value = int(self.specOpnFFTpoints.text())
1071 value = int(self.specOpnFFTpoints.text())
1134 except:
1072 except:
1135 self.console.clear()
1073 self.console.clear()
1136 self.console.append("Please Write the number of FFT")
1074 self.console.append("Please Write the number of FFT")
1137 return 0
1075 return 0
1138 puObj.addParameter(name=name_parameter, value=value, format=format)
1076 puObj.addParameter(name=name_parameter, value=value, format=format)
1139 if not value1 == "":
1077 if not value1 == "":
1140 try:
1078 try:
1141 value1 = int(self.specOpProfiles.text())
1079 value1 = int(self.specOpProfiles.text())
1142 except:
1080 except:
1143 self.console.clear()
1081 self.console.clear()
1144 self.console.append("Please Write the number of Profiles")
1082 self.console.append("Please Write the number of Profiles")
1145 return 0
1083 return 0
1146 puObj.addParameter(name=name_parameter1, value=value1, format=format)
1084 puObj.addParameter(name=name_parameter1, value=value1, format=format)
1147 if not value2 == "":
1085 if not value2 == "":
1148 try:
1086 try:
1149 value2 = int(self.specOpippFactor.text())
1087 value2 = int(self.specOpippFactor.text())
1150 except:
1088 except:
1151 self.console.clear()
1089 self.console.clear()
1152 self.console.append("Please Write the Number of IppFactor")
1090 self.console.append("Please Write the Number of IppFactor")
1153 puObj.addParameter(name=name_parameter2 , value=value2 , format=format)
1091 puObj.addParameter(name=name_parameter2 , value=value2 , format=format)
1154
1092
1155 if self.specOpCebCrossSpectra.isChecked():
1093 if self.specOpCebCrossSpectra.isChecked():
1156 name_parameter = 'pairsList'
1094 name_parameter = 'pairsList'
1157 format = 'pairslist'
1095 format = 'pairslist'
1158 value2 = self.specOppairsList.text()
1096 value2 = self.specOppairsList.text()
1159 puObj.addParameter(name=name_parameter, value=value2, format=format)
1097 puObj.addParameter(name=name_parameter, value=value2, format=format)
1160
1098
1161 if self.specOpCebHeights.isChecked():
1099 if self.specOpCebHeights.isChecked():
1162 value = self.specOpHeights.text()
1100 value = self.specOpHeights.text()
1163 valueList = value.split(',')
1101 valueList = value.split(',')
1164 format = 'float'
1102 format = 'float'
1165 value0 = valueList[0]
1103 value0 = valueList[0]
1166 value1 = valueList[1]
1104 value1 = valueList[1]
1167
1105
1168 if self.specOpComHeights.currentIndex() == 0:
1106 if self.specOpComHeights.currentIndex() == 0:
1169 name_operation = 'selectHeights'
1107 name_operation = 'selectHeights'
1170 name_parameter1 = 'minHei'
1108 name_parameter1 = 'minHei'
1171 name_parameter2 = 'maxHei'
1109 name_parameter2 = 'maxHei'
1172 else:
1110 else:
1173 name_operation = 'selectHeightsByIndex'
1111 name_operation = 'selectHeightsByIndex'
1174 name_parameter1 = 'minIndex'
1112 name_parameter1 = 'minIndex'
1175 name_parameter2 = 'maxIndex'
1113 name_parameter2 = 'maxIndex'
1176 opObj = puObj.addOperation(name=name_operation)
1114 opObj = puObj.addOperation(name=name_operation)
1177 opObj.addParameter(name=name_parameter1, value=value0, format=format)
1115 opObj.addParameter(name=name_parameter1, value=value0, format=format)
1178 opObj.addParameter(name=name_parameter2, value=value1, format=format)
1116 opObj.addParameter(name=name_parameter2, value=value1, format=format)
1179
1117
1180 if self.specOpCebChannel.isChecked():
1118 if self.specOpCebChannel.isChecked():
1181 value = self.specOpChannel.text()
1119 value = self.specOpChannel.text()
1182 format = 'intlist'
1120 format = 'intlist'
1183 if self.specOpComChannel.currentIndex() == 0:
1121 if self.specOpComChannel.currentIndex() == 0:
1184 name_operation = "selectChannels"
1122 name_operation = "selectChannels"
1185 name_parameter = 'channelList'
1123 name_parameter = 'channelList'
1186 else:
1124 else:
1187 name_operation = "selectChannelsByIndex"
1125 name_operation = "selectChannelsByIndex"
1188 name_parameter = 'channelIndexList'
1126 name_parameter = 'channelIndexList'
1189 opObj = puObj.addOperation(name="selectChannels")
1127 opObj = puObj.addOperation(name="selectChannels")
1190 opObj.addParameter(name=name_parameter, value=value, format=format)
1128 opObj.addParameter(name=name_parameter, value=value, format=format)
1191
1129
1192 if self.specOpCebIncoherent.isChecked():
1130 if self.specOpCebIncoherent.isChecked():
1193 value = self.specOpIncoherent.text()
1131 value = self.specOpIncoherent.text()
1194 name_operation = 'IncohInt'
1132 name_operation = 'IncohInt'
1195 optype = 'other'
1133 optype = 'other'
1196 if self.specOpCobIncInt.currentIndex() == 0:
1134 if self.specOpCobIncInt.currentIndex() == 0:
1197 name_parameter = 'timeInterval'
1135 name_parameter = 'timeInterval'
1198 format = 'float'
1136 format = 'float'
1199 else:
1137 else:
1200 name_parameter = 'n'
1138 name_parameter = 'n'
1201 format = 'float'
1139 format = 'float'
1202
1140
1203 opObj = puObj.addOperation(name=name_operation, optype=optype)
1141 opObj = puObj.addOperation(name=name_operation, optype=optype)
1204 opObj.addParameter(name=name_parameter, value=value, format=format)
1142 opObj.addParameter(name=name_parameter, value=value, format=format)
1205
1143
1206 if self.specOpCebRemoveDC.isChecked():
1144 if self.specOpCebRemoveDC.isChecked():
1207 name_operation = 'removeDC'
1145 name_operation = 'removeDC'
1208 name_parameter = 'mode'
1146 name_parameter = 'mode'
1209 format = 'int'
1147 format = 'int'
1210 if self.specOpComRemoveDC.currentIndex() == 0:
1148 if self.specOpComRemoveDC.currentIndex() == 0:
1211 value = 1
1149 value = 1
1212 else:
1150 else:
1213 value = 2
1151 value = 2
1214 opObj = puObj.addOperation(name=name_operation)
1152 opObj = puObj.addOperation(name=name_operation)
1215 opObj.addParameter(name=name_parameter, value=value, format=format)
1153 opObj.addParameter(name=name_parameter, value=value, format=format)
1216
1154
1217 if self.specOpCebRemoveInt.isChecked():
1155 if self.specOpCebRemoveInt.isChecked():
1218 name_operation = 'removeInterference'
1156 name_operation = 'removeInterference'
1219 opObj = puObj.addOperation(name=name_operation)
1157 opObj = puObj.addOperation(name=name_operation)
1220
1158
1221
1159
1222 if self.specOpCebgetNoise.isChecked():
1160 if self.specOpCebgetNoise.isChecked():
1223 value = self.specOpgetNoise.text()
1161 value = self.specOpgetNoise.text()
1224 valueList = value.split(',')
1162 valueList = value.split(',')
1225 format = 'float'
1163 format = 'float'
1226 name_operation = "getNoise"
1164 name_operation = "getNoise"
1227 opObj = puObj.addOperation(name=name_operation)
1165 opObj = puObj.addOperation(name=name_operation)
1228
1166
1229 if not value == '':
1167 if not value == '':
1230 valueList = value.split(',')
1168 valueList = value.split(',')
1231 length = len(valueList)
1169 length = len(valueList)
1232 if length == 1:
1170 if length == 1:
1233 try:
1171 try:
1234 value1 = float(valueList[0])
1172 value1 = float(valueList[0])
1235 except:
1173 except:
1236 self.console.clear()
1174 self.console.clear()
1237 self.console.append("Please Write correct parameter Get Noise")
1175 self.console.append("Please Write correct parameter Get Noise")
1238 return 0
1176 return 0
1239 name1 = 'minHei'
1177 name1 = 'minHei'
1240 opObj.addParameter(name=name1, value=value1, format=format)
1178 opObj.addParameter(name=name1, value=value1, format=format)
1241 elif length == 2:
1179 elif length == 2:
1242 try:
1180 try:
1243 value1 = float(valueList[0])
1181 value1 = float(valueList[0])
1244 value2 = float(valueList[1])
1182 value2 = float(valueList[1])
1245 except:
1183 except:
1246 self.console.clear()
1184 self.console.clear()
1247 self.console.append("Please Write corrects parameter Get Noise")
1185 self.console.append("Please Write corrects parameter Get Noise")
1248 return 0
1186 return 0
1249 name1 = 'minHei'
1187 name1 = 'minHei'
1250 name2 = 'maxHei'
1188 name2 = 'maxHei'
1251 opObj.addParameter(name=name1, value=value1, format=format)
1189 opObj.addParameter(name=name1, value=value1, format=format)
1252 opObj.addParameter(name=name2, value=value2, format=format)
1190 opObj.addParameter(name=name2, value=value2, format=format)
1253
1191
1254 elif length == 3:
1192 elif length == 3:
1255 try:
1193 try:
1256 value1 = float(valueList[0])
1194 value1 = float(valueList[0])
1257 value2 = float(valueList[1])
1195 value2 = float(valueList[1])
1258 value3 = float(valueList[2])
1196 value3 = float(valueList[2])
1259 except:
1197 except:
1260 self.console.clear()
1198 self.console.clear()
1261 self.console.append("Please Write corrects parameter Get Noise")
1199 self.console.append("Please Write corrects parameter Get Noise")
1262 return 0
1200 return 0
1263 name1 = 'minHei'
1201 name1 = 'minHei'
1264 name2 = 'maxHei'
1202 name2 = 'maxHei'
1265 name3 = 'minVel'
1203 name3 = 'minVel'
1266 opObj.addParameter(name=name1, value=value1, format=format)
1204 opObj.addParameter(name=name1, value=value1, format=format)
1267 opObj.addParameter(name=name2, value=value2, format=format)
1205 opObj.addParameter(name=name2, value=value2, format=format)
1268 opObj.addParameter(name=name3, value=value3, format=format)
1206 opObj.addParameter(name=name3, value=value3, format=format)
1269
1207
1270 elif length == 4:
1208 elif length == 4:
1271 try:
1209 try:
1272 value1 = float(valueList[0])
1210 value1 = float(valueList[0])
1273 value2 = float(valueList[1])
1211 value2 = float(valueList[1])
1274 value3 = float(valueList[2])
1212 value3 = float(valueList[2])
1275 value4 = float(valueList[3])
1213 value4 = float(valueList[3])
1276 except:
1214 except:
1277 self.console.clear()
1215 self.console.clear()
1278 self.console.append("Please Write corrects parameter Get Noise")
1216 self.console.append("Please Write corrects parameter Get Noise")
1279 return 0
1217 return 0
1280 name1 = 'minHei'
1218 name1 = 'minHei'
1281 name2 = 'maxHei'
1219 name2 = 'maxHei'
1282 name3 = 'minVel'
1220 name3 = 'minVel'
1283 name4 = 'maxVel'
1221 name4 = 'maxVel'
1284 opObj.addParameter(name=name1, value=value1, format=format)
1222 opObj.addParameter(name=name1, value=value1, format=format)
1285 opObj.addParameter(name=name2, value=value2, format=format)
1223 opObj.addParameter(name=name2, value=value2, format=format)
1286 opObj.addParameter(name=name3, value=value3, format=format)
1224 opObj.addParameter(name=name3, value=value3, format=format)
1287 opObj.addParameter(name=name4, value=value4, format=format)
1225 opObj.addParameter(name=name4, value=value4, format=format)
1288
1226
1289 elif length > 4:
1227 elif length > 4:
1290 self.console.clear()
1228 self.console.clear()
1291 self.console.append("Get Noise Operation only accepts 4 parameters")
1229 self.console.append("Get Noise Operation only accepts 4 parameters")
1292 return 0
1230 return 0
1293
1231
1294 #-----Spectra Plot-----
1232 #-----Spectra Plot-----
1295 if self.specGraphCebSpectraplot.isChecked():
1233 if self.specGraphCebSpectraplot.isChecked():
1296 name_operation = 'SpectraPlot'
1234 name_operation = 'SpectraPlot'
1297 optype = 'other'
1235 optype = 'other'
1298 name_parameter = 'type'
1236 name_parameter = 'type'
1299 value = 'SpectraPlot'
1237 value = 'SpectraPlot'
1300 format = 'str'
1238 format = 'str'
1301 if self.idImagspectra == 0:
1239 if self.idImagspectra == 0:
1302 self.idImagspectra = 200
1240 self.idImagspectra = 200
1303 else:
1241 else:
1304 self.idImagspectra = self.idImagspectra + 1
1242 self.idImagspectra = self.idImagspectra + 1
1305 name_parameter1 = 'id'
1243 name_parameter1 = 'id'
1306 value1 = int(self.idImagspectra)
1244 value1 = int(self.idImagspectra)
1307 format1 = 'int'
1245 format1 = 'int'
1308
1246
1309 format = 'str'
1247 format = 'str'
1310
1248
1311 channelList = self.specGgraphChannelList.text()
1249 channelList = self.specGgraphChannelList.text()
1312 xvalue = self.specGgraphFreq.text()
1250 xvalue = self.specGgraphFreq.text()
1313 yvalue = self.specGgraphHeight.text()
1251 yvalue = self.specGgraphHeight.text()
1314 zvalue = self.specGgraphDbsrange.text()
1252 zvalue = self.specGgraphDbsrange.text()
1315 opObj = puObj.addOperation(name=name_operation, optype=optype)
1253 opObj = puObj.addOperation(name=name_operation, optype=optype)
1316 # opObj.addParameter(name=name_parameter, value=value, format=format)
1254 # opObj.addParameter(name=name_parameter, value=value, format=format)
1317 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1255 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1318
1256
1319 if not channelList == '':
1257 if not channelList == '':
1320 name_parameter = 'channelList'
1258 name_parameter = 'channelList'
1321 format = 'intlist'
1259 format = 'intlist'
1322 opObj.addParameter(name=name_parameter, value=channelList, format=format)
1260 opObj.addParameter(name=name_parameter, value=channelList, format=format)
1323
1261
1324 if not xvalue == '':
1262 if not xvalue == '':
1325 xvalueList = xvalue.split(',')
1263 xvalueList = xvalue.split(',')
1326 try:
1264 try:
1327 value1 = float(xvalueList[0])
1265 value1 = float(xvalueList[0])
1328 value2 = float(xvalueList[1])
1266 value2 = float(xvalueList[1])
1329 except:
1267 except:
1330 self.console.clear()
1268 self.console.clear()
1331 self.console.append("Please Write corrects parameter freq")
1269 self.console.append("Please Write corrects parameter freq")
1332 return 0
1270 return 0
1333 name1 = 'xmin'
1271 name1 = 'xmin'
1334 name2 = 'xmax'
1272 name2 = 'xmax'
1335 format = 'float'
1273 format = 'float'
1336 opObj.addParameter(name=name1, value=value1, format=format)
1274 opObj.addParameter(name=name1, value=value1, format=format)
1337 opObj.addParameter(name=name2, value=value2, format=format)
1275 opObj.addParameter(name=name2, value=value2, format=format)
1338 #------specGgraphHeight---
1276 #------specGgraphHeight---
1339 if not yvalue == '':
1277 if not yvalue == '':
1340 yvalueList = yvalue.split(",")
1278 yvalueList = yvalue.split(",")
1341 try:
1279 try:
1342 value1 = float(yvalueList[0])
1280 value1 = float(yvalueList[0])
1343 value2 = float(yvalueList[1])
1281 value2 = float(yvalueList[1])
1344 except:
1282 except:
1345 self.console.clear()
1283 self.console.clear()
1346 self.console.append("Please Write corrects parameter Height")
1284 self.console.append("Please Write corrects parameter Height")
1347 return 0
1285 return 0
1348 name1 = 'ymin'
1286 name1 = 'ymin'
1349 name2 = 'ymax'
1287 name2 = 'ymax'
1350 format = 'float'
1288 format = 'float'
1351 opObj.addParameter(name=name1, value=value1, format=format)
1289 opObj.addParameter(name=name1, value=value1, format=format)
1352 opObj.addParameter(name=name2, value=value2, format=format)
1290 opObj.addParameter(name=name2, value=value2, format=format)
1353
1291
1354 if not zvalue == '':
1292 if not zvalue == '':
1355 zvalueList = zvalue.split(",")
1293 zvalueList = zvalue.split(",")
1356 try:
1294 try:
1357 value = float(zvalueList[0])
1295 value = float(zvalueList[0])
1358 value = float(zvalueList[1])
1296 value = float(zvalueList[1])
1359 except:
1297 except:
1360 self.console.clear()
1298 self.console.clear()
1361 self.console.append("Please Write corrects parameter Dbsrange")
1299 self.console.append("Please Write corrects parameter Dbsrange")
1362 return 0
1300 return 0
1363 format = 'float'
1301 format = 'float'
1364 opObj.addParameter(name='zmin', value=zvalueList[0], format=format)
1302 opObj.addParameter(name='zmin', value=zvalueList[0], format=format)
1365 opObj.addParameter(name='zmax', value=zvalueList[1], format=format)
1303 opObj.addParameter(name='zmax', value=zvalueList[1], format=format)
1366
1304
1367 if self.specGraphSaveSpectra.isChecked():
1305 if self.specGraphSaveSpectra.isChecked():
1368 checkPath = True
1306 checkPath = True
1369 name_parameter1 = 'save'
1307 name_parameter1 = 'save'
1370 name_parameter2 = 'figpath'
1308 name_parameter2 = 'figpath'
1371 name_parameter3 = 'figfile'
1309 name_parameter3 = 'figfile'
1372 value1 = '1'
1310 value1 = '1'
1373 value2 = self.specGraphPath.text()
1311 value2 = self.specGraphPath.text()
1374 value3 = self.specGraphPrefix.text()
1312 value3 = self.specGraphPrefix.text()
1375 format1 = 'bool'
1313 format1 = 'bool'
1376 format2 = 'str'
1314 format2 = 'str'
1377 opObj.addParameter(name=name_parameter1, value=value1 , format=format1)
1315 opObj.addParameter(name=name_parameter1, value=value1 , format=format1)
1378 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
1316 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
1379 opObj.addParameter(name=name_parameter3, value=value3, format=format2)
1317 opObj.addParameter(name=name_parameter3, value=value3, format=format2)
1380
1318
1381 # opObj.addParameter(name='wr_period', value='5',format='int')
1319 # opObj.addParameter(name='wr_period', value='5',format='int')
1382
1320
1383 if self.specGraphftpSpectra.isChecked():
1321 if self.specGraphftpSpectra.isChecked():
1384 opObj.addParameter(name='ftp', value='1', format='int')
1322 opObj.addParameter(name='ftp', value='1', format='int')
1385 self.addFTPConf2Operation(puObj, opObj)
1323 self.addFTPConf2Operation(puObj, opObj)
1386 addFTP = True
1324 addFTP = True
1387
1325
1388 if self.specGraphCebCrossSpectraplot.isChecked():
1326 if self.specGraphCebCrossSpectraplot.isChecked():
1389 name_operation = 'CrossSpectraPlot'
1327 name_operation = 'CrossSpectraPlot'
1390 optype = 'other'
1328 optype = 'other'
1391 opObj = puObj.addOperation(name=name_operation, optype=optype)
1329 opObj = puObj.addOperation(name=name_operation, optype=optype)
1392 # opObj.addParameter(name='type', value="CrossSpectraPlot", format='str')
1330 # opObj.addParameter(name='type', value="CrossSpectraPlot", format='str')
1393 opObj.addParameter(name='power_cmap', value='jet', format='str')
1331 opObj.addParameter(name='power_cmap', value='jet', format='str')
1394 opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1332 opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1395 opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1333 opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1396
1334
1397 if self.idImagcross == 0:
1335 if self.idImagcross == 0:
1398 self.idImagcross = 300
1336 self.idImagcross = 300
1399 else:
1337 else:
1400 self.idImagcross = self.idImagcross + 1
1338 self.idImagcross = self.idImagcross + 1
1401 value1 = int(self.idImagcross)
1339 value1 = int(self.idImagcross)
1402 channelList = self.specGgraphChannelList.text()
1340 channelList = self.specGgraphChannelList.text()
1403 xvalue = self.specGgraphFreq.text()
1341 xvalue = self.specGgraphFreq.text()
1404 yvalue = self.specGgraphHeight.text()
1342 yvalue = self.specGgraphHeight.text()
1405 zvalue = self.specGgraphDbsrange.text()
1343 zvalue = self.specGgraphDbsrange.text()
1406
1344
1407 opObj.addParameter(name='id', value=value1, format='int')
1345 opObj.addParameter(name='id', value=value1, format='int')
1408
1346
1409 if self.specGgraphChannelList.isModified():
1347 if self.specGgraphChannelList.isModified():
1410 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1348 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1411
1349
1412 if not xvalue == '':
1350 if not xvalue == '':
1413 xvalueList = xvalue.split(',')
1351 xvalueList = xvalue.split(',')
1414 try:
1352 try:
1415 value = float(xvalueList[0])
1353 value = float(xvalueList[0])
1416 value = float(xvalueList[1])
1354 value = float(xvalueList[1])
1417 except:
1355 except:
1418 return 0
1356 return 0
1419 format = 'float'
1357 format = 'float'
1420 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1358 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1421 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1359 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1422
1360
1423 if not yvalue == '':
1361 if not yvalue == '':
1424 yvalueList = yvalue.split(",")
1362 yvalueList = yvalue.split(",")
1425 try:
1363 try:
1426 value = float(yvalueList[0])
1364 value = float(yvalueList[0])
1427 value = float(yvalueList[1])
1365 value = float(yvalueList[1])
1428 except:
1366 except:
1429 return 0
1367 return 0
1430 format = 'float'
1368 format = 'float'
1431 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1369 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1432 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1370 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1433
1371
1434
1372
1435 if not zvalue == '':
1373 if not zvalue == '':
1436 zvalueList = zvalue.split(",")
1374 zvalueList = zvalue.split(",")
1437 try:
1375 try:
1438 value = float(zvalueList[0])
1376 value = float(zvalueList[0])
1439 value = float(zvalueList[1])
1377 value = float(zvalueList[1])
1440 except:
1378 except:
1441 return 0
1379 return 0
1442 opObj.addParameter(name='zmin', value=zvalueList[0], format='float')
1380 opObj.addParameter(name='zmin', value=zvalueList[0], format='float')
1443 opObj.addParameter(name='zmax', value=zvalueList[1], format='float')
1381 opObj.addParameter(name='zmax', value=zvalueList[1], format='float')
1444
1382
1445 if self.specGraphSaveCross.isChecked():
1383 if self.specGraphSaveCross.isChecked():
1446 checkPath = True
1384 checkPath = True
1447 opObj.addParameter(name='save', value='1', format='bool')
1385 opObj.addParameter(name='save', value='1', format='bool')
1448 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1386 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1449 value = self.specGraphPrefix.text()
1387 value = self.specGraphPrefix.text()
1450 if not value == "":
1388 if not value == "":
1451 try:
1389 try:
1452 value = str(self.specGraphPrefix.text())
1390 value = str(self.specGraphPrefix.text())
1453 except:
1391 except:
1454 self.console.clear()
1392 self.console.clear()
1455 self.console.append("Please Write prefix")
1393 self.console.append("Please Write prefix")
1456 return 0
1394 return 0
1457 opObj.addParameter(name='figfile', value=value, format='str')
1395 opObj.addParameter(name='figfile', value=value, format='str')
1458 # opObj.addParameter(name='figfile', value=self.specGraphPrefix.text(), format='str')
1396 # opObj.addParameter(name='figfile', value=self.specGraphPrefix.text(), format='str')
1459 if self.specGraphftpCross.isChecked():
1397 if self.specGraphftpCross.isChecked():
1460 opObj.addParameter(name='ftp', value='1', format='int')
1398 opObj.addParameter(name='ftp', value='1', format='int')
1461 self.addFTPConf2Operation(puObj, opObj)
1399 self.addFTPConf2Operation(puObj, opObj)
1462 addFTP = True
1400 addFTP = True
1463
1401
1464 if self.specGraphCebRTIplot.isChecked():
1402 if self.specGraphCebRTIplot.isChecked():
1465 name_operation = 'RTIPlot'
1403 name_operation = 'RTIPlot'
1466 optype = 'other'
1404 optype = 'other'
1467 name_parameter = 'type'
1405 name_parameter = 'type'
1468 value = 'RTIPlot'
1406 value = 'RTIPlot'
1469 format = 'str'
1407 format = 'str'
1470
1408
1471 if self.idImagrti == 0:
1409 if self.idImagrti == 0:
1472 self.idImagrti = 400
1410 self.idImagrti = 400
1473 else:
1411 else:
1474 self.idImagrti = self.idImagrti + 1
1412 self.idImagrti = self.idImagrti + 1
1475
1413
1476 name_parameter1 = 'id'
1414 name_parameter1 = 'id'
1477 value1 = int(self.idImagrti)
1415 value1 = int(self.idImagrti)
1478 format1 = 'int'
1416 format1 = 'int'
1479
1417
1480 format = 'str'
1418 format = 'str'
1481
1419
1482 opObj = puObj.addOperation(name=name_operation, optype=optype)
1420 opObj = puObj.addOperation(name=name_operation, optype=optype)
1483 # opObj.addParameter(name=name_parameter, value=value, format=format)
1421 # opObj.addParameter(name=name_parameter, value=value, format=format)
1484 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1422 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1485
1423
1486 channelList = self.specGgraphChannelList.text()
1424 channelList = self.specGgraphChannelList.text()
1487 xvalue = self.specGgraphTminTmax.text()
1425 xvalue = self.specGgraphTminTmax.text()
1488 yvalue = self.specGgraphHeight.text()
1426 yvalue = self.specGgraphHeight.text()
1489 zvalue = self.specGgraphDbsrange.text()
1427 zvalue = self.specGgraphDbsrange.text()
1490 timerange = self.specGgraphTimeRange.text()
1428 timerange = self.specGgraphTimeRange.text()
1491
1429
1492 if not channelList == '':
1430 if not channelList == '':
1493 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1431 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1494
1432
1495 if not xvalue == '':
1433 if not xvalue == '':
1496 xvalueList = xvalue.split(',')
1434 xvalueList = xvalue.split(',')
1497 try:
1435 try:
1498 value = float(xvalueList[0])
1436 value = float(xvalueList[0])
1499 value = float(xvalueList[1])
1437 value = float(xvalueList[1])
1500 except:
1438 except:
1501 return 0
1439 return 0
1502 format = 'float'
1440 format = 'float'
1503 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1441 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1504 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1442 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1505
1443
1506 if not timerange == '':
1444 if not timerange == '':
1507 format = 'int'
1445 format = 'int'
1508 try:
1446 try:
1509 timerange = int(timerange)
1447 timerange = int(timerange)
1510 except:
1448 except:
1511 return 0
1449 return 0
1512 opObj.addParameter(name='timerange', value=timerange, format=format)
1450 opObj.addParameter(name='timerange', value=timerange, format=format)
1513
1451
1514
1452
1515 if not yvalue == '':
1453 if not yvalue == '':
1516 yvalueList = yvalue.split(",")
1454 yvalueList = yvalue.split(",")
1517 try:
1455 try:
1518 value = float(yvalueList[0])
1456 value = float(yvalueList[0])
1519 value = float(yvalueList[1])
1457 value = float(yvalueList[1])
1520 except:
1458 except:
1521 return 0
1459 return 0
1522 format = 'float'
1460 format = 'float'
1523 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1461 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1524 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1462 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1525
1463
1526 if not zvalue == '':
1464 if not zvalue == '':
1527 zvalueList = zvalue.split(",")
1465 zvalueList = zvalue.split(",")
1528 try:
1466 try:
1529 value = float(zvalueList[0])
1467 value = float(zvalueList[0])
1530 value = float(zvalueList[1])
1468 value = float(zvalueList[1])
1531 except:
1469 except:
1532 return 0
1470 return 0
1533 format = 'float'
1471 format = 'float'
1534 opObj.addParameter(name='zmin', value=zvalueList[0], format=format)
1472 opObj.addParameter(name='zmin', value=zvalueList[0], format=format)
1535 opObj.addParameter(name='zmax', value=zvalueList[1], format=format)
1473 opObj.addParameter(name='zmax', value=zvalueList[1], format=format)
1536
1474
1537 if self.specGraphSaveRTIplot.isChecked():
1475 if self.specGraphSaveRTIplot.isChecked():
1538 checkPath = True
1476 checkPath = True
1539 opObj.addParameter(name='save', value='1', format='bool')
1477 opObj.addParameter(name='save', value='1', format='bool')
1540 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1478 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1541 value = self.specGraphPrefix.text()
1479 value = self.specGraphPrefix.text()
1542 if not value == "":
1480 if not value == "":
1543 try:
1481 try:
1544 value = str(self.specGraphPrefix.text())
1482 value = str(self.specGraphPrefix.text())
1545 except:
1483 except:
1546 self.console.clear()
1484 self.console.clear()
1547 self.console.append("Please Write prefix")
1485 self.console.append("Please Write prefix")
1548 return 0
1486 return 0
1549 opObj.addParameter(name='figfile', value=value, format='str')
1487 opObj.addParameter(name='figfile', value=value, format='str')
1550
1488
1551 # test_ftp
1489 # test_ftp
1552 if self.specGraphftpRTIplot.isChecked():
1490 if self.specGraphftpRTIplot.isChecked():
1553 opObj.addParameter(name='ftp', value='1', format='int')
1491 opObj.addParameter(name='ftp', value='1', format='int')
1554 self.addFTPConf2Operation(puObj, opObj)
1492 self.addFTPConf2Operation(puObj, opObj)
1555 addFTP = True
1493 addFTP = True
1556
1494
1557 if self.specGraphCebCoherencmap.isChecked():
1495 if self.specGraphCebCoherencmap.isChecked():
1558 name_operation = 'CoherenceMap'
1496 name_operation = 'CoherenceMap'
1559 optype = 'other'
1497 optype = 'other'
1560 name_parameter = 'type'
1498 name_parameter = 'type'
1561 value = 'CoherenceMap'
1499 value = 'CoherenceMap'
1562 format = 'str'
1500 format = 'str'
1563 if self.idImagcoherence == 0:
1501 if self.idImagcoherence == 0:
1564 self.idImagcoherence = 500
1502 self.idImagcoherence = 500
1565 else:
1503 else:
1566 self.idImagcoherence = self.idImagcoherence + 1
1504 self.idImagcoherence = self.idImagcoherence + 1
1567
1505
1568 name_parameter1 = 'id'
1506 name_parameter1 = 'id'
1569 value1 = int(self.idImagcoherence)
1507 value1 = int(self.idImagcoherence)
1570 format1 = 'int'
1508 format1 = 'int'
1571
1509
1572 opObj = puObj.addOperation(name=name_operation, optype=optype)
1510 opObj = puObj.addOperation(name=name_operation, optype=optype)
1573 # opObj.addParameter(name=name_parameter, value=value, format=format)
1511 # opObj.addParameter(name=name_parameter, value=value, format=format)
1574 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1512 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1575 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1513 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1576 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1514 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1577
1515
1578 channelList = self.specGgraphChannelList.text()
1516 channelList = self.specGgraphChannelList.text()
1579 if not channelList == '':
1517 if not channelList == '':
1580 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1518 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1581
1519
1582 timerange = self.specGgraphTimeRange.text()
1520 timerange = self.specGgraphTimeRange.text()
1583 if not timerange == '':
1521 if not timerange == '':
1584 try:
1522 try:
1585 timerange = int(timerange)
1523 timerange = int(timerange)
1586 except:
1524 except:
1587 return 0
1525 return 0
1588 format = 'int'
1526 format = 'int'
1589 opObj.addParameter(name='timerange', value=timerange, format=format)
1527 opObj.addParameter(name='timerange', value=timerange, format=format)
1590
1528
1591 xvalue = self.specGgraphTminTmax.text()
1529 xvalue = self.specGgraphTminTmax.text()
1592 if not xvalue == '':
1530 if not xvalue == '':
1593 xvalueList = xvalue.split(',')
1531 xvalueList = xvalue.split(',')
1594 try:
1532 try:
1595 value = float(xvalueList[0])
1533 value = float(xvalueList[0])
1596 value = float(xvalueList[1])
1534 value = float(xvalueList[1])
1597 except:
1535 except:
1598 return 0
1536 return 0
1599 format = 'float'
1537 format = 'float'
1600 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1538 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1601 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1539 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1602
1540
1603 yvalue = self.specGgraphHeight.text()
1541 yvalue = self.specGgraphHeight.text()
1604 if not yvalue == '':
1542 if not yvalue == '':
1605 yvalueList = yvalue.split(",")
1543 yvalueList = yvalue.split(",")
1606 try:
1544 try:
1607 value = float(yvalueList[0])
1545 value = float(yvalueList[0])
1608 value = float(yvalueList[1])
1546 value = float(yvalueList[1])
1609 except:
1547 except:
1610 return 0
1548 return 0
1611 format = 'float'
1549 format = 'float'
1612 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1550 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1613 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1551 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1614
1552
1615 zvalue = self.specGgraphmagnitud.text()
1553 zvalue = self.specGgraphmagnitud.text()
1616 if not zvalue == '':
1554 if not zvalue == '':
1617 zvalueList = zvalue.split(",")
1555 zvalueList = zvalue.split(",")
1618 try:
1556 try:
1619 value = float(zvalueList[0])
1557 value = float(zvalueList[0])
1620 value = float(zvalueList[1])
1558 value = float(zvalueList[1])
1621 except:
1559 except:
1622 return 0
1560 return 0
1623 opObj.addParameter(name='zmin', value=zvalueList[0], format='float')
1561 opObj.addParameter(name='zmin', value=zvalueList[0], format='float')
1624 opObj.addParameter(name='zmax', value=zvalueList[1], format='float')
1562 opObj.addParameter(name='zmax', value=zvalueList[1], format='float')
1625
1563
1626 if self.specGraphSaveCoherencemap.isChecked():
1564 if self.specGraphSaveCoherencemap.isChecked():
1627 checkPath = True
1565 checkPath = True
1628 opObj.addParameter(name='save', value='1', format='bool')
1566 opObj.addParameter(name='save', value='1', format='bool')
1629 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1567 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1630 value = self.specGraphPrefix.text()
1568 value = self.specGraphPrefix.text()
1631 if not value == "":
1569 if not value == "":
1632 try:
1570 try:
1633 value = str(self.specGraphPrefix.text())
1571 value = str(self.specGraphPrefix.text())
1634 except:
1572 except:
1635 self.console.clear()
1573 self.console.clear()
1636 self.console.append("Please Write prefix")
1574 self.console.append("Please Write prefix")
1637 return 0
1575 return 0
1638 opObj.addParameter(name='figfile', value=value, format='str')
1576 opObj.addParameter(name='figfile', value=value, format='str')
1639
1577
1640 # test_ftp
1578 # test_ftp
1641 if self.specGraphftpCoherencemap.isChecked():
1579 if self.specGraphftpCoherencemap.isChecked():
1642 opObj.addParameter(name='ftp', value='1', format='int')
1580 opObj.addParameter(name='ftp', value='1', format='int')
1643 self.addFTPConf2Operation(puObj, opObj)
1581 self.addFTPConf2Operation(puObj, opObj)
1644 addFTP = True
1582 addFTP = True
1645
1583
1646 if self.specGraphPowerprofile.isChecked():
1584 if self.specGraphPowerprofile.isChecked():
1647 name_operation = 'PowerProfilePlot'
1585 name_operation = 'PowerProfilePlot'
1648 optype = 'other'
1586 optype = 'other'
1649 name_parameter = 'type'
1587 name_parameter = 'type'
1650 value = 'PowerProfilePlot'
1588 value = 'PowerProfilePlot'
1651 format = 'str'
1589 format = 'str'
1652
1590
1653 if self.idImagpower == 0:
1591 if self.idImagpower == 0:
1654 self.idImagpower = 600
1592 self.idImagpower = 600
1655 else:
1593 else:
1656 self.idImagpower = self.idImagpower + 1
1594 self.idImagpower = self.idImagpower + 1
1657 value1 = int(self.idImagpower)
1595 value1 = int(self.idImagpower)
1658 opObj = puObj.addOperation(name=name_operation, optype=optype)
1596 opObj = puObj.addOperation(name=name_operation, optype=optype)
1659 # opObj.addParameter(name=name_parameter, value=value, format='str')
1597 # opObj.addParameter(name=name_parameter, value=value, format='str')
1660 opObj.addParameter(name='id', value=value1, format='int')
1598 opObj.addParameter(name='id', value=value1, format='int')
1661
1599
1662 channelList = self.specGgraphChannelList.text()
1600 channelList = self.specGgraphChannelList.text()
1663 if not channelList == '':
1601 if not channelList == '':
1664 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1602 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1665
1603
1666 xvalue = self.specGgraphDbsrange.text()
1604 xvalue = self.specGgraphDbsrange.text()
1667 if not xvalue == '':
1605 if not xvalue == '':
1668 xvalueList = xvalue.split(',')
1606 xvalueList = xvalue.split(',')
1669 try:
1607 try:
1670 value = float(xvalueList[0])
1608 value = float(xvalueList[0])
1671 value = float(xvalueList[1])
1609 value = float(xvalueList[1])
1672 except:
1610 except:
1673 return 0
1611 return 0
1674 format = 'float'
1612 format = 'float'
1675 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1613 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1676 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1614 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1677
1615
1678 yvalue = self.specGgraphHeight.text()
1616 yvalue = self.specGgraphHeight.text()
1679 if not yvalue == '':
1617 if not yvalue == '':
1680 yvalueList = yvalue.split(",")
1618 yvalueList = yvalue.split(",")
1681 try:
1619 try:
1682 value = float(yvalueList[0])
1620 value = float(yvalueList[0])
1683 value = float(yvalueList[1])
1621 value = float(yvalueList[1])
1684 except:
1622 except:
1685 return 0
1623 return 0
1686 format = 'float'
1624 format = 'float'
1687 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1625 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1688 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1626 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1689
1627
1690
1628
1691 if self.specGraphSavePowerprofile.isChecked():
1629 if self.specGraphSavePowerprofile.isChecked():
1692 checkPath = True
1630 checkPath = True
1693 opObj.addParameter(name='save', value='1', format='bool')
1631 opObj.addParameter(name='save', value='1', format='bool')
1694 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1632 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1695 value = self.specGraphPrefix.text()
1633 value = self.specGraphPrefix.text()
1696 if not value == "":
1634 if not value == "":
1697 try:
1635 try:
1698 value = str(self.specGraphPrefix.text())
1636 value = str(self.specGraphPrefix.text())
1699 except:
1637 except:
1700 self.console.clear()
1638 self.console.clear()
1701 self.console.append("Please Write prefix")
1639 self.console.append("Please Write prefix")
1702 return 0
1640 return 0
1703 opObj.addParameter(name='figfile', value=value, format='str')
1641 opObj.addParameter(name='figfile', value=value, format='str')
1704
1642
1705
1643
1706 if self.specGraphftpPowerprofile.isChecked():
1644 if self.specGraphftpPowerprofile.isChecked():
1707 opObj.addParameter(name='ftp', value='1', format='int')
1645 opObj.addParameter(name='ftp', value='1', format='int')
1708 self.addFTPConf2Operation(puObj, opObj)
1646 self.addFTPConf2Operation(puObj, opObj)
1709 addFTP = True
1647 addFTP = True
1710 # rti noise
1648 # rti noise
1711
1649
1712 if self.specGraphCebRTInoise.isChecked():
1650 if self.specGraphCebRTInoise.isChecked():
1713 name_operation = 'Noise'
1651 name_operation = 'Noise'
1714 optype = 'other'
1652 optype = 'other'
1715 name_parameter = 'type'
1653 name_parameter = 'type'
1716 value = 'Noise'
1654 value = 'Noise'
1717 format = 'str'
1655 format = 'str'
1718
1656
1719 if self.idImagrtinoise == 0:
1657 if self.idImagrtinoise == 0:
1720 self.idImagrtinoise = 700
1658 self.idImagrtinoise = 700
1721 else:
1659 else:
1722 self.idImagrtinoise = self.idImagrtinoise + 1
1660 self.idImagrtinoise = self.idImagrtinoise + 1
1723
1661
1724 name_parameter1 = 'id'
1662 name_parameter1 = 'id'
1725 value1 = int(self.idImagrtinoise)
1663 value1 = int(self.idImagrtinoise)
1726 format1 = 'int'
1664 format1 = 'int'
1727 format = 'str'
1665 format = 'str'
1728
1666
1729 opObj = puObj.addOperation(name=name_operation, optype=optype)
1667 opObj = puObj.addOperation(name=name_operation, optype=optype)
1730 # opObj.addParameter(name=name_parameter, value=value, format=format)
1668 # opObj.addParameter(name=name_parameter, value=value, format=format)
1731 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1669 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1732
1670
1733 channelList = self.specGgraphChannelList.text()
1671 channelList = self.specGgraphChannelList.text()
1734 xvalue = self.specGgraphTminTmax.text()
1672 xvalue = self.specGgraphTminTmax.text()
1735 yvalue = self.specGgraphDbsrange.text()
1673 yvalue = self.specGgraphDbsrange.text()
1736 timerange = self.specGgraphTimeRange.text()
1674 timerange = self.specGgraphTimeRange.text()
1737
1675
1738
1676
1739 if not channelList == '':
1677 if not channelList == '':
1740 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1678 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1741
1679
1742 if not timerange == '':
1680 if not timerange == '':
1743 format = 'int'
1681 format = 'int'
1744 try:
1682 try:
1745 timerange = int(timerange)
1683 timerange = int(timerange)
1746 except:
1684 except:
1747 return 0
1685 return 0
1748 opObj.addParameter(name='timerange', value=timerange, format=format)
1686 opObj.addParameter(name='timerange', value=timerange, format=format)
1749
1687
1750 if not xvalue == '':
1688 if not xvalue == '':
1751 xvalueList = xvalue.split(',')
1689 xvalueList = xvalue.split(',')
1752 try:
1690 try:
1753 value = float(xvalueList[0])
1691 value = float(xvalueList[0])
1754 value = float(xvalueList[1])
1692 value = float(xvalueList[1])
1755 except:
1693 except:
1756 return 0
1694 return 0
1757 format = 'float'
1695 format = 'float'
1758 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1696 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1759 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1697 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1760
1698
1761 if not yvalue == '':
1699 if not yvalue == '':
1762 yvalueList = yvalue.split(",")
1700 yvalueList = yvalue.split(",")
1763 try:
1701 try:
1764 value = float(yvalueList[0])
1702 value = float(yvalueList[0])
1765 value = float(yvalueList[1])
1703 value = float(yvalueList[1])
1766 except:
1704 except:
1767 return 0
1705 return 0
1768 format = 'float'
1706 format = 'float'
1769 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1707 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1770 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1708 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1771
1709
1772 if self.specGraphSaveRTInoise.isChecked():
1710 if self.specGraphSaveRTInoise.isChecked():
1773 checkPath = True
1711 checkPath = True
1774 opObj.addParameter(name='save', value='1', format='bool')
1712 opObj.addParameter(name='save', value='1', format='bool')
1775 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1713 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1776 value = self.specGraphPrefix.text()
1714 value = self.specGraphPrefix.text()
1777 if not value == "":
1715 if not value == "":
1778 try:
1716 try:
1779 value = str(self.specGraphPrefix.text())
1717 value = str(self.specGraphPrefix.text())
1780 except:
1718 except:
1781 self.console.clear()
1719 self.console.clear()
1782 self.console.append("Please Write prefix")
1720 self.console.append("Please Write prefix")
1783 return 0
1721 return 0
1784 opObj.addParameter(name='figfile', value=value, format='str')
1722 opObj.addParameter(name='figfile', value=value, format='str')
1785
1723
1786 # test_ftp
1724 # test_ftp
1787 if self.specGraphftpRTInoise.isChecked():
1725 if self.specGraphftpRTInoise.isChecked():
1788 opObj.addParameter(name='ftp', value='1', format='int')
1726 opObj.addParameter(name='ftp', value='1', format='int')
1789 self.addFTPConf2Operation(puObj, opObj)
1727 self.addFTPConf2Operation(puObj, opObj)
1790 addFTP = True
1728 addFTP = True
1791
1729
1792 localfolder = None
1730 localfolder = None
1793 if checkPath:
1731 if checkPath:
1794 localfolder = str(self.specGraphPath.text())
1732 localfolder = str(self.specGraphPath.text())
1795 if localfolder == '':
1733 if localfolder == '':
1796 self.console.clear()
1734 self.console.clear()
1797 self.console.append("Graphic path should be defined")
1735 self.console.append("Graphic path should be defined")
1798 return 0
1736 return 0
1799
1737
1800 if addFTP:
1738 if addFTP:
1801 if not localfolder:
1739 if not localfolder:
1802 self.console.clear()
1740 self.console.clear()
1803 self.console.append("You have to save the plots before sending them to FTP Server")
1741 self.console.append("You have to save the plots before sending them to FTP Server")
1804 return 0
1742 return 0
1805
1743
1806 if not self.temporalFTP.create:
1744 if not self.temporalFTP.create:
1807 self.temporalFTP.setwithoutconfiguration()
1745 self.temporalFTP.setwithoutconfiguration()
1808
1746
1809 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
1747 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
1810 self.createFTPProcUnitView(server, username, password, remotefolder,
1748 self.createFTPProcUnitView(server, username, password, remotefolder,
1811 ftp_wei, exp_code, sub_exp_code, plot_pos,
1749 ftp_wei, exp_code, sub_exp_code, plot_pos,
1812 localfolder=localfolder)
1750 localfolder=localfolder)
1813 else:
1751 else:
1814 self.removeFTPProcUnitView()
1752 self.removeFTPProcUnitView()
1815
1753
1816 # if something happend
1754 # if something happend
1817 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Spectra')
1755 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Spectra')
1818 if parms_ok:
1756 if parms_ok:
1819 name_operation = 'SpectraWriter'
1757 name_operation = 'SpectraWriter'
1820 optype = 'other'
1758 optype = 'other'
1821 name_parameter1 = 'path'
1759 name_parameter1 = 'path'
1822 name_parameter2 = 'blocksPerFile'
1760 name_parameter2 = 'blocksPerFile'
1823 name_parameter3 = 'profilesPerBlock'
1761 name_parameter3 = 'profilesPerBlock'
1824 value1 = output_path
1762 value1 = output_path
1825 value2 = blocksperfile
1763 value2 = blocksperfile
1826 value3 = profilesperblock
1764 value3 = profilesperblock
1827 format = "int"
1765 format = "int"
1828
1766
1829 opObj = puObj.addOperation(name=name_operation, optype=optype)
1767 opObj = puObj.addOperation(name=name_operation, optype=optype)
1830 opObj.addParameter(name=name_parameter1, value=value1)
1768 opObj.addParameter(name=name_parameter1, value=value1)
1831 opObj.addParameter(name=name_parameter2, value=value2, format=format)
1769 opObj.addParameter(name=name_parameter2, value=value2, format=format)
1832 opObj.addParameter(name=name_parameter3, value=value3, format=format)
1770 opObj.addParameter(name=name_parameter3, value=value3, format=format)
1833
1771
1834 self.showPUSpectraProperties(puObj)
1772 self.showPUSpectraProperties(puObj)
1835
1773
1836 self.console.clear()
1774 self.console.clear()
1837 self.console.append("If you want to save your project")
1775 self.console.append("If you want to save your project")
1838 self.console.append("click on your project name in the Tree Project Explorer")
1776 self.console.append("click on your project name in the Tree Project Explorer")
1839
1777
1840 self.actionSaveToolbar.setEnabled(True)
1778 self.actionSaveToolbar.setEnabled(True)
1841 self.actionStarToolbar.setEnabled(True)
1779 self.actionStarToolbar.setEnabled(True)
1842
1780
1843 return 1
1781 return 1
1844
1782
1845 """
1783 """
1846 Spectra Graph
1784 Spectra Graph
1847 """
1785 """
1848 @pyqtSignature("int")
1786 @pyqtSignature("int")
1849 def on_specGraphCebSpectraplot_stateChanged(self, p0):
1787 def on_specGraphCebSpectraplot_stateChanged(self, p0):
1850
1788
1851 if p0 == 2:
1789 if p0 == 2:
1852 self.specGgraphChannelList.setEnabled(True)
1790 self.specGgraphChannelList.setEnabled(True)
1853 self.specGgraphFreq.setEnabled(True)
1791 self.specGgraphFreq.setEnabled(True)
1854 self.specGgraphHeight.setEnabled(True)
1792 self.specGgraphHeight.setEnabled(True)
1855 self.specGgraphDbsrange.setEnabled(True)
1793 self.specGgraphDbsrange.setEnabled(True)
1856 if p0 == 0:
1794 if p0 == 0:
1857 self.specGgraphFreq.setEnabled(False)
1795 self.specGgraphFreq.setEnabled(False)
1858 self.specGgraphHeight.setEnabled(False)
1796 self.specGgraphHeight.setEnabled(False)
1859 self.specGgraphDbsrange.setEnabled(False)
1797 self.specGgraphDbsrange.setEnabled(False)
1860
1798
1861
1799
1862 @pyqtSignature("int")
1800 @pyqtSignature("int")
1863 def on_specGraphCebCrossSpectraplot_stateChanged(self, p0):
1801 def on_specGraphCebCrossSpectraplot_stateChanged(self, p0):
1864
1802
1865 if p0 == 2:
1803 if p0 == 2:
1866 self.specGgraphFreq.setEnabled(True)
1804 self.specGgraphFreq.setEnabled(True)
1867 self.specGgraphHeight.setEnabled(True)
1805 self.specGgraphHeight.setEnabled(True)
1868 self.specGgraphDbsrange.setEnabled(True)
1806 self.specGgraphDbsrange.setEnabled(True)
1869 if p0 == 0:
1807 if p0 == 0:
1870 self.specGgraphFreq.setEnabled(False)
1808 self.specGgraphFreq.setEnabled(False)
1871 self.specGgraphHeight.setEnabled(False)
1809 self.specGgraphHeight.setEnabled(False)
1872 self.specGgraphDbsrange.setEnabled(False)
1810 self.specGgraphDbsrange.setEnabled(False)
1873
1811
1874 @pyqtSignature("int")
1812 @pyqtSignature("int")
1875 def on_specGraphCebRTIplot_stateChanged(self, p0):
1813 def on_specGraphCebRTIplot_stateChanged(self, p0):
1876
1814
1877 if p0 == 2:
1815 if p0 == 2:
1878 self.specGgraphChannelList.setEnabled(True)
1816 self.specGgraphChannelList.setEnabled(True)
1879 self.specGgraphTminTmax.setEnabled(True)
1817 self.specGgraphTminTmax.setEnabled(True)
1880 self.specGgraphHeight.setEnabled(True)
1818 self.specGgraphHeight.setEnabled(True)
1881 self.specGgraphDbsrange.setEnabled(True)
1819 self.specGgraphDbsrange.setEnabled(True)
1882 self.specGgraphTimeRange.setEnabled(True)
1820 self.specGgraphTimeRange.setEnabled(True)
1883
1821
1884 if p0 == 0:
1822 if p0 == 0:
1885 self.specGgraphTminTmax.setEnabled(False)
1823 self.specGgraphTminTmax.setEnabled(False)
1886 self.specGgraphHeight.setEnabled(False)
1824 self.specGgraphHeight.setEnabled(False)
1887 self.specGgraphDbsrange.setEnabled(False)
1825 self.specGgraphDbsrange.setEnabled(False)
1888 self.specGgraphTimeRange.setEnabled(False)
1826 self.specGgraphTimeRange.setEnabled(False)
1889
1827
1890
1828
1891 @pyqtSignature("int")
1829 @pyqtSignature("int")
1892 def on_specGraphCebRTInoise_stateChanged(self, p0):
1830 def on_specGraphCebRTInoise_stateChanged(self, p0):
1893 if p0 == 2:
1831 if p0 == 2:
1894 self.specGgraphChannelList.setEnabled(True)
1832 self.specGgraphChannelList.setEnabled(True)
1895 self.specGgraphTminTmax.setEnabled(True)
1833 self.specGgraphTminTmax.setEnabled(True)
1896 self.specGgraphDbsrange.setEnabled(True)
1834 self.specGgraphDbsrange.setEnabled(True)
1897 self.specGgraphTimeRange.setEnabled(True)
1835 self.specGgraphTimeRange.setEnabled(True)
1898
1836
1899 if p0 == 0:
1837 if p0 == 0:
1900 self.specGgraphTminTmax.setEnabled(False)
1838 self.specGgraphTminTmax.setEnabled(False)
1901 self.specGgraphDbsrange.setEnabled(False)
1839 self.specGgraphDbsrange.setEnabled(False)
1902 self.specGgraphTimeRange.setEnabled(False)
1840 self.specGgraphTimeRange.setEnabled(False)
1903
1841
1904
1842
1905
1843
1906
1844
1907 @pyqtSignature("int")
1845 @pyqtSignature("int")
1908 def on_specGraphCebCoherencmap_stateChanged(self, p0):
1846 def on_specGraphCebCoherencmap_stateChanged(self, p0):
1909
1847
1910 if p0 == 2:
1848 if p0 == 2:
1911 self.specGgraphTminTmax.setEnabled(True)
1849 self.specGgraphTminTmax.setEnabled(True)
1912 self.specGgraphHeight.setEnabled(True)
1850 self.specGgraphHeight.setEnabled(True)
1913 self.specGgraphmagnitud.setEnabled(True)
1851 self.specGgraphmagnitud.setEnabled(True)
1914 self.specGgraphTimeRange.setEnabled(True)
1852 self.specGgraphTimeRange.setEnabled(True)
1915
1853
1916 if p0 == 0:
1854 if p0 == 0:
1917 self.specGgraphTminTmax.setEnabled(False)
1855 self.specGgraphTminTmax.setEnabled(False)
1918 self.specGgraphHeight.setEnabled(False)
1856 self.specGgraphHeight.setEnabled(False)
1919 self.specGgraphmagnitud.setEnabled(False)
1857 self.specGgraphmagnitud.setEnabled(False)
1920 self.specGgraphTimeRange.setEnabled(False)
1858 self.specGgraphTimeRange.setEnabled(False)
1921
1859
1922
1860
1923
1861
1924
1862
1925 @pyqtSignature("int")
1863 @pyqtSignature("int")
1926 def on_specGraphPowerprofile_stateChanged(self, p0):
1864 def on_specGraphPowerprofile_stateChanged(self, p0):
1927
1865
1928 if p0 == 2:
1866 if p0 == 2:
1929
1867
1930 self.specGgraphHeight.setEnabled(True)
1868 self.specGgraphHeight.setEnabled(True)
1931 self.specGgraphDbsrange.setEnabled(True)
1869 self.specGgraphDbsrange.setEnabled(True)
1932 if p0 == 0:
1870 if p0 == 0:
1933 self.specGgraphHeight.setEnabled(False)
1871 self.specGgraphHeight.setEnabled(False)
1934 self.specGgraphDbsrange.setEnabled(False)
1872 self.specGgraphDbsrange.setEnabled(False)
1935
1873
1936 @pyqtSignature("int")
1874 @pyqtSignature("int")
1937 def on_specGraphPhase_stateChanged(self, p0):
1875 def on_specGraphPhase_stateChanged(self, p0):
1938
1876
1939 if p0 == 2:
1877 if p0 == 2:
1940 self.specGgraphTminTmax.setEnabled(True)
1878 self.specGgraphTminTmax.setEnabled(True)
1941 self.specGgraphPhaserange.setEnabled(True)
1879 self.specGgraphPhaserange.setEnabled(True)
1942
1880
1943 if p0 == 0:
1881 if p0 == 0:
1944 self.specGgraphTminTmax.setEnabled(False)
1882 self.specGgraphTminTmax.setEnabled(False)
1945 self.specGgraphPhaserange.setEnabled(False)
1883 self.specGgraphPhaserange.setEnabled(False)
1946
1884
1947 @pyqtSignature("int")
1885 @pyqtSignature("int")
1948 def on_specGraphSaveSpectra_stateChanged(self, p0):
1886 def on_specGraphSaveSpectra_stateChanged(self, p0):
1949 """
1887 """
1950 """
1888 """
1951 if p0 == 2:
1889 if p0 == 2:
1952 self.specGraphPath.setEnabled(True)
1890 self.specGraphPath.setEnabled(True)
1953 self.specGraphPrefix.setEnabled(True)
1891 self.specGraphPrefix.setEnabled(True)
1954 self.specGraphToolPath.setEnabled(True)
1892 self.specGraphToolPath.setEnabled(True)
1955 if p0 == 0:
1893 if p0 == 0:
1956 self.specGraphPath.setEnabled(False)
1894 self.specGraphPath.setEnabled(False)
1957 self.specGraphPrefix.setEnabled(False)
1895 self.specGraphPrefix.setEnabled(False)
1958 self.specGraphToolPath.setEnabled(False)
1896 self.specGraphToolPath.setEnabled(False)
1959
1897
1960
1898
1961 @pyqtSignature("int")
1899 @pyqtSignature("int")
1962 def on_specGraphSaveCross_stateChanged(self, p0):
1900 def on_specGraphSaveCross_stateChanged(self, p0):
1963 if p0 == 2:
1901 if p0 == 2:
1964 self.specGraphPath.setEnabled(True)
1902 self.specGraphPath.setEnabled(True)
1965 self.specGraphPrefix.setEnabled(True)
1903 self.specGraphPrefix.setEnabled(True)
1966 self.specGraphToolPath.setEnabled(True)
1904 self.specGraphToolPath.setEnabled(True)
1967
1905
1968 @pyqtSignature("int")
1906 @pyqtSignature("int")
1969 def on_specGraphSaveRTIplot_stateChanged(self, p0):
1907 def on_specGraphSaveRTIplot_stateChanged(self, p0):
1970 if p0 == 2:
1908 if p0 == 2:
1971 self.specGraphPath.setEnabled(True)
1909 self.specGraphPath.setEnabled(True)
1972 self.specGraphPrefix.setEnabled(True)
1910 self.specGraphPrefix.setEnabled(True)
1973 self.specGraphToolPath.setEnabled(True)
1911 self.specGraphToolPath.setEnabled(True)
1974
1912
1975 @pyqtSignature("int")
1913 @pyqtSignature("int")
1976 def on_specGraphSaveRTInoise_stateChanged(self, p0):
1914 def on_specGraphSaveRTInoise_stateChanged(self, p0):
1977 if p0 == 2:
1915 if p0 == 2:
1978 self.specGraphPath.setEnabled(True)
1916 self.specGraphPath.setEnabled(True)
1979 self.specGraphPrefix.setEnabled(True)
1917 self.specGraphPrefix.setEnabled(True)
1980 self.specGraphToolPath.setEnabled(True)
1918 self.specGraphToolPath.setEnabled(True)
1981
1919
1982 @pyqtSignature("int")
1920 @pyqtSignature("int")
1983 def on_specGraphSaveCoherencemap_stateChanged(self, p0):
1921 def on_specGraphSaveCoherencemap_stateChanged(self, p0):
1984 if p0 == 2:
1922 if p0 == 2:
1985 self.specGraphPath.setEnabled(True)
1923 self.specGraphPath.setEnabled(True)
1986 self.specGraphPrefix.setEnabled(True)
1924 self.specGraphPrefix.setEnabled(True)
1987 self.specGraphToolPath.setEnabled(True)
1925 self.specGraphToolPath.setEnabled(True)
1988
1926
1989
1927
1990 @pyqtSignature("int")
1928 @pyqtSignature("int")
1991 def on_specGraphSavePowerprofile_stateChanged(self, p0):
1929 def on_specGraphSavePowerprofile_stateChanged(self, p0):
1992 if p0 == 2:
1930 if p0 == 2:
1993 self.specGraphPath.setEnabled(True)
1931 self.specGraphPath.setEnabled(True)
1994 self.specGraphPrefix.setEnabled(True)
1932 self.specGraphPrefix.setEnabled(True)
1995 self.specGraphToolPath.setEnabled(True)
1933 self.specGraphToolPath.setEnabled(True)
1996
1934
1997
1935
1998 #-------ftp-----#
1936 #-------ftp-----#
1999 @pyqtSignature("int")
1937 @pyqtSignature("int")
2000 def on_specGraphftpSpectra_stateChanged(self, p0):
1938 def on_specGraphftpSpectra_stateChanged(self, p0):
2001 """
1939 """
2002 """
1940 """
2003 if p0 == 2:
1941 if p0 == 2:
2004 self.specGgraphftpratio.setEnabled(True)
1942 self.specGgraphftpratio.setEnabled(True)
2005
1943
2006 if p0 == 0:
1944 if p0 == 0:
2007 self.specGgraphftpratio.setEnabled(False)
1945 self.specGgraphftpratio.setEnabled(False)
2008
1946
2009
1947
2010 @pyqtSignature("int")
1948 @pyqtSignature("int")
2011 def on_specGraphftpCross_stateChanged(self, p0):
1949 def on_specGraphftpCross_stateChanged(self, p0):
2012 if p0 == 2:
1950 if p0 == 2:
2013 self.specGgraphftpratio.setEnabled(True)
1951 self.specGgraphftpratio.setEnabled(True)
2014
1952
2015 @pyqtSignature("int")
1953 @pyqtSignature("int")
2016 def on_specGraphftpRTIplot_stateChanged(self, p0):
1954 def on_specGraphftpRTIplot_stateChanged(self, p0):
2017 if p0 == 2:
1955 if p0 == 2:
2018 self.specGgraphftpratio.setEnabled(True)
1956 self.specGgraphftpratio.setEnabled(True)
2019
1957
2020 @pyqtSignature("int")
1958 @pyqtSignature("int")
2021 def on_specGraphftpRTInoise_stateChanged(self, p0):
1959 def on_specGraphftpRTInoise_stateChanged(self, p0):
2022 if p0 == 2:
1960 if p0 == 2:
2023 self.specGgraphftpratio.setEnabled(True)
1961 self.specGgraphftpratio.setEnabled(True)
2024
1962
2025 @pyqtSignature("int")
1963 @pyqtSignature("int")
2026 def on_specGraphftpCoherencemap_stateChanged(self, p0):
1964 def on_specGraphftpCoherencemap_stateChanged(self, p0):
2027 if p0 == 2:
1965 if p0 == 2:
2028 self.specGgraphftpratio.setEnabled(True)
1966 self.specGgraphftpratio.setEnabled(True)
2029
1967
2030 @pyqtSignature("int")
1968 @pyqtSignature("int")
2031 def on_specGraphftpPowerprofile_stateChanged(self, p0):
1969 def on_specGraphftpPowerprofile_stateChanged(self, p0):
2032 if p0 == 2:
1970 if p0 == 2:
2033 self.specGgraphftpratio.setEnabled(True)
1971 self.specGgraphftpratio.setEnabled(True)
2034
1972
2035 #-------------------#
1973 #-------------------#
2036
1974
2037
1975
2038
1976
2039 @pyqtSignature("")
1977 @pyqtSignature("")
2040 def on_specGraphToolPath_clicked(self):
1978 def on_specGraphToolPath_clicked(self):
2041 """
1979 """
2042 """
1980 """
2043 self.savePath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
1981 self.savePath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
2044 self.specGraphPath.setText(self.savePath)
1982 self.specGraphPath.setText(self.savePath)
2045 if not os.path.exists(self.savePath):
1983 if not os.path.exists(self.savePath):
2046 self.console.clear()
1984 self.console.clear()
2047 self.console.append("Write a correct a path")
1985 self.console.append("Write a correct a path")
2048 return
1986 return
2049
1987
2050 @pyqtSignature("")
1988 @pyqtSignature("")
2051 def on_specHeisGraphToolPath_clicked(self):
1989 def on_specHeisGraphToolPath_clicked(self):
2052 """
1990 """
2053 """
1991 """
2054 self.savePath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
1992 self.savePath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
2055 self.specHeisGraphPath.setText(self.savePath)
1993 self.specHeisGraphPath.setText(self.savePath)
2056 if not os.path.exists(self.savePath):
1994 if not os.path.exists(self.savePath):
2057 self.console.clear()
1995 self.console.clear()
2058 self.console.append("Write a correct a path")
1996 self.console.append("Write a correct a path")
2059 return
1997 return
2060
1998
2061 @pyqtSignature("")
1999 @pyqtSignature("")
2062 def on_specGraphClear_clicked(self):
2000 def on_specGraphClear_clicked(self):
2063 self.clearspecGraph()
2001 self.clearspecGraph()
2064
2002
2065 @pyqtSignature("int")
2003 @pyqtSignature("int")
2066 def on_specHeisOpCebIncoherent_stateChanged(self, p0):
2004 def on_specHeisOpCebIncoherent_stateChanged(self, p0):
2067 """
2005 """
2068 Habilita la opcion de aοΏ½adir el parοΏ½metro integraciones incoherentes a la Unidad de Procesamiento .
2006 Habilita la opcion de aοΏ½adir el parοΏ½metro integraciones incoherentes a la Unidad de Procesamiento .
2069 """
2007 """
2070 if p0 == 2:
2008 if p0 == 2:
2071 self.specHeisOpIncoherent.setEnabled(True)
2009 self.specHeisOpIncoherent.setEnabled(True)
2072 self.specHeisOpCobIncInt.setEnabled(True)
2010 self.specHeisOpCobIncInt.setEnabled(True)
2073 if p0 == 0:
2011 if p0 == 0:
2074 self.specHeisOpIncoherent.setEnabled(False)
2012 self.specHeisOpIncoherent.setEnabled(False)
2075 self.specHeisOpCobIncInt.setEnabled(False)
2013 self.specHeisOpCobIncInt.setEnabled(False)
2076
2014
2077 @pyqtSignature("")
2015 @pyqtSignature("")
2078 def on_specHeisOpOk_clicked(self):
2016 def on_specHeisOpOk_clicked(self):
2079 """
2017 """
2080 AΓ‘ADE OPERACION SPECTRAHEIS
2018 AΓ‘ADE OPERACION SPECTRAHEIS
2081 """
2019 """
2082 addFTP = False
2020 addFTP = False
2083 checkPath = False
2021 checkPath = False
2084
2022
2085 self.actionSaveToolbar.setEnabled(False)
2023 self.actionSaveToolbar.setEnabled(False)
2086 self.actionStarToolbar.setEnabled(False)
2024 self.actionStarToolbar.setEnabled(False)
2087
2025
2088 puObj = self.getSelectedPUObj()
2026 puObj = self.getSelectedPUObj()
2089 puObj.removeOperations()
2027 puObj.removeOperations()
2090
2028
2091 if self.specHeisOpCebIncoherent.isChecked():
2029 if self.specHeisOpCebIncoherent.isChecked():
2092 value = self.specHeisOpIncoherent.text()
2030 value = self.specHeisOpIncoherent.text()
2093 name_operation = 'IncohInt4SpectraHeis'
2031 name_operation = 'IncohInt4SpectraHeis'
2094 optype = 'other'
2032 optype = 'other'
2095 if self.specOpCobIncInt.currentIndex() == 0:
2033 if self.specOpCobIncInt.currentIndex() == 0:
2096 name_parameter = 'timeInterval'
2034 name_parameter = 'timeInterval'
2097 format = 'float'
2035 format = 'float'
2098 opObj = puObj.addOperation(name=name_operation, optype=optype)
2036 opObj = puObj.addOperation(name=name_operation, optype=optype)
2099 opObj.addParameter(name=name_parameter, value=value, format=format)
2037 opObj.addParameter(name=name_parameter, value=value, format=format)
2100
2038
2101 # ---- Spectra Plot-----
2039 # ---- Spectra Plot-----
2102 if self.specHeisGraphCebSpectraplot.isChecked():
2040 if self.specHeisGraphCebSpectraplot.isChecked():
2103 name_operation = 'SpectraHeisScope'
2041 name_operation = 'SpectraHeisScope'
2104 optype = 'other'
2042 optype = 'other'
2105 name_parameter = 'type'
2043 name_parameter = 'type'
2106 value = 'SpectraHeisScope'
2044 value = 'SpectraHeisScope'
2107 format = 'str'
2045 format = 'str'
2108 if self.idImagspectraHeis == 0:
2046 if self.idImagspectraHeis == 0:
2109 self.idImagspectraHeis = 800
2047 self.idImagspectraHeis = 800
2110 else:
2048 else:
2111 self.idImagspectraHeis = self.idImagspectraHeis + 1
2049 self.idImagspectraHeis = self.idImagspectraHeis + 1
2112 name_parameter1 = 'id'
2050 name_parameter1 = 'id'
2113 value1 = int(self.idImagspectraHeis)
2051 value1 = int(self.idImagspectraHeis)
2114 format1 = 'int'
2052 format1 = 'int'
2115
2053
2116 format = 'str'
2054 format = 'str'
2117
2055
2118 channelList = self.specHeisGgraphChannelList.text()
2056 channelList = self.specHeisGgraphChannelList.text()
2119 xvalue = self.specHeisGgraphXminXmax.text()
2057 xvalue = self.specHeisGgraphXminXmax.text()
2120 yvalue = self.specHeisGgraphYminYmax.text()
2058 yvalue = self.specHeisGgraphYminYmax.text()
2121 opObj = puObj.addOperation(name=name_operation, optype=optype)
2059 opObj = puObj.addOperation(name=name_operation, optype=optype)
2122 # opObj.addParameter(name=name_parameter, value=value, format=format)
2060 # opObj.addParameter(name=name_parameter, value=value, format=format)
2123 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
2061 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
2124
2062
2125 if not channelList == '':
2063 if not channelList == '':
2126 name_parameter = 'channelList'
2064 name_parameter = 'channelList'
2127 format = 'intlist'
2065 format = 'intlist'
2128 opObj.addParameter(name=name_parameter, value=channelList, format=format)
2066 opObj.addParameter(name=name_parameter, value=channelList, format=format)
2129
2067
2130 if not xvalue == '':
2068 if not xvalue == '':
2131 xvalueList = xvalue.split(',')
2069 xvalueList = xvalue.split(',')
2132 try:
2070 try:
2133 value1 = float(xvalueList[0])
2071 value1 = float(xvalueList[0])
2134 value2 = float(xvalueList[1])
2072 value2 = float(xvalueList[1])
2135 except:
2073 except:
2136 self.console.clear()
2074 self.console.clear()
2137 self.console.append("Please Write corrects parameter xmin-xmax")
2075 self.console.append("Please Write corrects parameter xmin-xmax")
2138 return 0
2076 return 0
2139 name1 = 'xmin'
2077 name1 = 'xmin'
2140 name2 = 'xmax'
2078 name2 = 'xmax'
2141 format = 'float'
2079 format = 'float'
2142 opObj.addParameter(name=name1, value=value1, format=format)
2080 opObj.addParameter(name=name1, value=value1, format=format)
2143 opObj.addParameter(name=name2, value=value2, format=format)
2081 opObj.addParameter(name=name2, value=value2, format=format)
2144 #------specHeisGgraphYmin-Ymax---
2082 #------specHeisGgraphYmin-Ymax---
2145 if not yvalue == '':
2083 if not yvalue == '':
2146 yvalueList = yvalue.split(",")
2084 yvalueList = yvalue.split(",")
2147 try:
2085 try:
2148 value1 = float(yvalueList[0])
2086 value1 = float(yvalueList[0])
2149 value2 = float(yvalueList[1])
2087 value2 = float(yvalueList[1])
2150 except:
2088 except:
2151 self.console.clear()
2089 self.console.clear()
2152 self.console.append("Please Write corrects parameter Ymix-Ymax")
2090 self.console.append("Please Write corrects parameter Ymix-Ymax")
2153 return 0
2091 return 0
2154 name1 = 'ymin'
2092 name1 = 'ymin'
2155 name2 = 'ymax'
2093 name2 = 'ymax'
2156 format = 'float'
2094 format = 'float'
2157 opObj.addParameter(name=name1, value=value1, format=format)
2095 opObj.addParameter(name=name1, value=value1, format=format)
2158 opObj.addParameter(name=name2, value=value2, format=format)
2096 opObj.addParameter(name=name2, value=value2, format=format)
2159
2097
2160 if self.specHeisGraphSaveSpectra.isChecked():
2098 if self.specHeisGraphSaveSpectra.isChecked():
2161 checkPath = True
2099 checkPath = True
2162 name_parameter1 = 'save'
2100 name_parameter1 = 'save'
2163 name_parameter2 = 'figpath'
2101 name_parameter2 = 'figpath'
2164 name_parameter3 = 'figfile'
2102 name_parameter3 = 'figfile'
2165 value1 = '1'
2103 value1 = '1'
2166 value2 = self.specHeisGraphPath.text()
2104 value2 = self.specHeisGraphPath.text()
2167 value3 = self.specHeisGraphPrefix.text()
2105 value3 = self.specHeisGraphPrefix.text()
2168 format1 = 'bool'
2106 format1 = 'bool'
2169 format2 = 'str'
2107 format2 = 'str'
2170 opObj.addParameter(name=name_parameter1, value=value1 , format=format1)
2108 opObj.addParameter(name=name_parameter1, value=value1 , format=format1)
2171 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2109 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2172 if not value3 == "":
2110 if not value3 == "":
2173 try:
2111 try:
2174 value3 = str(self.specHeisGraphPrefix.text())
2112 value3 = str(self.specHeisGraphPrefix.text())
2175 except:
2113 except:
2176 self.console.clear()
2114 self.console.clear()
2177 self.console.append("Please Write prefix")
2115 self.console.append("Please Write prefix")
2178 return 0
2116 return 0
2179 opObj.addParameter(name='figfile', value=self.specHeisGraphPrefix.text(), format='str')
2117 opObj.addParameter(name='figfile', value=self.specHeisGraphPrefix.text(), format='str')
2180
2118
2181 # opObj.addParameter(name=name_parameter3, value=value3, format=format2)
2119 # opObj.addParameter(name=name_parameter3, value=value3, format=format2)
2182 # opObj.addParameter(name='wr_period', value='5',format='int')
2120 # opObj.addParameter(name='wr_period', value='5',format='int')
2183
2121
2184 if self.specHeisGraphftpSpectra.isChecked():
2122 if self.specHeisGraphftpSpectra.isChecked():
2185 opObj.addParameter(name='ftp', value='1', format='int')
2123 opObj.addParameter(name='ftp', value='1', format='int')
2186 self.addFTPConf2Operation(puObj, opObj)
2124 self.addFTPConf2Operation(puObj, opObj)
2187 addFTP = True
2125 addFTP = True
2188
2126
2189 if self.specHeisGraphCebRTIplot.isChecked():
2127 if self.specHeisGraphCebRTIplot.isChecked():
2190 name_operation = 'RTIfromSpectraHeis'
2128 name_operation = 'RTIfromSpectraHeis'
2191 optype = 'other'
2129 optype = 'other'
2192 name_parameter = 'type'
2130 name_parameter = 'type'
2193 value = 'RTIfromSpectraHeis'
2131 value = 'RTIfromSpectraHeis'
2194 format = 'str'
2132 format = 'str'
2195
2133
2196 if self.idImagrtiHeis == 0:
2134 if self.idImagrtiHeis == 0:
2197 self.idImagrtiHeis = 900
2135 self.idImagrtiHeis = 900
2198 else:
2136 else:
2199 self.idImagrtiHeis = self.idImagrtiHeis + 1
2137 self.idImagrtiHeis = self.idImagrtiHeis + 1
2200
2138
2201 name_parameter1 = 'id'
2139 name_parameter1 = 'id'
2202 value1 = int(self.idImagrtiHeis)
2140 value1 = int(self.idImagrtiHeis)
2203 format1 = 'int'
2141 format1 = 'int'
2204
2142
2205 format = 'str'
2143 format = 'str'
2206
2144
2207 opObj = puObj.addOperation(name=name_operation, optype=optype)
2145 opObj = puObj.addOperation(name=name_operation, optype=optype)
2208 # opObj.addParameter(name=name_parameter, value=value, format=format)
2146 # opObj.addParameter(name=name_parameter, value=value, format=format)
2209 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
2147 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
2210
2148
2211 channelList = self.specHeisGgraphChannelList.text()
2149 channelList = self.specHeisGgraphChannelList.text()
2212 xvalue = self.specHeisGgraphTminTmax.text()
2150 xvalue = self.specHeisGgraphTminTmax.text()
2213 yvalue = self.specHeisGgraphYminYmax.text()
2151 yvalue = self.specHeisGgraphYminYmax.text()
2214 timerange = self.specHeisGgraphTimeRange.text()
2152 timerange = self.specHeisGgraphTimeRange.text()
2215
2153
2216 if not channelList == '':
2154 if not channelList == '':
2217 opObj.addParameter(name='channelList', value=channelList, format='intlist')
2155 opObj.addParameter(name='channelList', value=channelList, format='intlist')
2218
2156
2219 if not xvalue == '':
2157 if not xvalue == '':
2220 xvalueList = xvalue.split(',')
2158 xvalueList = xvalue.split(',')
2221 try:
2159 try:
2222 value = float(xvalueList[0])
2160 value = float(xvalueList[0])
2223 value = float(xvalueList[1])
2161 value = float(xvalueList[1])
2224 except:
2162 except:
2225 return 0
2163 return 0
2226 format = 'float'
2164 format = 'float'
2227 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
2165 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
2228 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
2166 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
2229
2167
2230 if not timerange == '':
2168 if not timerange == '':
2231 format = 'int'
2169 format = 'int'
2232 try:
2170 try:
2233 timerange = int(timerange)
2171 timerange = int(timerange)
2234 except:
2172 except:
2235 return 0
2173 return 0
2236 opObj.addParameter(name='timerange', value=timerange, format=format)
2174 opObj.addParameter(name='timerange', value=timerange, format=format)
2237
2175
2238
2176
2239 if not yvalue == '':
2177 if not yvalue == '':
2240 yvalueList = yvalue.split(",")
2178 yvalueList = yvalue.split(",")
2241 try:
2179 try:
2242 value = float(yvalueList[0])
2180 value = float(yvalueList[0])
2243 value = float(yvalueList[1])
2181 value = float(yvalueList[1])
2244 except:
2182 except:
2245 return 0
2183 return 0
2246 format = 'float'
2184 format = 'float'
2247 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
2185 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
2248 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
2186 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
2249
2187
2250 if self.specHeisGraphSaveRTIplot.isChecked():
2188 if self.specHeisGraphSaveRTIplot.isChecked():
2251 checkPath = True
2189 checkPath = True
2252 opObj.addParameter(name='save', value='1', format='bool')
2190 opObj.addParameter(name='save', value='1', format='bool')
2253 opObj.addParameter(name='figpath', value=self.specHeisGraphPath.text(), format='str')
2191 opObj.addParameter(name='figpath', value=self.specHeisGraphPath.text(), format='str')
2254 value = self.specHeisGraphPrefix.text()
2192 value = self.specHeisGraphPrefix.text()
2255 if not value == "":
2193 if not value == "":
2256 try:
2194 try:
2257 value = str(self.specHeisGraphPrefix.text())
2195 value = str(self.specHeisGraphPrefix.text())
2258 except:
2196 except:
2259 self.console.clear()
2197 self.console.clear()
2260 self.console.append("Please Write prefix")
2198 self.console.append("Please Write prefix")
2261 return 0
2199 return 0
2262 opObj.addParameter(name='figfile', value=value, format='str')
2200 opObj.addParameter(name='figfile', value=value, format='str')
2263
2201
2264 # test_ftp
2202 # test_ftp
2265 if self.specHeisGraphftpRTIplot.isChecked():
2203 if self.specHeisGraphftpRTIplot.isChecked():
2266 opObj.addParameter(name='ftp', value='1', format='int')
2204 opObj.addParameter(name='ftp', value='1', format='int')
2267 self.addFTPConf2Operation(puObj, opObj)
2205 self.addFTPConf2Operation(puObj, opObj)
2268 addFTP = True
2206 addFTP = True
2269
2207
2270 localfolder = None
2208 localfolder = None
2271 if checkPath:
2209 if checkPath:
2272 localfolder = str(self.specGraphPath.text())
2210 localfolder = str(self.specGraphPath.text())
2273 if localfolder == '':
2211 if localfolder == '':
2274 self.console.clear()
2212 self.console.clear()
2275 self.console.append("Graphic path should be defined")
2213 self.console.append("Graphic path should be defined")
2276 return 0
2214 return 0
2277
2215
2278 if addFTP:
2216 if addFTP:
2279 if not localfolder:
2217 if not localfolder:
2280 self.console.clear()
2218 self.console.clear()
2281 self.console.append("You have to save the plots before sending them to FTP Server")
2219 self.console.append("You have to save the plots before sending them to FTP Server")
2282 return 0
2220 return 0
2283
2221
2284 if not self.temporalFTP.create:
2222 if not self.temporalFTP.create:
2285 self.temporalFTP.setwithoutconfiguration()
2223 self.temporalFTP.setwithoutconfiguration()
2286
2224
2287 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
2225 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
2288 self.createFTPProcUnitView(server, username, password, remotefolder,
2226 self.createFTPProcUnitView(server, username, password, remotefolder,
2289 ftp_wei, exp_code, sub_exp_code, plot_pos,
2227 ftp_wei, exp_code, sub_exp_code, plot_pos,
2290 localfolder=localfolder)
2228 localfolder=localfolder)
2291 else:
2229 else:
2292 self.removeFTPProcUnitView()
2230 self.removeFTPProcUnitView()
2293
2231
2294 # if something happened
2232 # if something happened
2295 parms_ok, output_path, blocksperfile, metada = self.checkInputsPUSave(datatype='SpectraHeis')
2233 parms_ok, output_path, blocksperfile, metada = self.checkInputsPUSave(datatype='SpectraHeis')
2296 if parms_ok:
2234 if parms_ok:
2297 name_operation = 'FitsWriter'
2235 name_operation = 'FitsWriter'
2298 optype = 'other'
2236 optype = 'other'
2299 name_parameter1 = 'path'
2237 name_parameter1 = 'path'
2300 name_parameter2 = 'dataBlocksPerFile'
2238 name_parameter2 = 'dataBlocksPerFile'
2301 name_parameter3 = 'metadatafile'
2239 name_parameter3 = 'metadatafile'
2302 value1 = output_path
2240 value1 = output_path
2303 value2 = blocksperfile
2241 value2 = blocksperfile
2304 value3 = metada
2242 value3 = metada
2305 format2 = "int"
2243 format2 = "int"
2306 format3 = "str"
2244 format3 = "str"
2307 opObj = puObj.addOperation(name=name_operation, optype=optype)
2245 opObj = puObj.addOperation(name=name_operation, optype=optype)
2308 opObj.addParameter(name=name_parameter1, value=value1)
2246 opObj.addParameter(name=name_parameter1, value=value1)
2309 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2247 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2310 opObj.addParameter(name=name_parameter3, value=value3, format=format3)
2248 opObj.addParameter(name=name_parameter3, value=value3, format=format3)
2311
2249
2312 self.showPUSpectraHeisProperties(puObj)
2250 self.showPUSpectraHeisProperties(puObj)
2313
2251
2314 self.console.clear()
2252 self.console.clear()
2315 self.console.append("Click on save icon ff you want to save your project")
2253 self.console.append("Click on save icon ff you want to save your project")
2316
2254
2317 self.actionSaveToolbar.setEnabled(True)
2255 self.actionSaveToolbar.setEnabled(True)
2318 self.actionStarToolbar.setEnabled(True)
2256 self.actionStarToolbar.setEnabled(True)
2319
2257
2320 return 1
2258 return 1
2321 @pyqtSignature("int")
2259 @pyqtSignature("int")
2322 def on_specHeisGraphCebSpectraplot_stateChanged(self, p0):
2260 def on_specHeisGraphCebSpectraplot_stateChanged(self, p0):
2323
2261
2324 if p0 == 2:
2262 if p0 == 2:
2325 self.specHeisGgraphChannelList.setEnabled(True)
2263 self.specHeisGgraphChannelList.setEnabled(True)
2326 self.specHeisGgraphXminXmax.setEnabled(True)
2264 self.specHeisGgraphXminXmax.setEnabled(True)
2327 self.specHeisGgraphYminYmax.setEnabled(True)
2265 self.specHeisGgraphYminYmax.setEnabled(True)
2328 if p0 == 0:
2266 if p0 == 0:
2329 self.specHeisGgraphXminXmax.setEnabled(False)
2267 self.specHeisGgraphXminXmax.setEnabled(False)
2330 self.specHeisGgraphYminYmax.setEnabled(False)
2268 self.specHeisGgraphYminYmax.setEnabled(False)
2331
2269
2332 @pyqtSignature("int")
2270 @pyqtSignature("int")
2333 def on_specHeisGraphCebRTIplot_stateChanged(self, p0):
2271 def on_specHeisGraphCebRTIplot_stateChanged(self, p0):
2334
2272
2335 if p0 == 2:
2273 if p0 == 2:
2336 self.specHeisGgraphChannelList.setEnabled(True)
2274 self.specHeisGgraphChannelList.setEnabled(True)
2337 self.specHeisGgraphTminTmax.setEnabled(True)
2275 self.specHeisGgraphTminTmax.setEnabled(True)
2338 self.specHeisGgraphYminYmax.setEnabled(True)
2276 self.specHeisGgraphYminYmax.setEnabled(True)
2339 self.specHeisGgraphTimeRange.setEnabled(True)
2277 self.specHeisGgraphTimeRange.setEnabled(True)
2340
2278
2341 if p0 == 0:
2279 if p0 == 0:
2342 self.specHeisGgraphTminTmax.setEnabled(False)
2280 self.specHeisGgraphTminTmax.setEnabled(False)
2343 self.specHeisGgraphYminYmax.setEnabled(False)
2281 self.specHeisGgraphYminYmax.setEnabled(False)
2344 self.specHeisGgraphTimeRange.setEnabled(False)
2282 self.specHeisGgraphTimeRange.setEnabled(False)
2345
2283
2346 @pyqtSignature("int")
2284 @pyqtSignature("int")
2347 def on_specHeisGraphSaveSpectra_stateChanged(self, p0):
2285 def on_specHeisGraphSaveSpectra_stateChanged(self, p0):
2348 """
2286 """
2349 """
2287 """
2350 if p0 == 2:
2288 if p0 == 2:
2351 self.specHeisGraphPath.setEnabled(True)
2289 self.specHeisGraphPath.setEnabled(True)
2352 self.specHeisGraphPrefix.setEnabled(True)
2290 self.specHeisGraphPrefix.setEnabled(True)
2353 self.specHeisGraphToolPath.setEnabled(True)
2291 self.specHeisGraphToolPath.setEnabled(True)
2354 if p0 == 0:
2292 if p0 == 0:
2355 self.specHeisGraphPath.setEnabled(False)
2293 self.specHeisGraphPath.setEnabled(False)
2356 self.specHeisGraphPrefix.setEnabled(False)
2294 self.specHeisGraphPrefix.setEnabled(False)
2357 self.specHeisGraphToolPath.setEnabled(False)
2295 self.specHeisGraphToolPath.setEnabled(False)
2358
2296
2359 @pyqtSignature("int")
2297 @pyqtSignature("int")
2360 def on_specHeisGraphSaveRTIplot_stateChanged(self, p0):
2298 def on_specHeisGraphSaveRTIplot_stateChanged(self, p0):
2361 if p0 == 2:
2299 if p0 == 2:
2362 self.specHeisGraphPath.setEnabled(True)
2300 self.specHeisGraphPath.setEnabled(True)
2363 self.specHeisGraphPrefix.setEnabled(True)
2301 self.specHeisGraphPrefix.setEnabled(True)
2364 self.specHeisGraphToolPath.setEnabled(True)
2302 self.specHeisGraphToolPath.setEnabled(True)
2365
2303
2366 #-------ftp-----#
2304 #-------ftp-----#
2367 @pyqtSignature("int")
2305 @pyqtSignature("int")
2368 def on_specHeisGraphftpSpectra_stateChanged(self, p0):
2306 def on_specHeisGraphftpSpectra_stateChanged(self, p0):
2369 """
2307 """
2370 """
2308 """
2371 if p0 == 2:
2309 if p0 == 2:
2372 self.specHeisGgraphftpratio.setEnabled(True)
2310 self.specHeisGgraphftpratio.setEnabled(True)
2373
2311
2374 if p0 == 0:
2312 if p0 == 0:
2375 self.specHeisGgraphftpratio.setEnabled(False)
2313 self.specHeisGgraphftpratio.setEnabled(False)
2376
2314
2377 @pyqtSignature("int")
2315 @pyqtSignature("int")
2378 def on_specHeisGraphftpRTIplot_stateChanged(self, p0):
2316 def on_specHeisGraphftpRTIplot_stateChanged(self, p0):
2379 if p0 == 2:
2317 if p0 == 2:
2380 self.specHeisGgraphftpratio.setEnabled(True)
2318 self.specHeisGgraphftpratio.setEnabled(True)
2381
2319
2382 @pyqtSignature("")
2320 @pyqtSignature("")
2383 def on_specHeisGraphClear_clicked(self):
2321 def on_specHeisGraphClear_clicked(self):
2384 pass
2322 pass
2385
2323
2386 def on_click(self, index):
2324 def on_click(self, index):
2387
2325
2388 self.selectedItemTree = self.projectExplorerModel.itemFromIndex(index)
2326 self.selectedItemTree = self.projectExplorerModel.itemFromIndex(index)
2389 if self.getSelectedProjectObj():
2327 if self.getSelectedProjectObj():
2390 projectObjView = self.getSelectedProjectObj()
2328 projectObjView = self.getSelectedProjectObj()
2391 project_name, description = projectObjView.name, projectObjView.description
2329 project_name, description = projectObjView.name, projectObjView.description
2392 id = int(projectObjView.id)
2330 id = int(projectObjView.id)
2393 idReadUnit = projectObjView.getReadUnitId()
2331 idReadUnit = projectObjView.getReadUnitId()
2394 readUnitObj = projectObjView.getProcUnitObj(idReadUnit)
2332 readUnitObj = projectObjView.getProcUnitObj(idReadUnit)
2395 datatype, data_path, startDate, endDate, startTime, endTime , online , delay, walk , set = self.showProjectProperties(projectObjView)
2333 datatype, data_path, startDate, endDate, startTime, endTime , online , delay, walk , set = self.showProjectProperties(projectObjView)
2396 # show ProjectView
2334 # show ProjectView
2397 self.refreshProjectWindow(project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, set)
2335 self.refreshProjectWindow(project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, set)
2398 if datatype == 'Voltage':
2336 if datatype == 'Voltage':
2399 ext = '.r'
2337 ext = '.r'
2400 elif datatype == 'Spectra':
2338 elif datatype == 'Spectra':
2401 ext = '.pdata'
2339 ext = '.pdata'
2402 elif datatype == 'Fits':
2340 elif datatype == 'Fits':
2403 ext = '.fits'
2341 ext = '.fits'
2404 if online == 0:
2342 if online == 0:
2405 self.proComStartDate.clear()
2343 self.proComStartDate.clear()
2406 self.proComEndDate.clear()
2344 self.proComEndDate.clear()
2407 self.loadDays(data_path, ext, walk)
2345 self.loadDays(data_path, ext, walk)
2408 self.tabProject.setEnabled(True)
2346 self.tabProject.setEnabled(True)
2409 self.tabVoltage.setEnabled(False)
2347 self.tabVoltage.setEnabled(False)
2410 self.tabSpectra.setEnabled(False)
2348 self.tabSpectra.setEnabled(False)
2411 self.tabCorrelation.setEnabled(False)
2349 self.tabCorrelation.setEnabled(False)
2412 self.tabSpectraHeis.setEnabled(False)
2350 self.tabSpectraHeis.setEnabled(False)
2413 self.tabWidgetProject.setCurrentWidget(self.tabProject)
2351 self.tabWidgetProject.setCurrentWidget(self.tabProject)
2414
2352
2415 if self.selectedItemTree.text() == 'Voltage':
2353 if self.selectedItemTree.text() == 'Voltage':
2416 datatype = 'Voltage'
2354 datatype = 'Voltage'
2417 puObj = self.getSelectedPUObj()
2355 puObj = self.getSelectedPUObj()
2418 self.showtabPUCreated(datatype=datatype)
2356 self.showtabPUCreated(datatype=datatype)
2419 if len(puObj.getOperationObjList()) == 1:
2357 if len(puObj.getOperationObjList()) == 1:
2420 self.setInputsPU_View(datatype)
2358 self.setInputsPU_View(datatype)
2421 else:
2359 else:
2422 self.refreshPUWindow(datatype=datatype, puObj=puObj)
2360 self.refreshPUWindow(datatype=datatype, puObj=puObj)
2423 self.showPUVoltageProperties(puObj)
2361 self.showPUVoltageProperties(puObj)
2424
2362
2425 if self.selectedItemTree.text() == 'Spectra':
2363 if self.selectedItemTree.text() == 'Spectra':
2426
2364
2427 datatype = 'Spectra'
2365 datatype = 'Spectra'
2428 puObj = self.getSelectedPUObj()
2366 puObj = self.getSelectedPUObj()
2429 self.showtabPUCreated(datatype=datatype)
2367 self.showtabPUCreated(datatype=datatype)
2430 if readUnitObj.datatype == 'Spectra':
2368 if readUnitObj.datatype == 'Spectra':
2431 self.specOpnFFTpoints.setEnabled(False)
2369 self.specOpnFFTpoints.setEnabled(False)
2432 self.specOpProfiles.setEnabled(False)
2370 self.specOpProfiles.setEnabled(False)
2433 self.specOpippFactor.setEnabled(False)
2371 self.specOpippFactor.setEnabled(False)
2434
2372
2435 else:
2373 else:
2436 self.specOpnFFTpoints.setEnabled(True)
2374 self.specOpnFFTpoints.setEnabled(True)
2437 self.specOpProfiles.setEnabled(True)
2375 self.specOpProfiles.setEnabled(True)
2438 self.specOpippFactor.setEnabled(True)
2376 self.specOpippFactor.setEnabled(True)
2439
2377
2440 if len(puObj.getOperationObjList()) == 1:
2378 if len(puObj.getOperationObjList()) == 1:
2441 self.setInputsPU_View(datatype)
2379 self.setInputsPU_View(datatype)
2442
2380
2443 opObj = puObj.getOperationObj(name="run")
2381 opObj = puObj.getOperationObj(name="run")
2444 if opObj == None:
2382 if opObj == None:
2445 self.specOpnFFTpoints.clear()
2383 self.specOpnFFTpoints.clear()
2446 self.specOpProfiles.clear()
2384 self.specOpProfiles.clear()
2447 self.specOpippFactor.clear()
2385 self.specOpippFactor.clear()
2448 else:
2386 else:
2449 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
2387 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
2450 if parmObj == None:
2388 if parmObj == None:
2451 self.specOpnFFTpoints.clear()
2389 self.specOpnFFTpoints.clear()
2452 else:
2390 else:
2453 value = opObj.getParameterValue(parameterName='nFFTPoints')
2391 value = opObj.getParameterValue(parameterName='nFFTPoints')
2454 self.specOpnFFTpoints.setText(str(value))
2392 self.specOpnFFTpoints.setText(str(value))
2455
2393
2456 parmObj = opObj.getParameterObj(parameterName='nProfiles')
2394 parmObj = opObj.getParameterObj(parameterName='nProfiles')
2457 if parmObj == None:
2395 if parmObj == None:
2458 self.specOpProfiles.clear()
2396 self.specOpProfiles.clear()
2459 else:
2397 else:
2460 value = opObj.getParameterValue(parameterName='nProfiles')
2398 value = opObj.getParameterValue(parameterName='nProfiles')
2461 self.specOpProfiles.setText(str(value))
2399 self.specOpProfiles.setText(str(value))
2462
2400
2463 parmObj = opObj.getParameterObj(parameterName="ippFactor")
2401 parmObj = opObj.getParameterObj(parameterName="ippFactor")
2464 if parmObj == None:
2402 if parmObj == None:
2465 self.specOpippFactor.clear()
2403 self.specOpippFactor.clear()
2466 else:
2404 else:
2467 value = opObj.getParameterValue(parameterName='ippFactor')
2405 value = opObj.getParameterValue(parameterName='ippFactor')
2468 self.specOpippFactor.setText(str(value))
2406 self.specOpippFactor.setText(str(value))
2469
2407
2470 opObj = puObj.getOperationObj(name="run")
2408 opObj = puObj.getOperationObj(name="run")
2471 if opObj == None:
2409 if opObj == None:
2472 self.specOppairsList.clear()
2410 self.specOppairsList.clear()
2473 self.specOpCebCrossSpectra.setCheckState(0)
2411 self.specOpCebCrossSpectra.setCheckState(0)
2474 else:
2412 else:
2475 parmObj = opObj.getParameterObj(parameterName='pairsList')
2413 parmObj = opObj.getParameterObj(parameterName='pairsList')
2476 if parmObj == None:
2414 if parmObj == None:
2477 self.specOppairsList.clear()
2415 self.specOppairsList.clear()
2478 self.specOpCebCrossSpectra.setCheckState(0)
2416 self.specOpCebCrossSpectra.setCheckState(0)
2479 else:
2417 else:
2480 value = opObj.getParameterValue(parameterName='pairsList')
2418 value = opObj.getParameterValue(parameterName='pairsList')
2481 value = str(value)[1:-1]
2419 value = str(value)[1:-1]
2482 self.specOppairsList.setText(str(value))
2420 self.specOppairsList.setText(str(value))
2483 self.specOppairsList.setEnabled(True)
2421 self.specOppairsList.setEnabled(True)
2484 self.specOpCebCrossSpectra.setCheckState(QtCore.Qt.Checked)
2422 self.specOpCebCrossSpectra.setCheckState(QtCore.Qt.Checked)
2485
2423
2486 else:
2424 else:
2487 self.refreshPUWindow(datatype=datatype, puObj=puObj)
2425 self.refreshPUWindow(datatype=datatype, puObj=puObj)
2488 self.showPUSpectraProperties(puObj)
2426 self.showPUSpectraProperties(puObj)
2489
2427
2490 if self.selectedItemTree.text() == 'Correlation':
2428 if self.selectedItemTree.text() == 'Correlation':
2491 self.tabCorrelation.setEnabled(True)
2429 self.tabCorrelation.setEnabled(True)
2492 self.tabVoltage.setEnabled(False)
2430 self.tabVoltage.setEnabled(False)
2493 self.tabSpectra.setEnabled(False)
2431 self.tabSpectra.setEnabled(False)
2494 self.tabWidgetProject.setCurrentWidget(self.tabCorrelation)
2432 self.tabWidgetProject.setCurrentWidget(self.tabCorrelation)
2495
2433
2496 if self.selectedItemTree.text() == 'SpectraHeis':
2434 if self.selectedItemTree.text() == 'SpectraHeis':
2497 datatype = 'SpectraHeis'
2435 datatype = 'SpectraHeis'
2498 puObj = self.getSelectedPUObj()
2436 puObj = self.getSelectedPUObj()
2499 self.showtabPUCreated(datatype=datatype)
2437 self.showtabPUCreated(datatype=datatype)
2500 if len(puObj.getOperationObjList()) == 1:
2438 if len(puObj.getOperationObjList()) == 1:
2501 self.setInputsPU_View(datatype)
2439 self.setInputsPU_View(datatype)
2502 else:
2440 else:
2503 self.refreshPUWindow(datatype=datatype, puObj=puObj)
2441 self.refreshPUWindow(datatype=datatype, puObj=puObj)
2504 self.showPUSpectraHeisProperties(puObj)
2442 self.showPUSpectraHeisProperties(puObj)
2505
2443
2506
2444
2507 def on_right_click(self, pos):
2445 def on_right_click(self, pos):
2508
2446
2509 self.menu = QtGui.QMenu()
2447 self.menu = QtGui.QMenu()
2510 quitAction0 = self.menu.addAction("NewProject")
2448 quitAction0 = self.menu.addAction("NewProject")
2511 quitAction1 = self.menu.addAction("NewProcessingUnit")
2449 quitAction1 = self.menu.addAction("NewProcessingUnit")
2512 quitAction2 = self.menu.addAction("Delete")
2450 quitAction2 = self.menu.addAction("Delete")
2513 quitAction3 = self.menu.addAction("Exit")
2451 quitAction3 = self.menu.addAction("Exit")
2514
2452
2515 if len(self.__itemTreeDict) == 0:
2453 if len(self.__itemTreeDict) == 0:
2516 quitAction2.setEnabled(False)
2454 quitAction2.setEnabled(False)
2517 else:
2455 else:
2518 quitAction2.setEnabled(True)
2456 quitAction2.setEnabled(True)
2519
2457
2520 action = self.menu.exec_(self.mapToGlobal(pos))
2458 action = self.menu.exec_(self.mapToGlobal(pos))
2521
2459
2522 if action == quitAction0:
2460 if action == quitAction0:
2523 self. setInputsProject_View()
2461 self. setInputsProject_View()
2524 self.create = True
2462 self.create = True
2525
2463
2526 if action == quitAction1:
2464 if action == quitAction1:
2527 if len(self.__projectObjDict) == 0:
2465 if len(self.__projectObjDict) == 0:
2528 outputstr = "First Create a Project then add Processing Unit"
2466 outputstr = "First Create a Project then add Processing Unit"
2529 self.console.clear()
2467 self.console.clear()
2530 self.console.append(outputstr)
2468 self.console.append(outputstr)
2531 return 0
2469 return 0
2532 else:
2470 else:
2533 self.addPUWindow()
2471 self.addPUWindow()
2534 self.console.clear()
2472 self.console.clear()
2535 self.console.append("Please, Choose the type of Processing Unit")
2473 self.console.append("Please, Choose the type of Processing Unit")
2536 self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
2474 self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
2537 self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
2475 self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
2538 self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
2476 self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
2539
2477
2540 if action == quitAction2:
2478 if action == quitAction2:
2541 index = self.selectedItemTree
2479 index = self.selectedItemTree
2542 try:
2480 try:
2543 index.parent()
2481 index.parent()
2544 except:
2482 except:
2545 self.console.append('First left click on Project or Processing Unit')
2483 self.console.append('First left click on Project or Processing Unit')
2546 return 0
2484 return 0
2547 # print index.parent(),index
2485 # print index.parent(),index
2548 if index.parent() == None:
2486 if index.parent() == None:
2549 self.projectExplorerModel.removeRow(index.row())
2487 self.projectExplorerModel.removeRow(index.row())
2550 else:
2488 else:
2551 index.parent().removeRow(index.row())
2489 index.parent().removeRow(index.row())
2552 self.deleteProjectorPU()
2490 self.deleteProjectorPU()
2553 self.console.clear()
2491 self.console.clear()
2554 # for i in self.projectExplorerTree.selectionModel().selection().indexes():
2492 # for i in self.projectExplorerTree.selectionModel().selection().indexes():
2555 # print i.row()
2493 # print i.row()
2556
2494
2557 if action == quitAction3:
2495 if action == quitAction3:
2558 return
2496 return
2559
2497
2560 def refreshProjectWindow(self, project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, set):
2498 def refreshProjectWindow(self, project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, set):
2561
2499
2562 self.proName.setText(str(project_name))
2500 self.proName.setText(str(project_name))
2563
2501
2564 if datatype == 'Voltage':
2502 if datatype == 'Voltage':
2565 ext = '.r'
2503 ext = '.r'
2566 value = 0
2504 value = 0
2567 elif datatype == 'Spectra':
2505 elif datatype == 'Spectra':
2568 ext = '.pdata'
2506 ext = '.pdata'
2569 value = 1
2507 value = 1
2570 elif datatype == 'Fits':
2508 elif datatype == 'Fits':
2571 ext = 'fits'
2509 ext = 'fits'
2572 value = 2
2510 value = 2
2573 self.proDataType.setText(ext)
2511 self.proDataType.setText(ext)
2574 self.proDataPath.setText(str(data_path))
2512 self.proDataPath.setText(str(data_path))
2575 self.proComDataType.setCurrentIndex(value)
2513 self.proComDataType.setCurrentIndex(value)
2576 self.proComReadMode.setCurrentIndex(int(online))
2514 self.proComReadMode.setCurrentIndex(int(online))
2577 self.proDelay.setText(str(delay))
2515 self.proDelay.setText(str(delay))
2578 self.proSet.setText(str(set))
2516 self.proSet.setText(str(set))
2579 self.proComStartDate.clear()
2517 self.proComStartDate.clear()
2580 self.proComEndDate.clear()
2518 self.proComEndDate.clear()
2581 self.proComStartDate.addItem(str(startDate))
2519 self.proComStartDate.addItem(str(startDate))
2582 self.proComEndDate.addItem(str(endDate))
2520 self.proComEndDate.addItem(str(endDate))
2583 starTime = str(startTime)
2521 starTime = str(startTime)
2584 starlist = starTime.split(":")
2522 starlist = starTime.split(":")
2585 endTime = str(endTime)
2523 endTime = str(endTime)
2586 endlist = endTime.split(":")
2524 endlist = endTime.split(":")
2587 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
2525 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
2588 self.proStartTime.setTime(self.time)
2526 self.proStartTime.setTime(self.time)
2589 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
2527 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
2590 self.proEndTime.setTime(self.time)
2528 self.proEndTime.setTime(self.time)
2591 self.proDescription.clear()
2529 self.proDescription.clear()
2592 self.proDescription.append(description)
2530 self.proDescription.append(description)
2593
2531
2594 def refreshPUWindow(self, datatype, puObj):
2532 def refreshPUWindow(self, datatype, puObj):
2595
2533
2596 if datatype == 'Voltage':
2534 if datatype == 'Voltage':
2597 opObj = puObj.getOperationObj(name='setRadarFrequency')
2535 opObj = puObj.getOperationObj(name='setRadarFrequency')
2598 if opObj == None:
2536 if opObj == None:
2599 self.volOpRadarfrequency.clear()
2537 self.volOpRadarfrequency.clear()
2600 self.volOpCebRadarfrequency.setCheckState(0)
2538 self.volOpCebRadarfrequency.setCheckState(0)
2601 else:
2539 else:
2602 value = opObj.getParameterValue(parameterName='frequency')
2540 value = opObj.getParameterValue(parameterName='frequency')
2603 value = str(value)
2541 value = str(value)
2604 self.volOpRadarfrequency.setText(value)
2542 self.volOpRadarfrequency.setText(value)
2605 self.volOpRadarfrequency.setEnabled(True)
2543 self.volOpRadarfrequency.setEnabled(True)
2606 self.volOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
2544 self.volOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
2607
2545
2608
2546
2609 opObj = puObj.getOperationObj(name="selectChannels")
2547 opObj = puObj.getOperationObj(name="selectChannels")
2610 if opObj == None:
2548 if opObj == None:
2611 self.volOpChannel.clear()
2549 self.volOpChannel.clear()
2612 self.volOpCebChannels.setCheckState(0)
2550 self.volOpCebChannels.setCheckState(0)
2613
2551
2614 else:
2552 else:
2615 value = opObj.getParameterValue(parameterName='channelList')
2553 value = opObj.getParameterValue(parameterName='channelList')
2616 value = str(value)[1:-1]
2554 value = str(value)[1:-1]
2617 self.volOpChannel.setText(value)
2555 self.volOpChannel.setText(value)
2618 self.volOpChannel.setEnabled(True)
2556 self.volOpChannel.setEnabled(True)
2619 self.volOpCebChannels.setCheckState(QtCore.Qt.Checked)
2557 self.volOpCebChannels.setCheckState(QtCore.Qt.Checked)
2620
2558
2621
2559
2622 opObj = puObj.getOperationObj(name="selectHeights")
2560 opObj = puObj.getOperationObj(name="selectHeights")
2623 if opObj == None:
2561 if opObj == None:
2624 self.volOpHeights.clear()
2562 self.volOpHeights.clear()
2625 self.volOpCebHeights.setCheckState(0)
2563 self.volOpCebHeights.setCheckState(0)
2626 else:
2564 else:
2627 value1 = int(opObj.getParameterValue(parameterName='minHei'))
2565 value1 = int(opObj.getParameterValue(parameterName='minHei'))
2628 value1 = str(value1)
2566 value1 = str(value1)
2629 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
2567 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
2630 value2 = str(value2)
2568 value2 = str(value2)
2631 value = value1 + "," + value2
2569 value = value1 + "," + value2
2632 self.volOpHeights.setText(value)
2570 self.volOpHeights.setText(value)
2633 self.volOpHeights.setEnabled(True)
2571 self.volOpHeights.setEnabled(True)
2634 self.volOpCebHeights.setCheckState(QtCore.Qt.Checked)
2572 self.volOpCebHeights.setCheckState(QtCore.Qt.Checked)
2635
2573
2636 opObj = puObj.getOperationObj(name="filterByHeights")
2574 opObj = puObj.getOperationObj(name="filterByHeights")
2637 if opObj == None:
2575 if opObj == None:
2638 self.volOpFilter.clear()
2576 self.volOpFilter.clear()
2639 self.volOpCebFilter.setCheckState(0)
2577 self.volOpCebFilter.setCheckState(0)
2640 else:
2578 else:
2641 value = opObj.getParameterValue(parameterName='window')
2579 value = opObj.getParameterValue(parameterName='window')
2642 value = str(value)
2580 value = str(value)
2643 self.volOpFilter.setText(value)
2581 self.volOpFilter.setText(value)
2644 self.volOpFilter.setEnabled(True)
2582 self.volOpFilter.setEnabled(True)
2645 self.volOpCebFilter.setCheckState(QtCore.Qt.Checked)
2583 self.volOpCebFilter.setCheckState(QtCore.Qt.Checked)
2646
2584
2647 opObj = puObj.getOperationObj(name="ProfileSelector")
2585 opObj = puObj.getOperationObj(name="ProfileSelector")
2648 if opObj == None:
2586 if opObj == None:
2649 self.volOpProfile.clear()
2587 self.volOpProfile.clear()
2650 self.volOpCebProfile.setCheckState(0)
2588 self.volOpCebProfile.setCheckState(0)
2651 else:
2589 else:
2652 for parmObj in opObj.getParameterObjList():
2590 for parmObj in opObj.getParameterObjList():
2653 if parmObj.name == "profileRangeList":
2591 if parmObj.name == "profileRangeList":
2654 value = opObj.getParameterValue(parameterName='profileRangeList')
2592 value = opObj.getParameterValue(parameterName='profileRangeList')
2655 value = str(value)[1:-1]
2593 value = str(value)[1:-1]
2656 self.volOpProfile.setText(value)
2594 self.volOpProfile.setText(value)
2657 self.volOpProfile.setEnabled(True)
2595 self.volOpProfile.setEnabled(True)
2658 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2596 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2659 self.volOpComProfile.setCurrentIndex(1)
2597 self.volOpComProfile.setCurrentIndex(1)
2660 if parmObj.name == "profileList":
2598 if parmObj.name == "profileList":
2661 value = opObj.getParameterValue(parameterName='profileList')
2599 value = opObj.getParameterValue(parameterName='profileList')
2662 value = str(value)[1:-1]
2600 value = str(value)[1:-1]
2663 self.volOpProfile.setText(value)
2601 self.volOpProfile.setText(value)
2664 self.volOpProfile.setEnabled(True)
2602 self.volOpProfile.setEnabled(True)
2665 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2603 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2666 self.volOpComProfile.setCurrentIndex(0)
2604 self.volOpComProfile.setCurrentIndex(0)
2667
2605
2668
2606
2669 opObj = puObj.getOperationObj(name="Decoder")
2607 opObj = puObj.getOperationObj(name="Decoder")
2670 if opObj == None:
2608 if opObj == None:
2671 self.volOpCebDecodification.setCheckState(0)
2609 self.volOpCebDecodification.setCheckState(0)
2672 else:
2610 else:
2673 try:
2611 try:
2674 valueCode = opObj.getParameterValue(parameterName='nCode')
2612 valueCode = opObj.getParameterValue(parameterName='nCode')
2675 status = "on"
2613 status = "on"
2676 except:
2614 except:
2677 status = "off"
2615 status = "off"
2678 if not status == "off":
2616 if not status == "off":
2679 if int(valueCode) == 1:
2617 if int(valueCode) == 1:
2680 valueBaud = opObj.getParameterValue(parameterName='nBaud')
2618 valueBaud = opObj.getParameterValue(parameterName='nBaud')
2681 if int(valueBaud) == 3:
2619 if int(valueBaud) == 3:
2682 self.volOpComCode.setCurrentIndex(0)
2620 self.volOpComCode.setCurrentIndex(0)
2683 if int(valueBaud) == 4:
2621 if int(valueBaud) == 4:
2684 self.volOpComCode.setCurrentIndex(1)
2622 self.volOpComCode.setCurrentIndex(1)
2685 if int(valueBaud) == 5:
2623 if int(valueBaud) == 5:
2686 self.volOpComCode.setCurrentIndex(2)
2624 self.volOpComCode.setCurrentIndex(2)
2687 if int(valueBaud) == 7:
2625 if int(valueBaud) == 7:
2688 self.volOpComCode.setCurrentIndex(3)
2626 self.volOpComCode.setCurrentIndex(3)
2689 if int(valueBaud) == 11:
2627 if int(valueBaud) == 11:
2690 self.volOpComCode.setCurrentIndex(4)
2628 self.volOpComCode.setCurrentIndex(4)
2691 if int(valueBaud) == 13:
2629 if int(valueBaud) == 13:
2692 self.volOpComCode.setCurrentIndex(5)
2630 self.volOpComCode.setCurrentIndex(5)
2693 else:
2631 else:
2694 valueBaud = opObj.getParameterValue(parameterName='nBaud')
2632 valueBaud = opObj.getParameterValue(parameterName='nBaud')
2695 if int(valueBaud) == 3:
2633 if int(valueBaud) == 3:
2696 self.volOpComCode.setCurrentIndex(6)
2634 self.volOpComCode.setCurrentIndex(6)
2697 if int(valueBaud) == 4:
2635 if int(valueBaud) == 4:
2698 self.volOpComCode.setCurrentIndex(7)
2636 self.volOpComCode.setCurrentIndex(7)
2699 if int(valueBaud) == 5:
2637 if int(valueBaud) == 5:
2700 self.volOpComCode.setCurrentIndex(8)
2638 self.volOpComCode.setCurrentIndex(8)
2701 if int(valueBaud) == 7:
2639 if int(valueBaud) == 7:
2702 self.volOpComCode.setCurrentIndex(9)
2640 self.volOpComCode.setCurrentIndex(9)
2703 if int(valueBaud) == 11:
2641 if int(valueBaud) == 11:
2704 self.volOpComCode.setCurrentIndex(10)
2642 self.volOpComCode.setCurrentIndex(10)
2705 if int(valueBaud) == 13:
2643 if int(valueBaud) == 13:
2706 self.volOpComCode.setCurrentIndex(11)
2644 self.volOpComCode.setCurrentIndex(11)
2707
2645
2708 for parmObj in opObj.getParameterObjList():
2646 for parmObj in opObj.getParameterObjList():
2709 if parmObj.name == "nBaud":
2647 if parmObj.name == "nBaud":
2710 value = opObj.getParameterValue(parameterName='nBaud')
2648 value = opObj.getParameterValue(parameterName='nBaud')
2711 if parmObj.name == "mode":
2649 if parmObj.name == "mode":
2712 value = opObj.getParameterValue(parameterName='mode')
2650 value = opObj.getParameterValue(parameterName='mode')
2713 self.volOpComMode.setCurrentIndex(value)
2651 self.volOpComMode.setCurrentIndex(value)
2714 else:
2652 else:
2715 self.volOpComCode.setCurrentIndex(12)
2653 self.volOpComCode.setCurrentIndex(12)
2716 self.volOpCebDecodification.setCheckState(QtCore.Qt.Checked)
2654 self.volOpCebDecodification.setCheckState(QtCore.Qt.Checked)
2717
2655
2656 opObj = puObj.getOperationObj(name="deFlip")
2657 if opObj == None:
2658 self.volOpFlip.clear()
2659 self.volOpFlip.setEnabled(False)
2660 self.volOpCebFlip.setCheckState(0)
2661 else:
2662 try:
2663 value = opObj.getParameterValue(parameterName='channelList')
2664 value = str(value)[1:-1]
2665 except:
2666 value = ""
2667
2668 self.volOpFlip.setText(value)
2669 self.volOpFlip.setEnabled(True)
2670 self.volOpCebFlip.setCheckState(QtCore.Qt.Checked)
2671
2718 opObj = puObj.getOperationObj(name="CohInt")
2672 opObj = puObj.getOperationObj(name="CohInt")
2719 if opObj == None:
2673 if opObj == None:
2720 self.volOpCohInt.clear()
2674 self.volOpCohInt.clear()
2721 self.volOpCebCohInt.setCheckState(0)
2675 self.volOpCebCohInt.setCheckState(0)
2722 else:
2676 else:
2723 value = opObj.getParameterValue(parameterName='n')
2677 value = opObj.getParameterValue(parameterName='n')
2724 self.volOpCohInt.setText(str(value))
2678 self.volOpCohInt.setText(str(value))
2725 self.volOpCohInt.setEnabled(True)
2679 self.volOpCohInt.setEnabled(True)
2726 self.volOpCebCohInt.setCheckState(QtCore.Qt.Checked)
2680 self.volOpCebCohInt.setCheckState(QtCore.Qt.Checked)
2727
2681
2728 opObj = puObj.getOperationObj(name='Scope')
2682 opObj = puObj.getOperationObj(name='Scope')
2729 if opObj == None:
2683 if opObj == None:
2730 self.volGraphCebshow.setCheckState(0)
2684 self.volGraphCebshow.setCheckState(0)
2731 else:
2685 else:
2732 self.volGraphCebshow.setCheckState(QtCore.Qt.Checked)
2686 self.volGraphCebshow.setCheckState(QtCore.Qt.Checked)
2733 value = opObj.getParameterObj(parameterName='channelList')
2687 value = opObj.getParameterObj(parameterName='channelList')
2734 if value == None:
2688 if value == None:
2735 self.volGraphChannelList.clear()
2689 self.volGraphChannelList.clear()
2736 else:
2690 else:
2737 value = opObj.getParameterValue(parameterName='channelList')
2691 value = opObj.getParameterValue(parameterName='channelList')
2738 value = str(value)[1:-1]
2692 value = str(value)[1:-1]
2739 self.volGraphChannelList.setText(value)
2693 self.volGraphChannelList.setText(value)
2740 self.volOpProfile.setEnabled(True)
2694 self.volOpProfile.setEnabled(True)
2741
2695
2742 for parmObj in opObj.getParameterObjList():
2696 for parmObj in opObj.getParameterObjList():
2743 if parmObj.name == "xmin":
2697 if parmObj.name == "xmin":
2744 value1 = opObj.getParameterValue(parameterName='xmin')
2698 value1 = opObj.getParameterValue(parameterName='xmin')
2745 value1 = str(value1)
2699 value1 = str(value1)
2746 value2 = opObj.getParameterValue(parameterName='xmax')
2700 value2 = opObj.getParameterValue(parameterName='xmax')
2747 value2 = str(value2)
2701 value2 = str(value2)
2748 value = value1 + "," + value2
2702 value = value1 + "," + value2
2749 self.volGraphfreqrange.setText(value)
2703 self.volGraphfreqrange.setText(value)
2750 else:
2704 else:
2751 self.volGraphfreqrange.clear()
2705 self.volGraphfreqrange.clear()
2752 for parmObj in opObj.getParameterObjList():
2706 for parmObj in opObj.getParameterObjList():
2753 if parmObj.name == "ymin":
2707 if parmObj.name == "ymin":
2754 value1 = opObj.getParameterValue(parameterName='ymin')
2708 value1 = opObj.getParameterValue(parameterName='ymin')
2755 value1 = str(value1)
2709 value1 = str(value1)
2756 value2 = opObj.getParameterValue(parameterName='ymax')
2710 value2 = opObj.getParameterValue(parameterName='ymax')
2757 value2 = str(value2)
2711 value2 = str(value2)
2758 value = value1 + "," + value2
2712 value = value1 + "," + value2
2759 value2 = str(value2)
2713 value2 = str(value2)
2760 self.volGraphHeightrange.setText(value)
2714 self.volGraphHeightrange.setText(value)
2761 else:
2715 else:
2762 self.volGraphHeightrange.clear()
2716 self.volGraphHeightrange.clear()
2763
2717
2764
2718
2765 for parmObj in opObj.getParameterObjList():
2719 for parmObj in opObj.getParameterObjList():
2766 if parmObj.name == "save":
2720 if parmObj.name == "save":
2767 self.volGraphCebSave.setCheckState(QtCore.Qt.Checked)
2721 self.volGraphCebSave.setCheckState(QtCore.Qt.Checked)
2768 else:
2722 else:
2769 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2723 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2770
2724
2771 # outputVoltageWrite
2725 # outputVoltageWrite
2772 opObj = puObj.getOperationObj(name='VoltageWriter')
2726 opObj = puObj.getOperationObj(name='VoltageWriter')
2773 if opObj == None:
2727 if opObj == None:
2774 self.volOutputPath.clear()
2728 self.volOutputPath.clear()
2775 self.volOutputblocksperfile.clear()
2729 self.volOutputblocksperfile.clear()
2776 self.volOutputprofilesperblock.clear()
2730 self.volOutputprofilesperblock.clear()
2777 else:
2731 else:
2778 value = opObj.getParameterObj(parameterName='path')
2732 value = opObj.getParameterObj(parameterName='path')
2779 if value == None:
2733 if value == None:
2780 self.volOutputPath.clear()
2734 self.volOutputPath.clear()
2781 else:
2735 else:
2782 value = opObj.getParameterValue(parameterName='path')
2736 value = opObj.getParameterValue(parameterName='path')
2783 path = str(value)
2737 path = str(value)
2784 self.volOutputPath.setText(path)
2738 self.volOutputPath.setText(path)
2785 value = opObj.getParameterObj(parameterName='blocksPerFile')
2739 value = opObj.getParameterObj(parameterName='blocksPerFile')
2786 if value == None:
2740 if value == None:
2787 self.volOutputblocksperfile.clear()
2741 self.volOutputblocksperfile.clear()
2788 else:
2742 else:
2789 value = opObj.getParameterValue(parameterName='blocksPerFile')
2743 value = opObj.getParameterValue(parameterName='blocksPerFile')
2790 blocksperfile = str(value)
2744 blocksperfile = str(value)
2791 self.volOutputblocksperfile.setText(blocksperfile)
2745 self.volOutputblocksperfile.setText(blocksperfile)
2792 value = opObj.getParameterObj(parameterName='profilesPerBlock')
2746 value = opObj.getParameterObj(parameterName='profilesPerBlock')
2793 if value == None:
2747 if value == None:
2794 self.volOutputprofilesperblock.clear()
2748 self.volOutputprofilesperblock.clear()
2795 else:
2749 else:
2796 value = opObj.getParameterValue(parameterName='profilesPerBlock')
2750 value = opObj.getParameterValue(parameterName='profilesPerBlock')
2797 profilesPerBlock = str(value)
2751 profilesPerBlock = str(value)
2798 self.volOutputprofilesperblock.setText(profilesPerBlock)
2752 self.volOutputprofilesperblock.setText(profilesPerBlock)
2799
2753
2800 if datatype == 'Spectra':
2754 if datatype == 'Spectra':
2801
2755
2802 opObj = puObj.getOperationObj(name='setRadarFrequency')
2756 opObj = puObj.getOperationObj(name='setRadarFrequency')
2803 if opObj == None:
2757 if opObj == None:
2804 self.specOpRadarfrequency.clear()
2758 self.specOpRadarfrequency.clear()
2805 self.specOpCebRadarfrequency.setCheckState(0)
2759 self.specOpCebRadarfrequency.setCheckState(0)
2806 else:
2760 else:
2807 value = opObj.getParameterValue(parameterName='frequency')
2761 value = opObj.getParameterValue(parameterName='frequency')
2808 value = str(value)
2762 value = str(value)
2809 self.specOpRadarfrequency.setText(value)
2763 self.specOpRadarfrequency.setText(value)
2810 self.specOpRadarfrequency.setEnabled(True)
2764 self.specOpRadarfrequency.setEnabled(True)
2811 self.specOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
2765 self.specOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
2812
2766
2813 opObj = puObj.getOperationObj(name="run")
2767 opObj = puObj.getOperationObj(name="run")
2814 if opObj == None:
2768 if opObj == None:
2815 self.specOpnFFTpoints.clear()
2769 self.specOpnFFTpoints.clear()
2816 self.specOpProfiles.clear()
2770 self.specOpProfiles.clear()
2817 self.specOpippFactor.clear()
2771 self.specOpippFactor.clear()
2818 else:
2772 else:
2819 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
2773 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
2820 if parmObj == None:
2774 if parmObj == None:
2821 self.specOpnFFTpoints.clear()
2775 self.specOpnFFTpoints.clear()
2822 else:
2776 else:
2823 self.specOpnFFTpoints.setEnabled(True)
2777 self.specOpnFFTpoints.setEnabled(True)
2824 value = opObj.getParameterValue(parameterName='nFFTPoints')
2778 value = opObj.getParameterValue(parameterName='nFFTPoints')
2825 self.specOpnFFTpoints.setText(str(value))
2779 self.specOpnFFTpoints.setText(str(value))
2826
2780
2827 parmObj = opObj.getParameterObj(parameterName='nProfiles')
2781 parmObj = opObj.getParameterObj(parameterName='nProfiles')
2828 if parmObj == None:
2782 if parmObj == None:
2829 self.specOpProfiles.clear()
2783 self.specOpProfiles.clear()
2830 else:
2784 else:
2831 self.specOpProfiles.setEnabled(True)
2785 self.specOpProfiles.setEnabled(True)
2832 value = opObj.getParameterValue(parameterName='nProfiles')
2786 value = opObj.getParameterValue(parameterName='nProfiles')
2833 self.specOpProfiles.setText(str(value))
2787 self.specOpProfiles.setText(str(value))
2834
2788
2835 parmObj = opObj.getParameterObj(parameterName='ippFactor')
2789 parmObj = opObj.getParameterObj(parameterName='ippFactor')
2836 if parmObj == None:
2790 if parmObj == None:
2837 self.specOpippFactor.clear()
2791 self.specOpippFactor.clear()
2838 else:
2792 else:
2839 self.specOpippFactor.setEnabled(True)
2793 self.specOpippFactor.setEnabled(True)
2840 value = opObj.getParameterValue(parameterName='ippFactor')
2794 value = opObj.getParameterValue(parameterName='ippFactor')
2841 self.specOpippFactor.setText(str(value))
2795 self.specOpippFactor.setText(str(value))
2842
2796
2843 opObj = puObj.getOperationObj(name="run")
2797 opObj = puObj.getOperationObj(name="run")
2844 if opObj == None:
2798 if opObj == None:
2845 self.specOppairsList.clear()
2799 self.specOppairsList.clear()
2846 self.specOpCebCrossSpectra.setCheckState(0)
2800 self.specOpCebCrossSpectra.setCheckState(0)
2847 else:
2801 else:
2848 parmObj = opObj.getParameterObj(parameterName='pairsList')
2802 parmObj = opObj.getParameterObj(parameterName='pairsList')
2849 if parmObj == None:
2803 if parmObj == None:
2850 self.specOppairsList.clear()
2804 self.specOppairsList.clear()
2851 self.specOpCebCrossSpectra.setCheckState(0)
2805 self.specOpCebCrossSpectra.setCheckState(0)
2852 else:
2806 else:
2853 value = opObj.getParameterValue(parameterName='pairsList')
2807 value = opObj.getParameterValue(parameterName='pairsList')
2854 value = str(value)[1:-1]
2808 value = str(value)[1:-1]
2855 self.specOppairsList.setText(str(value))
2809 self.specOppairsList.setText(str(value))
2856 self.specOppairsList.setEnabled(True)
2810 self.specOppairsList.setEnabled(True)
2857 self.specOpCebCrossSpectra.setCheckState(QtCore.Qt.Checked)
2811 self.specOpCebCrossSpectra.setCheckState(QtCore.Qt.Checked)
2858
2812
2859 opObj = puObj.getOperationObj(name="selectChannels")
2813 opObj = puObj.getOperationObj(name="selectChannels")
2860 if opObj == None:
2814 if opObj == None:
2861 self.specOpChannel.clear()
2815 self.specOpChannel.clear()
2862 self.specOpCebChannel.setCheckState(0)
2816 self.specOpCebChannel.setCheckState(0)
2863 else:
2817 else:
2864 value = opObj.getParameterValue(parameterName='channelList')
2818 value = opObj.getParameterValue(parameterName='channelList')
2865 value = str(value)[1:-1]
2819 value = str(value)[1:-1]
2866 self.specOpChannel.setText(value)
2820 self.specOpChannel.setText(value)
2867 self.specOpChannel.setEnabled(True)
2821 self.specOpChannel.setEnabled(True)
2868 self.specOpCebChannel.setCheckState(QtCore.Qt.Checked)
2822 self.specOpCebChannel.setCheckState(QtCore.Qt.Checked)
2869
2823
2870 opObj = puObj.getOperationObj(name="selectHeights")
2824 opObj = puObj.getOperationObj(name="selectHeights")
2871 if opObj == None:
2825 if opObj == None:
2872 self.specOpHeights.clear()
2826 self.specOpHeights.clear()
2873 self.specOpCebHeights.setCheckState(0)
2827 self.specOpCebHeights.setCheckState(0)
2874 else:
2828 else:
2875 value1 = int(opObj.getParameterValue(parameterName='minHei'))
2829 value1 = int(opObj.getParameterValue(parameterName='minHei'))
2876 value1 = str(value1)
2830 value1 = str(value1)
2877 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
2831 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
2878 value2 = str(value2)
2832 value2 = str(value2)
2879 value = value1 + "," + value2
2833 value = value1 + "," + value2
2880 self.specOpHeights.setText(value)
2834 self.specOpHeights.setText(value)
2881 self.specOpHeights.setEnabled(True)
2835 self.specOpHeights.setEnabled(True)
2882 self.specOpCebHeights.setCheckState(QtCore.Qt.Checked)
2836 self.specOpCebHeights.setCheckState(QtCore.Qt.Checked)
2883
2837
2884 opObj = puObj.getOperationObj(name="IncohInt")
2838 opObj = puObj.getOperationObj(name="IncohInt")
2885 if opObj == None:
2839 if opObj == None:
2886 self.specOpIncoherent.clear()
2840 self.specOpIncoherent.clear()
2887 self.specOpCebIncoherent.setCheckState(0)
2841 self.specOpCebIncoherent.setCheckState(0)
2888 else:
2842 else:
2889 for parmObj in opObj.getParameterObjList():
2843 for parmObj in opObj.getParameterObjList():
2890 if parmObj.name == 'timeInterval':
2844 if parmObj.name == 'timeInterval':
2891 value = opObj.getParameterValue(parameterName='timeInterval')
2845 value = opObj.getParameterValue(parameterName='timeInterval')
2892 value = float(value)
2846 value = float(value)
2893 self.specOpIncoherent.setText(str(value))
2847 self.specOpIncoherent.setText(str(value))
2894 self.specOpIncoherent.setEnabled(True)
2848 self.specOpIncoherent.setEnabled(True)
2895 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
2849 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
2896 self.specOpCobIncInt.setCurrentIndex(0)
2850 self.specOpCobIncInt.setCurrentIndex(0)
2897
2851
2898 if parmObj.name == 'n':
2852 if parmObj.name == 'n':
2899 value = opObj.getParameterValue(parameterName='n')
2853 value = opObj.getParameterValue(parameterName='n')
2900 value = float(value)
2854 value = float(value)
2901 self.specOpIncoherent.setText(str(value))
2855 self.specOpIncoherent.setText(str(value))
2902 self.specOpIncoherent.setEnabled(True)
2856 self.specOpIncoherent.setEnabled(True)
2903 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
2857 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
2904 self.specOpCobIncInt.setCurrentIndex(1)
2858 self.specOpCobIncInt.setCurrentIndex(1)
2905
2859
2906 opObj = puObj.getOperationObj(name="removeDC")
2860 opObj = puObj.getOperationObj(name="removeDC")
2907 if opObj == None:
2861 if opObj == None:
2908 self.specOpCebRemoveDC.setCheckState(0)
2862 self.specOpCebRemoveDC.setCheckState(0)
2909 else:
2863 else:
2910 self.specOpCebRemoveDC.setCheckState(QtCore.Qt.Checked)
2864 self.specOpCebRemoveDC.setCheckState(QtCore.Qt.Checked)
2911 value = opObj.getParameterValue(parameterName='mode')
2865 value = opObj.getParameterValue(parameterName='mode')
2912 if value == 1:
2866 if value == 1:
2913 self.specOpComRemoveDC.setCurrentIndex(0)
2867 self.specOpComRemoveDC.setCurrentIndex(0)
2914 elif value == 2:
2868 elif value == 2:
2915 self.specOpComRemoveDC.setCurrentIndex(1)
2869 self.specOpComRemoveDC.setCurrentIndex(1)
2916
2870
2917 opObj = puObj.getOperationObj(name="removeInterference")
2871 opObj = puObj.getOperationObj(name="removeInterference")
2918 if opObj == None:
2872 if opObj == None:
2919 self.specOpCebRemoveInt.setCheckState(0)
2873 self.specOpCebRemoveInt.setCheckState(0)
2920 else:
2874 else:
2921 self.specOpCebRemoveInt.setCheckState(QtCore.Qt.Checked)
2875 self.specOpCebRemoveInt.setCheckState(QtCore.Qt.Checked)
2922
2876
2923 opObj = puObj.getOperationObj(name='getNoise')
2877 opObj = puObj.getOperationObj(name='getNoise')
2924 if opObj == None:
2878 if opObj == None:
2925 self.specOpCebgetNoise.setCheckState(0)
2879 self.specOpCebgetNoise.setCheckState(0)
2926 self.specOpgetNoise.clear()
2880 self.specOpgetNoise.clear()
2927 else:
2881 else:
2928 self.specOpCebgetNoise.setCheckState(QtCore.Qt.Checked)
2882 self.specOpCebgetNoise.setCheckState(QtCore.Qt.Checked)
2929 parmObj = opObj.getParameterObj(parameterName='minHei')
2883 parmObj = opObj.getParameterObj(parameterName='minHei')
2930 if parmObj == None:
2884 if parmObj == None:
2931 self.specOpgetNoise.clear()
2885 self.specOpgetNoise.clear()
2932 value1 = None
2886 value1 = None
2933 else:
2887 else:
2934 value1 = opObj.getParameterValue(parameterName='minHei')
2888 value1 = opObj.getParameterValue(parameterName='minHei')
2935 value1 = str(value1)
2889 value1 = str(value1)
2936 parmObj = opObj.getParameterObj(parameterName='maxHei')
2890 parmObj = opObj.getParameterObj(parameterName='maxHei')
2937 if parmObj == None:
2891 if parmObj == None:
2938 value2 = None
2892 value2 = None
2939 value = value1
2893 value = value1
2940 self.specOpgetNoise.setText(value)
2894 self.specOpgetNoise.setText(value)
2941 self.specOpgetNoise.setEnabled(True)
2895 self.specOpgetNoise.setEnabled(True)
2942 else:
2896 else:
2943 value2 = opObj.getParameterValue(parameterName='maxHei')
2897 value2 = opObj.getParameterValue(parameterName='maxHei')
2944 value2 = str(value2)
2898 value2 = str(value2)
2945 parmObj = opObj.getParameterObj(parameterName='minVel')
2899 parmObj = opObj.getParameterObj(parameterName='minVel')
2946 if parmObj == None:
2900 if parmObj == None:
2947 value3 = None
2901 value3 = None
2948 value = value1 + "," + value2
2902 value = value1 + "," + value2
2949 self.specOpgetNoise.setText(value)
2903 self.specOpgetNoise.setText(value)
2950 self.specOpgetNoise.setEnabled(True)
2904 self.specOpgetNoise.setEnabled(True)
2951 else:
2905 else:
2952 value3 = opObj.getParameterValue(parameterName='minVel')
2906 value3 = opObj.getParameterValue(parameterName='minVel')
2953 value3 = str(value3)
2907 value3 = str(value3)
2954 parmObj = opObj.getParameterObj(parameterName='maxVel')
2908 parmObj = opObj.getParameterObj(parameterName='maxVel')
2955 if parmObj == None:
2909 if parmObj == None:
2956 value4 = None
2910 value4 = None
2957 value = value1 + "," + value2 + "," + value3
2911 value = value1 + "," + value2 + "," + value3
2958 self.specOpgetNoise.setText(value)
2912 self.specOpgetNoise.setText(value)
2959 self.specOpgetNoise.setEnabled(True)
2913 self.specOpgetNoise.setEnabled(True)
2960 else:
2914 else:
2961 value4 = opObj.getParameterValue(parameterName='maxVel')
2915 value4 = opObj.getParameterValue(parameterName='maxVel')
2962 value4 = str(value4)
2916 value4 = str(value4)
2963 value = value1 + "," + value2 + "," + value3 + ',' + value4
2917 value = value1 + "," + value2 + "," + value3 + ',' + value4
2964 self.specOpgetNoise.setText(value)
2918 self.specOpgetNoise.setText(value)
2965 self.specOpgetNoise.setEnabled(True)
2919 self.specOpgetNoise.setEnabled(True)
2966
2920
2967 opObj = puObj.getOperationObj(name='SpectraPlot')
2921 opObj = puObj.getOperationObj(name='SpectraPlot')
2968 # opObj = puObj.getOpObjfromParamValue(value="SpectraPlot")
2922 # opObj = puObj.getOpObjfromParamValue(value="SpectraPlot")
2969 if opObj == None:
2923 if opObj == None:
2970 self.specGraphCebSpectraplot.setCheckState(0)
2924 self.specGraphCebSpectraplot.setCheckState(0)
2971 self.specGraphSaveSpectra.setCheckState(0)
2925 self.specGraphSaveSpectra.setCheckState(0)
2972 self.specGraphftpSpectra.setCheckState(0)
2926 self.specGraphftpSpectra.setCheckState(0)
2973
2927
2974 else:
2928 else:
2975 operationSpectraPlot = "Enable"
2929 operationSpectraPlot = "Enable"
2976 self.specGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
2930 self.specGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
2977 parmObj = opObj.getParameterObj(parameterName='channelList')
2931 parmObj = opObj.getParameterObj(parameterName='channelList')
2978 if parmObj == None:
2932 if parmObj == None:
2979 self.specGgraphChannelList.clear()
2933 self.specGgraphChannelList.clear()
2980 else:
2934 else:
2981 value = opObj.getParameterValue(parameterName='channelList')
2935 value = opObj.getParameterValue(parameterName='channelList')
2982 channelListSpectraPlot = str(value)[1:-1]
2936 channelListSpectraPlot = str(value)[1:-1]
2983 self.specGgraphChannelList.setText(channelListSpectraPlot)
2937 self.specGgraphChannelList.setText(channelListSpectraPlot)
2984 self.specGgraphChannelList.setEnabled(True)
2938 self.specGgraphChannelList.setEnabled(True)
2985
2939
2986 parmObj = opObj.getParameterObj(parameterName='xmin')
2940 parmObj = opObj.getParameterObj(parameterName='xmin')
2987 if parmObj == None:
2941 if parmObj == None:
2988 self.specGgraphFreq.clear()
2942 self.specGgraphFreq.clear()
2989 else:
2943 else:
2990 value1 = opObj.getParameterValue(parameterName='xmin')
2944 value1 = opObj.getParameterValue(parameterName='xmin')
2991 value1 = str(value1)
2945 value1 = str(value1)
2992 value2 = opObj.getParameterValue(parameterName='xmax')
2946 value2 = opObj.getParameterValue(parameterName='xmax')
2993 value2 = str(value2)
2947 value2 = str(value2)
2994 value = value1 + "," + value2
2948 value = value1 + "," + value2
2995 self.specGgraphFreq.setText(value)
2949 self.specGgraphFreq.setText(value)
2996 self.specGgraphFreq.setEnabled(True)
2950 self.specGgraphFreq.setEnabled(True)
2997
2951
2998 parmObj = opObj.getParameterObj(parameterName='ymin')
2952 parmObj = opObj.getParameterObj(parameterName='ymin')
2999 if parmObj == None:
2953 if parmObj == None:
3000 self.specGgraphHeight.clear()
2954 self.specGgraphHeight.clear()
3001 else:
2955 else:
3002 value1 = opObj.getParameterValue(parameterName='ymin')
2956 value1 = opObj.getParameterValue(parameterName='ymin')
3003 value1 = str(value1)
2957 value1 = str(value1)
3004 value2 = opObj.getParameterValue(parameterName='ymax')
2958 value2 = opObj.getParameterValue(parameterName='ymax')
3005 value2 = str(value2)
2959 value2 = str(value2)
3006 value = value1 + "," + value2
2960 value = value1 + "," + value2
3007 self.specGgraphHeight.setText(value)
2961 self.specGgraphHeight.setText(value)
3008 self.specGgraphHeight.setEnabled(True)
2962 self.specGgraphHeight.setEnabled(True)
3009
2963
3010 parmObj = opObj.getParameterObj(parameterName='zmin')
2964 parmObj = opObj.getParameterObj(parameterName='zmin')
3011 if parmObj == None:
2965 if parmObj == None:
3012 self.specGgraphDbsrange.clear()
2966 self.specGgraphDbsrange.clear()
3013 else:
2967 else:
3014 value1 = opObj.getParameterValue(parameterName='zmin')
2968 value1 = opObj.getParameterValue(parameterName='zmin')
3015 value1 = str(value1)
2969 value1 = str(value1)
3016 value2 = opObj.getParameterValue(parameterName='zmax')
2970 value2 = opObj.getParameterValue(parameterName='zmax')
3017 value2 = str(value2)
2971 value2 = str(value2)
3018 value = value1 + "," + value2
2972 value = value1 + "," + value2
3019 self.specGgraphDbsrange.setText(value)
2973 self.specGgraphDbsrange.setText(value)
3020 self.specGgraphDbsrange.setEnabled(True)
2974 self.specGgraphDbsrange.setEnabled(True)
3021
2975
3022
2976
3023 parmObj = opObj.getParameterObj(parameterName="figpath")
2977 parmObj = opObj.getParameterObj(parameterName="figpath")
3024 if parmObj == None:
2978 if parmObj == None:
3025 self.specGraphSaveSpectra.setCheckState(0)
2979 self.specGraphSaveSpectra.setCheckState(0)
3026 else:
2980 else:
3027 self.specGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
2981 self.specGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3028 value = opObj.getParameterValue(parameterName='figpath')
2982 value = opObj.getParameterValue(parameterName='figpath')
3029 self.specGraphPath.setText(value)
2983 self.specGraphPath.setText(value)
3030
2984
3031 parmObj = opObj.getParameterObj(parameterName="ftp")
2985 parmObj = opObj.getParameterObj(parameterName="ftp")
3032 if parmObj == None:
2986 if parmObj == None:
3033 self.specGraphftpSpectra.setCheckState(0)
2987 self.specGraphftpSpectra.setCheckState(0)
3034 else:
2988 else:
3035 self.specGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
2989 self.specGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3036 try:
2990 try:
3037 value = opObj.getParameterValue(parameterName='wr_period')
2991 value = opObj.getParameterValue(parameterName='wr_period')
3038 except:
2992 except:
3039 value = " "
2993 value = " "
3040 self.specGgraphftpratio.setText(str(value))
2994 self.specGgraphftpratio.setText(str(value))
3041
2995
3042 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
2996 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
3043 # opObj = puObj.getOpObjfromParamValue(value="CrossSpectraPlot")
2997 # opObj = puObj.getOpObjfromParamValue(value="CrossSpectraPlot")
3044 if opObj == None:
2998 if opObj == None:
3045 self.specGraphCebCrossSpectraplot.setCheckState(0)
2999 self.specGraphCebCrossSpectraplot.setCheckState(0)
3046 self.specGraphSaveCross.setCheckState(0)
3000 self.specGraphSaveCross.setCheckState(0)
3047
3001
3048 else:
3002 else:
3049 operationCrossSpectraPlot = "Enable"
3003 operationCrossSpectraPlot = "Enable"
3050 self.specGraphCebCrossSpectraplot.setCheckState(QtCore.Qt.Checked)
3004 self.specGraphCebCrossSpectraplot.setCheckState(QtCore.Qt.Checked)
3051 parmObj = opObj.getParameterObj(parameterName='xmin')
3005 parmObj = opObj.getParameterObj(parameterName='xmin')
3052 if parmObj == None:
3006 if parmObj == None:
3053 self.specGgraphFreq.clear()
3007 self.specGgraphFreq.clear()
3054 else:
3008 else:
3055 value1 = opObj.getParameterValue(parameterName='xmin')
3009 value1 = opObj.getParameterValue(parameterName='xmin')
3056 value1 = str(value1)
3010 value1 = str(value1)
3057 value2 = opObj.getParameterValue(parameterName='xmax')
3011 value2 = opObj.getParameterValue(parameterName='xmax')
3058 value2 = str(value2)
3012 value2 = str(value2)
3059 value = value1 + "," + value2
3013 value = value1 + "," + value2
3060 self.specGgraphFreq.setText(value)
3014 self.specGgraphFreq.setText(value)
3061 self.specGgraphFreq.setEnabled(True)
3015 self.specGgraphFreq.setEnabled(True)
3062
3016
3063 parmObj = opObj.getParameterObj(parameterName='ymin')
3017 parmObj = opObj.getParameterObj(parameterName='ymin')
3064 if parmObj == None:
3018 if parmObj == None:
3065 self.specGgraphHeight.clear()
3019 self.specGgraphHeight.clear()
3066 else:
3020 else:
3067 value1 = opObj.getParameterValue(parameterName='ymin')
3021 value1 = opObj.getParameterValue(parameterName='ymin')
3068 value1 = str(value1)
3022 value1 = str(value1)
3069 value2 = opObj.getParameterValue(parameterName='ymax')
3023 value2 = opObj.getParameterValue(parameterName='ymax')
3070 value2 = str(value2)
3024 value2 = str(value2)
3071 value = value1 + "," + value2
3025 value = value1 + "," + value2
3072 self.specGgraphHeight.setText(value)
3026 self.specGgraphHeight.setText(value)
3073 self.specGgraphHeight.setEnabled(True)
3027 self.specGgraphHeight.setEnabled(True)
3074
3028
3075 parmObj = opObj.getParameterObj(parameterName='zmin')
3029 parmObj = opObj.getParameterObj(parameterName='zmin')
3076 if parmObj == None:
3030 if parmObj == None:
3077 self.specGgraphDbsrange.clear()
3031 self.specGgraphDbsrange.clear()
3078 else:
3032 else:
3079 value1 = opObj.getParameterValue(parameterName='zmin')
3033 value1 = opObj.getParameterValue(parameterName='zmin')
3080 value1 = str(value1)
3034 value1 = str(value1)
3081 value2 = opObj.getParameterValue(parameterName='zmax')
3035 value2 = opObj.getParameterValue(parameterName='zmax')
3082 value2 = str(value2)
3036 value2 = str(value2)
3083 value = value1 + "," + value2
3037 value = value1 + "," + value2
3084 self.specGgraphDbsrange.setText(value)
3038 self.specGgraphDbsrange.setText(value)
3085 self.specGgraphDbsrange.setEnabled(True)
3039 self.specGgraphDbsrange.setEnabled(True)
3086
3040
3087 parmObj = opObj.getParameterObj(parameterName="figpath")
3041 parmObj = opObj.getParameterObj(parameterName="figpath")
3088 if parmObj == None:
3042 if parmObj == None:
3089 self.specGraphSaveCross.setCheckState(0)
3043 self.specGraphSaveCross.setCheckState(0)
3090
3044
3091 else:
3045 else:
3092 self.specGraphSaveCross.setCheckState(QtCore.Qt.Checked)
3046 self.specGraphSaveCross.setCheckState(QtCore.Qt.Checked)
3093 value = opObj.getParameterValue(parameterName='figpath')
3047 value = opObj.getParameterValue(parameterName='figpath')
3094 self.specGraphPath.setText(value)
3048 self.specGraphPath.setText(value)
3095
3049
3096 parmObj = opObj.getParameterObj(parameterName="ftp")
3050 parmObj = opObj.getParameterObj(parameterName="ftp")
3097 if parmObj == None:
3051 if parmObj == None:
3098 self.specGraphftpCross.setCheckState(0)
3052 self.specGraphftpCross.setCheckState(0)
3099 else:
3053 else:
3100 self.specGraphftpCross.setCheckState(QtCore.Qt.Checked)
3054 self.specGraphftpCross.setCheckState(QtCore.Qt.Checked)
3101 try:
3055 try:
3102 value = opObj.getParameterValue(parameterName='wr_period')
3056 value = opObj.getParameterValue(parameterName='wr_period')
3103 except:
3057 except:
3104 value = " "
3058 value = " "
3105 self.specGgraphftpratio.setText(str(value))
3059 self.specGgraphftpratio.setText(str(value))
3106
3060
3107 opObj = puObj.getOperationObj(name='RTIPlot')
3061 opObj = puObj.getOperationObj(name='RTIPlot')
3108 # opObj = puObj.getOpObjfromParamValue(value="RTIPlot")
3062 # opObj = puObj.getOpObjfromParamValue(value="RTIPlot")
3109 if opObj == None:
3063 if opObj == None:
3110 self.specGraphCebRTIplot.setCheckState(0)
3064 self.specGraphCebRTIplot.setCheckState(0)
3111 self.specGraphSaveRTIplot.setCheckState(0)
3065 self.specGraphSaveRTIplot.setCheckState(0)
3112 self.specGraphftpRTIplot.setCheckState(0)
3066 self.specGraphftpRTIplot.setCheckState(0)
3113 else:
3067 else:
3114 self.specGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3068 self.specGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3115 parmObj = opObj.getParameterObj(parameterName='channelList')
3069 parmObj = opObj.getParameterObj(parameterName='channelList')
3116 if parmObj == None:
3070 if parmObj == None:
3117 self.specGgraphChannelList.clear()
3071 self.specGgraphChannelList.clear()
3118 else:
3072 else:
3119 value = opObj.getParameterValue(parameterName='channelList')
3073 value = opObj.getParameterValue(parameterName='channelList')
3120 channelListRTIPlot = str(value)[1:-1]
3074 channelListRTIPlot = str(value)[1:-1]
3121 self.specGgraphChannelList.setText(channelListRTIPlot)
3075 self.specGgraphChannelList.setText(channelListRTIPlot)
3122 self.specGgraphChannelList.setEnabled(True)
3076 self.specGgraphChannelList.setEnabled(True)
3123
3077
3124 parmObj = opObj.getParameterObj(parameterName='xmin')
3078 parmObj = opObj.getParameterObj(parameterName='xmin')
3125 if parmObj == None:
3079 if parmObj == None:
3126 self.specGgraphTminTmax.clear()
3080 self.specGgraphTminTmax.clear()
3127 else:
3081 else:
3128 value1 = opObj.getParameterValue(parameterName='xmin')
3082 value1 = opObj.getParameterValue(parameterName='xmin')
3129 value1 = str(value1)
3083 value1 = str(value1)
3130 value2 = opObj.getParameterValue(parameterName='xmax')
3084 value2 = opObj.getParameterValue(parameterName='xmax')
3131 value2 = str(value2)
3085 value2 = str(value2)
3132 value = value1 + "," + value2
3086 value = value1 + "," + value2
3133 self.specGgraphTminTmax.setText(value)
3087 self.specGgraphTminTmax.setText(value)
3134 self.specGgraphTminTmax.setEnabled(True)
3088 self.specGgraphTminTmax.setEnabled(True)
3135
3089
3136 parmObj = opObj.getParameterObj(parameterName='timerange')
3090 parmObj = opObj.getParameterObj(parameterName='timerange')
3137 if parmObj == None:
3091 if parmObj == None:
3138 self.specGgraphTimeRange.clear()
3092 self.specGgraphTimeRange.clear()
3139 else:
3093 else:
3140 value1 = opObj.getParameterValue(parameterName='timerange')
3094 value1 = opObj.getParameterValue(parameterName='timerange')
3141 value1 = str(value1)
3095 value1 = str(value1)
3142 self.specGgraphTimeRange.setText(value1)
3096 self.specGgraphTimeRange.setText(value1)
3143 self.specGgraphTimeRange.setEnabled(True)
3097 self.specGgraphTimeRange.setEnabled(True)
3144
3098
3145 parmObj = opObj.getParameterObj(parameterName='ymin')
3099 parmObj = opObj.getParameterObj(parameterName='ymin')
3146 if parmObj == None:
3100 if parmObj == None:
3147 self.specGgraphHeight.clear()
3101 self.specGgraphHeight.clear()
3148 else:
3102 else:
3149 value1 = opObj.getParameterValue(parameterName='ymin')
3103 value1 = opObj.getParameterValue(parameterName='ymin')
3150 value1 = str(value1)
3104 value1 = str(value1)
3151 value2 = opObj.getParameterValue(parameterName='ymax')
3105 value2 = opObj.getParameterValue(parameterName='ymax')
3152 value2 = str(value2)
3106 value2 = str(value2)
3153 value = value1 + "," + value2
3107 value = value1 + "," + value2
3154 self.specGgraphHeight.setText(value)
3108 self.specGgraphHeight.setText(value)
3155 self.specGgraphHeight.setEnabled(True)
3109 self.specGgraphHeight.setEnabled(True)
3156
3110
3157 parmObj = opObj.getParameterObj(parameterName='zmin')
3111 parmObj = opObj.getParameterObj(parameterName='zmin')
3158 if parmObj == None:
3112 if parmObj == None:
3159 self.specGgraphDbsrange.clear()
3113 self.specGgraphDbsrange.clear()
3160 else:
3114 else:
3161 value1 = opObj.getParameterValue(parameterName='zmin')
3115 value1 = opObj.getParameterValue(parameterName='zmin')
3162 value1 = str(value1)
3116 value1 = str(value1)
3163 value2 = opObj.getParameterValue(parameterName='zmax')
3117 value2 = opObj.getParameterValue(parameterName='zmax')
3164 value2 = str(value2)
3118 value2 = str(value2)
3165 value = value1 + "," + value2
3119 value = value1 + "," + value2
3166 self.specGgraphDbsrange.setText(value)
3120 self.specGgraphDbsrange.setText(value)
3167 self.specGgraphDbsrange.setEnabled(True)
3121 self.specGgraphDbsrange.setEnabled(True)
3168
3122
3169 parmObj = opObj.getParameterObj(parameterName="figpath")
3123 parmObj = opObj.getParameterObj(parameterName="figpath")
3170 if parmObj == None:
3124 if parmObj == None:
3171 self.specGraphSaveRTIplot.setCheckState(0)
3125 self.specGraphSaveRTIplot.setCheckState(0)
3172 else:
3126 else:
3173 self.specGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3127 self.specGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3174 value = opObj.getParameterValue(parameterName='figpath')
3128 value = opObj.getParameterValue(parameterName='figpath')
3175 self.specGraphPath.setText(value)
3129 self.specGraphPath.setText(value)
3176 #---------add----#
3130 #---------add----#
3177 parmObj = opObj.getParameterObj(parameterName="ftp")
3131 parmObj = opObj.getParameterObj(parameterName="ftp")
3178 if parmObj == None:
3132 if parmObj == None:
3179 self.specGraphftpRTIplot.setCheckState(0)
3133 self.specGraphftpRTIplot.setCheckState(0)
3180 else:
3134 else:
3181 self.specGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3135 self.specGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3182 try:
3136 try:
3183 value = opObj.getParameterValue(parameterName='wr_period')
3137 value = opObj.getParameterValue(parameterName='wr_period')
3184 except:
3138 except:
3185 value = " "
3139 value = " "
3186 self.specGgraphftpratio.setText(str(value))
3140 self.specGgraphftpratio.setText(str(value))
3187
3141
3188 opObj = puObj.getOperationObj(name='CoherenceMap')
3142 opObj = puObj.getOperationObj(name='CoherenceMap')
3189 # opObj = puObj.getOpObjfromParamValue(value="CoherenceMap")
3143 # opObj = puObj.getOpObjfromParamValue(value="CoherenceMap")
3190 if opObj == None:
3144 if opObj == None:
3191 self.specGraphCebCoherencmap.setCheckState(0)
3145 self.specGraphCebCoherencmap.setCheckState(0)
3192 self.specGraphSaveCoherencemap.setCheckState(0)
3146 self.specGraphSaveCoherencemap.setCheckState(0)
3193 self.specGraphftpCoherencemap.setCheckState(0)
3147 self.specGraphftpCoherencemap.setCheckState(0)
3194
3148
3195 else:
3149 else:
3196 operationCoherenceMap = "Enable"
3150 operationCoherenceMap = "Enable"
3197 self.specGraphCebCoherencmap.setCheckState(QtCore.Qt.Checked)
3151 self.specGraphCebCoherencmap.setCheckState(QtCore.Qt.Checked)
3198 parmObj = opObj.getParameterObj(parameterName='xmin')
3152 parmObj = opObj.getParameterObj(parameterName='xmin')
3199 if parmObj == None:
3153 if parmObj == None:
3200 self.specGgraphTminTmax.clear()
3154 self.specGgraphTminTmax.clear()
3201 else:
3155 else:
3202 value1 = opObj.getParameterValue(parameterName='xmin')
3156 value1 = opObj.getParameterValue(parameterName='xmin')
3203 value1 = str(value1)
3157 value1 = str(value1)
3204 value2 = opObj.getParameterValue(parameterName='xmax')
3158 value2 = opObj.getParameterValue(parameterName='xmax')
3205 value2 = str(value2)
3159 value2 = str(value2)
3206 value = value1 + "," + value2
3160 value = value1 + "," + value2
3207 self.specGgraphTminTmax.setText(value)
3161 self.specGgraphTminTmax.setText(value)
3208 self.specGgraphTminTmax.setEnabled(True)
3162 self.specGgraphTminTmax.setEnabled(True)
3209
3163
3210 parmObj = opObj.getParameterObj(parameterName='timerange')
3164 parmObj = opObj.getParameterObj(parameterName='timerange')
3211 if parmObj == None:
3165 if parmObj == None:
3212 self.specGgraphTimeRange.clear()
3166 self.specGgraphTimeRange.clear()
3213 else:
3167 else:
3214 value1 = opObj.getParameterValue(parameterName='timerange')
3168 value1 = opObj.getParameterValue(parameterName='timerange')
3215 value1 = str(value1)
3169 value1 = str(value1)
3216 self.specGgraphTimeRange.setText(value1)
3170 self.specGgraphTimeRange.setText(value1)
3217 self.specGgraphTimeRange.setEnabled(True)
3171 self.specGgraphTimeRange.setEnabled(True)
3218
3172
3219 parmObj = opObj.getParameterObj(parameterName='ymin')
3173 parmObj = opObj.getParameterObj(parameterName='ymin')
3220 if parmObj == None:
3174 if parmObj == None:
3221 self.specGgraphHeight.clear()
3175 self.specGgraphHeight.clear()
3222 else:
3176 else:
3223 value1 = opObj.getParameterValue(parameterName='ymin')
3177 value1 = opObj.getParameterValue(parameterName='ymin')
3224 value1 = str(value1)
3178 value1 = str(value1)
3225 value2 = opObj.getParameterValue(parameterName='ymax')
3179 value2 = opObj.getParameterValue(parameterName='ymax')
3226 value2 = str(value2)
3180 value2 = str(value2)
3227 value = value1 + "," + value2
3181 value = value1 + "," + value2
3228 self.specGgraphHeight.setText(value)
3182 self.specGgraphHeight.setText(value)
3229 self.specGgraphHeight.setEnabled(True)
3183 self.specGgraphHeight.setEnabled(True)
3230
3184
3231 parmObj = opObj.getParameterObj(parameterName='zmin')
3185 parmObj = opObj.getParameterObj(parameterName='zmin')
3232 if parmObj == None:
3186 if parmObj == None:
3233 self.specGgraphmagnitud.clear()
3187 self.specGgraphmagnitud.clear()
3234 else:
3188 else:
3235 value1 = opObj.getParameterValue(parameterName='zmin')
3189 value1 = opObj.getParameterValue(parameterName='zmin')
3236 value1 = str(value1)
3190 value1 = str(value1)
3237 value2 = opObj.getParameterValue(parameterName='zmax')
3191 value2 = opObj.getParameterValue(parameterName='zmax')
3238 value2 = str(value2)
3192 value2 = str(value2)
3239 value = value1 + "," + value2
3193 value = value1 + "," + value2
3240 self.specGgraphmagnitud.setText(value)
3194 self.specGgraphmagnitud.setText(value)
3241 self.specGgraphmagnitud.setEnabled(True)
3195 self.specGgraphmagnitud.setEnabled(True)
3242
3196
3243 parmObj = opObj.getParameterObj(parameterName="figpath")
3197 parmObj = opObj.getParameterObj(parameterName="figpath")
3244 if parmObj == None:
3198 if parmObj == None:
3245 self.specGraphSaveCoherencemap.setCheckState(0)
3199 self.specGraphSaveCoherencemap.setCheckState(0)
3246 else:
3200 else:
3247 self.specGraphSaveCoherencemap.setCheckState(QtCore.Qt.Checked)
3201 self.specGraphSaveCoherencemap.setCheckState(QtCore.Qt.Checked)
3248 value = opObj.getParameterValue(parameterName='figpath')
3202 value = opObj.getParameterValue(parameterName='figpath')
3249 self.specGraphPath.setText(value)
3203 self.specGraphPath.setText(value)
3250
3204
3251 parmObj = opObj.getParameterObj(parameterName="ftp")
3205 parmObj = opObj.getParameterObj(parameterName="ftp")
3252 if parmObj == None:
3206 if parmObj == None:
3253 self.specGraphftpCoherencemap.setCheckState(0)
3207 self.specGraphftpCoherencemap.setCheckState(0)
3254 else:
3208 else:
3255 self.specGraphftpCoherencemap.setCheckState(QtCore.Qt.Checked)
3209 self.specGraphftpCoherencemap.setCheckState(QtCore.Qt.Checked)
3256 try:
3210 try:
3257 value = opObj.getParameterValue(parameterName='wr_period')
3211 value = opObj.getParameterValue(parameterName='wr_period')
3258 except:
3212 except:
3259 value = " "
3213 value = " "
3260 self.specGgraphftpratio.setText(str(value))
3214 self.specGgraphftpratio.setText(str(value))
3261
3215
3262 opObj = puObj.getOperationObj(name='PowerProfilePlot')
3216 opObj = puObj.getOperationObj(name='PowerProfilePlot')
3263 # opObj = puObj.getOpObjfromParamValue(value="PowerProfilePlot")
3217 # opObj = puObj.getOpObjfromParamValue(value="PowerProfilePlot")
3264 if opObj == None:
3218 if opObj == None:
3265 self.specGraphPowerprofile.setCheckState(0)
3219 self.specGraphPowerprofile.setCheckState(0)
3266 self.specGraphSavePowerprofile.setCheckState(0)
3220 self.specGraphSavePowerprofile.setCheckState(0)
3267 operationPowerProfilePlot = "Disabled"
3221 operationPowerProfilePlot = "Disabled"
3268 channelList = None
3222 channelList = None
3269 freq_vel = None
3223 freq_vel = None
3270 heightsrange = None
3224 heightsrange = None
3271 else:
3225 else:
3272 operationPowerProfilePlot = "Enable"
3226 operationPowerProfilePlot = "Enable"
3273 self.specGraphPowerprofile.setCheckState(QtCore.Qt.Checked)
3227 self.specGraphPowerprofile.setCheckState(QtCore.Qt.Checked)
3274 parmObj = opObj.getParameterObj(parameterName='xmin')
3228 parmObj = opObj.getParameterObj(parameterName='xmin')
3275 if parmObj == None:
3229 if parmObj == None:
3276 self.specGgraphDbsrange.clear()
3230 self.specGgraphDbsrange.clear()
3277 else:
3231 else:
3278 value1 = opObj.getParameterValue(parameterName='xmin')
3232 value1 = opObj.getParameterValue(parameterName='xmin')
3279 value1 = str(value1)
3233 value1 = str(value1)
3280 value2 = opObj.getParameterValue(parameterName='xmax')
3234 value2 = opObj.getParameterValue(parameterName='xmax')
3281 value2 = str(value2)
3235 value2 = str(value2)
3282 value = value1 + "," + value2
3236 value = value1 + "," + value2
3283 self.specGgraphDbsrange.setText(value)
3237 self.specGgraphDbsrange.setText(value)
3284 self.specGgraphDbsrange.setEnabled(True)
3238 self.specGgraphDbsrange.setEnabled(True)
3285
3239
3286 parmObj = opObj.getParameterObj(parameterName='ymin')
3240 parmObj = opObj.getParameterObj(parameterName='ymin')
3287 if parmObj == None:
3241 if parmObj == None:
3288 self.specGgraphHeight.clear()
3242 self.specGgraphHeight.clear()
3289 else:
3243 else:
3290 value1 = opObj.getParameterValue(parameterName='ymin')
3244 value1 = opObj.getParameterValue(parameterName='ymin')
3291 value1 = str(value1)
3245 value1 = str(value1)
3292 value2 = opObj.getParameterValue(parameterName='ymax')
3246 value2 = opObj.getParameterValue(parameterName='ymax')
3293 value2 = str(value2)
3247 value2 = str(value2)
3294 value = value1 + "," + value2
3248 value = value1 + "," + value2
3295 self.specGgraphHeight.setText(value)
3249 self.specGgraphHeight.setText(value)
3296 self.specGgraphHeight.setEnabled(True)
3250 self.specGgraphHeight.setEnabled(True)
3297
3251
3298 parmObj = opObj.getParameterObj(parameterName="figpath")
3252 parmObj = opObj.getParameterObj(parameterName="figpath")
3299 if parmObj == None:
3253 if parmObj == None:
3300 self.specGraphSavePowerprofile.setCheckState(0)
3254 self.specGraphSavePowerprofile.setCheckState(0)
3301 else:
3255 else:
3302 self.specGraphSavePowerprofile.setCheckState(QtCore.Qt.Checked)
3256 self.specGraphSavePowerprofile.setCheckState(QtCore.Qt.Checked)
3303 value = opObj.getParameterValue(parameterName='figpath')
3257 value = opObj.getParameterValue(parameterName='figpath')
3304 self.specGraphPath.setText(value)
3258 self.specGraphPath.setText(value)
3305
3259
3306 parmObj = opObj.getParameterObj(parameterName="ftp")
3260 parmObj = opObj.getParameterObj(parameterName="ftp")
3307 if parmObj == None:
3261 if parmObj == None:
3308 self.specGraphftpPowerprofile.setCheckState(0)
3262 self.specGraphftpPowerprofile.setCheckState(0)
3309 else:
3263 else:
3310 self.specGraphftpPowerprofile.setCheckState(QtCore.Qt.Checked)
3264 self.specGraphftpPowerprofile.setCheckState(QtCore.Qt.Checked)
3311 try:
3265 try:
3312 value = opObj.getParameterValue(parameterName='wr_period')
3266 value = opObj.getParameterValue(parameterName='wr_period')
3313 except:
3267 except:
3314 value = " "
3268 value = " "
3315 self.specGgraphftpratio.setText(str(value))
3269 self.specGgraphftpratio.setText(str(value))
3316 # -noise
3270 # -noise
3317 opObj = puObj.getOperationObj(name='Noise')
3271 opObj = puObj.getOperationObj(name='Noise')
3318 # opObj = puObj.getOpObjfromParamValue(value="Noise")
3272 # opObj = puObj.getOpObjfromParamValue(value="Noise")
3319 if opObj == None:
3273 if opObj == None:
3320 self.specGraphCebRTInoise.setCheckState(0)
3274 self.specGraphCebRTInoise.setCheckState(0)
3321 self.specGraphSaveRTInoise.setCheckState(0)
3275 self.specGraphSaveRTInoise.setCheckState(0)
3322 self.specGraphftpRTInoise.setCheckState(0)
3276 self.specGraphftpRTInoise.setCheckState(0)
3323 else:
3277 else:
3324 self.specGraphCebRTInoise.setCheckState(QtCore.Qt.Checked)
3278 self.specGraphCebRTInoise.setCheckState(QtCore.Qt.Checked)
3325 parmObj = opObj.getParameterObj(parameterName='channelList')
3279 parmObj = opObj.getParameterObj(parameterName='channelList')
3326 if parmObj == None:
3280 if parmObj == None:
3327 self.specGgraphChannelList.clear()
3281 self.specGgraphChannelList.clear()
3328 else:
3282 else:
3329 value = opObj.getParameterValue(parameterName='channelList')
3283 value = opObj.getParameterValue(parameterName='channelList')
3330 channelListRTINoise = str(value)[1:-1]
3284 channelListRTINoise = str(value)[1:-1]
3331 self.specGgraphChannelList.setText(channelListRTINoise)
3285 self.specGgraphChannelList.setText(channelListRTINoise)
3332 self.specGgraphChannelList.setEnabled(True)
3286 self.specGgraphChannelList.setEnabled(True)
3333
3287
3334 parmObj = opObj.getParameterObj(parameterName='xmin')
3288 parmObj = opObj.getParameterObj(parameterName='xmin')
3335 if parmObj == None:
3289 if parmObj == None:
3336 self.specGgraphTminTmax.clear()
3290 self.specGgraphTminTmax.clear()
3337 else:
3291 else:
3338 value1 = opObj.getParameterValue(parameterName='xmin')
3292 value1 = opObj.getParameterValue(parameterName='xmin')
3339 value1 = str(value1)
3293 value1 = str(value1)
3340 value2 = opObj.getParameterValue(parameterName='xmax')
3294 value2 = opObj.getParameterValue(parameterName='xmax')
3341 value2 = str(value2)
3295 value2 = str(value2)
3342 value = value1 + "," + value2
3296 value = value1 + "," + value2
3343 self.specGgraphTminTmax.setText(value)
3297 self.specGgraphTminTmax.setText(value)
3344 self.specGgraphTminTmax.setEnabled(True)
3298 self.specGgraphTminTmax.setEnabled(True)
3345
3299
3346 parmObj = opObj.getParameterObj(parameterName='timerange')
3300 parmObj = opObj.getParameterObj(parameterName='timerange')
3347 if parmObj == None:
3301 if parmObj == None:
3348 self.specGgraphTimeRange.clear()
3302 self.specGgraphTimeRange.clear()
3349 else:
3303 else:
3350 value1 = opObj.getParameterValue(parameterName='timerange')
3304 value1 = opObj.getParameterValue(parameterName='timerange')
3351 value1 = str(value1)
3305 value1 = str(value1)
3352 self.specGgraphTimeRange.setText(value1)
3306 self.specGgraphTimeRange.setText(value1)
3353 self.specGgraphTimeRange.setEnabled(True)
3307 self.specGgraphTimeRange.setEnabled(True)
3354
3308
3355
3309
3356 parmObj = opObj.getParameterObj(parameterName='ymin')
3310 parmObj = opObj.getParameterObj(parameterName='ymin')
3357 if parmObj == None:
3311 if parmObj == None:
3358 self.specGgraphDbsrange.clear()
3312 self.specGgraphDbsrange.clear()
3359 else:
3313 else:
3360 value1 = opObj.getParameterValue(parameterName='ymin')
3314 value1 = opObj.getParameterValue(parameterName='ymin')
3361 value1 = str(value1)
3315 value1 = str(value1)
3362 value2 = opObj.getParameterValue(parameterName='ymax')
3316 value2 = opObj.getParameterValue(parameterName='ymax')
3363 value2 = str(value2)
3317 value2 = str(value2)
3364 value = value1 + "," + value2
3318 value = value1 + "," + value2
3365 self.specGgraphDbsrange.setText(value)
3319 self.specGgraphDbsrange.setText(value)
3366 self.specGgraphDbsrange.setEnabled(True)
3320 self.specGgraphDbsrange.setEnabled(True)
3367
3321
3368 parmObj = opObj.getParameterObj(parameterName="figpath")
3322 parmObj = opObj.getParameterObj(parameterName="figpath")
3369 if parmObj == None:
3323 if parmObj == None:
3370 self.specGraphSaveRTInoise.setCheckState(0)
3324 self.specGraphSaveRTInoise.setCheckState(0)
3371 else:
3325 else:
3372 self.specGraphSaveRTInoise.setCheckState(QtCore.Qt.Checked)
3326 self.specGraphSaveRTInoise.setCheckState(QtCore.Qt.Checked)
3373 value = opObj.getParameterValue(parameterName='figpath')
3327 value = opObj.getParameterValue(parameterName='figpath')
3374 self.specGraphPath.setText(value)
3328 self.specGraphPath.setText(value)
3375 #---------add----#
3329 #---------add----#
3376 parmObj = opObj.getParameterObj(parameterName="ftp")
3330 parmObj = opObj.getParameterObj(parameterName="ftp")
3377 if parmObj == None:
3331 if parmObj == None:
3378 self.specGraphftpRTInoise.setCheckState(0)
3332 self.specGraphftpRTInoise.setCheckState(0)
3379 else:
3333 else:
3380 self.specGraphftpRTInoise.setCheckState(QtCore.Qt.Checked)
3334 self.specGraphftpRTInoise.setCheckState(QtCore.Qt.Checked)
3381 try:
3335 try:
3382 value = opObj.getParameterValue(parameterName='wr_period')
3336 value = opObj.getParameterValue(parameterName='wr_period')
3383 except:
3337 except:
3384 value = " "
3338 value = " "
3385 self.specGgraphftpratio.setText(str(value))
3339 self.specGgraphftpratio.setText(str(value))
3386
3340
3387 # outputSpectraWrite
3341 # outputSpectraWrite
3388 opObj = puObj.getOperationObj(name='SpectraWriter')
3342 opObj = puObj.getOperationObj(name='SpectraWriter')
3389 if opObj == None:
3343 if opObj == None:
3390 self.specOutputPath.clear()
3344 self.specOutputPath.clear()
3391 self.specOutputblocksperfile.clear()
3345 self.specOutputblocksperfile.clear()
3392 self.specOutputprofileperblock.clear()
3346 self.specOutputprofileperblock.clear()
3393 else:
3347 else:
3394 value = opObj.getParameterObj(parameterName='path')
3348 value = opObj.getParameterObj(parameterName='path')
3395 if value == None:
3349 if value == None:
3396 self.specOutputPath.clear()
3350 self.specOutputPath.clear()
3397 else:
3351 else:
3398 value = opObj.getParameterValue(parameterName='path')
3352 value = opObj.getParameterValue(parameterName='path')
3399 path = str(value)
3353 path = str(value)
3400 self.specOutputPath.setText(path)
3354 self.specOutputPath.setText(path)
3401 value = opObj.getParameterObj(parameterName='blocksPerFile')
3355 value = opObj.getParameterObj(parameterName='blocksPerFile')
3402 if value == None:
3356 if value == None:
3403 self.specOutputblocksperfile.clear()
3357 self.specOutputblocksperfile.clear()
3404 else:
3358 else:
3405 value = opObj.getParameterValue(parameterName='blocksPerFile')
3359 value = opObj.getParameterValue(parameterName='blocksPerFile')
3406 blocksperfile = str(value)
3360 blocksperfile = str(value)
3407 self.specOutputblocksperfile.setText(blocksperfile)
3361 self.specOutputblocksperfile.setText(blocksperfile)
3408 value = opObj.getParameterObj(parameterName='profilesPerBlock')
3362 value = opObj.getParameterObj(parameterName='profilesPerBlock')
3409 if value == None:
3363 if value == None:
3410 self.specOutputprofileperblock.clear()
3364 self.specOutputprofileperblock.clear()
3411 else:
3365 else:
3412 value = opObj.getParameterValue(parameterName='profilesPerBlock')
3366 value = opObj.getParameterValue(parameterName='profilesPerBlock')
3413 profilesPerBlock = str(value)
3367 profilesPerBlock = str(value)
3414 self.specOutputprofileperblock.setText(profilesPerBlock)
3368 self.specOutputprofileperblock.setText(profilesPerBlock)
3415
3369
3416 if datatype == 'SpectraHeis':
3370 if datatype == 'SpectraHeis':
3417 opObj = puObj.getOperationObj(name="IncohInt4SpectraHeis")
3371 opObj = puObj.getOperationObj(name="IncohInt4SpectraHeis")
3418 if opObj == None:
3372 if opObj == None:
3419 self.specHeisOpIncoherent.clear()
3373 self.specHeisOpIncoherent.clear()
3420 self.specHeisOpCebIncoherent.setCheckState(0)
3374 self.specHeisOpCebIncoherent.setCheckState(0)
3421 else:
3375 else:
3422 for parmObj in opObj.getParameterObjList():
3376 for parmObj in opObj.getParameterObjList():
3423 if parmObj.name == 'timeInterval':
3377 if parmObj.name == 'timeInterval':
3424 value = opObj.getParameterValue(parameterName='timeInterval')
3378 value = opObj.getParameterValue(parameterName='timeInterval')
3425 value = float(value)
3379 value = float(value)
3426 self.specHeisOpIncoherent.setText(str(value))
3380 self.specHeisOpIncoherent.setText(str(value))
3427 self.specHeisOpIncoherent.setEnabled(True)
3381 self.specHeisOpIncoherent.setEnabled(True)
3428 self.specHeisOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3382 self.specHeisOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3429 self.specHeisOpCobIncInt.setCurrentIndex(0)
3383 self.specHeisOpCobIncInt.setCurrentIndex(0)
3430
3384
3431 # SpectraHeis Graph
3385 # SpectraHeis Graph
3432 opObj = puObj.getOperationObj(name='SpectraHeisScope')
3386 opObj = puObj.getOperationObj(name='SpectraHeisScope')
3433 # opObj = puObj.getOpObjfromParamValue(value="SpectraHeisScope")
3387 # opObj = puObj.getOpObjfromParamValue(value="SpectraHeisScope")
3434 if opObj == None:
3388 if opObj == None:
3435 self.specHeisGraphCebSpectraplot.setCheckState(0)
3389 self.specHeisGraphCebSpectraplot.setCheckState(0)
3436 self.specHeisGraphSaveSpectra.setCheckState(0)
3390 self.specHeisGraphSaveSpectra.setCheckState(0)
3437 self.specHeisGraphftpSpectra.setCheckState(0)
3391 self.specHeisGraphftpSpectra.setCheckState(0)
3438
3392
3439 else:
3393 else:
3440 operationSpectraHeisScope = "Enable"
3394 operationSpectraHeisScope = "Enable"
3441 self.specHeisGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3395 self.specHeisGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3442 parmObj = opObj.getParameterObj(parameterName='channelList')
3396 parmObj = opObj.getParameterObj(parameterName='channelList')
3443 if parmObj == None:
3397 if parmObj == None:
3444 self.specHeisGgraphChannelList.clear()
3398 self.specHeisGgraphChannelList.clear()
3445 else:
3399 else:
3446 value = opObj.getParameterValue(parameterName='channelList')
3400 value = opObj.getParameterValue(parameterName='channelList')
3447 channelListSpectraHeisScope = str(value)[1:-1]
3401 channelListSpectraHeisScope = str(value)[1:-1]
3448 self.specHeisGgraphChannelList.setText(channelListSpectraHeisScope)
3402 self.specHeisGgraphChannelList.setText(channelListSpectraHeisScope)
3449 self.specHeisGgraphChannelList.setEnabled(True)
3403 self.specHeisGgraphChannelList.setEnabled(True)
3450
3404
3451 parmObj = opObj.getParameterObj(parameterName='xmin')
3405 parmObj = opObj.getParameterObj(parameterName='xmin')
3452 if parmObj == None:
3406 if parmObj == None:
3453 self.specHeisGgraphXminXmax.clear()
3407 self.specHeisGgraphXminXmax.clear()
3454 else:
3408 else:
3455 value1 = opObj.getParameterValue(parameterName='xmin')
3409 value1 = opObj.getParameterValue(parameterName='xmin')
3456 value1 = str(value1)
3410 value1 = str(value1)
3457 value2 = opObj.getParameterValue(parameterName='xmax')
3411 value2 = opObj.getParameterValue(parameterName='xmax')
3458 value2 = str(value2)
3412 value2 = str(value2)
3459 value = value1 + "," + value2
3413 value = value1 + "," + value2
3460 self.specHeisGgraphXminXmax.setText(value)
3414 self.specHeisGgraphXminXmax.setText(value)
3461 self.specHeisGgraphXminXmax.setEnabled(True)
3415 self.specHeisGgraphXminXmax.setEnabled(True)
3462
3416
3463 parmObj = opObj.getParameterObj(parameterName='ymin')
3417 parmObj = opObj.getParameterObj(parameterName='ymin')
3464 if parmObj == None:
3418 if parmObj == None:
3465 self.specHeisGgraphYminYmax.clear()
3419 self.specHeisGgraphYminYmax.clear()
3466 else:
3420 else:
3467 value1 = opObj.getParameterValue(parameterName='ymin')
3421 value1 = opObj.getParameterValue(parameterName='ymin')
3468 value1 = str(value1)
3422 value1 = str(value1)
3469 value2 = opObj.getParameterValue(parameterName='ymax')
3423 value2 = opObj.getParameterValue(parameterName='ymax')
3470 value2 = str(value2)
3424 value2 = str(value2)
3471 value = value1 + "," + value2
3425 value = value1 + "," + value2
3472 self.specHeisGgraphYminYmax.setText(value)
3426 self.specHeisGgraphYminYmax.setText(value)
3473 self.specHeisGgraphYminYmax.setEnabled(True)
3427 self.specHeisGgraphYminYmax.setEnabled(True)
3474
3428
3475 parmObj = opObj.getParameterObj(parameterName="figpath")
3429 parmObj = opObj.getParameterObj(parameterName="figpath")
3476 if parmObj == None:
3430 if parmObj == None:
3477 self.specHeisGraphSaveSpectra.setCheckState(0)
3431 self.specHeisGraphSaveSpectra.setCheckState(0)
3478 else:
3432 else:
3479 self.specHeisGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3433 self.specHeisGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3480 value = opObj.getParameterValue(parameterName='figpath')
3434 value = opObj.getParameterValue(parameterName='figpath')
3481 self.specHeisGraphPath.setText(value)
3435 self.specHeisGraphPath.setText(value)
3482
3436
3483 parmObj = opObj.getParameterObj(parameterName="ftp")
3437 parmObj = opObj.getParameterObj(parameterName="ftp")
3484 if parmObj == None:
3438 if parmObj == None:
3485 self.specHeisGraphftpSpectra.setCheckState(0)
3439 self.specHeisGraphftpSpectra.setCheckState(0)
3486 else:
3440 else:
3487 self.specHeisGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3441 self.specHeisGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3488 try:
3442 try:
3489 value = opObj.getParameterValue(parameterName='wr_period')
3443 value = opObj.getParameterValue(parameterName='wr_period')
3490 except:
3444 except:
3491 value = " "
3445 value = " "
3492 self.specHeisGgraphftpratio.setText(str(value))
3446 self.specHeisGgraphftpratio.setText(str(value))
3493
3447
3494 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
3448 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
3495 # opObj = puObj.getOpObjfromParamValue(value="RTIfromSpectraHeis")
3449 # opObj = puObj.getOpObjfromParamValue(value="RTIfromSpectraHeis")
3496 if opObj == None:
3450 if opObj == None:
3497 self.specHeisGraphCebRTIplot.setCheckState(0)
3451 self.specHeisGraphCebRTIplot.setCheckState(0)
3498 self.specHeisGraphSaveRTIplot.setCheckState(0)
3452 self.specHeisGraphSaveRTIplot.setCheckState(0)
3499 self.specHeisGraphftpRTIplot.setCheckState(0)
3453 self.specHeisGraphftpRTIplot.setCheckState(0)
3500 else:
3454 else:
3501 self.specHeisGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3455 self.specHeisGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3502 parmObj = opObj.getParameterObj(parameterName='channelList')
3456 parmObj = opObj.getParameterObj(parameterName='channelList')
3503 if parmObj == None:
3457 if parmObj == None:
3504 self.specHeisGgraphChannelList.clear()
3458 self.specHeisGgraphChannelList.clear()
3505 else:
3459 else:
3506 value = opObj.getParameterValue(parameterName='channelList')
3460 value = opObj.getParameterValue(parameterName='channelList')
3507 channelListRTIPlot = str(value)[1:-1]
3461 channelListRTIPlot = str(value)[1:-1]
3508 self.specGgraphChannelList.setText(channelListRTIPlot)
3462 self.specGgraphChannelList.setText(channelListRTIPlot)
3509 self.specGgraphChannelList.setEnabled(True)
3463 self.specGgraphChannelList.setEnabled(True)
3510
3464
3511 parmObj = opObj.getParameterObj(parameterName='xmin')
3465 parmObj = opObj.getParameterObj(parameterName='xmin')
3512 if parmObj == None:
3466 if parmObj == None:
3513 self.specHeisGgraphTminTmax.clear()
3467 self.specHeisGgraphTminTmax.clear()
3514 else:
3468 else:
3515 value1 = opObj.getParameterValue(parameterName='xmin')
3469 value1 = opObj.getParameterValue(parameterName='xmin')
3516 value1 = str(value1)
3470 value1 = str(value1)
3517 value2 = opObj.getParameterValue(parameterName='xmax')
3471 value2 = opObj.getParameterValue(parameterName='xmax')
3518 value2 = str(value2)
3472 value2 = str(value2)
3519 value = value1 + "," + value2
3473 value = value1 + "," + value2
3520 self.specHeisGgraphTminTmax.setText(value)
3474 self.specHeisGgraphTminTmax.setText(value)
3521 self.specHeisGgraphTminTmax.setEnabled(True)
3475 self.specHeisGgraphTminTmax.setEnabled(True)
3522
3476
3523 parmObj = opObj.getParameterObj(parameterName='timerange')
3477 parmObj = opObj.getParameterObj(parameterName='timerange')
3524 if parmObj == None:
3478 if parmObj == None:
3525 self.specGgraphTimeRange.clear()
3479 self.specGgraphTimeRange.clear()
3526 else:
3480 else:
3527 value1 = opObj.getParameterValue(parameterName='timerange')
3481 value1 = opObj.getParameterValue(parameterName='timerange')
3528 value1 = str(value1)
3482 value1 = str(value1)
3529 self.specHeisGgraphTimeRange.setText(value1)
3483 self.specHeisGgraphTimeRange.setText(value1)
3530 self.specHeisGgraphTimeRange.setEnabled(True)
3484 self.specHeisGgraphTimeRange.setEnabled(True)
3531
3485
3532 parmObj = opObj.getParameterObj(parameterName='ymin')
3486 parmObj = opObj.getParameterObj(parameterName='ymin')
3533 if parmObj == None:
3487 if parmObj == None:
3534 self.specHeisGgraphYminYmax.clear()
3488 self.specHeisGgraphYminYmax.clear()
3535 else:
3489 else:
3536 value1 = opObj.getParameterValue(parameterName='ymin')
3490 value1 = opObj.getParameterValue(parameterName='ymin')
3537 value1 = str(value1)
3491 value1 = str(value1)
3538 value2 = opObj.getParameterValue(parameterName='ymax')
3492 value2 = opObj.getParameterValue(parameterName='ymax')
3539 value2 = str(value2)
3493 value2 = str(value2)
3540 value = value1 + "," + value2
3494 value = value1 + "," + value2
3541 self.specHeisGgraphYminYmax.setText(value)
3495 self.specHeisGgraphYminYmax.setText(value)
3542 self.specHeisGgraphYminYmax.setEnabled(True)
3496 self.specHeisGgraphYminYmax.setEnabled(True)
3543
3497
3544 parmObj = opObj.getParameterObj(parameterName="figpath")
3498 parmObj = opObj.getParameterObj(parameterName="figpath")
3545 if parmObj == None:
3499 if parmObj == None:
3546 self.specHeisGraphSaveRTIplot.setCheckState(0)
3500 self.specHeisGraphSaveRTIplot.setCheckState(0)
3547 else:
3501 else:
3548 self.specHeisGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3502 self.specHeisGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3549 value = opObj.getParameterValue(parameterName='figpath')
3503 value = opObj.getParameterValue(parameterName='figpath')
3550 self.specHeisGraphPath.setText(value)
3504 self.specHeisGraphPath.setText(value)
3551 #---------add----#
3505 #---------add----#
3552 parmObj = opObj.getParameterObj(parameterName="ftp")
3506 parmObj = opObj.getParameterObj(parameterName="ftp")
3553 if parmObj == None:
3507 if parmObj == None:
3554 self.specHeisGraphftpRTIplot.setCheckState(0)
3508 self.specHeisGraphftpRTIplot.setCheckState(0)
3555 else:
3509 else:
3556 self.specHeisGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3510 self.specHeisGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3557 try:
3511 try:
3558 value = opObj.getParameterValue(parameterName='wr_period')
3512 value = opObj.getParameterValue(parameterName='wr_period')
3559 except:
3513 except:
3560 value = " "
3514 value = " "
3561 self.specHeisGgraphftpratio.setText(str(value))
3515 self.specHeisGgraphftpratio.setText(str(value))
3562
3516
3563
3517
3564
3518
3565 # outputSpectraHeisWrite
3519 # outputSpectraHeisWrite
3566 opObj = puObj.getOperationObj(name='FitsWriter')
3520 opObj = puObj.getOperationObj(name='FitsWriter')
3567 if opObj == None:
3521 if opObj == None:
3568 self.specHeisOutputPath.clear()
3522 self.specHeisOutputPath.clear()
3569 self.specHeisOutputblocksperfile.clear()
3523 self.specHeisOutputblocksperfile.clear()
3570 self.specHeisOutputMetada.clear()
3524 self.specHeisOutputMetada.clear()
3571 else:
3525 else:
3572 value = opObj.getParameterObj(parameterName='path')
3526 value = opObj.getParameterObj(parameterName='path')
3573 if value == None:
3527 if value == None:
3574 self.specHeisOutputPath.clear()
3528 self.specHeisOutputPath.clear()
3575 else:
3529 else:
3576 value = opObj.getParameterValue(parameterName='path')
3530 value = opObj.getParameterValue(parameterName='path')
3577 path = str(value)
3531 path = str(value)
3578 self.specHeisOutputPath.setText(path)
3532 self.specHeisOutputPath.setText(path)
3579 value = opObj.getParameterObj(parameterName='dataBlocksPerFile')
3533 value = opObj.getParameterObj(parameterName='dataBlocksPerFile')
3580 if value == None:
3534 if value == None:
3581 self.specHeisOutputblocksperfile.clear()
3535 self.specHeisOutputblocksperfile.clear()
3582 else:
3536 else:
3583 value = opObj.getParameterValue(parameterName='dataBlocksPerFile')
3537 value = opObj.getParameterValue(parameterName='dataBlocksPerFile')
3584 blocksperfile = str(value)
3538 blocksperfile = str(value)
3585 self.specHeisOutputblocksperfile.setText(blocksperfile)
3539 self.specHeisOutputblocksperfile.setText(blocksperfile)
3586 value = opObj.getParameterObj(parameterName='metadatafile')
3540 value = opObj.getParameterObj(parameterName='metadatafile')
3587 if value == None:
3541 if value == None:
3588 self.specHeisOutputMetada.clear()
3542 self.specHeisOutputMetada.clear()
3589 else:
3543 else:
3590 value = opObj.getParameterValue(parameterName='metadatafile')
3544 value = opObj.getParameterValue(parameterName='metadatafile')
3591 metada = str(value)
3545 metada = str(value)
3592 self.specHeisOutputMetada.setText(metada)
3546 self.specHeisOutputMetada.setText(metada)
3593
3547
3594
3548
3595
3549
3596 def setspecGraph(self):
3550 def setspecGraph(self):
3597
3551
3598 self.specGgraphChannelList.setEnabled(True)
3552 self.specGgraphChannelList.setEnabled(True)
3599
3553
3600 def clearspecGraph(self):
3554 def clearspecGraph(self):
3601
3555
3602 self.specGgraphChannelList.clear()
3556 self.specGgraphChannelList.clear()
3603
3557
3604 def create_comm(self):
3558 def create_comm(self):
3605 self.commCtrlPThread = CommCtrlProcessThread()
3559 self.commCtrlPThread = CommCtrlProcessThread()
3606 self.commCtrlPThread.start()
3560 self.commCtrlPThread.start()
3607
3561
3608 def create_timers(self):
3562 def create_timers(self):
3609 self.comm_data_timer = QtCore.QTimer(self)
3563 self.comm_data_timer = QtCore.QTimer(self)
3610 self.comm_data_timer.timeout.connect(self.on_comm_data_timer)
3564 self.comm_data_timer.timeout.connect(self.on_comm_data_timer)
3611 self.comm_data_timer.start(10)
3565 self.comm_data_timer.start(10)
3612
3566
3613 def create_figure(self):
3567 def create_figure(self):
3614 self.queue_plot = Queue.Queue()
3568 self.queue_plot = Queue.Queue()
3615 self.plotmanager = PlotManager(self.queue_plot)
3569 self.plotmanager = PlotManager(self.queue_plot)
3616 self.plot_timer = QtCore.QTimer()
3570 self.plot_timer = QtCore.QTimer()
3617 QtCore.QObject.connect(self.plot_timer, QtCore.SIGNAL("timeout()"), self.periodicCall)
3571 QtCore.QObject.connect(self.plot_timer, QtCore.SIGNAL("timeout()"), self.periodicCall)
3618 self.plot_timer.start(100)
3572 self.plot_timer.start(100)
3619 self.running = 1
3573 self.running = 1
3620
3574
3621 def periodicCall(self):
3575 def periodicCall(self):
3622 """
3576 """
3623 Check every 100 ms if there is something new in the queue.
3577 Check every 100 ms if there is something new in the queue.
3624 """
3578 """
3625 self.plotmanager.processIncoming()
3579 self.plotmanager.processIncoming()
3626 if not self.running:
3580 if not self.running:
3627 app.quit()
3581 app.quit()
3628
3582
3629 def on_comm_data_timer(self):
3583 def on_comm_data_timer(self):
3630 # lee el data_queue y la coloca en el queue de ploteo
3584 # lee el data_queue y la coloca en el queue de ploteo
3631 try:
3585 try:
3632 reply = self.commCtrlPThread.data_q.get(block=False)
3586 reply = self.commCtrlPThread.data_q.get(block=False)
3633 self.queue_plot.put(reply.data)
3587 self.queue_plot.put(reply.data)
3634
3588
3635 except Queue.Empty:
3589 except Queue.Empty:
3636 pass
3590 pass
3637
3591
3638 def createProjectView(self, id):
3592 def createProjectView(self, id):
3639
3593
3640 self.create = False
3594 self.create = False
3641 project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
3595 project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
3642
3596
3643 projectObjView = Project()
3597 projectObjView = Project()
3644 projectObjView.setup(id=id, name=project_name, description=description)
3598 projectObjView.setup(id=id, name=project_name, description=description)
3645
3599
3646 self.__projectObjDict[id] = projectObjView
3600 self.__projectObjDict[id] = projectObjView
3647
3601
3648 return projectObjView
3602 return projectObjView
3649
3603
3650 def updateProjectView(self):
3604 def updateProjectView(self):
3651
3605
3652 project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
3606 project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
3653
3607
3654 projectObjView = self.getSelectedProjectObj()
3608 projectObjView = self.getSelectedProjectObj()
3655 projectObjView.update(name=project_name, description=description)
3609 projectObjView.update(name=project_name, description=description)
3656
3610
3657 return projectObjView
3611 return projectObjView
3658
3612
3659 def createReadUnitView(self, projectObjView):
3613 def createReadUnitView(self, projectObjView):
3660
3614
3661 project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk , set = self.getParmsFromProjectWindow()
3615 project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk , set = self.getParmsFromProjectWindow()
3662 if set == None:
3616 if set == None:
3663 readUnitConfObj = projectObjView.addReadUnit(datatype=datatype,
3617 readUnitConfObj = projectObjView.addReadUnit(datatype=datatype,
3664 path=data_path,
3618 path=data_path,
3665 startDate=startDate,
3619 startDate=startDate,
3666 endDate=endDate,
3620 endDate=endDate,
3667 startTime=startTime,
3621 startTime=startTime,
3668 endTime=endTime,
3622 endTime=endTime,
3669 online=online,
3623 online=online,
3670 delay=delay,
3624 delay=delay,
3671 walk=walk)
3625 walk=walk)
3672 else:
3626 else:
3673 readUnitConfObj = projectObjView.addReadUnit(datatype=datatype,
3627 readUnitConfObj = projectObjView.addReadUnit(datatype=datatype,
3674 path=data_path,
3628 path=data_path,
3675 startDate=startDate,
3629 startDate=startDate,
3676 endDate=endDate,
3630 endDate=endDate,
3677 startTime=startTime,
3631 startTime=startTime,
3678 endTime=endTime,
3632 endTime=endTime,
3679 online=online,
3633 online=online,
3680 delay=delay,
3634 delay=delay,
3681 walk=walk,
3635 walk=walk,
3682 set=set)
3636 set=set)
3683
3637
3684 return readUnitConfObj
3638 return readUnitConfObj
3685
3639
3686 def updateReadUnitView(self, projectObjView, idReadUnit):
3640 def updateReadUnitView(self, projectObjView, idReadUnit):
3687
3641
3688 project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk , set = self.getParmsFromProjectWindow()
3642 project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk , set = self.getParmsFromProjectWindow()
3689
3643
3690 readUnitConfObj = projectObjView.getProcUnitObj(idReadUnit)
3644 readUnitConfObj = projectObjView.getProcUnitObj(idReadUnit)
3691
3645
3692 if set == None:
3646 if set == None:
3693
3647
3694 readUnitConfObj.update(datatype=datatype,
3648 readUnitConfObj.update(datatype=datatype,
3695 path=data_path,
3649 path=data_path,
3696 startDate=startDate,
3650 startDate=startDate,
3697 endDate=endDate,
3651 endDate=endDate,
3698 startTime=startTime,
3652 startTime=startTime,
3699 endTime=endTime,
3653 endTime=endTime,
3700 online=online,
3654 online=online,
3701 delay=delay,
3655 delay=delay,
3702 walk=walk)
3656 walk=walk)
3703
3657
3704 else:
3658 else:
3705 readUnitConfObj.update(datatype=datatype,
3659 readUnitConfObj.update(datatype=datatype,
3706 path=data_path,
3660 path=data_path,
3707 startDate=startDate,
3661 startDate=startDate,
3708 endDate=endDate,
3662 endDate=endDate,
3709 startTime=startTime,
3663 startTime=startTime,
3710 endTime=endTime,
3664 endTime=endTime,
3711 online=online,
3665 online=online,
3712 delay=delay,
3666 delay=delay,
3713 walk=walk,
3667 walk=walk,
3714 set=set)
3668 set=set)
3715
3669
3716
3670
3717
3671
3718 return readUnitConfObj
3672 return readUnitConfObj
3719
3673
3720 def createProcUnitView(self, projectObjView, datatype, inputId):
3674 def createProcUnitView(self, projectObjView, datatype, inputId):
3721
3675
3722 procUnitConfObj = projectObjView.addProcUnit(datatype=datatype, inputId=inputId)
3676 procUnitConfObj = projectObjView.addProcUnit(datatype=datatype, inputId=inputId)
3723
3677
3724 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
3678 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
3725
3679
3726 return procUnitConfObj
3680 return procUnitConfObj
3727
3681
3728 def updateProcUnitView(self, id):
3682 def updateProcUnitView(self, id):
3729
3683
3730 procUnitConfObj = projectObjView.getProcUnitObj(id)
3684 procUnitConfObj = projectObjView.getProcUnitObj(id)
3731 procUnitConfObj.removeOperations()
3685 procUnitConfObj.removeOperations()
3732
3686
3733 return procUnitConfObj
3687 return procUnitConfObj
3734
3688
3735 def addPUWindow(self):
3689 def addPUWindow(self):
3736
3690
3737 self.configUPWindowObj = UnitProcessWindow(self)
3691 self.configUPWindowObj = UnitProcessWindow(self)
3738 fatherObj = self.getSelectedPUObj()
3692 fatherObj = self.getSelectedPUObj()
3739 try:
3693 try:
3740 fatherObj.getElementName()
3694 fatherObj.getElementName()
3741 except:
3695 except:
3742 self.console.append("First left click on Project or Processing Unit")
3696 self.console.append("First left click on Project or Processing Unit")
3743 return 0
3697 return 0
3744
3698
3745 if fatherObj.getElementName() == 'Project':
3699 if fatherObj.getElementName() == 'Project':
3746 readUnitConfObj = fatherObj.getReadUnitObj()
3700 readUnitConfObj = fatherObj.getReadUnitObj()
3747 self.configUPWindowObj.dataTypeProject = str(readUnitConfObj.datatype)
3701 self.configUPWindowObj.dataTypeProject = str(readUnitConfObj.datatype)
3748
3702
3749 self.configUPWindowObj.getfromWindowList.append(fatherObj)
3703 self.configUPWindowObj.getfromWindowList.append(fatherObj)
3750 self.configUPWindowObj.loadTotalList()
3704 self.configUPWindowObj.loadTotalList()
3751 self.configUPWindowObj.show()
3705 self.configUPWindowObj.show()
3752 self.configUPWindowObj.closed.connect(self.createPUWindow)
3706 self.configUPWindowObj.closed.connect(self.createPUWindow)
3753
3707
3754 def createPUWindow(self):
3708 def createPUWindow(self):
3755
3709
3756 self.console.clear()
3710 self.console.clear()
3757
3711
3758 if not self.configUPWindowObj.create:
3712 if not self.configUPWindowObj.create:
3759 return
3713 return
3760
3714
3761 fatherObj = self.configUPWindowObj.getFromWindow
3715 fatherObj = self.configUPWindowObj.getFromWindow
3762 datatype = self.configUPWindowObj.typeofUP
3716 datatype = self.configUPWindowObj.typeofUP
3763
3717
3764 if fatherObj.getElementName() == 'Project':
3718 if fatherObj.getElementName() == 'Project':
3765 inputId = fatherObj.getReadUnitId()
3719 inputId = fatherObj.getReadUnitId()
3766 projectObjView = fatherObj
3720 projectObjView = fatherObj
3767 else:
3721 else:
3768 inputId = fatherObj.getId()
3722 inputId = fatherObj.getId()
3769 projectObjView = self.getSelectedProjectObj()
3723 projectObjView = self.getSelectedProjectObj()
3770
3724
3771 #----------------------------
3725 #----------------------------
3772 puObj = self.createProcUnitView(projectObjView, datatype, inputId)
3726 puObj = self.createProcUnitView(projectObjView, datatype, inputId)
3773 #----------------------------
3727 #----------------------------
3774 self.addPU2ProjectExplorer(id=puObj.getId(), name=datatype)
3728 self.addPU2ProjectExplorer(id=puObj.getId(), name=datatype)
3775
3729
3776 self.showtabPUCreated(datatype)
3730 self.showtabPUCreated(datatype)
3777
3731
3778 self.setInputsPU_View(datatype)
3732 self.setInputsPU_View(datatype)
3779
3733
3780 self.showPUinitView()
3734 self.showPUinitView()
3781
3735
3782 def addFTPConf2Operation(self, puObj, opObj):
3736 def addFTPConf2Operation(self, puObj, opObj):
3783
3737
3784 if self.temporalFTP.create:
3738 if self.temporalFTP.create:
3785 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
3739 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
3786 else:
3740 else:
3787 self.temporalFTP.setwithoutconfiguration()
3741 self.temporalFTP.setwithoutconfiguration()
3788 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
3742 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
3789
3743
3790 # opObj.addParameter(name='server', value=server, format='str')
3744 # opObj.addParameter(name='server', value=server, format='str')
3791 # opObj.addParameter(name='folder', value=remotefolder, format='str')
3745 # opObj.addParameter(name='folder', value=remotefolder, format='str')
3792 # opObj.addParameter(name='username', value=username, format='str')
3746 # opObj.addParameter(name='username', value=username, format='str')
3793 # opObj.addParameter(name='password', value=password, format='str')
3747 # opObj.addParameter(name='password', value=password, format='str')
3794
3748
3795 if ftp_wei:
3749 if ftp_wei:
3796 opObj.addParameter(name='ftp_wei', value=int(ftp_wei), format='int')
3750 opObj.addParameter(name='ftp_wei', value=int(ftp_wei), format='int')
3797 if exp_code:
3751 if exp_code:
3798 opObj.addParameter(name='exp_code', value=int(exp_code), format='int')
3752 opObj.addParameter(name='exp_code', value=int(exp_code), format='int')
3799 if sub_exp_code:
3753 if sub_exp_code:
3800 opObj.addParameter(name='sub_exp_code', value=int(sub_exp_code), format='int')
3754 opObj.addParameter(name='sub_exp_code', value=int(sub_exp_code), format='int')
3801 if plot_pos:
3755 if plot_pos:
3802 opObj.addParameter(name='plot_pos', value=int(plot_pos), format='int')
3756 opObj.addParameter(name='plot_pos', value=int(plot_pos), format='int')
3803
3757
3804 if puObj.datatype == "Spectra":
3758 if puObj.datatype == "Spectra":
3805 value = self.specGgraphftpratio.text()
3759 value = self.specGgraphftpratio.text()
3806 if puObj.datatype == "SpectraHeis":
3760 if puObj.datatype == "SpectraHeis":
3807 value = self.specHeisGgraphftpratio.text()
3761 value = self.specHeisGgraphftpratio.text()
3808
3762
3809 if not value == "":
3763 if not value == "":
3810 try:
3764 try:
3811 value = int(value)
3765 value = int(value)
3812 except:
3766 except:
3813 self.console.clear()
3767 self.console.clear()
3814 self.console.append("Please fill Ratio on the textbox")
3768 self.console.append("Please fill Ratio on the textbox")
3815 return 0
3769 return 0
3816
3770
3817 opObj.addParameter(name='wr_period', value=value, format='int')
3771 opObj.addParameter(name='wr_period', value=value, format='int')
3818
3772
3819 def createFTPProcUnitView(self, server, username, password, remotefolder,
3773 def createFTPProcUnitView(self, server, username, password, remotefolder,
3820 ftp_wei, exp_code, sub_exp_code, plot_pos,
3774 ftp_wei, exp_code, sub_exp_code, plot_pos,
3821 localfolder='./', extension='.png', period='60', protocol='ftp'):
3775 localfolder='./', extension='.png', period='60', protocol='ftp'):
3822
3776
3823 projectObj = self.getSelectedProjectObj()
3777 projectObj = self.getSelectedProjectObj()
3824 procUnitConfObj = projectObj.getProcUnitObjByName(name="SendToServer")
3778 procUnitConfObj = projectObj.getProcUnitObjByName(name="SendToServer")
3825
3779
3826 if not procUnitConfObj:
3780 if not procUnitConfObj:
3827 procUnitConfObj = projectObj.addProcUnit(name="SendToServer")
3781 procUnitConfObj = projectObj.addProcUnit(name="SendToServer")
3828 else:
3782 else:
3829 procUnitConfObj.removeOperations()
3783 procUnitConfObj.removeOperations()
3830
3784
3831 procUnitConfObj.addParameter(name='server', value=server, format='str')
3785 procUnitConfObj.addParameter(name='server', value=server, format='str')
3832 procUnitConfObj.addParameter(name='username', value=username, format='str')
3786 procUnitConfObj.addParameter(name='username', value=username, format='str')
3833 procUnitConfObj.addParameter(name='password', value=password, format='str')
3787 procUnitConfObj.addParameter(name='password', value=password, format='str')
3834 procUnitConfObj.addParameter(name='localfolder', value=localfolder, format='str')
3788 procUnitConfObj.addParameter(name='localfolder', value=localfolder, format='str')
3835 procUnitConfObj.addParameter(name='remotefolder', value=remotefolder, format='str')
3789 procUnitConfObj.addParameter(name='remotefolder', value=remotefolder, format='str')
3836 procUnitConfObj.addParameter(name='ext', value=extension, format='str')
3790 procUnitConfObj.addParameter(name='ext', value=extension, format='str')
3837 procUnitConfObj.addParameter(name='period', value=period, format='int')
3791 procUnitConfObj.addParameter(name='period', value=period, format='int')
3838 procUnitConfObj.addParameter(name='protocol', value=protocol, format='str')
3792 procUnitConfObj.addParameter(name='protocol', value=protocol, format='str')
3839
3793
3840 procUnitConfObj.addParameter(name='ftp_wei', value=ftp_wei, format='str')
3794 procUnitConfObj.addParameter(name='ftp_wei', value=ftp_wei, format='str')
3841 procUnitConfObj.addParameter(name='exp_code', value=exp_code, format='str')
3795 procUnitConfObj.addParameter(name='exp_code', value=exp_code, format='str')
3842 procUnitConfObj.addParameter(name='sub_exp_code', value=sub_exp_code, format='str')
3796 procUnitConfObj.addParameter(name='sub_exp_code', value=sub_exp_code, format='str')
3843 procUnitConfObj.addParameter(name='plot_pos', value=plot_pos, format='str')
3797 procUnitConfObj.addParameter(name='plot_pos', value=plot_pos, format='str')
3844
3798
3845 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
3799 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
3846
3800
3847 self.__ftpProcUnitAdded = True
3801 self.__ftpProcUnitAdded = True
3848 self.__ftpProcUnitId = procUnitConfObj.getId()
3802 self.__ftpProcUnitId = procUnitConfObj.getId()
3849
3803
3850 def removeFTPProcUnitView(self):
3804 def removeFTPProcUnitView(self):
3851
3805
3852 projectObj = self.getSelectedProjectObj()
3806 projectObj = self.getSelectedProjectObj()
3853 procUnitConfObj = projectObj.getProcUnitObjByName(name="SendToServer")
3807 procUnitConfObj = projectObj.getProcUnitObjByName(name="SendToServer")
3854
3808
3855 self.__ftpProcUnitAdded = False
3809 self.__ftpProcUnitAdded = False
3856 self.__ftpProcUnitId = None
3810 self.__ftpProcUnitId = None
3857
3811
3858 if not procUnitConfObj:
3812 if not procUnitConfObj:
3859 return
3813 return
3860
3814
3861 procUnitConfObj.removeOperations()
3815 procUnitConfObj.removeOperations()
3862
3816
3863 self.__puObjDict.pop(procUnitConfObj.getId())
3817 self.__puObjDict.pop(procUnitConfObj.getId())
3864
3818
3865 def bufferProject(self, caracteristica, principal, description):
3819 def bufferProject(self, caracteristica, principal, description):
3866
3820
3867 self.projectProperCaracteristica.append(caracteristica)
3821 self.projectProperCaracteristica.append(caracteristica)
3868 self.projectProperPrincipal.append(principal)
3822 self.projectProperPrincipal.append(principal)
3869 self.projectProperDescripcion.append(description)
3823 self.projectProperDescripcion.append(description)
3870 return self.projectProperCaracteristica, self.projectProperPrincipal, self.projectProperDescripcion
3824 return self.projectProperCaracteristica, self.projectProperPrincipal, self.projectProperDescripcion
3871
3825
3872
3826
3873 def showProjectProperties(self, projectObjView):
3827 def showProjectProperties(self, projectObjView):
3874
3828
3875 project_name, description = projectObjView.name, projectObjView.description
3829 project_name, description = projectObjView.name, projectObjView.description
3876
3830
3877 id = projectObjView.id
3831 id = projectObjView.id
3878 readUnitId = projectObjView.getReadUnitId()
3832 readUnitId = projectObjView.getReadUnitId()
3879 readUnitObj = projectObjView.getProcUnitObj(readUnitId)
3833 readUnitObj = projectObjView.getProcUnitObj(readUnitId)
3880 operationObj = readUnitObj.getOperationObj(name='run')
3834 operationObj = readUnitObj.getOperationObj(name='run')
3881
3835
3882
3836
3883 datatype = operationObj.getParameterValue(parameterName='datatype')
3837 datatype = operationObj.getParameterValue(parameterName='datatype')
3884 dpath = operationObj.getParameterValue(parameterName='path')
3838 dpath = operationObj.getParameterValue(parameterName='path')
3885 startDate = operationObj.getParameterValue(parameterName='startDate')
3839 startDate = operationObj.getParameterValue(parameterName='startDate')
3886 endDate = operationObj.getParameterValue(parameterName='endDate')
3840 endDate = operationObj.getParameterValue(parameterName='endDate')
3887 startDate = str(startDate)
3841 startDate = str(startDate)
3888 endDate = str(endDate)
3842 endDate = str(endDate)
3889 startDateList = startDate.split('-')
3843 startDateList = startDate.split('-')
3890 endDateList = endDate.split('-')
3844 endDateList = endDate.split('-')
3891 startDate = startDateList[0] + "/" + startDateList[1] + "/" + startDateList[2]
3845 startDate = startDateList[0] + "/" + startDateList[1] + "/" + startDateList[2]
3892 endDate = endDateList[0] + "/" + endDateList[1] + "/" + endDateList[2]
3846 endDate = endDateList[0] + "/" + endDateList[1] + "/" + endDateList[2]
3893
3847
3894 startTime = operationObj.getParameterValue(parameterName='startTime')
3848 startTime = operationObj.getParameterValue(parameterName='startTime')
3895 endTime = operationObj.getParameterValue(parameterName='endTime')
3849 endTime = operationObj.getParameterValue(parameterName='endTime')
3896 online = operationObj.getParameterValue(parameterName='online')
3850 online = operationObj.getParameterValue(parameterName='online')
3897 walk = operationObj.getParameterValue(parameterName='walk')
3851 walk = operationObj.getParameterValue(parameterName='walk')
3898 delay = operationObj.getParameterValue(parameterName='delay')
3852 delay = operationObj.getParameterValue(parameterName='delay')
3899 try:
3853 try:
3900 set = operationObj.getParameterValue(parameterName='set')
3854 set = operationObj.getParameterValue(parameterName='set')
3901 except:
3855 except:
3902 set = " "
3856 set = " "
3903
3857
3904 if online == 0:
3858 if online == 0:
3905 remode = "offline"
3859 remode = "offline"
3906 else:
3860 else:
3907 remode = "online"
3861 remode = "online"
3908
3862
3909 if walk == 0:
3863 if walk == 0:
3910 walk_str = 'On Files'
3864 walk_str = 'On Files'
3911 else:
3865 else:
3912 walk_str = 'On Folder'
3866 walk_str = 'On Folder'
3913
3867
3914 self.bufferProject("Properties", "Name", project_name),
3868 self.bufferProject("Properties", "Name", project_name),
3915 self.bufferProject("Properties", "Data Path", dpath)
3869 self.bufferProject("Properties", "Data Path", dpath)
3916 self.bufferProject("Properties", "Workspace", self.pathWorkSpace)
3870 self.bufferProject("Properties", "Workspace", self.pathWorkSpace)
3917 self.bufferProject("Parameters", "Read Mode ", remode)
3871 self.bufferProject("Parameters", "Read Mode ", remode)
3918 self.bufferProject("Parameters", "DataType ", datatype)
3872 self.bufferProject("Parameters", "DataType ", datatype)
3919 self.bufferProject("Parameters", "Start Date", str(startDate))
3873 self.bufferProject("Parameters", "Start Date", str(startDate))
3920 self.bufferProject("Parameters", "End Date ", str(endDate))
3874 self.bufferProject("Parameters", "End Date ", str(endDate))
3921 self.bufferProject("Parameters", "Start Time", str(startTime))
3875 self.bufferProject("Parameters", "Start Time", str(startTime))
3922 self.bufferProject("Parameters", "End Time ", str(endTime))
3876 self.bufferProject("Parameters", "End Time ", str(endTime))
3923 self.bufferProject("Parameters", "Delay ", str(delay))
3877 self.bufferProject("Parameters", "Delay ", str(delay))
3924 try:
3878 try:
3925 set = operationObj.getParameterValue(parameterName='set')
3879 set = operationObj.getParameterValue(parameterName='set')
3926 self.bufferProject("Parameters", "Set ", set)
3880 self.bufferProject("Parameters", "Set ", set)
3927 except:
3881 except:
3928 set = " "
3882 set = " "
3929 self.bufferProject("Parameters", "Walk ", str(walk_str))
3883 self.bufferProject("Parameters", "Walk ", str(walk_str))
3930 self.bufferProject("Parameters", "Time zone", "Local")
3884 self.bufferProject("Parameters", "Time zone", "Local")
3931 self.bufferProject("Description", "Summary ", description)
3885 self.bufferProject("Description", "Summary ", description)
3932
3886
3933 self.propertiesModel = treeModel()
3887 self.propertiesModel = treeModel()
3934 self.propertiesModel.showProjectParms(self.projectProperCaracteristica, self.projectProperPrincipal, self.projectProperDescripcion)
3888 self.propertiesModel.showProjectParms(self.projectProperCaracteristica, self.projectProperPrincipal, self.projectProperDescripcion)
3935 self.treeProjectProperties.setModel(self.propertiesModel)
3889 self.treeProjectProperties.setModel(self.propertiesModel)
3936 self.treeProjectProperties.expandAll()
3890 self.treeProjectProperties.expandAll()
3937 self.treeProjectProperties.resizeColumnToContents(0)
3891 self.treeProjectProperties.resizeColumnToContents(0)
3938 self.treeProjectProperties.resizeColumnToContents(1)
3892 self.treeProjectProperties.resizeColumnToContents(1)
3939
3893
3940 self.projectProperCaracteristica = []
3894 self.projectProperCaracteristica = []
3941 self.projectProperPrincipal = []
3895 self.projectProperPrincipal = []
3942 self.projectProperDescripcion = []
3896 self.projectProperDescripcion = []
3943
3897
3944 return datatype , dpath , startDate , endDate, startTime, endTime, online, delay, walk, set
3898 return datatype , dpath , startDate , endDate, startTime, endTime, online, delay, walk, set
3945
3899
3946 def showPUinitView(self):
3900 def showPUinitView(self):
3947 self.propertiesModel = treeModel()
3901 self.propertiesModel = treeModel()
3948 self.propertiesModel.initPUVoltageView()
3902 self.propertiesModel.initPUVoltageView()
3949 self.treeProjectProperties.setModel(self.propertiesModel)
3903 self.treeProjectProperties.setModel(self.propertiesModel)
3950 self.treeProjectProperties.expandAll()
3904 self.treeProjectProperties.expandAll()
3951 self.treeProjectProperties.allColumnsShowFocus()
3905 self.treeProjectProperties.allColumnsShowFocus()
3952 self.treeProjectProperties.resizeColumnToContents(1)
3906 self.treeProjectProperties.resizeColumnToContents(1)
3953
3907
3954 def bufferVoltage(self, caracteristica, principal, description):
3908 def bufferVoltage(self, caracteristica, principal, description):
3955 self.volProperCaracteristica.append(caracteristica)
3909 self.volProperCaracteristica.append(caracteristica)
3956 self.volProperPrincipal.append(principal)
3910 self.volProperPrincipal.append(principal)
3957 self.volProperDescripcion.append(description)
3911 self.volProperDescripcion.append(description)
3958 return self.volProperCaracteristica, self.volProperPrincipal, self.volProperDescripcion
3912 return self.volProperCaracteristica, self.volProperPrincipal, self.volProperDescripcion
3959
3913
3960 def showPUVoltageProperties(self, puObj):
3914 def showPUVoltageProperties(self, puObj):
3961
3915
3962
3916
3963 type = puObj.name
3917 type = puObj.name
3964 self.bufferVoltage("Processing Unit", "Type", type)
3918 self.bufferVoltage("Processing Unit", "Type", type)
3965
3919
3966 opObj = puObj.getOperationObj(name="setRadarFrequency")
3920 opObj = puObj.getOperationObj(name="setRadarFrequency")
3967 if opObj == None:
3921 if opObj == None:
3968 radarfrequency = None
3922 radarfrequency = None
3969 else:
3923 else:
3970 value = opObj.getParameterValue(parameterName='frequency')
3924 value = opObj.getParameterValue(parameterName='frequency')
3971 value = str(value)
3925 value = str(value)
3972 radarfrequency = value
3926 radarfrequency = value
3973 self.bufferVoltage("Processing Unit", "Radar Frequency", radarfrequency)
3927 self.bufferVoltage("Processing Unit", "Radar Frequency", radarfrequency)
3974
3928
3975 opObj = puObj.getOperationObj(name="selectChannels")
3929 opObj = puObj.getOperationObj(name="selectChannels")
3976 if opObj == None:
3930 if opObj == None:
3977 channel = None
3931 channel = None
3978 else:
3932 else:
3979 value = opObj.getParameterValue(parameterName='channelList')
3933 value = opObj.getParameterValue(parameterName='channelList')
3980 value = str(value)[1:-1]
3934 value = str(value)#[1:-1]
3981 channel = value
3935 channel = value
3982 self.bufferVoltage("Processing Unit", "Select Channel", channel)
3936 self.bufferVoltage("Processing Unit", "Select Channel", channel)
3983
3937
3984
3938
3985
3939
3986 opObj = puObj.getOperationObj(name="selectHeights")
3940 opObj = puObj.getOperationObj(name="selectHeights")
3987 if opObj == None:
3941 if opObj == None:
3988 heights = None
3942 heights = None
3989 else:
3943 else:
3990 value1 = int(opObj.getParameterValue(parameterName='minHei'))
3944 value1 = int(opObj.getParameterValue(parameterName='minHei'))
3991 value1 = str(value1)
3945 value1 = str(value1)
3992 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
3946 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
3993 value2 = str(value2)
3947 value2 = str(value2)
3994 value = value1 + "," + value2
3948 value = value1 + "," + value2
3995 heights = value
3949 heights = value
3996 self.bufferVoltage("Processing Unit", "Select Heights", heights)
3950 self.bufferVoltage("Processing Unit", "Select Heights", heights)
3997
3951
3998
3952
3999 opObj = puObj.getOperationObj(name="filterByHeights")
3953 opObj = puObj.getOperationObj(name="filterByHeights")
4000 if opObj == None:
3954 if opObj == None:
4001 filter = None
3955 filter = None
4002 else:
3956 else:
4003 value = opObj.getParameterValue(parameterName='window')
3957 value = opObj.getParameterValue(parameterName='window')
4004 value = str(value)
3958 value = str(value)
4005 filter = value
3959 filter = value
4006 self.bufferVoltage("Processing Unit", "Filter", filter)
3960 self.bufferVoltage("Processing Unit", "Filter", filter)
4007
3961
4008
3962
4009 opObj = puObj.getOperationObj(name="ProfileSelector")
3963 opObj = puObj.getOperationObj(name="ProfileSelector")
4010 if opObj == None:
3964 if opObj == None:
4011 profile = None
3965 profile = None
4012 else:
3966 else:
4013 for parmObj in opObj.getParameterObjList():
3967 for parmObj in opObj.getParameterObjList():
4014 if parmObj.name == "profileRangeList":
3968 if parmObj.name == "profileRangeList":
4015 value = opObj.getParameterValue(parameterName='profileRangeList')
3969 value = opObj.getParameterValue(parameterName='profileRangeList')
4016 value = str(value)[1:-1]
3970 value = str(value)#[1:-1]
4017 profile = value
3971 profile = value
4018 self.bufferVoltage("Processing Unit", "Select Profile", profile)
3972 self.bufferVoltage("Processing Unit", "Select Profile", profile)
4019
3973
4020 if parmObj.name == "profileList":
3974 if parmObj.name == "profileList":
4021 value = opObj.getParameterValue(parameterName='profileList')
3975 value = opObj.getParameterValue(parameterName='profileList')
4022 value = str(value)[1:-1]
3976 value = str(value)#[1:-1]
4023 profile = value
3977 profile = value
4024 self.bufferVoltage("Processing Unit", "Select Profile", profile)
3978 self.bufferVoltage("Processing Unit", "Select Profile", profile)
4025
3979
4026 opObj = puObj.getOperationObj(name="CohInt")
4027 if opObj == None:
4028 coherentintegration = None
4029 else:
4030 value = opObj.getParameterValue(parameterName='n')
4031 coherentintegration = value
4032 self.bufferVoltage("Processing Unit", "Coherente Integration", coherentintegration)
4033
4034
4035
3980
4036 opObj = puObj.getOperationObj(name="Decoder")
3981 opObj = puObj.getOperationObj(name="Decoder")
4037 if opObj == None:
3982 if opObj == None:
4038 self.volOpCebDecodification.setCheckState(0)
3983 self.volOpCebDecodification.setCheckState(0)
4039 code = None
3984 code = None
4040 mode = None
3985 mode = None
4041 else:
3986 else:
4042 self.volOpCebDecodification.setCheckState(QtCore.Qt.Checked)
3987 self.volOpCebDecodification.setCheckState(QtCore.Qt.Checked)
4043 try:
3988 try:
4044 valueBaud = opObj.getParameterValue(parameterName='nBaud')
3989 code = opObj.getParameterValue(parameterName='code')
3990 nBaud = opObj.getParameterValue(parameterName='nBaud')
3991 nCode = opObj.getParameterValue(parameterName='nCode')
3992 code = numpy.array(code).reshape(nCode,nBaud)
4045 except:
3993 except:
4046 status = "off"
4047 try:
4048 valueCode = opObj.getParameterValue(parameterName='nCode')
4049 status = "on"
4050 except:
4051 status = "off"
4052
4053 if not status == "off":
4054 if int(valueCode) == 1:
4055 Comp = ""
4056 else:
4057 Comp = "+" + "Comp."
4058 code = "Barker" + str(valueBaud) + str(Comp)
4059 else:
4060 code = "Default"
3994 code = "Default"
4061 self.bufferVoltage("Decodification", "Code", code)
3995
3996 self.bufferVoltage("Processing Unit", "Code", str(code).replace('\n',''))
4062
3997
4063 try:
3998 try:
4064 value = opObj.getParameterValue(parameterName='mode')
3999 value = opObj.getParameterValue(parameterName='mode')
4065 status = "on"
4066 except:
4067 status = "off"
4068
4069 if not status == "off":
4070 self.volOpComMode.setCurrentIndex(value)
4071 if int(value) == 0:
4000 if int(value) == 0:
4072 mode = "Time"
4001 mode = "Time"
4073 else:
4002 else:
4074 mode = "freq" + str(value)
4003 mode = "freq" + str(value)
4075 else:
4004 except:
4076 mode = "Default"
4005 mode = "Default"
4077 self.bufferVoltage("Decodification", "Mode", mode)
4006 self.bufferVoltage("Processing Unit", "Decoder mode", mode)
4007
4008 opObj = puObj.getOperationObj(name="deFlip")
4009 if opObj == None:
4010 value = None
4011 else:
4012 try:
4013 value = opObj.getParameterValue(parameterName='channelList')
4014 value = str(value)
4015 except:
4016 value = "All channels"
4017
4018 self.bufferVoltage("Processing Unit", "Flip", value)
4019
4020 opObj = puObj.getOperationObj(name="CohInt")
4021 if opObj == None:
4022 coherentintegration = None
4023 else:
4024 value = opObj.getParameterValue(parameterName='n')
4025 coherentintegration = value
4026 self.bufferVoltage("Processing Unit", "Coh Int", coherentintegration)
4027
4078
4028
4079 # graph
4029 # graph
4080 # opObj = puObj.getOperationObj(name='Plot')
4030 # opObj = puObj.getOperationObj(name='Plot')
4081 opObj = puObj.getOperationObj(name='Scope')
4031 opObj = puObj.getOperationObj(name='Scope')
4082 if opObj == None:
4032 if opObj == None:
4083 self.volGraphCebshow.setCheckState(0)
4033 self.volGraphCebshow.setCheckState(0)
4084 operation = "Disabled"
4034 operation = "Disabled"
4085 channelList = None
4035 channelList = None
4086 freq_vel = None
4036 freq_vel = None
4087 heightsrange = None
4037 heightsrange = None
4088 else:
4038 else:
4089 operation = 'Enabled'
4039 operation = 'Enabled'
4090 self.bufferVoltage("Scope", "Operation", operation),
4040 self.bufferVoltage("Scope", "Operation", operation),
4091 self.volGraphCebshow.setCheckState(QtCore.Qt.Checked)
4041 self.volGraphCebshow.setCheckState(QtCore.Qt.Checked)
4092 value = opObj.getParameterObj(parameterName='channelList')
4042 value = opObj.getParameterObj(parameterName='channelList')
4093 if value == None:
4043 if value == None:
4094 channelList = None
4044 channelList = None
4095 else:
4045 else:
4096 value = opObj.getParameterValue(parameterName='channelList')
4046 value = opObj.getParameterValue(parameterName='channelList')
4097 value = str(value)[1:-1]
4047 value = str(value)[1:-1]
4098 channelList = value
4048 channelList = value
4099 self.bufferVoltage("Scope", "Channel List", channelList)
4049 self.bufferVoltage("Scope", "Channel List", channelList)
4100
4050
4101
4051
4102 value1 = opObj.getParameterObj(parameterName='xmin')
4052 value1 = opObj.getParameterObj(parameterName='xmin')
4103 if value1 == None:
4053 if value1 == None:
4104 freq_vel = None
4054 freq_vel = None
4105 else:
4055 else:
4106 value1 = opObj.getParameterValue(parameterName='xmin')
4056 value1 = opObj.getParameterValue(parameterName='xmin')
4107 value1 = str(value1)
4057 value1 = str(value1)
4108 value2 = opObj.getParameterObj(parameterName='xmax')
4058 value2 = opObj.getParameterObj(parameterName='xmax')
4109 if value2 == None:
4059 if value2 == None:
4110 freq_vel = None
4060 freq_vel = None
4111 else:
4061 else:
4112 value2 = opObj.getParameterValue(parameterName='xmax')
4062 value2 = opObj.getParameterValue(parameterName='xmax')
4113 value2 = str(value2)
4063 value2 = str(value2)
4114 value = value1 + "," + value2
4064 value = value1 + "," + value2
4115 freq_vel = value
4065 freq_vel = value
4116 self.bufferVoltage("Scope", "Freq/Vel", freq_vel)
4066 self.bufferVoltage("Scope", "Freq/Vel", freq_vel)
4117
4067
4118 value1 = opObj.getParameterObj(parameterName='ymin')
4068 value1 = opObj.getParameterObj(parameterName='ymin')
4119 if value1 == None:
4069 if value1 == None:
4120 heightsrange = None
4070 heightsrange = None
4121 else:
4071 else:
4122 value1 = opObj.getParameterValue(parameterName='ymin')
4072 value1 = opObj.getParameterValue(parameterName='ymin')
4123 value1 = str(value1)
4073 value1 = str(value1)
4124 value2 = opObj.getParameterObj(parameterName='ymax')
4074 value2 = opObj.getParameterObj(parameterName='ymax')
4125 if value2 == None:
4075 if value2 == None:
4126 fheightsrange = None
4076 fheightsrange = None
4127 else:
4077 else:
4128 value2 = opObj.getParameterValue(parameterName='ymax')
4078 value2 = opObj.getParameterValue(parameterName='ymax')
4129 value2 = str(value2)
4079 value2 = str(value2)
4130 value = value1 + "," + value2
4080 value = value1 + "," + value2
4131 heightsrange = value
4081 heightsrange = value
4132 self.bufferVoltage("Scope", "Height Range", heightsrange)
4082 self.bufferVoltage("Scope", "Height Range", heightsrange)
4133
4083
4134 parmObj = opObj.getParameterObj(parameterName="figpath")
4084 parmObj = opObj.getParameterObj(parameterName="figpath")
4135 if parmObj == None:
4085 if parmObj == None:
4136 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
4086 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
4137 figpath = None
4087 figpath = None
4138 else:
4088 else:
4139 self.volGraphCebSave.setCheckState(QtCore.Qt.Checked)
4089 self.volGraphCebSave.setCheckState(QtCore.Qt.Checked)
4140 value = opObj.getParameterValue(parameterName='figpath')
4090 value = opObj.getParameterValue(parameterName='figpath')
4141 figpath = value
4091 figpath = value
4142 self.bufferVoltage("Scope", "Path", figpath)
4092 self.bufferVoltage("Scope", "Path", figpath)
4143 # outputVoltageWrite
4093 # outputVoltageWrite
4144 opObj = puObj.getOperationObj(name='VoltageWriter')
4094 opObj = puObj.getOperationObj(name='VoltageWriter')
4145 if opObj == None:
4095 if opObj == None:
4146 pass
4096 pass
4147 else:
4097 else:
4148 operation = 'Enabled'
4098 operation = 'Enabled'
4149 self.bufferVoltage("Output", "Operation", operation)
4099 self.bufferVoltage("Output", "Operation", operation)
4150 value = opObj.getParameterObj(parameterName='path')
4100 value = opObj.getParameterObj(parameterName='path')
4151 if value == None:
4101 if value == None:
4152 path = None
4102 path = None
4153 else:
4103 else:
4154 value = opObj.getParameterValue(parameterName='path')
4104 value = opObj.getParameterValue(parameterName='path')
4155 path = str(value)
4105 path = str(value)
4156 self.bufferVoltage("Output", "Path", path)
4106 self.bufferVoltage("Output", "Path", path)
4157 value = opObj.getParameterObj(parameterName='blocksPerFile')
4107 value = opObj.getParameterObj(parameterName='blocksPerFile')
4158 if value == None:
4108 if value == None:
4159 blocksperfile = None
4109 blocksperfile = None
4160 else:
4110 else:
4161 value = opObj.getParameterValue(parameterName='blocksPerFile')
4111 value = opObj.getParameterValue(parameterName='blocksPerFile')
4162 blocksperfile = str(value)
4112 blocksperfile = str(value)
4163 self.bufferVoltage("Output", "BlocksPerFile", blocksperfile)
4113 self.bufferVoltage("Output", "BlocksPerFile", blocksperfile)
4164 value = opObj.getParameterObj(parameterName='profilesPerBlock')
4114 value = opObj.getParameterObj(parameterName='profilesPerBlock')
4165 if value == None:
4115 if value == None:
4166 profilesPerBlock = None
4116 profilesPerBlock = None
4167 else:
4117 else:
4168 value = opObj.getParameterValue(parameterName='profilesPerBlock')
4118 value = opObj.getParameterValue(parameterName='profilesPerBlock')
4169 profilesPerBlock = str(value)
4119 profilesPerBlock = str(value)
4170 self.bufferVoltage("Output", "ProfilesPerBlock", profilesPerBlock)
4120 self.bufferVoltage("Output", "ProfilesPerBlock", profilesPerBlock)
4171
4121
4172
4122
4173 # set model PU Properties
4123 # set model PU Properties
4174
4124
4175 self.propertiesModel = treeModel()
4125 self.propertiesModel = treeModel()
4176 self.propertiesModel.showPUVoltageParms(self.volProperCaracteristica, self.volProperPrincipal, self.volProperDescripcion)
4126 self.propertiesModel.showPUVoltageParms(self.volProperCaracteristica, self.volProperPrincipal, self.volProperDescripcion)
4177 self.volProperCaracteristica = []
4127 self.volProperCaracteristica = []
4178 self.volProperPrincipal = []
4128 self.volProperPrincipal = []
4179 self.volProperDescripcion = []
4129 self.volProperDescripcion = []
4180 self.treeProjectProperties.setModel(self.propertiesModel)
4130 self.treeProjectProperties.setModel(self.propertiesModel)
4181 self.treeProjectProperties.expandAll()
4131 self.treeProjectProperties.expandAll()
4182 self.treeProjectProperties.allColumnsShowFocus()
4132 self.treeProjectProperties.allColumnsShowFocus()
4183 self.treeProjectProperties.resizeColumnToContents(0)
4133 self.treeProjectProperties.resizeColumnToContents(0)
4184 self.treeProjectProperties.resizeColumnToContents(1)
4134 self.treeProjectProperties.resizeColumnToContents(1)
4185
4135
4186 def bufferSpectra(self, caracteristica, principal, description):
4136 def bufferSpectra(self, caracteristica, principal, description):
4187 self.specProperCaracteristica.append(caracteristica)
4137 self.specProperCaracteristica.append(caracteristica)
4188 self.specProperPrincipal.append(principal)
4138 self.specProperPrincipal.append(principal)
4189 self.specProperDescripcion.append(description)
4139 self.specProperDescripcion.append(description)
4190 return self.specProperCaracteristica, self.specProperPrincipal, self.specProperDescripcion
4140 return self.specProperCaracteristica, self.specProperPrincipal, self.specProperDescripcion
4191
4141
4192 def showPUSpectraProperties(self, puObj):
4142 def showPUSpectraProperties(self, puObj):
4193 type = puObj.name
4143 type = puObj.name
4194 self.bufferSpectra("Processing Unit", "Type", type)
4144 self.bufferSpectra("Processing Unit", "Type", type)
4195
4145
4196 opObj = puObj.getOperationObj(name="setRadarFrequency")
4146 opObj = puObj.getOperationObj(name="setRadarFrequency")
4197 if opObj == None:
4147 if opObj == None:
4198 radarfrequency = None
4148 radarfrequency = None
4199 else:
4149 else:
4200 value = opObj.getParameterValue(parameterName='frequency')
4150 value = opObj.getParameterValue(parameterName='frequency')
4201 value = str(value)
4151 value = str(value)
4202 radarfrequency = value
4152 radarfrequency = value
4203 self.bufferSpectra("Processing Unit", "Radar Frequency", radarfrequency)
4153 self.bufferSpectra("Processing Unit", "Radar Frequency", radarfrequency)
4204
4154
4205
4155
4206 opObj = puObj.getOperationObj(name="run")
4156 opObj = puObj.getOperationObj(name="run")
4207 if opObj == None:
4157 if opObj == None:
4208 self.specOpnFFTpoints.clear()
4158 self.specOpnFFTpoints.clear()
4209 self.specOpProfiles.clear()
4159 self.specOpProfiles.clear()
4210 self.specOpippFactor.clear()
4160 self.specOpippFactor.clear()
4211 else:
4161 else:
4212 parmObj = opObj.getParameterObj(parameterName='nProfiles')
4162 parmObj = opObj.getParameterObj(parameterName='nProfiles')
4213 if parmObj == None:
4163 if parmObj == None:
4214 nProfiles = None
4164 nProfiles = None
4215 else:
4165 else:
4216 value = opObj.getParameterValue(parameterName='nProfiles')
4166 value = opObj.getParameterValue(parameterName='nProfiles')
4217 nProfiles = value
4167 nProfiles = value
4218 self.bufferSpectra("Processing Unit", "nProfiles", nProfiles)
4168 self.bufferSpectra("Processing Unit", "nProfiles", nProfiles)
4219
4169
4220 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
4170 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
4221 if parmObj == None:
4171 if parmObj == None:
4222 nFFTPoints = None
4172 nFFTPoints = None
4223 else:
4173 else:
4224 value = opObj.getParameterValue(parameterName='nFFTPoints')
4174 value = opObj.getParameterValue(parameterName='nFFTPoints')
4225 nFFTPoints = value
4175 nFFTPoints = value
4226 self.bufferSpectra("Processing Unit", "nFFTpoints", nFFTPoints)
4176 self.bufferSpectra("Processing Unit", "nFFTpoints", nFFTPoints)
4227
4177
4228 parmObj = opObj.getParameterObj(parameterName='ippFactor')
4178 parmObj = opObj.getParameterObj(parameterName='ippFactor')
4229 if parmObj == None:
4179 if parmObj == None:
4230 ippFactor = None
4180 ippFactor = None
4231 else:
4181 else:
4232 value = opObj.getParameterValue(parameterName='ippFactor')
4182 value = opObj.getParameterValue(parameterName='ippFactor')
4233 ippFactor = value
4183 ippFactor = value
4234 self.bufferSpectra("Processing Unit", "Ipp Factor", ippFactor)
4184 self.bufferSpectra("Processing Unit", "Ipp Factor", ippFactor)
4235
4185
4236
4186
4237 opObj = puObj.getOperationObj(name="run")
4187 opObj = puObj.getOperationObj(name="run")
4238 if opObj == None:
4188 if opObj == None:
4239 pairsList = None
4189 pairsList = None
4240 else:
4190 else:
4241 parm = opObj.getParameterObj(parameterName='pairsList')
4191 parm = opObj.getParameterObj(parameterName='pairsList')
4242 if parm == None:
4192 if parm == None:
4243 pairsList = None
4193 pairsList = None
4244 else:
4194 else:
4245 value = opObj.getParameterValue(parameterName='pairsList')
4195 value = opObj.getParameterValue(parameterName='pairsList')
4246 value = str(value)[1:-1]
4196 value = str(value)[1:-1]
4247 pairsList = value
4197 pairsList = value
4248 self.bufferSpectra("Processing Unit", "PairsList", pairsList)
4198 self.bufferSpectra("Processing Unit", "PairsList", pairsList)
4249
4199
4250
4200
4251 opObj = puObj.getOperationObj(name="selectChannels")
4201 opObj = puObj.getOperationObj(name="selectChannels")
4252 if opObj == None:
4202 if opObj == None:
4253 channel = None
4203 channel = None
4254 else:
4204 else:
4255 value = opObj.getParameterValue(parameterName='channelList')
4205 value = opObj.getParameterValue(parameterName='channelList')
4256 value = str(value)[1:-1]
4206 value = str(value)[1:-1]
4257 channel = value
4207 channel = value
4258 self.bufferSpectra("Processing Unit", "Channel", channel)
4208 self.bufferSpectra("Processing Unit", "Channel", channel)
4259
4209
4260 opObj = puObj.getOperationObj(name="selectHeights")
4210 opObj = puObj.getOperationObj(name="selectHeights")
4261 if opObj == None:
4211 if opObj == None:
4262 heights = None
4212 heights = None
4263 else:
4213 else:
4264 value1 = int(opObj.getParameterValue(parameterName='minHei'))
4214 value1 = int(opObj.getParameterValue(parameterName='minHei'))
4265 value1 = str(value1)
4215 value1 = str(value1)
4266 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
4216 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
4267 value2 = str(value2)
4217 value2 = str(value2)
4268 value = value1 + "," + value2
4218 value = value1 + "," + value2
4269 heights = value
4219 heights = value
4270 self.bufferSpectra("Processing Unit", "Heights", heights)
4220 self.bufferSpectra("Processing Unit", "Heights", heights)
4271
4221
4272 opObj = puObj.getOperationObj(name="IncohInt")
4222 opObj = puObj.getOperationObj(name="IncohInt")
4273 if opObj == None:
4223 if opObj == None:
4274 incoherentintegration = None
4224 incoherentintegration = None
4275 else:
4225 else:
4276 try:
4226 try:
4277 value = opObj.getParameterValue(parameterName='timeInterval')
4227 value = opObj.getParameterValue(parameterName='timeInterval')
4278 except:
4228 except:
4279 value = opObj.getParameterValue(parameterName='n')
4229 value = opObj.getParameterValue(parameterName='n')
4280
4230
4281 value = float(value)
4231 value = float(value)
4282 incoherentintegration = str(value)
4232 incoherentintegration = str(value)
4283 self.bufferSpectra("Processing Unit", "Incoherent Integration", incoherentintegration)
4233 self.bufferSpectra("Processing Unit", "Incoherent Integration", incoherentintegration)
4284
4234
4285
4235
4286 opObj = puObj.getOperationObj(name="removeDC")
4236 opObj = puObj.getOperationObj(name="removeDC")
4287 if opObj == None:
4237 if opObj == None:
4288 removeDC = None
4238 removeDC = None
4289 else:
4239 else:
4290 value = opObj.getParameterValue(parameterName='mode')
4240 value = opObj.getParameterValue(parameterName='mode')
4291 self.bufferSpectra("Processing Unit", "Remove DC", value)
4241 self.bufferSpectra("Processing Unit", "Remove DC", value)
4292
4242
4293 opObj = puObj.getOperationObj(name="removeInterference")
4243 opObj = puObj.getOperationObj(name="removeInterference")
4294 if opObj == None:
4244 if opObj == None:
4295 removeInterference = None
4245 removeInterference = None
4296 else:
4246 else:
4297 self.bufferSpectra("Processing Unit", "Remove Interference", "1")
4247 self.bufferSpectra("Processing Unit", "Remove Interference", "1")
4298
4248
4299 opObj = puObj.getOperationObj(name="getNoise")
4249 opObj = puObj.getOperationObj(name="getNoise")
4300 if opObj == None:
4250 if opObj == None:
4301 getNoise = None
4251 getNoise = None
4302 else:
4252 else:
4303 value1 = opObj.getParameterObj(parameterName='minHei')
4253 value1 = opObj.getParameterObj(parameterName='minHei')
4304 if value1 == None:
4254 if value1 == None:
4305 getNoise = None
4255 getNoise = None
4306 getNoise = "Default"
4256 getNoise = "Default"
4307 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4257 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4308
4258
4309 else:
4259 else:
4310 value1 = opObj.getParameterValue(parameterName='minHei')
4260 value1 = opObj.getParameterValue(parameterName='minHei')
4311 value1 = str(value1)
4261 value1 = str(value1)
4312 value2 = opObj.getParameterObj(parameterName='maxHei')
4262 value2 = opObj.getParameterObj(parameterName='maxHei')
4313 if value2 == None:
4263 if value2 == None:
4314 getNoise = None
4264 getNoise = None
4315 value = value1
4265 value = value1
4316 getNoise = value
4266 getNoise = value
4317 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4267 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4318 else:
4268 else:
4319 value2 = opObj.getParameterValue(parameterName='maxHei')
4269 value2 = opObj.getParameterValue(parameterName='maxHei')
4320 value2 = str(value2)
4270 value2 = str(value2)
4321 value3 = opObj.getParameterObj(parameterName='minVel')
4271 value3 = opObj.getParameterObj(parameterName='minVel')
4322 if value3 == None:
4272 if value3 == None:
4323 getNoise = None
4273 getNoise = None
4324 value = value1 + "," + value2
4274 value = value1 + "," + value2
4325 getNoise = value
4275 getNoise = value
4326 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4276 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4327 else:
4277 else:
4328 value3 = opObj.getParameterValue(parameterName='minVel')
4278 value3 = opObj.getParameterValue(parameterName='minVel')
4329 value3 = str(value3)
4279 value3 = str(value3)
4330 value4 = opObj.getParameterObj(parameterName='maxVel')
4280 value4 = opObj.getParameterObj(parameterName='maxVel')
4331 if value4 == None:
4281 if value4 == None:
4332 getNoise = None
4282 getNoise = None
4333 value = value1 + "," + value2 + ',' + value3
4283 value = value1 + "," + value2 + ',' + value3
4334 getNoise = value
4284 getNoise = value
4335 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4285 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4336 else:
4286 else:
4337 value4 = opObj.getParameterValue(parameterName='maxVel')
4287 value4 = opObj.getParameterValue(parameterName='maxVel')
4338 value4 = str(value4)
4288 value4 = str(value4)
4339 value = value1 + "," + value2 + ',' + value3 + ',' + value4
4289 value = value1 + "," + value2 + ',' + value3 + ',' + value4
4340 getNoise = value
4290 getNoise = value
4341 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4291 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4342
4292
4343 opObj = puObj.getOperationObj(name='SpectraPlot')
4293 opObj = puObj.getOperationObj(name='SpectraPlot')
4344 # opObj = puObj.getOpObjfromParamValue(value="SpectraPlot")
4294 # opObj = puObj.getOpObjfromParamValue(value="SpectraPlot")
4345
4295
4346 if opObj == None:
4296 if opObj == None:
4347 operationSpectraPlot = "Disabled"
4297 operationSpectraPlot = "Disabled"
4348 freq_vel = None
4298 freq_vel = None
4349 heightsrange = None
4299 heightsrange = None
4350 channelListSpectraPlot = None
4300 channelListSpectraPlot = None
4351 else:
4301 else:
4352 operationSpectraPlot = "Enable"
4302 operationSpectraPlot = "Enable"
4353 self.bufferSpectra("Spectra Plot", "Operation", operationSpectraPlot)
4303 self.bufferSpectra("Spectra Plot", "Operation", operationSpectraPlot)
4354 parmObj = opObj.getParameterObj(parameterName='channelList')
4304 parmObj = opObj.getParameterObj(parameterName='channelList')
4355 if parmObj == None:
4305 if parmObj == None:
4356 channelListSpectraPlot = None
4306 channelListSpectraPlot = None
4357 else:
4307 else:
4358 value = opObj.getParameterValue(parameterName='channelList')
4308 value = opObj.getParameterValue(parameterName='channelList')
4359 channelListSpectraPlot = str(value)[1:-1]
4309 channelListSpectraPlot = str(value)[1:-1]
4360 self.bufferSpectra("Spectra Plot", "Channel List", channelListSpectraPlot)
4310 self.bufferSpectra("Spectra Plot", "Channel List", channelListSpectraPlot)
4361
4311
4362
4312
4363 value1 = opObj.getParameterObj(parameterName='xmin')
4313 value1 = opObj.getParameterObj(parameterName='xmin')
4364 if value1 == None:
4314 if value1 == None:
4365 freq_vel = None
4315 freq_vel = None
4366 else:
4316 else:
4367 value1 = opObj.getParameterValue(parameterName='xmin')
4317 value1 = opObj.getParameterValue(parameterName='xmin')
4368 value1 = str(value1)
4318 value1 = str(value1)
4369 value2 = opObj.getParameterObj(parameterName='xmax')
4319 value2 = opObj.getParameterObj(parameterName='xmax')
4370 if value2 == None:
4320 if value2 == None:
4371 freq_vel = None
4321 freq_vel = None
4372 else:
4322 else:
4373 value2 = opObj.getParameterValue(parameterName='xmax')
4323 value2 = opObj.getParameterValue(parameterName='xmax')
4374 value2 = str(value2)
4324 value2 = str(value2)
4375 value = value1 + "," + value2
4325 value = value1 + "," + value2
4376 freq_vel = value
4326 freq_vel = value
4377 self.bufferSpectra("Spectra Plot", "Freq/Vel", freq_vel)
4327 self.bufferSpectra("Spectra Plot", "Freq/Vel", freq_vel)
4378
4328
4379 value1 = opObj.getParameterObj(parameterName='ymin')
4329 value1 = opObj.getParameterObj(parameterName='ymin')
4380 if value1 == None:
4330 if value1 == None:
4381 heightsrange = None
4331 heightsrange = None
4382 else:
4332 else:
4383 value1 = opObj.getParameterValue(parameterName='ymin')
4333 value1 = opObj.getParameterValue(parameterName='ymin')
4384 value1 = str(value1)
4334 value1 = str(value1)
4385 value2 = opObj.getParameterObj(parameterName='ymax')
4335 value2 = opObj.getParameterObj(parameterName='ymax')
4386 if value2 == None:
4336 if value2 == None:
4387 fheightsrange = None
4337 fheightsrange = None
4388 else:
4338 else:
4389 value2 = opObj.getParameterValue(parameterName='ymax')
4339 value2 = opObj.getParameterValue(parameterName='ymax')
4390 value2 = str(value2)
4340 value2 = str(value2)
4391 value = value1 + "," + value2
4341 value = value1 + "," + value2
4392 heightsrange = value
4342 heightsrange = value
4393 self.bufferSpectra("Spectra Plot", "Height Range", heightsrange)
4343 self.bufferSpectra("Spectra Plot", "Height Range", heightsrange)
4394
4344
4395 value1 = opObj.getParameterObj(parameterName='zmin')
4345 value1 = opObj.getParameterObj(parameterName='zmin')
4396 if value1 == None:
4346 if value1 == None:
4397 dBrange = None
4347 dBrange = None
4398 else:
4348 else:
4399 value1 = opObj.getParameterValue(parameterName='zmin')
4349 value1 = opObj.getParameterValue(parameterName='zmin')
4400 value1 = str(value1)
4350 value1 = str(value1)
4401 value2 = opObj.getParameterObj(parameterName='zmax')
4351 value2 = opObj.getParameterObj(parameterName='zmax')
4402 if value2 == None:
4352 if value2 == None:
4403 fdBrange = None
4353 fdBrange = None
4404 else:
4354 else:
4405 value2 = opObj.getParameterValue(parameterName='zmax')
4355 value2 = opObj.getParameterValue(parameterName='zmax')
4406 value2 = str(value2)
4356 value2 = str(value2)
4407 value = value1 + "," + value2
4357 value = value1 + "," + value2
4408 dbrange = value
4358 dbrange = value
4409 self.bufferSpectra("Spectra Plot", "dB Range", dbrange)
4359 self.bufferSpectra("Spectra Plot", "dB Range", dbrange)
4410
4360
4411 parmObj = opObj.getParameterObj(parameterName="figpath")
4361 parmObj = opObj.getParameterObj(parameterName="figpath")
4412 if parmObj == None:
4362 if parmObj == None:
4413 path = None
4363 path = None
4414 else:
4364 else:
4415 path = opObj.getParameterValue(parameterName='figpath')
4365 path = opObj.getParameterValue(parameterName='figpath')
4416 self.bufferSpectra("Spectra Plot", "Save Path", path)
4366 self.bufferSpectra("Spectra Plot", "Save Path", path)
4417
4367
4418 parmObj = opObj.getParameterObj(parameterName="ftp")
4368 parmObj = opObj.getParameterObj(parameterName="ftp")
4419 if parmObj == None:
4369 if parmObj == None:
4420 status = 'disable'
4370 status = 'disable'
4421 else:
4371 else:
4422 status = 'enable'
4372 status = 'enable'
4423 self.bufferSpectra("Spectra Plot", "FTP", status)
4373 self.bufferSpectra("Spectra Plot", "FTP", status)
4424 self.showWr_Period(puObj, opObj, nameplotop="Spectra Plot")
4374 self.showWr_Period(puObj, opObj, nameplotop="Spectra Plot")
4425 # self.saveFTPvalues(opObj)
4375 # self.saveFTPvalues(opObj)
4426
4376
4427 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
4377 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
4428 # opObj = puObj.getOpObjfromParamValue(value="CrossSpectraPlot")
4378 # opObj = puObj.getOpObjfromParamValue(value="CrossSpectraPlot")
4429 if opObj == None:
4379 if opObj == None:
4430 self.specGraphCebCrossSpectraplot.setCheckState(0)
4380 self.specGraphCebCrossSpectraplot.setCheckState(0)
4431 operationCrossSpectraPlot = "Disabled"
4381 operationCrossSpectraPlot = "Disabled"
4432 channelList = None
4382 channelList = None
4433 freq_vel = None
4383 freq_vel = None
4434 heightsrange = None
4384 heightsrange = None
4435 else:
4385 else:
4436 operationCrossSpectraPlot = "Enable"
4386 operationCrossSpectraPlot = "Enable"
4437 self.specGraphCebCrossSpectraplot.setCheckState(QtCore.Qt.Checked)
4387 self.specGraphCebCrossSpectraplot.setCheckState(QtCore.Qt.Checked)
4438 self.bufferSpectra("Cross Spectra Plot", "Operation", operationCrossSpectraPlot)
4388 self.bufferSpectra("Cross Spectra Plot", "Operation", operationCrossSpectraPlot)
4439
4389
4440 value1 = opObj.getParameterObj(parameterName='xmin')
4390 value1 = opObj.getParameterObj(parameterName='xmin')
4441 if value1 == None:
4391 if value1 == None:
4442 freq_vel = None
4392 freq_vel = None
4443 else:
4393 else:
4444 value1 = opObj.getParameterValue(parameterName='xmin')
4394 value1 = opObj.getParameterValue(parameterName='xmin')
4445 value1 = str(value1)
4395 value1 = str(value1)
4446 value2 = opObj.getParameterObj(parameterName='xmax')
4396 value2 = opObj.getParameterObj(parameterName='xmax')
4447 if value2 == None:
4397 if value2 == None:
4448 freq_vel = None
4398 freq_vel = None
4449 else:
4399 else:
4450 value2 = opObj.getParameterValue(parameterName='xmax')
4400 value2 = opObj.getParameterValue(parameterName='xmax')
4451 value2 = str(value2)
4401 value2 = str(value2)
4452 value = value1 + "," + value2
4402 value = value1 + "," + value2
4453 freq_vel = value
4403 freq_vel = value
4454 self.bufferSpectra("Cross Spectra Plot", "Freq/Vel", freq_vel)
4404 self.bufferSpectra("Cross Spectra Plot", "Freq/Vel", freq_vel)
4455
4405
4456 value1 = opObj.getParameterObj(parameterName='ymin')
4406 value1 = opObj.getParameterObj(parameterName='ymin')
4457 if value1 == None:
4407 if value1 == None:
4458 heightsrange = None
4408 heightsrange = None
4459 else:
4409 else:
4460 value1 = opObj.getParameterValue(parameterName='ymin')
4410 value1 = opObj.getParameterValue(parameterName='ymin')
4461 value1 = str(value1)
4411 value1 = str(value1)
4462 value2 = opObj.getParameterObj(parameterName='ymax')
4412 value2 = opObj.getParameterObj(parameterName='ymax')
4463 if value2 == None:
4413 if value2 == None:
4464 fheightsrange = None
4414 fheightsrange = None
4465 else:
4415 else:
4466 value2 = opObj.getParameterValue(parameterName='ymax')
4416 value2 = opObj.getParameterValue(parameterName='ymax')
4467 value2 = str(value2)
4417 value2 = str(value2)
4468 value = value1 + "," + value2
4418 value = value1 + "," + value2
4469 heightsrange = value
4419 heightsrange = value
4470 self.bufferSpectra("Cross Spectra Plot", "Height Range", heightsrange)
4420 self.bufferSpectra("Cross Spectra Plot", "Height Range", heightsrange)
4471
4421
4472 value1 = opObj.getParameterObj(parameterName='zmin')
4422 value1 = opObj.getParameterObj(parameterName='zmin')
4473 if value1 == None:
4423 if value1 == None:
4474 dBrange = None
4424 dBrange = None
4475 else:
4425 else:
4476 value1 = opObj.getParameterValue(parameterName='zmin')
4426 value1 = opObj.getParameterValue(parameterName='zmin')
4477 value1 = str(value1)
4427 value1 = str(value1)
4478 value2 = opObj.getParameterObj(parameterName='zmax')
4428 value2 = opObj.getParameterObj(parameterName='zmax')
4479 if value2 == None:
4429 if value2 == None:
4480 fdBrange = None
4430 fdBrange = None
4481 else:
4431 else:
4482 value2 = opObj.getParameterValue(parameterName='zmax')
4432 value2 = opObj.getParameterValue(parameterName='zmax')
4483 value2 = str(value2)
4433 value2 = str(value2)
4484 value = value1 + "," + value2
4434 value = value1 + "," + value2
4485 dbrange = value
4435 dbrange = value
4486 self.bufferSpectra("Cross Spectra Plot", "dB Range", dbrange)
4436 self.bufferSpectra("Cross Spectra Plot", "dB Range", dbrange)
4487
4437
4488 parmObj = opObj.getParameterObj(parameterName="figpath")
4438 parmObj = opObj.getParameterObj(parameterName="figpath")
4489 if parmObj == None:
4439 if parmObj == None:
4490 path = None
4440 path = None
4491 else:
4441 else:
4492 path = opObj.getParameterValue(parameterName='figpath')
4442 path = opObj.getParameterValue(parameterName='figpath')
4493 self.bufferSpectra("Cross Spectra Plot", "Save Path", path)
4443 self.bufferSpectra("Cross Spectra Plot", "Save Path", path)
4494
4444
4495 parmObj = opObj.getParameterObj(parameterName="ftp")
4445 parmObj = opObj.getParameterObj(parameterName="ftp")
4496 if parmObj == None:
4446 if parmObj == None:
4497 status = 'disable'
4447 status = 'disable'
4498 else:
4448 else:
4499 status = 'enable'
4449 status = 'enable'
4500 self.bufferSpectra("Cross Spectra Plot", "FTP", status)
4450 self.bufferSpectra("Cross Spectra Plot", "FTP", status)
4501 self.showWr_Period(puObj, opObj, nameplotop="Cross Spectra Plot")
4451 self.showWr_Period(puObj, opObj, nameplotop="Cross Spectra Plot")
4502 # self.saveFTPvalues(opObj)
4452 # self.saveFTPvalues(opObj)
4503
4453
4504 opObj = puObj.getOperationObj(name='RTIPlot')
4454 opObj = puObj.getOperationObj(name='RTIPlot')
4505 # opObj = puObj.getOpObjfromParamValue(value="RTIPlot")
4455 # opObj = puObj.getOpObjfromParamValue(value="RTIPlot")
4506 if opObj == None:
4456 if opObj == None:
4507 self.specGraphCebRTIplot.setCheckState(0)
4457 self.specGraphCebRTIplot.setCheckState(0)
4508 operationRTIPlot = "Disabled"
4458 operationRTIPlot = "Disabled"
4509 channelList = None
4459 channelList = None
4510 freq_vel = None
4460 freq_vel = None
4511 heightsrange = None
4461 heightsrange = None
4512 else:
4462 else:
4513 operationRTIPlot = "Enable"
4463 operationRTIPlot = "Enable"
4514 self.specGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
4464 self.specGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
4515 self.bufferSpectra("RTI Plot", "Operation", operationRTIPlot)
4465 self.bufferSpectra("RTI Plot", "Operation", operationRTIPlot)
4516 parmObj = opObj.getParameterObj(parameterName='channelList')
4466 parmObj = opObj.getParameterObj(parameterName='channelList')
4517 if parmObj == None:
4467 if parmObj == None:
4518 channelListRTIPlot = None
4468 channelListRTIPlot = None
4519 else:
4469 else:
4520 value = opObj.getParameterValue(parameterName='channelList')
4470 value = opObj.getParameterValue(parameterName='channelList')
4521 channelListRTIPlot = str(value)[1:-1]
4471 channelListRTIPlot = str(value)[1:-1]
4522 self.bufferSpectra("RTI Plot", "Channel List", channelListRTIPlot)
4472 self.bufferSpectra("RTI Plot", "Channel List", channelListRTIPlot)
4523
4473
4524
4474
4525 value1 = opObj.getParameterObj(parameterName='xmin')
4475 value1 = opObj.getParameterObj(parameterName='xmin')
4526 if value1 == None:
4476 if value1 == None:
4527 freq_vel = None
4477 freq_vel = None
4528 else:
4478 else:
4529 value1 = opObj.getParameterValue(parameterName='xmin')
4479 value1 = opObj.getParameterValue(parameterName='xmin')
4530 value1 = str(value1)
4480 value1 = str(value1)
4531 value2 = opObj.getParameterObj(parameterName='xmax')
4481 value2 = opObj.getParameterObj(parameterName='xmax')
4532 if value2 == None:
4482 if value2 == None:
4533 freq_vel = None
4483 freq_vel = None
4534 else:
4484 else:
4535 value2 = opObj.getParameterValue(parameterName='xmax')
4485 value2 = opObj.getParameterValue(parameterName='xmax')
4536 value2 = str(value2)
4486 value2 = str(value2)
4537 value = value1 + "," + value2
4487 value = value1 + "," + value2
4538 tmintmax = value
4488 tmintmax = value
4539 self.bufferSpectra("RTI Plot", "Tmin,Tmax", tmintmax)
4489 self.bufferSpectra("RTI Plot", "Tmin,Tmax", tmintmax)
4540
4490
4541 parmObj = opObj.getParameterObj(parameterName='timerange')
4491 parmObj = opObj.getParameterObj(parameterName='timerange')
4542 if parmObj == None:
4492 if parmObj == None:
4543 timerange = None
4493 timerange = None
4544 else:
4494 else:
4545 value = opObj.getParameterValue(parameterName='timerange')
4495 value = opObj.getParameterValue(parameterName='timerange')
4546 timerange = str(value)
4496 timerange = str(value)
4547 self.bufferSpectra("RTI Plot", "Time Range", timerange)
4497 self.bufferSpectra("RTI Plot", "Time Range", timerange)
4548
4498
4549 value1 = opObj.getParameterObj(parameterName='ymin')
4499 value1 = opObj.getParameterObj(parameterName='ymin')
4550 if value1 == None:
4500 if value1 == None:
4551 heightsrange = None
4501 heightsrange = None
4552 else:
4502 else:
4553 value1 = opObj.getParameterValue(parameterName='ymin')
4503 value1 = opObj.getParameterValue(parameterName='ymin')
4554 value1 = str(value1)
4504 value1 = str(value1)
4555 value2 = opObj.getParameterObj(parameterName='ymax')
4505 value2 = opObj.getParameterObj(parameterName='ymax')
4556 if value2 == None:
4506 if value2 == None:
4557 fheightsrange = None
4507 fheightsrange = None
4558 else:
4508 else:
4559 value2 = opObj.getParameterValue(parameterName='ymax')
4509 value2 = opObj.getParameterValue(parameterName='ymax')
4560 value2 = str(value2)
4510 value2 = str(value2)
4561 value = value1 + "," + value2
4511 value = value1 + "," + value2
4562 heightsrange = value
4512 heightsrange = value
4563 self.bufferSpectra("RTI Plot", "Height Range", heightsrange)
4513 self.bufferSpectra("RTI Plot", "Height Range", heightsrange)
4564
4514
4565 value1 = opObj.getParameterObj(parameterName='zmin')
4515 value1 = opObj.getParameterObj(parameterName='zmin')
4566 if value1 == None:
4516 if value1 == None:
4567 dBrange = None
4517 dBrange = None
4568 else:
4518 else:
4569 value1 = opObj.getParameterValue(parameterName='zmin')
4519 value1 = opObj.getParameterValue(parameterName='zmin')
4570 value1 = str(value1)
4520 value1 = str(value1)
4571 value2 = opObj.getParameterObj(parameterName='zmax')
4521 value2 = opObj.getParameterObj(parameterName='zmax')
4572 if value2 == None:
4522 if value2 == None:
4573 fdBrange = None
4523 fdBrange = None
4574 else:
4524 else:
4575 value2 = opObj.getParameterValue(parameterName='zmax')
4525 value2 = opObj.getParameterValue(parameterName='zmax')
4576 value2 = str(value2)
4526 value2 = str(value2)
4577 value = value1 + "," + value2
4527 value = value1 + "," + value2
4578 dbrange = value
4528 dbrange = value
4579 self.bufferSpectra("RTI Plot", "dB Range", dbrange)
4529 self.bufferSpectra("RTI Plot", "dB Range", dbrange)
4580
4530
4581 parmObj = opObj.getParameterObj(parameterName="figpath")
4531 parmObj = opObj.getParameterObj(parameterName="figpath")
4582 if parmObj == None:
4532 if parmObj == None:
4583 path = None
4533 path = None
4584 else:
4534 else:
4585 path = opObj.getParameterValue(parameterName='figpath')
4535 path = opObj.getParameterValue(parameterName='figpath')
4586 self.bufferSpectra("RTI Plot", "Save Path", path)
4536 self.bufferSpectra("RTI Plot", "Save Path", path)
4587
4537
4588 parmObj = opObj.getParameterObj(parameterName="ftp")
4538 parmObj = opObj.getParameterObj(parameterName="ftp")
4589 if parmObj == None:
4539 if parmObj == None:
4590 status = 'disable'
4540 status = 'disable'
4591 else:
4541 else:
4592 status = 'enable'
4542 status = 'enable'
4593 self.bufferSpectra("RTI Plot", "FTP", status)
4543 self.bufferSpectra("RTI Plot", "FTP", status)
4594 self.showWr_Period(puObj, opObj, nameplotop="RTI Plot")
4544 self.showWr_Period(puObj, opObj, nameplotop="RTI Plot")
4595 # self.saveFTPvalues(opObj)
4545 # self.saveFTPvalues(opObj)
4596
4546
4597 opObj = puObj.getOperationObj(name='CoherenceMap')
4547 opObj = puObj.getOperationObj(name='CoherenceMap')
4598 # opObj = puObj.getOpObjfromParamValue(value="CoherenceMap")
4548 # opObj = puObj.getOpObjfromParamValue(value="CoherenceMap")
4599 if opObj == None:
4549 if opObj == None:
4600 self.specGraphCebCoherencmap.setCheckState(0)
4550 self.specGraphCebCoherencmap.setCheckState(0)
4601 operationCoherenceMap = "Disabled"
4551 operationCoherenceMap = "Disabled"
4602 channelList = None
4552 channelList = None
4603 freq_vel = None
4553 freq_vel = None
4604 heightsrange = None
4554 heightsrange = None
4605 else:
4555 else:
4606 operationCoherenceMap = "Enable"
4556 operationCoherenceMap = "Enable"
4607 self.specGraphCebCoherencmap.setCheckState(QtCore.Qt.Checked)
4557 self.specGraphCebCoherencmap.setCheckState(QtCore.Qt.Checked)
4608 self.bufferSpectra("Coherence Map Plot", "Operation", operationCoherenceMap)
4558 self.bufferSpectra("Coherence Map Plot", "Operation", operationCoherenceMap)
4609 parmObj = opObj.getParameterObj(parameterName='channelList')
4559 parmObj = opObj.getParameterObj(parameterName='channelList')
4610 if parmObj == None:
4560 if parmObj == None:
4611 channelListRTIPlot = None
4561 channelListRTIPlot = None
4612 else:
4562 else:
4613 value = opObj.getParameterValue(parameterName='channelList')
4563 value = opObj.getParameterValue(parameterName='channelList')
4614 channelListRTIPlot = str(value)[1:-1]
4564 channelListRTIPlot = str(value)[1:-1]
4615 self.bufferSpectra("Coherence Map Plot", "Channel List", channelListRTIPlot)
4565 self.bufferSpectra("Coherence Map Plot", "Channel List", channelListRTIPlot)
4616
4566
4617
4567
4618 value1 = opObj.getParameterObj(parameterName='xmin')
4568 value1 = opObj.getParameterObj(parameterName='xmin')
4619 if value1 == None:
4569 if value1 == None:
4620 freq_vel = None
4570 freq_vel = None
4621 else:
4571 else:
4622 value1 = opObj.getParameterValue(parameterName='xmin')
4572 value1 = opObj.getParameterValue(parameterName='xmin')
4623 value1 = str(value1)
4573 value1 = str(value1)
4624 value2 = opObj.getParameterObj(parameterName='xmax')
4574 value2 = opObj.getParameterObj(parameterName='xmax')
4625 if value2 == None:
4575 if value2 == None:
4626 freq_vel = None
4576 freq_vel = None
4627 else:
4577 else:
4628 value2 = opObj.getParameterValue(parameterName='xmax')
4578 value2 = opObj.getParameterValue(parameterName='xmax')
4629 value2 = str(value2)
4579 value2 = str(value2)
4630 value = value1 + "," + value2
4580 value = value1 + "," + value2
4631 tmintmax = value
4581 tmintmax = value
4632 self.bufferSpectra("Coherence Map Plot", "Tmin,Tmax", tmintmax)
4582 self.bufferSpectra("Coherence Map Plot", "Tmin,Tmax", tmintmax)
4633
4583
4634 parmObj = opObj.getParameterObj(parameterName='timerange')
4584 parmObj = opObj.getParameterObj(parameterName='timerange')
4635 if parmObj == None:
4585 if parmObj == None:
4636 timerange = None
4586 timerange = None
4637 else:
4587 else:
4638 value = opObj.getParameterValue(parameterName='timerange')
4588 value = opObj.getParameterValue(parameterName='timerange')
4639 timerange = str(value)
4589 timerange = str(value)
4640 self.bufferSpectra("Coherence Map Plot", "Time Range", timerange)
4590 self.bufferSpectra("Coherence Map Plot", "Time Range", timerange)
4641
4591
4642 value1 = opObj.getParameterObj(parameterName='ymin')
4592 value1 = opObj.getParameterObj(parameterName='ymin')
4643 if value1 == None:
4593 if value1 == None:
4644 heightsrange = None
4594 heightsrange = None
4645 else:
4595 else:
4646 value1 = opObj.getParameterValue(parameterName='ymin')
4596 value1 = opObj.getParameterValue(parameterName='ymin')
4647 value1 = str(value1)
4597 value1 = str(value1)
4648 value2 = opObj.getParameterObj(parameterName='ymax')
4598 value2 = opObj.getParameterObj(parameterName='ymax')
4649 if value2 == None:
4599 if value2 == None:
4650 fheightsrange = None
4600 fheightsrange = None
4651 else:
4601 else:
4652 value2 = opObj.getParameterValue(parameterName='ymax')
4602 value2 = opObj.getParameterValue(parameterName='ymax')
4653 value2 = str(value2)
4603 value2 = str(value2)
4654 value = value1 + "," + value2
4604 value = value1 + "," + value2
4655 heightsrange = value
4605 heightsrange = value
4656 self.bufferSpectra("Coherence Map Plot", "Height Range", heightsrange)
4606 self.bufferSpectra("Coherence Map Plot", "Height Range", heightsrange)
4657
4607
4658 value1 = opObj.getParameterObj(parameterName='zmin')
4608 value1 = opObj.getParameterObj(parameterName='zmin')
4659 if value1 == None:
4609 if value1 == None:
4660 dBrange = None
4610 dBrange = None
4661 else:
4611 else:
4662 value1 = opObj.getParameterValue(parameterName='zmin')
4612 value1 = opObj.getParameterValue(parameterName='zmin')
4663 value1 = str(value1)
4613 value1 = str(value1)
4664 value2 = opObj.getParameterObj(parameterName='zmax')
4614 value2 = opObj.getParameterObj(parameterName='zmax')
4665 if value2 == None:
4615 if value2 == None:
4666 fdBrange = None
4616 fdBrange = None
4667 else:
4617 else:
4668 value2 = opObj.getParameterValue(parameterName='zmax')
4618 value2 = opObj.getParameterValue(parameterName='zmax')
4669 value2 = str(value2)
4619 value2 = str(value2)
4670 value = value1 + "," + value2
4620 value = value1 + "," + value2
4671 dbrange = value
4621 dbrange = value
4672 self.bufferSpectra("Coherence Map Plot", "Magnitud", dbrange)
4622 self.bufferSpectra("Coherence Map Plot", "Magnitud", dbrange)
4673
4623
4674 parmObj = opObj.getParameterObj(parameterName="figpath")
4624 parmObj = opObj.getParameterObj(parameterName="figpath")
4675 if parmObj == None:
4625 if parmObj == None:
4676 path = None
4626 path = None
4677 else:
4627 else:
4678 path = opObj.getParameterValue(parameterName='figpath')
4628 path = opObj.getParameterValue(parameterName='figpath')
4679 self.bufferSpectra("Coherence Map Plot", "Save Path", path)
4629 self.bufferSpectra("Coherence Map Plot", "Save Path", path)
4680
4630
4681 parmObj = opObj.getParameterObj(parameterName="ftp")
4631 parmObj = opObj.getParameterObj(parameterName="ftp")
4682 if parmObj == None:
4632 if parmObj == None:
4683 status = 'disable'
4633 status = 'disable'
4684 else:
4634 else:
4685 status = 'enable'
4635 status = 'enable'
4686 self.bufferSpectra("Coherence Map Plot", "FTP", status)
4636 self.bufferSpectra("Coherence Map Plot", "FTP", status)
4687 self.showWr_Period(puObj, opObj, nameplotop="Coherence Map Plot")
4637 self.showWr_Period(puObj, opObj, nameplotop="Coherence Map Plot")
4688 # self.saveFTPvalues(opObj)
4638 # self.saveFTPvalues(opObj)
4689
4639
4690
4640
4691 opObj = puObj.getOperationObj(name='PowerProfilePlot')
4641 opObj = puObj.getOperationObj(name='PowerProfilePlot')
4692 # opObj = puObj.getOpObjfromParamValue(value="PowerProfilePlot")
4642 # opObj = puObj.getOpObjfromParamValue(value="PowerProfilePlot")
4693 if opObj == None:
4643 if opObj == None:
4694 self.specGraphPowerprofile.setCheckState(0)
4644 self.specGraphPowerprofile.setCheckState(0)
4695 operationPowerProfilePlot = "Disabled"
4645 operationPowerProfilePlot = "Disabled"
4696 channelList = None
4646 channelList = None
4697 freq_vel = None
4647 freq_vel = None
4698 heightsrange = None
4648 heightsrange = None
4699 else:
4649 else:
4700 operationPowerProfilePlot = "Enable"
4650 operationPowerProfilePlot = "Enable"
4701 self.specGraphPowerprofile.setCheckState(QtCore.Qt.Checked)
4651 self.specGraphPowerprofile.setCheckState(QtCore.Qt.Checked)
4702 self.bufferSpectra("PowerProfile Plot", "Operation", operationPowerProfilePlot)
4652 self.bufferSpectra("PowerProfile Plot", "Operation", operationPowerProfilePlot)
4703 parmObj = opObj.getParameterObj(parameterName='channelList')
4653 parmObj = opObj.getParameterObj(parameterName='channelList')
4704 if parmObj == None:
4654 if parmObj == None:
4705 channelListSpectraPlot = None
4655 channelListSpectraPlot = None
4706 else:
4656 else:
4707 value = opObj.getParameterValue(parameterName='channelList')
4657 value = opObj.getParameterValue(parameterName='channelList')
4708 channelListSpectraPlot = str(value)[1:-1]
4658 channelListSpectraPlot = str(value)[1:-1]
4709 self.bufferSpectra("PowerProfile Plot", "Channel List", channelListSpectraPlot)
4659 self.bufferSpectra("PowerProfile Plot", "Channel List", channelListSpectraPlot)
4710
4660
4711
4661
4712 value1 = opObj.getParameterObj(parameterName='xmin')
4662 value1 = opObj.getParameterObj(parameterName='xmin')
4713 if value1 == None:
4663 if value1 == None:
4714 freq_vel = None
4664 freq_vel = None
4715 else:
4665 else:
4716 value1 = opObj.getParameterValue(parameterName='xmin')
4666 value1 = opObj.getParameterValue(parameterName='xmin')
4717 value1 = str(value1)
4667 value1 = str(value1)
4718 value2 = opObj.getParameterObj(parameterName='xmax')
4668 value2 = opObj.getParameterObj(parameterName='xmax')
4719 if value2 == None:
4669 if value2 == None:
4720 freq_vel = None
4670 freq_vel = None
4721 else:
4671 else:
4722 value2 = opObj.getParameterValue(parameterName='xmax')
4672 value2 = opObj.getParameterValue(parameterName='xmax')
4723 value2 = str(value2)
4673 value2 = str(value2)
4724 value = value1 + "," + value2
4674 value = value1 + "," + value2
4725 dbrange = value
4675 dbrange = value
4726 self.bufferSpectra("PowerProfile Plot", "dbRange", dbrange)
4676 self.bufferSpectra("PowerProfile Plot", "dbRange", dbrange)
4727
4677
4728 value1 = opObj.getParameterObj(parameterName='ymin')
4678 value1 = opObj.getParameterObj(parameterName='ymin')
4729 if value1 == None:
4679 if value1 == None:
4730 heightsrange = None
4680 heightsrange = None
4731 else:
4681 else:
4732 value1 = opObj.getParameterValue(parameterName='ymin')
4682 value1 = opObj.getParameterValue(parameterName='ymin')
4733 value1 = str(value1)
4683 value1 = str(value1)
4734 value2 = opObj.getParameterObj(parameterName='ymax')
4684 value2 = opObj.getParameterObj(parameterName='ymax')
4735 if value2 == None:
4685 if value2 == None:
4736 fheightsrange = None
4686 fheightsrange = None
4737 else:
4687 else:
4738 value2 = opObj.getParameterValue(parameterName='ymax')
4688 value2 = opObj.getParameterValue(parameterName='ymax')
4739 value2 = str(value2)
4689 value2 = str(value2)
4740 value = value1 + "," + value2
4690 value = value1 + "," + value2
4741 heightsrange = value
4691 heightsrange = value
4742 self.bufferSpectra("PowerProfile Plot", "Height Range", heightsrange)
4692 self.bufferSpectra("PowerProfile Plot", "Height Range", heightsrange)
4743
4693
4744
4694
4745 parmObj = opObj.getParameterObj(parameterName="figpath")
4695 parmObj = opObj.getParameterObj(parameterName="figpath")
4746 if parmObj == None:
4696 if parmObj == None:
4747 path = None
4697 path = None
4748 else:
4698 else:
4749 path = opObj.getParameterValue(parameterName='figpath')
4699 path = opObj.getParameterValue(parameterName='figpath')
4750 self.bufferSpectra("PowerProfile Plot", "Save Path", path)
4700 self.bufferSpectra("PowerProfile Plot", "Save Path", path)
4751
4701
4752 parmObj = opObj.getParameterObj(parameterName="ftp")
4702 parmObj = opObj.getParameterObj(parameterName="ftp")
4753 if parmObj == None:
4703 if parmObj == None:
4754 status = 'disable'
4704 status = 'disable'
4755 else:
4705 else:
4756 status = 'enable'
4706 status = 'enable'
4757 self.bufferSpectra("PowerProfile Plot", "FTP", status)
4707 self.bufferSpectra("PowerProfile Plot", "FTP", status)
4758 self.showWr_Period(puObj, opObj, nameplotop="PowerProfile Plot")
4708 self.showWr_Period(puObj, opObj, nameplotop="PowerProfile Plot")
4759 # self.saveFTPvalues(opObj)
4709 # self.saveFTPvalues(opObj)
4760
4710
4761 # noise
4711 # noise
4762 opObj = puObj.getOperationObj(name='Noise')
4712 opObj = puObj.getOperationObj(name='Noise')
4763 # opObj = puObj.getOpObjfromParamValue(value="Noise")
4713 # opObj = puObj.getOpObjfromParamValue(value="Noise")
4764 if opObj == None:
4714 if opObj == None:
4765 self.specGraphCebRTInoise.setCheckState(0)
4715 self.specGraphCebRTInoise.setCheckState(0)
4766 operationRTINoise = "Disabled"
4716 operationRTINoise = "Disabled"
4767 channelList = None
4717 channelList = None
4768 freq_vel = None
4718 freq_vel = None
4769 dbRange = None
4719 dbRange = None
4770 else:
4720 else:
4771 operationRTINoise = "Enable"
4721 operationRTINoise = "Enable"
4772 self.specGraphCebRTInoise.setCheckState(QtCore.Qt.Checked)
4722 self.specGraphCebRTInoise.setCheckState(QtCore.Qt.Checked)
4773 self.bufferSpectra("Noise Plot", "Operation", operationRTINoise)
4723 self.bufferSpectra("Noise Plot", "Operation", operationRTINoise)
4774 parmObj = opObj.getParameterObj(parameterName='channelList')
4724 parmObj = opObj.getParameterObj(parameterName='channelList')
4775 if parmObj == None:
4725 if parmObj == None:
4776 channelListRTINoise = None
4726 channelListRTINoise = None
4777 else:
4727 else:
4778 value = opObj.getParameterValue(parameterName='channelList')
4728 value = opObj.getParameterValue(parameterName='channelList')
4779 channelListRTINoise = str(value)[1:-1]
4729 channelListRTINoise = str(value)[1:-1]
4780 self.bufferSpectra("Noise Plot", "Channel List", channelListRTINoise)
4730 self.bufferSpectra("Noise Plot", "Channel List", channelListRTINoise)
4781
4731
4782
4732
4783 value1 = opObj.getParameterObj(parameterName='xmin')
4733 value1 = opObj.getParameterObj(parameterName='xmin')
4784 if value1 == None:
4734 if value1 == None:
4785 freq_vel = None
4735 freq_vel = None
4786 else:
4736 else:
4787 value1 = opObj.getParameterValue(parameterName='xmin')
4737 value1 = opObj.getParameterValue(parameterName='xmin')
4788 value1 = str(value1)
4738 value1 = str(value1)
4789 value2 = opObj.getParameterObj(parameterName='xmax')
4739 value2 = opObj.getParameterObj(parameterName='xmax')
4790 if value2 == None:
4740 if value2 == None:
4791 freq_vel = None
4741 freq_vel = None
4792 else:
4742 else:
4793 value2 = opObj.getParameterValue(parameterName='xmax')
4743 value2 = opObj.getParameterValue(parameterName='xmax')
4794 value2 = str(value2)
4744 value2 = str(value2)
4795 value = value1 + "," + value2
4745 value = value1 + "," + value2
4796 tmintmax = value
4746 tmintmax = value
4797 self.bufferSpectra("Noise Plot", "Tmin,Tmax", tmintmax)
4747 self.bufferSpectra("Noise Plot", "Tmin,Tmax", tmintmax)
4798
4748
4799 parmObj = opObj.getParameterObj(parameterName='timerange')
4749 parmObj = opObj.getParameterObj(parameterName='timerange')
4800 if parmObj == None:
4750 if parmObj == None:
4801 timerange = None
4751 timerange = None
4802 else:
4752 else:
4803 value = opObj.getParameterValue(parameterName='timerange')
4753 value = opObj.getParameterValue(parameterName='timerange')
4804 timerange = str(value)
4754 timerange = str(value)
4805 self.bufferSpectra("Noise Plot", "Time Range", timerange)
4755 self.bufferSpectra("Noise Plot", "Time Range", timerange)
4806
4756
4807
4757
4808
4758
4809 value1 = opObj.getParameterObj(parameterName='ymin')
4759 value1 = opObj.getParameterObj(parameterName='ymin')
4810 if value1 == None:
4760 if value1 == None:
4811 DBrange = None
4761 DBrange = None
4812 else:
4762 else:
4813 value1 = opObj.getParameterValue(parameterName='ymin')
4763 value1 = opObj.getParameterValue(parameterName='ymin')
4814 value1 = str(value1)
4764 value1 = str(value1)
4815 value2 = opObj.getParameterObj(parameterName='ymax')
4765 value2 = opObj.getParameterObj(parameterName='ymax')
4816 if value2 == None:
4766 if value2 == None:
4817 fdBrange = None
4767 fdBrange = None
4818 else:
4768 else:
4819 value2 = opObj.getParameterValue(parameterName='ymax')
4769 value2 = opObj.getParameterValue(parameterName='ymax')
4820 value2 = str(value2)
4770 value2 = str(value2)
4821 value = value1 + "," + value2
4771 value = value1 + "," + value2
4822 dBrange = value
4772 dBrange = value
4823 self.bufferSpectra("Noise Plot", "dB Range", dBrange)
4773 self.bufferSpectra("Noise Plot", "dB Range", dBrange)
4824
4774
4825 parmObj = opObj.getParameterObj(parameterName="figpath")
4775 parmObj = opObj.getParameterObj(parameterName="figpath")
4826 if parmObj == None:
4776 if parmObj == None:
4827 path = None
4777 path = None
4828 else:
4778 else:
4829 path = opObj.getParameterValue(parameterName='figpath')
4779 path = opObj.getParameterValue(parameterName='figpath')
4830 self.bufferSpectra("Noise Plot", "Save Path", path)
4780 self.bufferSpectra("Noise Plot", "Save Path", path)
4831
4781
4832 parmObj = opObj.getParameterObj(parameterName="ftp")
4782 parmObj = opObj.getParameterObj(parameterName="ftp")
4833 if parmObj == None:
4783 if parmObj == None:
4834 status = 'disable'
4784 status = 'disable'
4835 else:
4785 else:
4836 status = 'enable'
4786 status = 'enable'
4837 self.bufferSpectra("Noise Plot", "FTP", status)
4787 self.bufferSpectra("Noise Plot", "FTP", status)
4838 self.showWr_Period(puObj, opObj, nameplotop="Noise Plot")
4788 self.showWr_Period(puObj, opObj, nameplotop="Noise Plot")
4839 # self.saveFTPvalues(opObj)
4789 # self.saveFTPvalues(opObj)
4840
4790
4841 projectObj = self.getSelectedProjectObj()
4842 ftpProcUnitConfObj = projectObj.getProcUnitObjByName(name="SendToServer")
4843
4844 if ftpProcUnitConfObj:
4845
4846 opObj = ftpProcUnitConfObj.getOperationObj(name='run')
4847
4848 server = opObj.getParameterValue(parameterName='server')
4849 folder = opObj.getParameterValue(parameterName='remotefolder')
4850 username = opObj.getParameterValue(parameterName='username')
4851 password = opObj.getParameterValue(parameterName='password')
4852 ftp_wei = opObj.getParameterValue(parameterName='ftp_wei')
4853 exp_code = opObj.getParameterValue(parameterName='exp_code')
4854 sub_exp_code = opObj.getParameterValue(parameterName='sub_exp_code')
4855 plot_pos = opObj.getParameterValue(parameterName='plot_pos')
4856 localfolder = opObj.getParameterValue(parameterName='localfolder')
4857
4858 self.bufferSpectra("FTP", "Server", server)
4859 self.bufferSpectra("FTP", "Remote folder", folder)
4860 self.bufferSpectra("FTP", "Local folder", localfolder)
4861 self.bufferSpectra("FTP", "Username", username)
4862 self.bufferSpectra("FTP", "Password", '*'*len(password))
4863 self.bufferSpectra("FTP", "Ftp_wei", ftp_wei)
4864 self.bufferSpectra("FTP", "Exp_code", exp_code)
4865 self.bufferSpectra("FTP", "Sub_exp_code", sub_exp_code)
4866 self.bufferSpectra("FTP", "Plot_pos", plot_pos)
4867
4868 # outputSpectraWrite
4791 # outputSpectraWrite
4869 opObj = puObj.getOperationObj(name='SpectraWriter')
4792 opObj = puObj.getOperationObj(name='SpectraWriter')
4870 if opObj == None:
4793 if opObj == None:
4871 pass
4794 pass
4872 else:
4795 else:
4873 operation = 'Enabled'
4796 operation = 'Enabled'
4874 self.bufferSpectra("Output", "Operation", operation)
4797 self.bufferSpectra("Output", "Operation", operation)
4875 value = opObj.getParameterObj(parameterName='path')
4798 value = opObj.getParameterObj(parameterName='path')
4876 if value == None:
4799 if value == None:
4877 path = None
4800 path = None
4878 else:
4801 else:
4879 value = opObj.getParameterValue(parameterName='path')
4802 value = opObj.getParameterValue(parameterName='path')
4880 path = str(value)
4803 path = str(value)
4881 self.bufferSpectra("Output", "Path", path)
4804 self.bufferSpectra("Output", "Path", path)
4882 value = opObj.getParameterObj(parameterName='blocksPerFile')
4805 value = opObj.getParameterObj(parameterName='blocksPerFile')
4883 if value == None:
4806 if value == None:
4884 blocksperfile = None
4807 blocksperfile = None
4885 else:
4808 else:
4886 value = opObj.getParameterValue(parameterName='blocksPerFile')
4809 value = opObj.getParameterValue(parameterName='blocksPerFile')
4887 blocksperfile = str(value)
4810 blocksperfile = str(value)
4888 self.bufferSpectra("Output", "BlocksPerFile", blocksperfile)
4811 self.bufferSpectra("Output", "BlocksPerFile", blocksperfile)
4889 value = opObj.getParameterObj(parameterName='profilesPerBlock')
4812 value = opObj.getParameterObj(parameterName='profilesPerBlock')
4890 if value == None:
4813 if value == None:
4891 profilesPerBlock = None
4814 profilesPerBlock = None
4892 else:
4815 else:
4893 value = opObj.getParameterValue(parameterName='profilesPerBlock')
4816 value = opObj.getParameterValue(parameterName='profilesPerBlock')
4894 profilesPerBlock = str(value)
4817 profilesPerBlock = str(value)
4895 self.bufferSpectra("Output", "ProfilesPerBlock", profilesPerBlock)
4818 self.bufferSpectra("Output", "ProfilesPerBlock", profilesPerBlock)
4819
4820 projectObj = self.getSelectedProjectObj()
4821 ftpProcUnitConfObj = projectObj.getProcUnitObjByName(name="SendToServer")
4822
4823 if ftpProcUnitConfObj:
4824
4825 opObj = ftpProcUnitConfObj.getOperationObj(name='run')
4826
4827 server = opObj.getParameterValue(parameterName='server')
4828 folder = opObj.getParameterValue(parameterName='remotefolder')
4829 username = opObj.getParameterValue(parameterName='username')
4830 password = opObj.getParameterValue(parameterName='password')
4831 ftp_wei = opObj.getParameterValue(parameterName='ftp_wei')
4832 exp_code = opObj.getParameterValue(parameterName='exp_code')
4833 sub_exp_code = opObj.getParameterValue(parameterName='sub_exp_code')
4834 plot_pos = opObj.getParameterValue(parameterName='plot_pos')
4835 localfolder = opObj.getParameterValue(parameterName='localfolder')
4836
4837 self.bufferSpectra("FTP", "Server", server)
4838 self.bufferSpectra("FTP", "Remote folder", folder)
4839 self.bufferSpectra("FTP", "Local folder", localfolder)
4840 self.bufferSpectra("FTP", "Username", username)
4841 self.bufferSpectra("FTP", "Password", '*'*len(password))
4842 self.bufferSpectra("FTP", "Ftp_wei", ftp_wei)
4843 self.bufferSpectra("FTP", "Exp_code", exp_code)
4844 self.bufferSpectra("FTP", "Sub_exp_code", sub_exp_code)
4845 self.bufferSpectra("FTP", "Plot_pos", plot_pos)
4896
4846
4897 # set model PU Properties
4847 # set model PU Properties
4898
4848
4899 self.propertiesModel = treeModel()
4849 self.propertiesModel = treeModel()
4900 self.propertiesModel.showPUSpectraParms(self.specProperCaracteristica, self.specProperPrincipal, self.specProperDescripcion)
4850 self.propertiesModel.showPUSpectraParms(self.specProperCaracteristica, self.specProperPrincipal, self.specProperDescripcion)
4901
4851
4902 self.treeProjectProperties.setModel(self.propertiesModel)
4852 self.treeProjectProperties.setModel(self.propertiesModel)
4903 self.treeProjectProperties.expandAll()
4853 self.treeProjectProperties.expandAll()
4904 self.treeProjectProperties.allColumnsShowFocus()
4854 self.treeProjectProperties.allColumnsShowFocus()
4905 self.treeProjectProperties.resizeColumnToContents(0)
4855 self.treeProjectProperties.resizeColumnToContents(0)
4906 self.treeProjectProperties.resizeColumnToContents(1)
4856 self.treeProjectProperties.resizeColumnToContents(1)
4907
4857
4908 self.specProperCaracteristica = []
4858 self.specProperCaracteristica = []
4909 self.specProperDescripcion = []
4859 self.specProperDescripcion = []
4910 self.specProperPrincipal = []
4860 self.specProperPrincipal = []
4911
4861
4912
4862
4913 def bufferSpectraHeis(self, caracteristica, principal, description):
4863 def bufferSpectraHeis(self, caracteristica, principal, description):
4914 self.specHeisProperCaracteristica.append(caracteristica)
4864 self.specHeisProperCaracteristica.append(caracteristica)
4915 self.specHeisProperPrincipal.append(principal)
4865 self.specHeisProperPrincipal.append(principal)
4916 self.specHeisProperDescripcion.append(description)
4866 self.specHeisProperDescripcion.append(description)
4917 return self.specHeisProperCaracteristica, self.specHeisProperPrincipal, self.specHeisProperDescripcion
4867 return self.specHeisProperCaracteristica, self.specHeisProperPrincipal, self.specHeisProperDescripcion
4918
4868
4919
4869
4920 def showPUSpectraHeisProperties(self, puObj):
4870 def showPUSpectraHeisProperties(self, puObj):
4921 type = puObj.name
4871 type = puObj.name
4922 self.bufferSpectraHeis("Processing Unit", "Type", type)
4872 self.bufferSpectraHeis("Processing Unit", "Type", type)
4923
4873
4924 opObj = puObj.getOperationObj(name="IncohInt4SpectraHeis")
4874 opObj = puObj.getOperationObj(name="IncohInt4SpectraHeis")
4925 if opObj == None:
4875 if opObj == None:
4926 incoherentintegration = None
4876 incoherentintegration = None
4927 else:
4877 else:
4928 value = opObj.getParameterValue(parameterName='timeInterval')
4878 value = opObj.getParameterValue(parameterName='timeInterval')
4929 value = float(value)
4879 value = float(value)
4930 incoherentintegration = str(value)
4880 incoherentintegration = str(value)
4931 self.bufferSpectraHeis("Processing Unit", "Incoherent Integration", incoherentintegration)
4881 self.bufferSpectraHeis("Processing Unit", "Incoherent Integration", incoherentintegration)
4932 # spectraheis graph
4882 # spectraheis graph
4933 opObj = puObj.getOperationObj(name='SpectraHeisScope')
4883 opObj = puObj.getOperationObj(name='SpectraHeisScope')
4934 # opObj = puObj.getOpObjfromParamValue(value="SpectraHeisScope")
4884 # opObj = puObj.getOpObjfromParamValue(value="SpectraHeisScope")
4935 if opObj == None:
4885 if opObj == None:
4936 self.specHeisGraphCebSpectraplot.setCheckState(0)
4886 self.specHeisGraphCebSpectraplot.setCheckState(0)
4937 operationSpectraHeisPlot = "Disabled"
4887 operationSpectraHeisPlot = "Disabled"
4938 xmin_xmax = None
4888 xmin_xmax = None
4939 ymin_ymax = None
4889 ymin_ymax = None
4940 channelListSpectraPlot = None
4890 channelListSpectraPlot = None
4941 else:
4891 else:
4942 operationSpectraHeisPlot = "Enable"
4892 operationSpectraHeisPlot = "Enable"
4943 self.specHeisGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
4893 self.specHeisGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
4944 self.bufferSpectraHeis("SpectraHeis Plot", "Operation", operationSpectraHeisPlot)
4894 self.bufferSpectraHeis("SpectraHeis Plot", "Operation", operationSpectraHeisPlot)
4945 parmObj = opObj.getParameterObj(parameterName='channelList')
4895 parmObj = opObj.getParameterObj(parameterName='channelList')
4946 if parmObj == None:
4896 if parmObj == None:
4947 channelListSpectraPlot = None
4897 channelListSpectraPlot = None
4948 else:
4898 else:
4949 value = opObj.getParameterValue(parameterName='channelList')
4899 value = opObj.getParameterValue(parameterName='channelList')
4950 channelListSpectraPlot = str(value)[1:-1]
4900 channelListSpectraPlot = str(value)[1:-1]
4951 self.bufferSpectraHeis("SpectraHeis Plot", "Channel List", channelListSpectraPlot)
4901 self.bufferSpectraHeis("SpectraHeis Plot", "Channel List", channelListSpectraPlot)
4952
4902
4953
4903
4954 value1 = opObj.getParameterObj(parameterName='xmin')
4904 value1 = opObj.getParameterObj(parameterName='xmin')
4955 if value1 == None:
4905 if value1 == None:
4956 xmin_xmax = None
4906 xmin_xmax = None
4957 else:
4907 else:
4958 value1 = opObj.getParameterValue(parameterName='xmin')
4908 value1 = opObj.getParameterValue(parameterName='xmin')
4959 value1 = str(value1)
4909 value1 = str(value1)
4960 value2 = opObj.getParameterObj(parameterName='xmax')
4910 value2 = opObj.getParameterObj(parameterName='xmax')
4961 if value2 == None:
4911 if value2 == None:
4962 xmin_xmax = None
4912 xmin_xmax = None
4963 else:
4913 else:
4964 value2 = opObj.getParameterValue(parameterName='xmax')
4914 value2 = opObj.getParameterValue(parameterName='xmax')
4965 value2 = str(value2)
4915 value2 = str(value2)
4966 value = value1 + "," + value2
4916 value = value1 + "," + value2
4967 xmin_xmax = value
4917 xmin_xmax = value
4968 self.bufferSpectraHeis("SpectraHeis Plot", "Xmin-Xmax", xmin_xmax)
4918 self.bufferSpectraHeis("SpectraHeis Plot", "Xmin-Xmax", xmin_xmax)
4969
4919
4970 value1 = opObj.getParameterObj(parameterName='ymin')
4920 value1 = opObj.getParameterObj(parameterName='ymin')
4971 if value1 == None:
4921 if value1 == None:
4972 ymin_ymax = None
4922 ymin_ymax = None
4973 else:
4923 else:
4974 value1 = opObj.getParameterValue(parameterName='ymin')
4924 value1 = opObj.getParameterValue(parameterName='ymin')
4975 value1 = str(value1)
4925 value1 = str(value1)
4976 value2 = opObj.getParameterObj(parameterName='ymax')
4926 value2 = opObj.getParameterObj(parameterName='ymax')
4977 if value2 == None:
4927 if value2 == None:
4978 ymin_ymax = None
4928 ymin_ymax = None
4979 else:
4929 else:
4980 value2 = opObj.getParameterValue(parameterName='ymax')
4930 value2 = opObj.getParameterValue(parameterName='ymax')
4981 value2 = str(value2)
4931 value2 = str(value2)
4982 value = value1 + "," + value2
4932 value = value1 + "," + value2
4983 ymin_ymax = value
4933 ymin_ymax = value
4984 self.bufferSpectraHeis("SpectraHeis Plot", "Ymin-Ymax", ymin_ymax)
4934 self.bufferSpectraHeis("SpectraHeis Plot", "Ymin-Ymax", ymin_ymax)
4985
4935
4986 parmObj = opObj.getParameterObj(parameterName="figpath")
4936 parmObj = opObj.getParameterObj(parameterName="figpath")
4987 if parmObj == None:
4937 if parmObj == None:
4988 path = None
4938 path = None
4989 else:
4939 else:
4990 path = opObj.getParameterValue(parameterName='figpath')
4940 path = opObj.getParameterValue(parameterName='figpath')
4991 self.bufferSpectraHeis("SpectraHeis Plot", "Save Path", path)
4941 self.bufferSpectraHeis("SpectraHeis Plot", "Save Path", path)
4992
4942
4993 parmObj = opObj.getParameterObj(parameterName="ftp")
4943 parmObj = opObj.getParameterObj(parameterName="ftp")
4994 if parmObj == None:
4944 if parmObj == None:
4995 status = 'disable'
4945 status = 'disable'
4996 else:
4946 else:
4997 status = 'enable'
4947 status = 'enable'
4998 self.bufferSpectraHeis("SpectraHeis Plot", "FTP", status)
4948 self.bufferSpectraHeis("SpectraHeis Plot", "FTP", status)
4999 self.showWr_Period(puObj, opObj, nameplotop="SpectraHeis Plot")
4949 self.showWr_Period(puObj, opObj, nameplotop="SpectraHeis Plot")
5000 # self.saveFTPvalues(opObj)
4950 # self.saveFTPvalues(opObj)
5001
4951
5002 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
4952 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
5003 # opObj = puObj.getOpObjfromParamValue(value="RTIfromSpectraHeis")
4953 # opObj = puObj.getOpObjfromParamValue(value="RTIfromSpectraHeis")
5004 if opObj == None:
4954 if opObj == None:
5005 self.specHeisGraphCebRTIplot.setCheckState(0)
4955 self.specHeisGraphCebRTIplot.setCheckState(0)
5006 operationRTIPlot = "Disabled"
4956 operationRTIPlot = "Disabled"
5007 channelList = None
4957 channelList = None
5008 freq_vel = None
4958 freq_vel = None
5009 heightsrange = None
4959 heightsrange = None
5010 else:
4960 else:
5011 operationRTIPlot = "Enable"
4961 operationRTIPlot = "Enable"
5012 self.specHeisGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
4962 self.specHeisGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
5013 self.bufferSpectraHeis("RTIHeis Plot", "Operation", operationRTIPlot)
4963 self.bufferSpectraHeis("RTIHeis Plot", "Operation", operationRTIPlot)
5014 parmObj = opObj.getParameterObj(parameterName='channelList')
4964 parmObj = opObj.getParameterObj(parameterName='channelList')
5015 if parmObj == None:
4965 if parmObj == None:
5016 channelListRTIPlot = None
4966 channelListRTIPlot = None
5017 else:
4967 else:
5018 value = opObj.getParameterValue(parameterName='channelList')
4968 value = opObj.getParameterValue(parameterName='channelList')
5019 channelListRTIPlot = str(value)[1:-1]
4969 channelListRTIPlot = str(value)[1:-1]
5020 self.bufferSpectraHeis("RTIHeis Plot", "Channel List", channelListRTIPlot)
4970 self.bufferSpectraHeis("RTIHeis Plot", "Channel List", channelListRTIPlot)
5021
4971
5022
4972
5023 value1 = opObj.getParameterObj(parameterName='xmin')
4973 value1 = opObj.getParameterObj(parameterName='xmin')
5024 if value1 == None:
4974 if value1 == None:
5025 freq_vel = None
4975 freq_vel = None
5026 else:
4976 else:
5027 value1 = opObj.getParameterValue(parameterName='xmin')
4977 value1 = opObj.getParameterValue(parameterName='xmin')
5028 value1 = str(value1)
4978 value1 = str(value1)
5029 value2 = opObj.getParameterObj(parameterName='xmax')
4979 value2 = opObj.getParameterObj(parameterName='xmax')
5030 if value2 == None:
4980 if value2 == None:
5031 freq_vel = None
4981 freq_vel = None
5032 else:
4982 else:
5033 value2 = opObj.getParameterValue(parameterName='xmax')
4983 value2 = opObj.getParameterValue(parameterName='xmax')
5034 value2 = str(value2)
4984 value2 = str(value2)
5035 value = value1 + "," + value2
4985 value = value1 + "," + value2
5036 tmintmax = value
4986 tmintmax = value
5037 self.bufferSpectraHeis("RTIHeis Plot", "Tmin,Tmax", tmintmax)
4987 self.bufferSpectraHeis("RTIHeis Plot", "Tmin,Tmax", tmintmax)
5038
4988
5039 parmObj = opObj.getParameterObj(parameterName='timerange')
4989 parmObj = opObj.getParameterObj(parameterName='timerange')
5040 if parmObj == None:
4990 if parmObj == None:
5041 timerange = None
4991 timerange = None
5042 else:
4992 else:
5043 value = opObj.getParameterValue(parameterName='timerange')
4993 value = opObj.getParameterValue(parameterName='timerange')
5044 timerange = str(value)
4994 timerange = str(value)
5045 self.bufferSpectraHeis("RTIHeis Plot", "Time Range", timerange)
4995 self.bufferSpectraHeis("RTIHeis Plot", "Time Range", timerange)
5046
4996
5047 value1 = opObj.getParameterObj(parameterName='ymin')
4997 value1 = opObj.getParameterObj(parameterName='ymin')
5048 if value1 == None:
4998 if value1 == None:
5049 heightsrange = None
4999 heightsrange = None
5050 else:
5000 else:
5051 value1 = opObj.getParameterValue(parameterName='ymin')
5001 value1 = opObj.getParameterValue(parameterName='ymin')
5052 value1 = str(value1)
5002 value1 = str(value1)
5053 value2 = opObj.getParameterObj(parameterName='ymax')
5003 value2 = opObj.getParameterObj(parameterName='ymax')
5054 if value2 == None:
5004 if value2 == None:
5055 fheightsrange = None
5005 fheightsrange = None
5056 else:
5006 else:
5057 value2 = opObj.getParameterValue(parameterName='ymax')
5007 value2 = opObj.getParameterValue(parameterName='ymax')
5058 value2 = str(value2)
5008 value2 = str(value2)
5059 value = value1 + "," + value2
5009 value = value1 + "," + value2
5060 heightsrange = value
5010 heightsrange = value
5061 self.bufferSpectraHeis("RTIHeis Plot", "Ymin-Ymax", heightsrange)
5011 self.bufferSpectraHeis("RTIHeis Plot", "Ymin-Ymax", heightsrange)
5062
5012
5063 parmObj = opObj.getParameterObj(parameterName="figpath")
5013 parmObj = opObj.getParameterObj(parameterName="figpath")
5064 if parmObj == None:
5014 if parmObj == None:
5065 path = None
5015 path = None
5066 else:
5016 else:
5067 path = opObj.getParameterValue(parameterName='figpath')
5017 path = opObj.getParameterValue(parameterName='figpath')
5068 self.bufferSpectraHeis("RTIHeis Plot", "Save Path", path)
5018 self.bufferSpectraHeis("RTIHeis Plot", "Save Path", path)
5069
5019
5070 parmObj = opObj.getParameterObj(parameterName="ftp")
5020 parmObj = opObj.getParameterObj(parameterName="ftp")
5071 if parmObj == None:
5021 if parmObj == None:
5072 status = 'disable'
5022 status = 'disable'
5073 else:
5023 else:
5074 status = 'enable'
5024 status = 'enable'
5075 self.bufferSpectraHeis("RTIHeis Plot", "FTP", status)
5025 self.bufferSpectraHeis("RTIHeis Plot", "FTP", status)
5076 self.showWr_Period(puObj, opObj, nameplotop="RTIHeis Plot")
5026 self.showWr_Period(puObj, opObj, nameplotop="RTIHeis Plot")
5077 # self.saveFTPvalues(opObj)
5027 # self.saveFTPvalues(opObj)
5078
5079 projectObj = self.getSelectedProjectObj()
5080 ftpProcUnitConfObj = projectObj.getProcUnitObjByName(name="SendToServer")
5081
5082 if ftpProcUnitConfObj:
5083
5084 opObj = ftpProcUnitConfObj.getOperationObj(name='run')
5085
5086 server = opObj.getParameterValue(parameterName='server')
5087 folder = opObj.getParameterValue(parameterName='folder')
5088 username = opObj.getParameterValue(parameterName='username')
5089 password = opObj.getParameterValue(parameterName='password')
5090 ftp_wei = opObj.getParameterValue(parameterName='ftp_wei')
5091 exp_code = opObj.getParameterValue(parameterName='exp_code')
5092 sub_exp_code = opObj.getParameterValue(parameterName='sub_exp_code')
5093 plot_pos = opObj.getParameterValue(parameterName='plot_pos')
5094 localfolder = opObj.getParameterValue(parameterName='localfolder')
5095
5096 self.bufferSpectraHeis("FTP", "Server", server)
5097 self.bufferSpectraHeis("FTP", "Remote folder", folder)
5098 self.bufferSpectraHeis("FTP", "Local folder", localfolder)
5099 self.bufferSpectraHeis("FTP", "Username", username)
5100 self.bufferSpectraHeis("FTP", "Password", '*'*len(password))
5101 self.bufferSpectraHeis("FTP", "Ftp_wei", ftp_wei)
5102 self.bufferSpectraHeis("FTP", "Exp_code", exp_code)
5103 self.bufferSpectraHeis("FTP", "Sub_exp_code", sub_exp_code)
5104 self.bufferSpectraHeis("FTP", "Plot_pos", plot_pos)
5105
5028
5106 # outputSpectraHeisWrite
5029 # outputSpectraHeisWrite
5107 opObj = puObj.getOperationObj(name='FitsWriter')
5030 opObj = puObj.getOperationObj(name='FitsWriter')
5108 if opObj == None:
5031 if opObj == None:
5109 pass
5032 pass
5110 else:
5033 else:
5111 operation = 'Enabled'
5034 operation = 'Enabled'
5112 self.bufferSpectraHeis("Output", "Operation", operation)
5035 self.bufferSpectraHeis("Output", "Operation", operation)
5113 value = opObj.getParameterObj(parameterName='path')
5036 value = opObj.getParameterObj(parameterName='path')
5114 if value == None:
5037 if value == None:
5115 path = None
5038 path = None
5116 else:
5039 else:
5117 value = opObj.getParameterValue(parameterName='path')
5040 value = opObj.getParameterValue(parameterName='path')
5118 path = str(value)
5041 path = str(value)
5119 self.bufferSpectraHeis("Output", "Path", path)
5042 self.bufferSpectraHeis("Output", "Path", path)
5120 value = opObj.getParameterObj(parameterName='dataBlocksPerFile')
5043 value = opObj.getParameterObj(parameterName='dataBlocksPerFile')
5121 if value == None:
5044 if value == None:
5122 blocksperfile = None
5045 blocksperfile = None
5123 else:
5046 else:
5124 value = opObj.getParameterValue(parameterName='dataBlocksPerFile')
5047 value = opObj.getParameterValue(parameterName='dataBlocksPerFile')
5125 blocksperfile = str(value)
5048 blocksperfile = str(value)
5126 self.bufferSpectraHeis("Output", "BlocksPerFile", blocksperfile)
5049 self.bufferSpectraHeis("Output", "BlocksPerFile", blocksperfile)
5127 value = opObj.getParameterObj(parameterName='metadatafile')
5050 value = opObj.getParameterObj(parameterName='metadatafile')
5128 if value == None:
5051 if value == None:
5129 metadata = None
5052 metadata = None
5130 else:
5053 else:
5131 value = opObj.getParameterValue(parameterName='metadatafile')
5054 value = opObj.getParameterValue(parameterName='metadatafile')
5132 metadata = str(value)
5055 metadata = str(value)
5133 self.bufferSpectraHeis("Output", "Metadata", metadata)
5056 self.bufferSpectraHeis("Output", "Metadata", metadata)
5057
5058 projectObj = self.getSelectedProjectObj()
5059 ftpProcUnitConfObj = projectObj.getProcUnitObjByName(name="SendToServer")
5060
5061 if ftpProcUnitConfObj:
5062
5063 opObj = ftpProcUnitConfObj.getOperationObj(name='run')
5064
5065 server = opObj.getParameterValue(parameterName='server')
5066 folder = opObj.getParameterValue(parameterName='folder')
5067 username = opObj.getParameterValue(parameterName='username')
5068 password = opObj.getParameterValue(parameterName='password')
5069 ftp_wei = opObj.getParameterValue(parameterName='ftp_wei')
5070 exp_code = opObj.getParameterValue(parameterName='exp_code')
5071 sub_exp_code = opObj.getParameterValue(parameterName='sub_exp_code')
5072 plot_pos = opObj.getParameterValue(parameterName='plot_pos')
5073 localfolder = opObj.getParameterValue(parameterName='localfolder')
5074
5075 self.bufferSpectraHeis("FTP", "Server", server)
5076 self.bufferSpectraHeis("FTP", "Remote folder", folder)
5077 self.bufferSpectraHeis("FTP", "Local folder", localfolder)
5078 self.bufferSpectraHeis("FTP", "Username", username)
5079 self.bufferSpectraHeis("FTP", "Password", '*'*len(password))
5080 self.bufferSpectraHeis("FTP", "Ftp_wei", ftp_wei)
5081 self.bufferSpectraHeis("FTP", "Exp_code", exp_code)
5082 self.bufferSpectraHeis("FTP", "Sub_exp_code", sub_exp_code)
5083 self.bufferSpectraHeis("FTP", "Plot_pos", plot_pos)
5134
5084
5135 # set model PU Properties
5085 # set model PU Properties
5136
5086
5137 self.propertiesModel = treeModel()
5087 self.propertiesModel = treeModel()
5138 self.propertiesModel.showPUSpectraHeisParms(self.specHeisProperCaracteristica, self.specHeisProperPrincipal, self.specHeisProperDescripcion)
5088 self.propertiesModel.showPUSpectraHeisParms(self.specHeisProperCaracteristica, self.specHeisProperPrincipal, self.specHeisProperDescripcion)
5139
5089
5140 self.treeProjectProperties.setModel(self.propertiesModel)
5090 self.treeProjectProperties.setModel(self.propertiesModel)
5141 self.treeProjectProperties.expandAll()
5091 self.treeProjectProperties.expandAll()
5142 self.treeProjectProperties.allColumnsShowFocus()
5092 self.treeProjectProperties.allColumnsShowFocus()
5143 self.treeProjectProperties.resizeColumnToContents(0)
5093 self.treeProjectProperties.resizeColumnToContents(0)
5144 self.treeProjectProperties.resizeColumnToContents(1)
5094 self.treeProjectProperties.resizeColumnToContents(1)
5145
5095
5146 self.specHeisProperCaracteristica = []
5096 self.specHeisProperCaracteristica = []
5147 self.specHeisProperDescripcion = []
5097 self.specHeisProperDescripcion = []
5148 self.specHeisProperPrincipal = []
5098 self.specHeisProperPrincipal = []
5149
5099
5150
5100
5151 def showWr_Period(self, puObj, opObj, nameplotop):
5101 def showWr_Period(self, puObj, opObj, nameplotop):
5152 parmObj = opObj.getParameterObj(parameterName='wr_period')
5102 parmObj = opObj.getParameterObj(parameterName='wr_period')
5153 if parmObj == None:
5103 if parmObj == None:
5154 wr_period = None
5104 wr_period = None
5155 else:
5105 else:
5156 value = opObj.getParameterValue(parameterName='wr_period')
5106 value = opObj.getParameterValue(parameterName='wr_period')
5157 wr_period = str(value)
5107 wr_period = str(value)
5158 if puObj.datatype == "Spectra":
5108 if puObj.datatype == "Spectra":
5159 self.bufferSpectra(nameplotop, "wr_period", wr_period)
5109 self.bufferSpectra(nameplotop, "wr_period", wr_period)
5160 if puObj.datatype == "SpectraHeis":
5110 if puObj.datatype == "SpectraHeis":
5161 self.bufferSpectraHeis(nameplotop, "wr_period", wr_period)
5111 self.bufferSpectraHeis(nameplotop, "wr_period", wr_period)
5162
5112
5163 def saveFTPvalues(self, opObj):
5113 def saveFTPvalues(self, opObj):
5164
5114
5165 parmObj = opObj.getParameterObj(parameterName="server")
5115 parmObj = opObj.getParameterObj(parameterName="server")
5166 if parmObj == None:
5116 if parmObj == None:
5167 server = 'jro-app.igp.gob.pe'
5117 server = 'jro-app.igp.gob.pe'
5168 else:
5118 else:
5169 server = opObj.getParameterValue(parameterName='server')
5119 server = opObj.getParameterValue(parameterName='server')
5170
5120
5171 parmObj = opObj.getParameterObj(parameterName="folder")
5121 parmObj = opObj.getParameterObj(parameterName="folder")
5172 if parmObj == None:
5122 if parmObj == None:
5173 folder = '/home/wmaster/graficos'
5123 folder = '/home/wmaster/graficos'
5174 else:
5124 else:
5175 folder = opObj.getParameterValue(parameterName='folder')
5125 folder = opObj.getParameterValue(parameterName='folder')
5176
5126
5177 parmObj = opObj.getParameterObj(parameterName="username")
5127 parmObj = opObj.getParameterObj(parameterName="username")
5178 if parmObj == None:
5128 if parmObj == None:
5179 username = 'wmaster'
5129 username = 'wmaster'
5180 else:
5130 else:
5181 username = opObj.getParameterValue(parameterName='username')
5131 username = opObj.getParameterValue(parameterName='username')
5182
5132
5183 parmObj = opObj.getParameterObj(parameterName="password")
5133 parmObj = opObj.getParameterObj(parameterName="password")
5184 if parmObj == None:
5134 if parmObj == None:
5185 password = 'mst2010vhf'
5135 password = 'mst2010vhf'
5186 else:
5136 else:
5187 password = opObj.getParameterValue(parameterName='password')
5137 password = opObj.getParameterValue(parameterName='password')
5188
5138
5189 parmObj = opObj.getParameterObj(parameterName="ftp_wei")
5139 parmObj = opObj.getParameterObj(parameterName="ftp_wei")
5190 if parmObj == None:
5140 if parmObj == None:
5191 ftp_wei = '0'
5141 ftp_wei = '0'
5192 else:
5142 else:
5193 ftp_wei = opObj.getParameterValue(parameterName='ftp_wei')
5143 ftp_wei = opObj.getParameterValue(parameterName='ftp_wei')
5194
5144
5195 parmObj = opObj.getParameterObj(parameterName="exp_code")
5145 parmObj = opObj.getParameterObj(parameterName="exp_code")
5196 if parmObj == None:
5146 if parmObj == None:
5197 exp_code = '0'
5147 exp_code = '0'
5198 else:
5148 else:
5199 exp_code = opObj.getParameterValue(parameterName='exp_code')
5149 exp_code = opObj.getParameterValue(parameterName='exp_code')
5200
5150
5201 parmObj = opObj.getParameterObj(parameterName="sub_exp_code")
5151 parmObj = opObj.getParameterObj(parameterName="sub_exp_code")
5202 if parmObj == None:
5152 if parmObj == None:
5203 sub_exp_code = '0'
5153 sub_exp_code = '0'
5204 else:
5154 else:
5205 sub_exp_code = opObj.getParameterValue(parameterName='sub_exp_code')
5155 sub_exp_code = opObj.getParameterValue(parameterName='sub_exp_code')
5206
5156
5207 parmObj = opObj.getParameterObj(parameterName="plot_pos")
5157 parmObj = opObj.getParameterObj(parameterName="plot_pos")
5208 if parmObj == None:
5158 if parmObj == None:
5209 plot_pos = '0'
5159 plot_pos = '0'
5210 else:
5160 else:
5211 plot_pos = opObj.getParameterValue(parameterName='plot_pos')
5161 plot_pos = opObj.getParameterValue(parameterName='plot_pos')
5212
5162
5213 parmObj = opObj.getParameterObj(parameterName="localfolder")
5163 parmObj = opObj.getParameterObj(parameterName="localfolder")
5214 if parmObj == None:
5164 if parmObj == None:
5215 localfolder = None
5165 localfolder = None
5216 else:
5166 else:
5217 localfolder = opObj.getParameterValue(parameterName='localfolder')
5167 localfolder = opObj.getParameterValue(parameterName='localfolder')
5218
5168
5219 parmObj = opObj.getParameterObj(parameterName="extension")
5169 parmObj = opObj.getParameterObj(parameterName="extension")
5220 if parmObj == None:
5170 if parmObj == None:
5221 extension = None
5171 extension = None
5222 else:
5172 else:
5223 extension = opObj.getParameterValue(parameterName='extension')
5173 extension = opObj.getParameterValue(parameterName='extension')
5224
5174
5225 self.temporalFTP.save(server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos,
5175 self.temporalFTP.save(server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos,
5226 localfolder=localfolder,
5176 localfolder=localfolder,
5227 extension=extension)
5177 extension=extension)
5228
5178
5229 def addProject2ProjectExplorer(self, id, name):
5179 def addProject2ProjectExplorer(self, id, name):
5230
5180
5231 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
5181 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
5232 self.parentItem = self.projectExplorerModel.invisibleRootItem()
5182 self.parentItem = self.projectExplorerModel.invisibleRootItem()
5233 self.parentItem.appendRow(itemTree)
5183 self.parentItem.appendRow(itemTree)
5234 self.parentItem = itemTree
5184 self.parentItem = itemTree
5235 self.projectExplorerTree.setCurrentIndex(self.parentItem.index())
5185 self.projectExplorerTree.setCurrentIndex(self.parentItem.index())
5236
5186
5237 self.selectedItemTree = itemTree
5187 self.selectedItemTree = itemTree
5238
5188
5239 self.__itemTreeDict[id] = itemTree
5189 self.__itemTreeDict[id] = itemTree
5240
5190
5241 def addPU2ProjectExplorer(self, id, name):
5191 def addPU2ProjectExplorer(self, id, name):
5242 # id1= round(int(id)/10.)*10
5192 # id1= round(int(id)/10.)*10
5243 # id= int(id)
5193 # id= int(id)
5244 # id=id-id1
5194 # id=id-id1
5245 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
5195 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
5246
5196
5247 self.parentItem = self.selectedItemTree
5197 self.parentItem = self.selectedItemTree
5248 self.parentItem.appendRow(itemTree)
5198 self.parentItem.appendRow(itemTree)
5249 self.projectExplorerTree.expandAll()
5199 self.projectExplorerTree.expandAll()
5250 self.parentItem = itemTree
5200 self.parentItem = itemTree
5251 self.projectExplorerTree.setCurrentIndex(self.parentItem.index())
5201 self.projectExplorerTree.setCurrentIndex(self.parentItem.index())
5252
5202
5253 self.selectedItemTree = itemTree
5203 self.selectedItemTree = itemTree
5254
5204
5255 self.__itemTreeDict[id] = itemTree
5205 self.__itemTreeDict[id] = itemTree
5256
5206
5257 def addPU2PELoadXML(self, id, name, idParent):
5207 def addPU2PELoadXML(self, id, name, idParent):
5258
5208
5259 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
5209 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
5260 if self.__itemTreeDict.has_key(idParent):
5210 if self.__itemTreeDict.has_key(idParent):
5261 self.parentItem = self.__itemTreeDict[idParent]
5211 self.parentItem = self.__itemTreeDict[idParent]
5262 else:
5212 else:
5263 self.parentItem = self.selectedItemTree
5213 self.parentItem = self.selectedItemTree
5264 self.parentItem.appendRow(itemTree)
5214 self.parentItem.appendRow(itemTree)
5265 self.projectExplorerTree.expandAll()
5215 self.projectExplorerTree.expandAll()
5266 self.parentItem = itemTree
5216 self.parentItem = itemTree
5267 self.projectExplorerTree.setCurrentIndex(self.parentItem.index())
5217 self.projectExplorerTree.setCurrentIndex(self.parentItem.index())
5268
5218
5269 self.selectedItemTree = itemTree
5219 self.selectedItemTree = itemTree
5270
5220
5271 self.__itemTreeDict[id] = itemTree
5221 self.__itemTreeDict[id] = itemTree
5272 # print "stop"
5222 # print "stop"
5273
5223
5274 def getSelectedProjectObj(self):
5224 def getSelectedProjectObj(self):
5275
5225
5276 for key in self.__itemTreeDict.keys():
5226 for key in self.__itemTreeDict.keys():
5277 if self.__itemTreeDict[key] != self.selectedItemTree:
5227 if self.__itemTreeDict[key] != self.selectedItemTree:
5278 continue
5228 continue
5279
5229
5280 if self.__projectObjDict.has_key(key):
5230 if self.__projectObjDict.has_key(key):
5281 projectObj = self.__projectObjDict[key]
5231 projectObj = self.__projectObjDict[key]
5282 else:
5232 else:
5283 puObj = self.__puObjDict[key]
5233 puObj = self.__puObjDict[key]
5284 if puObj.parentId == None:
5234 if puObj.parentId == None:
5285 id = puObj.getId()[0]
5235 id = puObj.getId()[0]
5286 else:
5236 else:
5287 id = puObj.parentId
5237 id = puObj.parentId
5288 projectObj = self.__projectObjDict[id]
5238 projectObj = self.__projectObjDict[id]
5289
5239
5290 return projectObj
5240 return projectObj
5291
5241
5292 self.showWarning()
5242 self.showWarning()
5293
5243
5294 return None
5244 return None
5295
5245
5296 def getSelectedPUObj(self):
5246 def getSelectedPUObj(self):
5297
5247
5298 for key in self.__itemTreeDict.keys():
5248 for key in self.__itemTreeDict.keys():
5299 if self.__itemTreeDict[key] != self.selectedItemTree:
5249 if self.__itemTreeDict[key] != self.selectedItemTree:
5300 continue
5250 continue
5301
5251
5302 if self.__projectObjDict.has_key(key) == True:
5252 if self.__projectObjDict.has_key(key) == True:
5303 fatherObj = self.__projectObjDict[key]
5253 fatherObj = self.__projectObjDict[key]
5304 else:
5254 else:
5305 fatherObj = self.__puObjDict[key]
5255 fatherObj = self.__puObjDict[key]
5306
5256
5307 return fatherObj
5257 return fatherObj
5308
5258
5309 self.showWarning()
5259 self.showWarning()
5310
5260
5311 return None
5261 return None
5312
5262
5263 def openProject(self):
5264
5265 self.create = False
5266 self.frame_2.setEnabled(True)
5267 home = expanduser("~")
5268 self.dir = os.path.join(home, 'schain_workspace')
5269 # print self.dir
5270 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.dir, self.tr("Text Files (*.xml)")))
5271 self.console.clear()
5272 projectObjLoad = Project()
5273 try:
5274 projectObjLoad.readXml(filename)
5275 except:
5276 self.console.clear()
5277 self.console.append("The selected xml file could not be loaded ...")
5278 return 0
5279
5280 project_name, description = projectObjLoad.name, projectObjLoad.description
5281 id = projectObjLoad.id
5282 self.__projectObjDict[id] = projectObjLoad
5283 # Project Properties
5284 datatype, data_path, startDate, endDate, startTime, endTime , online , delay, walk, set = self.showProjectProperties(projectObjLoad)
5285 # show ProjectView
5286 self.addProject2ProjectExplorer(id=id, name=project_name)
5287 self.refreshProjectWindow(project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, set)
5288
5289 if datatype == "Voltage":
5290 ext = '.r'
5291 self.specOpProfiles.setEnabled(True)
5292 self.specOpippFactor.setEnabled(True)
5293 elif datatype == "Spectra":
5294 ext = '.pdata'
5295 self.specOpProfiles.setEnabled(False)
5296 self.specOpippFactor.setEnabled(False)
5297 elif datatype == "Fits":
5298 ext = '.fits'
5299
5300 if online == 0:
5301 self.loadDays(data_path, ext, walk)
5302 else:
5303 self.proComStartDate.setEnabled(False)
5304 self.proComEndDate.setEnabled(False)
5305 self.proStartTime.setEnabled(False)
5306 self.proEndTime.setEnabled(False)
5307 self.frame_2.setEnabled(True)
5308
5309 self.tabWidgetProject.setEnabled(True)
5310 self.tabWidgetProject.setCurrentWidget(self.tabProject)
5311 # Disable tabProject after finish the creation
5312 self.tabProject.setEnabled(True)
5313 puObjorderList = OrderedDict(sorted(projectObjLoad.procUnitConfObjDict.items(), key=lambda x: x[0]))
5314
5315 for inputId, puObj in puObjorderList.items():
5316 # print puObj.datatype, puObj.inputId,puObj.getId(),puObj.parentId
5317 self.__puObjDict[puObj.getId()] = puObj
5318
5319 if puObj.inputId != "0":
5320 self.addPU2PELoadXML(id=puObj.getId() , name=puObj.datatype , idParent=puObj.inputId)
5321
5322 if puObj.datatype == "Voltage":
5323 self.refreshPUWindow(puObj.datatype, puObj)
5324 self.showPUVoltageProperties(puObj)
5325 self.showtabPUCreated(datatype=puObj.datatype)
5326
5327 if puObj.datatype == "Spectra":
5328 self.refreshPUWindow(puObj.datatype, puObj)
5329 self.showPUSpectraProperties(puObj)
5330 self.showtabPUCreated(datatype=puObj.datatype)
5331
5332 if puObj.datatype == "SpectraHeis":
5333 self.refreshPUWindow(puObj.datatype, puObj)
5334 self.showPUSpectraHeisProperties(puObj)
5335 self.showtabPUCreated(datatype=puObj.datatype)
5336
5337 if puObj.name == "SendToServer":
5338 self.__ftpProcUnitAdded = True
5339 self.__ftpProcUnitId = puObj.getId()
5340
5341 opObj = puObj.getOperationObj(name="run")
5342 self.saveFTPvalues(opObj)
5343
5344 self.console.clear()
5345 self.console.append("The selected xml file has been loaded successfully")
5346 # self.refreshPUWindow(datatype=datatype,puObj=puObj)
5347
5313 def playProject(self, ext=".xml"):
5348 def playProject(self, ext=".xml"):
5314
5349
5315 projectObj = self.getSelectedProjectObj()
5350 projectObj = self.getSelectedProjectObj()
5316
5351
5317 filename = os.path.join(str(self.pathWorkSpace),
5352 filename = os.path.join(str(self.pathWorkSpace),
5318 "%s%s%s" %(str(projectObj.name), str(projectObj.id), ext)
5353 "%s%s%s" %(str(projectObj.name), str(projectObj.id), ext)
5319 )
5354 )
5320
5355
5321 self.console.clear()
5356 self.console.clear()
5322 filename = self.saveProject()
5357 filename = self.saveProject()
5323 # projectObj.writeXml(filename)
5358 # projectObj.writeXml(filename)
5324 if filename == None:
5359 if filename == None:
5325 self.console.append("Process did not initialize.")
5360 self.console.append("Process did not initialize.")
5326 return
5361 return
5362
5363 self.actionStart.setEnabled(False)
5364 self.actionPause.setEnabled(True)
5365 self.actionStop.setEnabled(True)
5327
5366
5328 self.actionStarToolbar.setEnabled(False)
5367 self.actionStarToolbar.setEnabled(False)
5329 self.actionPauseToolbar.setEnabled(True)
5368 self.actionPauseToolbar.setEnabled(True)
5330 self.actionStopToolbar.setEnabled(True)
5369 self.actionStopToolbar.setEnabled(True)
5331
5370
5332 self.console.append("Please Wait...")
5371 self.console.append("Please Wait...")
5333 # try:
5372 # try:
5334 self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PROCESS, filename))
5373 self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PROCESS, filename))
5335 # #
5374 # #
5336 # except:
5375 # except:
5337 # self.console.append("Error............................................!")
5376 # self.console.append("Error............................................!")
5338 # self.actionStarToolbar.setEnabled(True)
5377 # self.actionStarToolbar.setEnabled(True)
5339 # self.actionPauseToolbar.setEnabled(False)
5378 # self.actionPauseToolbar.setEnabled(False)
5340 # self.actionStopToolbar.setEnabled(False)
5379 # self.actionStopToolbar.setEnabled(False)
5341
5380
5342 # filename = '/home/dsuarez/workspace_signalchain/schain_guiJune04/test/ewdrifts3.xml'
5381 # filename = '/home/dsuarez/workspace_signalchain/schain_guiJune04/test/ewdrifts3.xml'
5343 # data = filename
5382 # data = filename
5344 # self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PROCESS, data))
5383 # self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PROCESS, data))
5345
5384
5346 def stopProject(self):
5385 def stopProject(self):
5347 stop = False
5386
5387 self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.STOP, True))
5388
5389 self.actionStart.setEnabled(True)
5390 self.actionPause.setEnabled(False)
5391 self.actionStop.setEnabled(False)
5392
5348 self.actionStarToolbar.setEnabled(True)
5393 self.actionStarToolbar.setEnabled(True)
5349 self.actionPauseToolbar.setEnabled(stop)
5394 self.actionPauseToolbar.setEnabled(False)
5350 self.actionStopToolbar.setEnabled(stop)
5395 self.actionStopToolbar.setEnabled(False)
5351
5396
5352 self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.STOP, stop))
5397 self.restorePauseIcon()
5353
5398
5354 def pauseProject(self):
5399 def pauseProject(self):
5355
5400
5401 self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PAUSE, data=True))
5402
5403 self.actionStart.setEnabled(False)
5404 self.actionPause.setEnabled(True)
5405 self.actionStop.setEnabled(True)
5406
5356 self.actionStarToolbar.setEnabled(False)
5407 self.actionStarToolbar.setEnabled(False)
5357 self.actionPauseToolbar.setEnabled(True)
5408 self.actionPauseToolbar.setEnabled(True)
5358 self.actionStopToolbar.setEnabled(True)
5409 self.actionStopToolbar.setEnabled(True)
5359
5410
5360 self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PAUSE, data=True))
5361
5362
5363 def saveProject(self):
5411 def saveProject(self):
5364
5412
5413 self.actionStart.setEnabled(False)
5414 self.actionStarToolbar.setEnabled(False)
5415
5365 sts = True
5416 sts = True
5366 puObj = self.getSelectedPUObj()
5417 puObj = self.getSelectedPUObj()
5367 if puObj.name == 'VoltageProc':
5418
5368 sts = self.on_volOpOk_clicked()
5419 if puObj != None:
5369 if puObj.name == 'SpectraProc':
5420 if puObj.name == 'VoltageProc':
5370 sts = self.on_specOpOk_clicked()
5421 sts = self.on_volOpOk_clicked()
5371 if puObj.name == 'SpectraHeisProc':
5422 if puObj.name == 'SpectraProc':
5372 sts = self.on_specHeisOpOk_clicked()
5423 sts = self.on_specOpOk_clicked()
5373
5424 if puObj.name == 'SpectraHeisProc':
5374 if not sts:
5425 sts = self.on_specHeisOpOk_clicked()
5375 return None
5426
5427 if not sts:
5428 return None
5376
5429
5377 projectObj = self.getSelectedProjectObj()
5430 projectObj = self.getSelectedProjectObj()
5378 puObjorderList = OrderedDict(sorted(projectObj.procUnitConfObjDict.items(), key=lambda x: x[0]))
5431 puObjorderList = OrderedDict(sorted(projectObj.procUnitConfObjDict.items(), key=lambda x: x[0]))
5379
5432
5380 for inputId, puObj in puObjorderList.items():
5433 for inputId, puObj in puObjorderList.items():
5381 # print puObj.datatype, puObj.inputId,puObj.getId(),puObj.parentId
5434 # print puObj.datatype, puObj.inputId,puObj.getId(),puObj.parentId
5382
5435
5383 if puObj.name == "VoltageProc":
5436 if puObj.name == "VoltageProc":
5384 self.refreshID(puObj)
5437 self.refreshID(puObj)
5385 if puObj.name == "SpectraProc":
5438 if puObj.name == "SpectraProc":
5386 self.refreshID(puObj)
5439 self.refreshID(puObj)
5387 if puObj.name == "SpectraHeisProc":
5440 if puObj.name == "SpectraHeisProc":
5388 self.refreshID(puObj)
5441 self.refreshID(puObj)
5389
5442
5390 filename = os.path.join(str(self.pathWorkSpace),
5443 filename = os.path.join(str(self.pathWorkSpace),
5391 "%s%s%s" %(str(projectObj.name), str(projectObj.id), '.xml')
5444 "%s%s%s" %(str(projectObj.name), str(projectObj.id), '.xml')
5392 )
5445 )
5393 projectObj.writeXml(filename)
5446 projectObj.writeXml(filename)
5394 self.console.append("Now, you can press the Start Icon on the toolbar")
5447 self.console.append("Now, you can press the Start Icon on the toolbar")
5395
5448
5449 self.actionStart.setEnabled(True)
5450 self.actionStarToolbar.setEnabled(True)
5451
5396 return filename
5452 return filename
5397
5453
5398 def deleteProjectorPU(self):
5454 def deleteProjectorPU(self):
5399 """
5455 """
5400 Metodo para eliminar el proyecto en el dictionario de proyectos y en el dictionario de vista de arbol
5456 Metodo para eliminar el proyecto en el dictionario de proyectos y en el dictionario de vista de arbol
5401 """
5457 """
5402 for key in self.__itemTreeDict.keys():
5458 for key in self.__itemTreeDict.keys():
5403 if self.__itemTreeDict[key] != self.selectedItemTree:
5459 if self.__itemTreeDict[key] != self.selectedItemTree:
5404 continue
5460 continue
5405
5461
5406 if self.__projectObjDict.has_key(key) == True:
5462 if self.__projectObjDict.has_key(key) == True:
5407
5463
5408 del self.__projectObjDict[key]
5464 del self.__projectObjDict[key]
5409 del self.__itemTreeDict[key]
5465 del self.__itemTreeDict[key]
5410
5466
5411 else:
5467 else:
5412 puObj = self.__puObjDict[key]
5468 puObj = self.__puObjDict[key]
5413 if puObj.parentId == None:
5469 if puObj.parentId == None:
5414 id = puObj.getId()[0]
5470 id = puObj.getId()[0]
5415 else:
5471 else:
5416 id = puObj.parentId
5472 id = puObj.parentId
5417 projectObj = self.__projectObjDict[id]
5473 projectObj = self.__projectObjDict[id]
5418 del self.__puObjDict[key]
5474 del self.__puObjDict[key]
5419 del self.__itemTreeDict[key]
5475 del self.__itemTreeDict[key]
5420 del projectObj.procUnitConfObjDict[key]
5476 del projectObj.procUnitConfObjDict[key]
5421 for key in projectObj.procUnitConfObjDict.keys():
5477 for key in projectObj.procUnitConfObjDict.keys():
5422 if projectObj.procUnitConfObjDict[key].inputId != puObj.getId():
5478 if projectObj.procUnitConfObjDict[key].inputId != puObj.getId():
5423 continue
5479 continue
5424 del self.__puObjDict[projectObj.procUnitConfObjDict[key].getId()]
5480 del self.__puObjDict[projectObj.procUnitConfObjDict[key].getId()]
5425 del self.__itemTreeDict[projectObj.procUnitConfObjDict[key].getId()]
5481 del self.__itemTreeDict[projectObj.procUnitConfObjDict[key].getId()]
5426 del projectObj.procUnitConfObjDict[key]
5482 del projectObj.procUnitConfObjDict[key]
5427 # print projectObj.procUnitConfObjDict
5483 # print projectObj.procUnitConfObjDict
5428 # print self.__itemTreeDict,self.__projectObjDict,self.__puObjDict
5484 # print self.__itemTreeDict,self.__projectObjDict,self.__puObjDict
5429 self.showWarning()
5485 self.showWarning()
5430
5486
5431 def showWarning(self):
5487 def showWarning(self):
5432 pass
5488 pass
5433
5489
5434 def getParmsFromProjectWindow(self):
5490 def getParmsFromProjectWindow(self):
5435 """
5491 """
5436 Return Inputs Project:
5492 Return Inputs Project:
5437 - id
5493 - id
5438 - project_name
5494 - project_name
5439 - datatype
5495 - datatype
5440 - ext
5496 - ext
5441 - data_path
5497 - data_path
5442 - readmode
5498 - readmode
5443 - delay
5499 - delay
5444 - set
5500 - set
5445 - walk
5501 - walk
5446 """
5502 """
5447 project_name = str(self.proName.text())
5503 project_name = str(self.proName.text())
5448 try:
5504 try:
5449 name = str(self.proName.text())
5505 name = str(self.proName.text())
5450 except:
5506 except:
5451 self.console.clear()
5507 self.console.clear()
5452 self.console.append("Please Write a name")
5508 self.console.append("Please Write a name")
5453 return 0
5509 return 0
5454
5510
5455 desc = str(self.proDescription.toPlainText())
5511 desc = str(self.proDescription.toPlainText())
5456 datatype = str(self.proComDataType.currentText())
5512 datatype = str(self.proComDataType.currentText())
5457 data_path = str(self.proDataPath.text())
5513 data_path = str(self.proDataPath.text())
5458 if not os.path.exists(data_path):
5514 if not os.path.exists(data_path):
5459 self.proOk.setEnabled(False)
5515 self.proOk.setEnabled(False)
5460 self.console.clear()
5516 self.console.clear()
5461 self.console.append("Write a correct a path")
5517 self.console.append("Write a correct a path")
5462 return
5518 return
5463
5519
5464 online = int(self.online)
5520 online = int(self.online)
5465 if online == 0:
5521 if online == 0:
5466 delay = 0
5522 delay = 0
5467 set = 0
5523 set = 0
5468 else:
5524 else:
5469 delay = self.proDelay.text()
5525 delay = self.proDelay.text()
5470 try:
5526 try:
5471 delay = int(self.proDelay.text())
5527 delay = int(self.proDelay.text())
5472 except:
5528 except:
5473 self.console.clear()
5529 self.console.clear()
5474 self.console.append("Please Write a number for delay")
5530 self.console.append("Please Write a number for delay")
5475 return 0
5531 return 0
5476
5532
5477 set = self.proSet.text()
5533 set = self.proSet.text()
5478 try:
5534 try:
5479 set = int(self.proSet.text())
5535 set = int(self.proSet.text())
5480 except:
5536 except:
5481 self.console.clear()
5537 self.console.clear()
5482 set = None
5538 set = None
5483
5539
5484
5540
5485 walk = int(self.walk)
5541 walk = int(self.walk)
5486 starDate = str(self.proComStartDate.currentText())
5542 starDate = str(self.proComStartDate.currentText())
5487 endDate = str(self.proComEndDate.currentText())
5543 endDate = str(self.proComEndDate.currentText())
5488 reloj1 = self.proStartTime.time()
5544 reloj1 = self.proStartTime.time()
5489 reloj2 = self.proEndTime.time()
5545 reloj2 = self.proEndTime.time()
5490 startTime = str(reloj1.hour()) + ":" + str(reloj1.minute()) + ":" + str(reloj1.second())
5546 startTime = str(reloj1.hour()) + ":" + str(reloj1.minute()) + ":" + str(reloj1.second())
5491 endTime = str(reloj2.hour()) + ":" + str(reloj2.minute()) + ":" + str(reloj2.second())
5547 endTime = str(reloj2.hour()) + ":" + str(reloj2.minute()) + ":" + str(reloj2.second())
5492
5548
5493 return project_name, desc, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk , set
5549 return project_name, desc, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk , set
5494
5550
5495 def removefromtree(self, row):
5551 def removefromtree(self, row):
5496 self.parentItem.removeRow(row)
5552 self.parentItem.removeRow(row)
5497
5553
5498
5554
5499 def setInputsProject_View(self):
5555 def setInputsProject_View(self):
5500 self.tabWidgetProject.setEnabled(True)
5556 self.tabWidgetProject.setEnabled(True)
5501 self.tabWidgetProject.setCurrentWidget(self.tabProject)
5557 self.tabWidgetProject.setCurrentWidget(self.tabProject)
5502 self.tabProject.setEnabled(True)
5558 self.tabProject.setEnabled(True)
5503 self.frame_2.setEnabled(False)
5559 self.frame_2.setEnabled(False)
5504 self.proName.clear()
5560 self.proName.clear()
5505 self.proName.setFocus()
5561 self.proName.setFocus()
5506 self.proName.setSelection(0, 0)
5562 self.proName.setSelection(0, 0)
5507 self.proName.setCursorPosition(0)
5563 self.proName.setCursorPosition(0)
5508 self.proDataType.setText('.r')
5564 self.proDataType.setText('.r')
5509 self.proDataPath.clear()
5565 self.proDataPath.clear()
5510 self.proComDataType.clear()
5566 self.proComDataType.clear()
5511 self.proComDataType.addItem("Voltage")
5567 self.proComDataType.addItem("Voltage")
5512 self.proComDataType.addItem("Spectra")
5568 self.proComDataType.addItem("Spectra")
5513 self.proComDataType.addItem("Fits")
5569 self.proComDataType.addItem("Fits")
5514
5570
5515 self.proComStartDate.clear()
5571 self.proComStartDate.clear()
5516 self.proComEndDate.clear()
5572 self.proComEndDate.clear()
5517
5573
5518 startTime = "00:00:00"
5574 startTime = "00:00:00"
5519 endTime = "23:59:59"
5575 endTime = "23:59:59"
5520 starlist = startTime.split(":")
5576 starlist = startTime.split(":")
5521 endlist = endTime.split(":")
5577 endlist = endTime.split(":")
5522 self.proDelay.setText("0")
5578 self.proDelay.setText("0")
5523 self.proSet.setText("0")
5579 self.proSet.setText("0")
5524 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
5580 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
5525 self.proStartTime.setTime(self.time)
5581 self.proStartTime.setTime(self.time)
5526 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
5582 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
5527 self.proEndTime.setTime(self.time)
5583 self.proEndTime.setTime(self.time)
5528 self.proDescription.clear()
5584 self.proDescription.clear()
5529 self.proOk.setEnabled(False)
5585 self.proOk.setEnabled(False)
5530 self.console.clear()
5586 self.console.clear()
5531 # self.console.append("Please, Write a name Project")
5587 # self.console.append("Please, Write a name Project")
5532 # self.console.append("Introduce Project Parameters")DC
5588 # self.console.append("Introduce Project Parameters")DC
5533 # self.console.append("Select data type Voltage( .rawdata) or Spectra(.pdata)")
5589 # self.console.append("Select data type Voltage( .rawdata) or Spectra(.pdata)")
5534
5590
5535 def setInputsPU_View(self, datatype):
5591 def setInputsPU_View(self, datatype):
5536 projectObjView = self.getSelectedProjectObj()
5592 projectObjView = self.getSelectedProjectObj()
5537 idReadUnit = projectObjView.getReadUnitId()
5593 idReadUnit = projectObjView.getReadUnitId()
5538 readUnitObj = projectObjView.getProcUnitObj(idReadUnit)
5594 readUnitObj = projectObjView.getProcUnitObj(idReadUnit)
5539
5595
5540 if datatype == 'Voltage':
5596 if datatype == 'Voltage':
5541 self.volOpComChannels.setEnabled(False)
5597 self.volOpComChannels.setEnabled(False)
5542 self.volOpComHeights.setEnabled(False)
5598 self.volOpComHeights.setEnabled(False)
5543 self.volOpFilter.setEnabled(False)
5599 self.volOpFilter.setEnabled(False)
5544 self.volOpComProfile.setEnabled(False)
5600 self.volOpComProfile.setEnabled(False)
5545 self.volOpComCode.setEnabled(False)
5601 self.volOpComCode.setEnabled(False)
5546 self.volOpCohInt.setEnabled(False)
5602 self.volOpCohInt.setEnabled(False)
5547 self.volOpChannel.setEnabled(False)
5603 self.volOpChannel.setEnabled(False)
5548 self.volOpHeights.setEnabled(False)
5604 self.volOpHeights.setEnabled(False)
5549 self.volOpProfile.setEnabled(False)
5605 self.volOpProfile.setEnabled(False)
5550 self.volOpRadarfrequency.setEnabled(False)
5606 self.volOpRadarfrequency.setEnabled(False)
5551 self.volOpCebChannels.setCheckState(0)
5607 self.volOpCebChannels.setCheckState(0)
5552 self.volOpCebRadarfrequency.setCheckState(0)
5608 self.volOpCebRadarfrequency.setCheckState(0)
5553 self.volOpCebHeights.setCheckState(0)
5609 self.volOpCebHeights.setCheckState(0)
5554 self.volOpCebFilter.setCheckState(0)
5610 self.volOpCebFilter.setCheckState(0)
5555 self.volOpCebProfile.setCheckState(0)
5611 self.volOpCebProfile.setCheckState(0)
5556 self.volOpCebDecodification.setCheckState(0)
5612 self.volOpCebDecodification.setCheckState(0)
5557 self.volOpCebCohInt.setCheckState(0)
5613 self.volOpCebCohInt.setCheckState(0)
5558
5614
5559 self.volOpChannel.clear()
5615 self.volOpChannel.clear()
5560 self.volOpHeights.clear()
5616 self.volOpHeights.clear()
5561 self.volOpProfile.clear()
5617 self.volOpProfile.clear()
5562 self.volOpFilter.clear()
5618 self.volOpFilter.clear()
5563 self.volOpCohInt.clear()
5619 self.volOpCohInt.clear()
5564 self.volOpRadarfrequency.clear()
5620 self.volOpRadarfrequency.clear()
5565
5621
5566 if datatype == 'Spectra':
5622 if datatype == 'Spectra':
5567
5623
5568 if readUnitObj.datatype == 'Spectra':
5624 if readUnitObj.datatype == 'Spectra':
5569 self.specOpnFFTpoints.setEnabled(False)
5625 self.specOpnFFTpoints.setEnabled(False)
5570 self.specOpProfiles.setEnabled(False)
5626 self.specOpProfiles.setEnabled(False)
5571 self.specOpippFactor.setEnabled(False)
5627 self.specOpippFactor.setEnabled(False)
5572 else:
5628 else:
5573 self.specOpnFFTpoints.setEnabled(True)
5629 self.specOpnFFTpoints.setEnabled(True)
5574 self.specOpProfiles.setEnabled(True)
5630 self.specOpProfiles.setEnabled(True)
5575 self.specOpippFactor.setEnabled(True)
5631 self.specOpippFactor.setEnabled(True)
5576
5632
5577 self.specOpCebCrossSpectra.setCheckState(0)
5633 self.specOpCebCrossSpectra.setCheckState(0)
5578 self.specOpCebChannel.setCheckState(0)
5634 self.specOpCebChannel.setCheckState(0)
5579 self.specOpCebHeights.setCheckState(0)
5635 self.specOpCebHeights.setCheckState(0)
5580 self.specOpCebIncoherent.setCheckState(0)
5636 self.specOpCebIncoherent.setCheckState(0)
5581 self.specOpCebRemoveDC.setCheckState(0)
5637 self.specOpCebRemoveDC.setCheckState(0)
5582 self.specOpCebRemoveInt.setCheckState(0)
5638 self.specOpCebRemoveInt.setCheckState(0)
5583 self.specOpCebgetNoise.setCheckState(0)
5639 self.specOpCebgetNoise.setCheckState(0)
5584 self.specOpCebRadarfrequency.setCheckState(0)
5640 self.specOpCebRadarfrequency.setCheckState(0)
5585
5641
5586 self.specOpRadarfrequency.setEnabled(False)
5642 self.specOpRadarfrequency.setEnabled(False)
5587 self.specOppairsList.setEnabled(False)
5643 self.specOppairsList.setEnabled(False)
5588 self.specOpChannel.setEnabled(False)
5644 self.specOpChannel.setEnabled(False)
5589 self.specOpHeights.setEnabled(False)
5645 self.specOpHeights.setEnabled(False)
5590 self.specOpIncoherent.setEnabled(False)
5646 self.specOpIncoherent.setEnabled(False)
5591 self.specOpgetNoise.setEnabled(False)
5647 self.specOpgetNoise.setEnabled(False)
5592
5648
5593 self.specOpRadarfrequency.clear()
5649 self.specOpRadarfrequency.clear()
5594 self.specOpnFFTpoints.clear()
5650 self.specOpnFFTpoints.clear()
5595 self.specOpProfiles.clear()
5651 self.specOpProfiles.clear()
5596 self.specOpippFactor.clear
5652 self.specOpippFactor.clear
5597 self.specOppairsList.clear()
5653 self.specOppairsList.clear()
5598 self.specOpChannel.clear()
5654 self.specOpChannel.clear()
5599 self.specOpHeights.clear()
5655 self.specOpHeights.clear()
5600 self.specOpIncoherent.clear()
5656 self.specOpIncoherent.clear()
5601 self.specOpgetNoise.clear()
5657 self.specOpgetNoise.clear()
5602
5658
5603 self.specGraphCebSpectraplot.setCheckState(0)
5659 self.specGraphCebSpectraplot.setCheckState(0)
5604 self.specGraphCebCrossSpectraplot.setCheckState(0)
5660 self.specGraphCebCrossSpectraplot.setCheckState(0)
5605 self.specGraphCebRTIplot.setCheckState(0)
5661 self.specGraphCebRTIplot.setCheckState(0)
5606 self.specGraphCebRTInoise.setCheckState(0)
5662 self.specGraphCebRTInoise.setCheckState(0)
5607 self.specGraphCebCoherencmap.setCheckState(0)
5663 self.specGraphCebCoherencmap.setCheckState(0)
5608 self.specGraphPowerprofile.setCheckState(0)
5664 self.specGraphPowerprofile.setCheckState(0)
5609
5665
5610 self.specGraphSaveSpectra.setCheckState(0)
5666 self.specGraphSaveSpectra.setCheckState(0)
5611 self.specGraphSaveCross.setCheckState(0)
5667 self.specGraphSaveCross.setCheckState(0)
5612 self.specGraphSaveRTIplot.setCheckState(0)
5668 self.specGraphSaveRTIplot.setCheckState(0)
5613 self.specGraphSaveRTInoise.setCheckState(0)
5669 self.specGraphSaveRTInoise.setCheckState(0)
5614 self.specGraphSaveCoherencemap.setCheckState(0)
5670 self.specGraphSaveCoherencemap.setCheckState(0)
5615 self.specGraphSavePowerprofile.setCheckState(0)
5671 self.specGraphSavePowerprofile.setCheckState(0)
5616
5672
5617 self.specGraphftpRTIplot.setCheckState(0)
5673 self.specGraphftpRTIplot.setCheckState(0)
5618 self.specGraphftpRTInoise.setCheckState(0)
5674 self.specGraphftpRTInoise.setCheckState(0)
5619 self.specGraphftpCoherencemap.setCheckState(0)
5675 self.specGraphftpCoherencemap.setCheckState(0)
5620
5676
5621 self.specGraphPath.clear()
5677 self.specGraphPath.clear()
5622 self.specGraphPrefix.clear()
5678 self.specGraphPrefix.clear()
5623
5679
5624 self.specGgraphftpratio.clear()
5680 self.specGgraphftpratio.clear()
5625
5681
5626 self.specGgraphChannelList.clear()
5682 self.specGgraphChannelList.clear()
5627 self.specGgraphFreq.clear()
5683 self.specGgraphFreq.clear()
5628 self.specGgraphHeight.clear()
5684 self.specGgraphHeight.clear()
5629 self.specGgraphDbsrange.clear()
5685 self.specGgraphDbsrange.clear()
5630 self.specGgraphmagnitud.clear()
5686 self.specGgraphmagnitud.clear()
5631 self.specGgraphTminTmax.clear()
5687 self.specGgraphTminTmax.clear()
5632 self.specGgraphTimeRange.clear()
5688 self.specGgraphTimeRange.clear()
5633
5689
5634 if datatype == 'SpectraHeis':
5690 if datatype == 'SpectraHeis':
5635 self.specHeisOpCebIncoherent.setCheckState(0)
5691 self.specHeisOpCebIncoherent.setCheckState(0)
5636 self.specHeisOpIncoherent.setEnabled(False)
5692 self.specHeisOpIncoherent.setEnabled(False)
5637 self.specHeisOpIncoherent.clear()
5693 self.specHeisOpIncoherent.clear()
5638
5694
5639 self.specHeisGraphCebSpectraplot.setCheckState(0)
5695 self.specHeisGraphCebSpectraplot.setCheckState(0)
5640 self.specHeisGraphCebRTIplot.setCheckState(0)
5696 self.specHeisGraphCebRTIplot.setCheckState(0)
5641
5697
5642 self.specHeisGraphSaveSpectra.setCheckState(0)
5698 self.specHeisGraphSaveSpectra.setCheckState(0)
5643 self.specHeisGraphSaveRTIplot.setCheckState(0)
5699 self.specHeisGraphSaveRTIplot.setCheckState(0)
5644
5700
5645 self.specHeisGraphftpSpectra.setCheckState(0)
5701 self.specHeisGraphftpSpectra.setCheckState(0)
5646 self.specHeisGraphftpRTIplot.setCheckState(0)
5702 self.specHeisGraphftpRTIplot.setCheckState(0)
5647
5703
5648 self.specHeisGraphPath.clear()
5704 self.specHeisGraphPath.clear()
5649 self.specHeisGraphPrefix.clear()
5705 self.specHeisGraphPrefix.clear()
5650 self.specHeisGgraphChannelList.clear()
5706 self.specHeisGgraphChannelList.clear()
5651 self.specHeisGgraphXminXmax.clear()
5707 self.specHeisGgraphXminXmax.clear()
5652 self.specHeisGgraphYminYmax.clear()
5708 self.specHeisGgraphYminYmax.clear()
5653 self.specHeisGgraphTminTmax.clear()
5709 self.specHeisGgraphTminTmax.clear()
5654 self.specHeisGgraphTimeRange.clear()
5710 self.specHeisGgraphTimeRange.clear()
5655 self.specHeisGgraphftpratio.clear()
5711 self.specHeisGgraphftpratio.clear()
5656
5712
5657
5713
5658
5714
5659
5715
5660
5716
5661 def showtabPUCreated(self, datatype):
5717 def showtabPUCreated(self, datatype):
5662 if datatype == "Voltage":
5718 if datatype == "Voltage":
5663 self.tabVoltage.setEnabled(True)
5719 self.tabVoltage.setEnabled(True)
5664 self.tabProject.setEnabled(False)
5720 self.tabProject.setEnabled(False)
5665 self.tabSpectra.setEnabled(False)
5721 self.tabSpectra.setEnabled(False)
5666 self.tabCorrelation.setEnabled(False)
5722 self.tabCorrelation.setEnabled(False)
5667 self.tabSpectraHeis.setEnabled(False)
5723 self.tabSpectraHeis.setEnabled(False)
5668 self.tabWidgetProject.setCurrentWidget(self.tabVoltage)
5724 self.tabWidgetProject.setCurrentWidget(self.tabVoltage)
5669
5725
5670 if datatype == "Spectra":
5726 if datatype == "Spectra":
5671 self.tabVoltage.setEnabled(False)
5727 self.tabVoltage.setEnabled(False)
5672 self.tabProject.setEnabled(False)
5728 self.tabProject.setEnabled(False)
5673 self.tabSpectra.setEnabled(True)
5729 self.tabSpectra.setEnabled(True)
5674 self.tabCorrelation.setEnabled(False)
5730 self.tabCorrelation.setEnabled(False)
5675 self.tabSpectraHeis.setEnabled(False)
5731 self.tabSpectraHeis.setEnabled(False)
5676 self.tabWidgetProject.setCurrentWidget(self.tabSpectra)
5732 self.tabWidgetProject.setCurrentWidget(self.tabSpectra)
5677 if datatype == "SpectraHeis":
5733 if datatype == "SpectraHeis":
5678 self.tabVoltage.setEnabled(False)
5734 self.tabVoltage.setEnabled(False)
5679 self.tabProject.setEnabled(False)
5735 self.tabProject.setEnabled(False)
5680 self.tabSpectra.setEnabled(False)
5736 self.tabSpectra.setEnabled(False)
5681 self.tabCorrelation.setEnabled(False)
5737 self.tabCorrelation.setEnabled(False)
5682 self.tabSpectraHeis.setEnabled(True)
5738 self.tabSpectraHeis.setEnabled(True)
5683 self.tabWidgetProject.setCurrentWidget(self.tabSpectraHeis)
5739 self.tabWidgetProject.setCurrentWidget(self.tabSpectraHeis)
5684
5740
5685
5741
5686 def searchData(self, data_path, ext, walk, expLabel=''):
5742 def searchData(self, data_path, ext, walk, expLabel=''):
5687 dateList = []
5743 dateList = []
5688 fileList = []
5744 fileList = []
5689
5745
5690 if not os.path.exists(data_path):
5746 if not os.path.exists(data_path):
5691 return None
5747 return None
5692
5748
5693 if walk == 0:
5749 if walk == 0:
5694 files = os.listdir(data_path)
5750 files = os.listdir(data_path)
5695 for thisFile in files:
5751 for thisFile in files:
5696 thisExt = os.path.splitext(thisFile)[-1]
5752 thisExt = os.path.splitext(thisFile)[-1]
5697 if thisExt == ext:
5753 if thisExt == ext:
5698 fileList.append(thisFile)
5754 fileList.append(thisFile)
5699
5755
5700 for thisFile in fileList:
5756 for thisFile in fileList:
5701 try:
5757 try:
5702 year = int(thisFile[1:5])
5758 year = int(thisFile[1:5])
5703 doy = int(thisFile[5:8])
5759 doy = int(thisFile[5:8])
5704
5760
5705 date = datetime.date(year, 1, 1) + datetime.timedelta(doy - 1)
5761 date = datetime.date(year, 1, 1) + datetime.timedelta(doy - 1)
5706 dateformat = date.strftime("%Y/%m/%d")
5762 dateformat = date.strftime("%Y/%m/%d")
5707
5763
5708 if dateformat not in dateList:
5764 if dateformat not in dateList:
5709 dateList.append(dateformat)
5765 dateList.append(dateformat)
5710 except:
5766 except:
5711 continue
5767 continue
5712 # REVISION---------------------------------1
5768 # REVISION---------------------------------1
5713 if walk == 1:
5769 if walk == 1:
5714
5770
5715 dirList = os.listdir(data_path)
5771 dirList = os.listdir(data_path)
5716
5772
5717 dirList.sort()
5773 dirList.sort()
5718
5774
5719 dateList = []
5775 dateList = []
5720
5776
5721 for thisDir in dirList:
5777 for thisDir in dirList:
5722
5778
5723 if not isRadarPath(thisDir):
5779 if not isRadarPath(thisDir):
5724 self.console.clear()
5780 self.console.clear()
5725 self.console.append("Please, Choose the Correct Path")
5781 self.console.append("Please, Choose the Correct Path")
5726 self.proOk.setEnabled(False)
5782 self.proOk.setEnabled(False)
5727 continue
5783 continue
5728
5784
5729 doypath = os.path.join(data_path, thisDir, expLabel)
5785 doypath = os.path.join(data_path, thisDir, expLabel)
5730 if not os.path.exists(doypath):
5786 if not os.path.exists(doypath):
5731 self.console.clear()
5787 self.console.clear()
5732 self.console.append("Please, Choose the Correct Path")
5788 self.console.append("Please, Choose the Correct Path")
5733 return
5789 return
5734 files = os.listdir(doypath)
5790 files = os.listdir(doypath)
5735 fileList = []
5791 fileList = []
5736
5792
5737 for thisFile in files:
5793 for thisFile in files:
5738 thisExt = os.path.splitext(thisFile)[-1]
5794 thisExt = os.path.splitext(thisFile)[-1]
5739 if thisExt != ext:
5795 if thisExt != ext:
5740 self.console.clear()
5796 self.console.clear()
5741 self.console.append("There is no datatype selected in the Path Directory")
5797 self.console.append("There is no datatype selected in the Path Directory")
5742 self.proOk.setEnabled(False)
5798 self.proOk.setEnabled(False)
5743 continue
5799 continue
5744
5800
5745 if not isRadarFile(thisFile):
5801 if not isRadarFile(thisFile):
5746 self.proOk.setEnabled(False)
5802 self.proOk.setEnabled(False)
5747 self.console.clear()
5803 self.console.clear()
5748 self.console.append("Please, Choose the Correct Path")
5804 self.console.append("Please, Choose the Correct Path")
5749 continue
5805 continue
5750
5806
5751 fileList.append(thisFile)
5807 fileList.append(thisFile)
5752 break
5808 break
5753
5809
5754 if fileList == []:
5810 if fileList == []:
5755 continue
5811 continue
5756
5812
5757 year = int(thisDir[1:5])
5813 year = int(thisDir[1:5])
5758 doy = int(thisDir[5:8])
5814 doy = int(thisDir[5:8])
5759
5815
5760 date = datetime.date(year, 1, 1) + datetime.timedelta(doy - 1)
5816 date = datetime.date(year, 1, 1) + datetime.timedelta(doy - 1)
5761 dateformat = date.strftime("%Y/%m/%d")
5817 dateformat = date.strftime("%Y/%m/%d")
5762 dateList.append(dateformat)
5818 dateList.append(dateformat)
5763
5819
5764 if len(dateList) > 0:
5820 if len(dateList) > 0:
5765 self.proOk.setEnabled(True)
5821 self.proOk.setEnabled(True)
5766 return dateList
5822 return dateList
5767
5823
5768
5824
5769 # self.proOk.setEnabled(False)
5825 # self.proOk.setEnabled(False)
5770 return None
5826 return None
5771
5827
5772 def checkInputsProject(self):
5828 def checkInputsProject(self):
5773 """
5829 """
5774 Check Inputs Project:
5830 Check Inputs Project:
5775 - project_name
5831 - project_name
5776 - datatype
5832 - datatype
5777 - ext
5833 - ext
5778 - data_path
5834 - data_path
5779 - readmode
5835 - readmode
5780 - delay
5836 - delay
5781 - set
5837 - set
5782 - walk
5838 - walk
5783 """
5839 """
5784 parms_ok = True
5840 parms_ok = True
5785 project_name = str(self.proName.text())
5841 project_name = str(self.proName.text())
5786 if project_name == '' or project_name == None:
5842 if project_name == '' or project_name == None:
5787 outputstr = "Enter the Project Name"
5843 outputstr = "Enter the Project Name"
5788 self.console.append(outputstr)
5844 self.console.append(outputstr)
5789 parms_ok = False
5845 parms_ok = False
5790 project_name = None
5846 project_name = None
5791
5847
5792 datatype = str(self.proComDataType.currentText())
5848 datatype = str(self.proComDataType.currentText())
5793 if not(datatype in ['Voltage', 'Spectra', 'Fits']):
5849 if not(datatype in ['Voltage', 'Spectra', 'Fits']):
5794 outputstr = 'datatype = %s, this must be either Voltage, Spectra or SpectraHeis' % datatype
5850 outputstr = 'datatype = %s, this must be either Voltage, Spectra or SpectraHeis' % datatype
5795 self.console.append(outputstr)
5851 self.console.append(outputstr)
5796 parms_ok = False
5852 parms_ok = False
5797 datatype = None
5853 datatype = None
5798
5854
5799 ext = str(self.proDataType.text())
5855 ext = str(self.proDataType.text())
5800 if not(ext in ['.r', '.pdata', '.fits']):
5856 if not(ext in ['.r', '.pdata', '.fits']):
5801 outputstr = "extension files must be .r , .pdata or .fits"
5857 outputstr = "extension files must be .r , .pdata or .fits"
5802 self.console.append(outputstr)
5858 self.console.append(outputstr)
5803 parms_ok = False
5859 parms_ok = False
5804 ext = None
5860 ext = None
5805
5861
5806 data_path = str(self.proDataPath.text())
5862 data_path = str(self.proDataPath.text())
5807
5863
5808 if data_path == '':
5864 if data_path == '':
5809 outputstr = 'Datapath is empty'
5865 outputstr = 'Datapath is empty'
5810 self.console.append(outputstr)
5866 self.console.append(outputstr)
5811 parms_ok = False
5867 parms_ok = False
5812 data_path = None
5868 data_path = None
5813
5869
5814 if data_path != None:
5870 if data_path != None:
5815 if not os.path.exists(data_path):
5871 if not os.path.exists(data_path):
5816 outputstr = 'Datapath:%s does not exists' % data_path
5872 outputstr = 'Datapath:%s does not exists' % data_path
5817 self.console.append(outputstr)
5873 self.console.append(outputstr)
5818 parms_ok = False
5874 parms_ok = False
5819 data_path = None
5875 data_path = None
5820
5876
5821 read_mode = str(self.proComReadMode.currentText())
5877 read_mode = str(self.proComReadMode.currentText())
5822 if not(read_mode in ['Online', 'Offline']):
5878 if not(read_mode in ['Online', 'Offline']):
5823 outputstr = 'Read Mode: %s, this must be either Online or Offline' % read_mode
5879 outputstr = 'Read Mode: %s, this must be either Online or Offline' % read_mode
5824 self.console.append(outputstr)
5880 self.console.append(outputstr)
5825 parms_ok = False
5881 parms_ok = False
5826 read_mode = None
5882 read_mode = None
5827
5883
5828 try:
5884 try:
5829 delay = int(str(self.proDelay.text()))
5885 delay = int(str(self.proDelay.text()))
5830 except:
5886 except:
5831 outputstr = 'Delay: %s, this must be a integer number' % str(self.proName.text())
5887 outputstr = 'Delay: %s, this must be a integer number' % str(self.proName.text())
5832 self.console.append(outputstr)
5888 self.console.append(outputstr)
5833 parms_ok = False
5889 parms_ok = False
5834 delay = None
5890 delay = None
5835
5891
5836 try:
5892 try:
5837 set = int(str(self.proSet.text()))
5893 set = int(str(self.proSet.text()))
5838 except:
5894 except:
5839 # outputstr = 'Set: %s, this must be a integer number' % str(self.proName.text())
5895 # outputstr = 'Set: %s, this must be a integer number' % str(self.proName.text())
5840 # self.console.append(outputstr)
5896 # self.console.append(outputstr)
5841 # parms_ok = False
5897 # parms_ok = False
5842 set = None
5898 set = None
5843
5899
5844 walk_str = str(self.proComWalk.currentText())
5900 walk_str = str(self.proComWalk.currentText())
5845 if walk_str == 'On Files':
5901 if walk_str == 'On Files':
5846 walk = 0
5902 walk = 0
5847 elif walk_str == 'On Folder':
5903 elif walk_str == 'On Folder':
5848 walk = 1
5904 walk = 1
5849 else:
5905 else:
5850 outputstr = 'Walk: %s, this must be either On Files or On Folders' % walk_str
5906 outputstr = 'Walk: %s, this must be either On Files or On Folders' % walk_str
5851 self.console.append(outputstr)
5907 self.console.append(outputstr)
5852 parms_ok = False
5908 parms_ok = False
5853 walk = None
5909 walk = None
5854
5910
5855 return parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set
5911 return parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set
5856
5912
5857 def checkInputsPUSave(self, datatype):
5913 def checkInputsPUSave(self, datatype):
5858 """
5914 """
5859 Check Inputs Spectra Save:
5915 Check Inputs Spectra Save:
5860 - path
5916 - path
5861 - blocks Per File
5917 - blocks Per File
5862 - sufix
5918 - sufix
5863 - dataformat
5919 - dataformat
5864 """
5920 """
5865 parms_ok = True
5921 parms_ok = True
5866
5922
5867 if datatype == "Voltage":
5923 if datatype == "Voltage":
5868 output_path = str(self.volOutputPath.text())
5924 output_path = str(self.volOutputPath.text())
5869 blocksperfile = str(self.volOutputblocksperfile.text())
5925 blocksperfile = str(self.volOutputblocksperfile.text())
5870 profilesperblock = str(self.volOutputprofilesperblock.text())
5926 profilesperblock = str(self.volOutputprofilesperblock.text())
5871
5927
5872 if datatype == "Spectra":
5928 if datatype == "Spectra":
5873 output_path = str(self.specOutputPath.text())
5929 output_path = str(self.specOutputPath.text())
5874 blocksperfile = str(self.specOutputblocksperfile.text())
5930 blocksperfile = str(self.specOutputblocksperfile.text())
5875 profilesperblock = str(self.specOutputprofileperblock.text())
5931 profilesperblock = str(self.specOutputprofileperblock.text())
5876
5932
5877 if datatype == "SpectraHeis":
5933 if datatype == "SpectraHeis":
5878 output_path = str(self.specHeisOutputPath.text())
5934 output_path = str(self.specHeisOutputPath.text())
5879 blocksperfile = str(self.specHeisOutputblocksperfile.text())
5935 blocksperfile = str(self.specHeisOutputblocksperfile.text())
5880 metada = str(self.specHeisOutputMetada.text())
5936 metada = str(self.specHeisOutputMetada.text())
5881
5937
5882 if output_path == '':
5938 if output_path == '':
5883 outputstr = 'Outputpath is empty'
5939 outputstr = 'Outputpath is empty'
5884 self.console.append(outputstr)
5940 self.console.append(outputstr)
5885 parms_ok = False
5941 parms_ok = False
5886 data_path = None
5942 data_path = None
5887
5943
5888 if output_path != None:
5944 if output_path != None:
5889 if not os.path.exists(output_path):
5945 if not os.path.exists(output_path):
5890 outputstr = 'OutputPath:%s does not exists' % output_path
5946 outputstr = 'OutputPath:%s does not exists' % output_path
5891 self.console.append(outputstr)
5947 self.console.append(outputstr)
5892 parms_ok = False
5948 parms_ok = False
5893 output_path = None
5949 output_path = None
5894
5950
5895
5951
5896 try:
5952 try:
5897 profilesperblock = int(profilesperblock)
5953 profilesperblock = int(profilesperblock)
5898 except:
5954 except:
5899 if datatype == "Voltage":
5955 if datatype == "Voltage":
5900 outputstr = 'Profilesperblock: %s, this must be a integer number' % str(self.volOutputprofilesperblock.text())
5956 outputstr = 'Profilesperblock: %s, this must be a integer number' % str(self.volOutputprofilesperblock.text())
5901 self.console.append(outputstr)
5957 self.console.append(outputstr)
5902 parms_ok = False
5958 parms_ok = False
5903 profilesperblock = None
5959 profilesperblock = None
5904
5960
5905 elif datatype == "Spectra":
5961 elif datatype == "Spectra":
5906 outputstr = 'Profilesperblock: %s, this must be a integer number' % str(self.specOutputprofileperblock.text())
5962 outputstr = 'Profilesperblock: %s, this must be a integer number' % str(self.specOutputprofileperblock.text())
5907 self.console.append(outputstr)
5963 self.console.append(outputstr)
5908 parms_ok = False
5964 parms_ok = False
5909 profilesperblock = None
5965 profilesperblock = None
5910
5966
5911 try:
5967 try:
5912 blocksperfile = int(blocksperfile)
5968 blocksperfile = int(blocksperfile)
5913 except:
5969 except:
5914 if datatype == "Voltage":
5970 if datatype == "Voltage":
5915 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.volOutputblocksperfile.text())
5971 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.volOutputblocksperfile.text())
5916 elif datatype == "Spectra":
5972 elif datatype == "Spectra":
5917 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specOutputblocksperfile.text())
5973 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specOutputblocksperfile.text())
5918 elif datatype == "SpectraHeis":
5974 elif datatype == "SpectraHeis":
5919 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specHeisOutputblocksperfile.text())
5975 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specHeisOutputblocksperfile.text())
5920
5976
5921 self.console.append(outputstr)
5977 self.console.append(outputstr)
5922 parms_ok = False
5978 parms_ok = False
5923 blocksperfile = None
5979 blocksperfile = None
5924
5980
5925 if datatype == "SpectraHeis":
5981 if datatype == "SpectraHeis":
5926 if metada == '':
5982 if metada == '':
5927 outputstr = 'Choose metada file'
5983 outputstr = 'Choose metada file'
5928 self.console.append(outputstr)
5984 self.console.append(outputstr)
5929 parms_ok = False
5985 parms_ok = False
5930 if metada != None:
5986 if metada != None:
5931 if not os.path.isfile(metada):
5987 if not os.path.isfile(metada):
5932 outputstr = 'Metadata:%s does not exists' % metada
5988 outputstr = 'Metadata:%s does not exists' % metada
5933 self.console.append(outputstr)
5989 self.console.append(outputstr)
5934 parms_ok = False
5990 parms_ok = False
5935 output_path = None
5991 output_path = None
5936
5992
5937 if datatype == "Voltage":
5993 if datatype == "Voltage":
5938 return parms_ok, output_path, blocksperfile, profilesperblock
5994 return parms_ok, output_path, blocksperfile, profilesperblock
5939
5995
5940
5996
5941 if datatype == "Spectra":
5997 if datatype == "Spectra":
5942 return parms_ok, output_path, blocksperfile, profilesperblock
5998 return parms_ok, output_path, blocksperfile, profilesperblock
5943
5999
5944
6000
5945 if datatype == "SpectraHeis":
6001 if datatype == "SpectraHeis":
5946 return parms_ok, output_path, blocksperfile, metada
6002 return parms_ok, output_path, blocksperfile, metada
5947
6003
5948 def loadDays(self, data_path, ext, walk):
6004 def loadDays(self, data_path, ext, walk):
5949 """
6005 """
5950 Method to loads day
6006 Method to loads day
5951 """
6007 """
5952 dateList = self.searchData(data_path, ext, walk)
6008 dateList = self.searchData(data_path, ext, walk)
5953 if dateList == None:
6009 if dateList == None:
5954 self.console.clear()
6010 self.console.clear()
5955 outputstr = "The path: %s is empty with file extension *%s" % (data_path, ext)
6011 outputstr = "The path: %s is empty with file extension *%s" % (data_path, ext)
5956 self.console.append(outputstr)
6012 self.console.append(outputstr)
5957 return
6013 return
5958
6014
5959 self.dateList = dateList
6015 self.dateList = dateList
5960 for thisDate in dateList:
6016 for thisDate in dateList:
5961 self.proComStartDate.addItem(thisDate)
6017 self.proComStartDate.addItem(thisDate)
5962 self.proComEndDate.addItem(thisDate)
6018 self.proComEndDate.addItem(thisDate)
5963 self.proComEndDate.setCurrentIndex(self.proComStartDate.count() - 1)
6019 self.proComEndDate.setCurrentIndex(self.proComStartDate.count() - 1)
5964
6020
5965 def setWorkSpaceGUI(self, pathWorkSpace):
6021 def setWorkSpaceGUI(self, pathWorkSpace):
5966 self.pathWorkSpace = pathWorkSpace
6022 self.pathWorkSpace = pathWorkSpace
5967
6023
5968 """
6024 """
5969 Comandos Usados en Console
6025 Comandos Usados en Console
5970 """
6026 """
5971 def __del__(self):
6027 def __del__(self):
5972 sys.stdout = sys.__stdout__
6028 sys.stdout = sys.__stdout__
5973 sys.stderr = sys.__stderr__
6029 sys.stderr = sys.__stderr__
5974
6030
5975 def normalOutputWritten(self, text):
6031 def normalOutputWritten(self, text):
5976 self.console.append(text)
6032 self.console.append(text)
5977
6033
5978
6034
5979 def setParameter(self):
6035 def setParameter(self):
5980
6036
5981 self.setWindowTitle("ROJ-Signal Chain")
6037 self.setWindowTitle("ROJ-Signal Chain")
5982 self.setWindowIcon(QtGui.QIcon( os.path.join(FIGURES_PATH,"adn.jpg") ))
6038 self.setWindowIcon(QtGui.QIcon( os.path.join(FIGURES_PATH,"adn.jpg") ))
5983 sys.stdout = ShowMeConsole(textWritten=self.normalOutputWritten)
6039 sys.stdout = ShowMeConsole(textWritten=self.normalOutputWritten)
5984 # sys.stderr = ShowMeConsole(textWritten=self.normalOutputWritten)
6040 # sys.stderr = ShowMeConsole(textWritten=self.normalOutputWritten)
5985 self.tabWidgetProject.setEnabled(False)
6041 self.tabWidgetProject.setEnabled(False)
5986 self.tabVoltage.setEnabled(False)
6042 self.tabVoltage.setEnabled(False)
5987 self.tabSpectra.setEnabled(False)
6043 self.tabSpectra.setEnabled(False)
5988 self.tabCorrelation.setEnabled(False)
6044 self.tabCorrelation.setEnabled(False)
5989 self.frame_2.setEnabled(False)
6045 self.frame_2.setEnabled(False)
5990
6046
5991 self.actionCreate.setShortcut('Ctrl+N')
6047 self.actionCreate.setShortcut('Ctrl+N')
5992 self.actionStart.setShortcut('Ctrl+P')
6048 self.actionOpen.setShortcut('Ctrl+O')
5993 self.actionSave.setShortcut('Ctrl+S')
6049 self.actionSave.setShortcut('Ctrl+S')
5994 self.actionClose.setShortcut('Ctrl+Q')
6050 self.actionClose.setShortcut('Ctrl+X')
5995
6051
5996 self.actionStarToolbar.setEnabled(True)
6052 self.actionStart.setShortcut('Ctrl+1')
6053 self.actionPause.setShortcut('Ctrl+2')
6054 self.actionStop.setShortcut('Ctrl+3')
6055
6056 self.actionFTP.setShortcut('Ctrl+F')
6057
6058 self.actionStarToolbar.setEnabled(False)
5997 self.actionPauseToolbar.setEnabled(False)
6059 self.actionPauseToolbar.setEnabled(False)
5998 self.actionStopToolbar.setEnabled(False)
6060 self.actionStopToolbar.setEnabled(False)
5999
6061
6000 self.proName.clear()
6062 self.proName.clear()
6001 self.proDataPath.setText('')
6063 self.proDataPath.setText('')
6002 self.console.setReadOnly(True)
6064 self.console.setReadOnly(True)
6003 self.console.append("Welcome to Signal Chain\nOpen a project or Create a new one")
6065 self.console.append("Welcome to Signal Chain\nOpen a project or Create a new one")
6004 self.proStartTime.setDisplayFormat("hh:mm:ss")
6066 self.proStartTime.setDisplayFormat("hh:mm:ss")
6005 self.proDataType.setEnabled(False)
6067 self.proDataType.setEnabled(False)
6006 self.time = QtCore.QTime()
6068 self.time = QtCore.QTime()
6007 self.hour = 0
6069 self.hour = 0
6008 self.min = 0
6070 self.min = 0
6009 self.sec = 0
6071 self.sec = 0
6010 self.proEndTime.setDisplayFormat("hh:mm:ss")
6072 self.proEndTime.setDisplayFormat("hh:mm:ss")
6011 startTime = "00:00:00"
6073 startTime = "00:00:00"
6012 endTime = "23:59:59"
6074 endTime = "23:59:59"
6013 starlist = startTime.split(":")
6075 starlist = startTime.split(":")
6014 endlist = endTime.split(":")
6076 endlist = endTime.split(":")
6015 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
6077 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
6016 self.proStartTime.setTime(self.time)
6078 self.proStartTime.setTime(self.time)
6017 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
6079 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
6018 self.proEndTime.setTime(self.time)
6080 self.proEndTime.setTime(self.time)
6019 self.proOk.setEnabled(False)
6081 self.proOk.setEnabled(False)
6020 # set model Project Explorer
6082 # set model Project Explorer
6021 self.projectExplorerModel = QtGui.QStandardItemModel()
6083 self.projectExplorerModel = QtGui.QStandardItemModel()
6022 self.projectExplorerModel.setHorizontalHeaderLabels(("Project Explorer",))
6084 self.projectExplorerModel.setHorizontalHeaderLabels(("Project Explorer",))
6023 layout = QtGui.QVBoxLayout()
6085 layout = QtGui.QVBoxLayout()
6024 layout.addWidget(self.projectExplorerTree)
6086 layout.addWidget(self.projectExplorerTree)
6025 self.projectExplorerTree.setModel(self.projectExplorerModel)
6087 self.projectExplorerTree.setModel(self.projectExplorerModel)
6026 self.projectExplorerTree.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
6088 self.projectExplorerTree.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
6027 self.projectExplorerTree.customContextMenuRequested.connect(self.on_right_click)
6089 self.projectExplorerTree.customContextMenuRequested.connect(self.on_right_click)
6028 self.projectExplorerTree.clicked.connect(self.on_click)
6090 self.projectExplorerTree.clicked.connect(self.on_click)
6029 self.projectExplorerTree.expandAll()
6091 self.projectExplorerTree.expandAll()
6030 # set model Project Properties
6092 # set model Project Properties
6031
6093
6032 self.propertiesModel = treeModel()
6094 self.propertiesModel = treeModel()
6033 self.propertiesModel.initProjectView()
6095 self.propertiesModel.initProjectView()
6034 self.treeProjectProperties.setModel(self.propertiesModel)
6096 self.treeProjectProperties.setModel(self.propertiesModel)
6035 self.treeProjectProperties.expandAll()
6097 self.treeProjectProperties.expandAll()
6036 self.treeProjectProperties.allColumnsShowFocus()
6098 self.treeProjectProperties.allColumnsShowFocus()
6037 self.treeProjectProperties.resizeColumnToContents(1)
6099 self.treeProjectProperties.resizeColumnToContents(1)
6038
6100
6039 # set Project
6101 # set Project
6040 self.proDelay.setEnabled(False)
6102 self.proDelay.setEnabled(False)
6041 self.proSet.setEnabled(False)
6103 self.proSet.setEnabled(False)
6042 self.proDataType.setReadOnly(True)
6104 self.proDataType.setReadOnly(True)
6043
6105
6044 # set Operation Voltage
6106 # set Operation Voltage
6045 self.volOpComChannels.setEnabled(False)
6107 self.volOpComChannels.setEnabled(False)
6046 self.volOpComHeights.setEnabled(False)
6108 self.volOpComHeights.setEnabled(False)
6047 self.volOpFilter.setEnabled(False)
6109 self.volOpFilter.setEnabled(False)
6048 self.volOpComProfile.setEnabled(False)
6110 self.volOpComProfile.setEnabled(False)
6049 self.volOpComCode.setEnabled(False)
6111 self.volOpComCode.setEnabled(False)
6112 self.volOpFlip.setEnabled(False)
6050 self.volOpCohInt.setEnabled(False)
6113 self.volOpCohInt.setEnabled(False)
6051 self.volOpRadarfrequency.setEnabled(False)
6114 self.volOpRadarfrequency.setEnabled(False)
6052
6115
6053 self.volOpChannel.setEnabled(False)
6116 self.volOpChannel.setEnabled(False)
6054 self.volOpHeights.setEnabled(False)
6117 self.volOpHeights.setEnabled(False)
6055 self.volOpProfile.setEnabled(False)
6118 self.volOpProfile.setEnabled(False)
6056 self.volOpComMode.setEnabled(False)
6119 self.volOpComMode.setEnabled(False)
6057
6120
6058 self.volGraphPath.setEnabled(False)
6121 self.volGraphPath.setEnabled(False)
6059 self.volGraphPrefix.setEnabled(False)
6122 self.volGraphPrefix.setEnabled(False)
6060 self.volGraphToolPath.setEnabled(False)
6123 self.volGraphToolPath.setEnabled(False)
6061
6124
6062 # set Graph Voltage
6125 # set Graph Voltage
6063 self.volGraphChannelList.setEnabled(False)
6126 self.volGraphChannelList.setEnabled(False)
6064 self.volGraphfreqrange.setEnabled(False)
6127 self.volGraphfreqrange.setEnabled(False)
6065 self.volGraphHeightrange.setEnabled(False)
6128 self.volGraphHeightrange.setEnabled(False)
6066
6129
6067 # set Operation Spectra
6130 # set Operation Spectra
6068 self.specOpnFFTpoints.setEnabled(False)
6131 self.specOpnFFTpoints.setEnabled(False)
6069 self.specOpProfiles.setEnabled(False)
6132 self.specOpProfiles.setEnabled(False)
6070 self.specOpippFactor.setEnabled(False)
6133 self.specOpippFactor.setEnabled(False)
6071 self.specOppairsList.setEnabled(False)
6134 self.specOppairsList.setEnabled(False)
6072 self.specOpComChannel.setEnabled(False)
6135 self.specOpComChannel.setEnabled(False)
6073 self.specOpComHeights.setEnabled(False)
6136 self.specOpComHeights.setEnabled(False)
6074 self.specOpIncoherent.setEnabled(False)
6137 self.specOpIncoherent.setEnabled(False)
6075 self.specOpgetNoise.setEnabled(False)
6138 self.specOpgetNoise.setEnabled(False)
6076 self.specOpRadarfrequency.setEnabled(False)
6139 self.specOpRadarfrequency.setEnabled(False)
6077
6140
6078
6141
6079 self.specOpChannel.setEnabled(False)
6142 self.specOpChannel.setEnabled(False)
6080 self.specOpHeights.setEnabled(False)
6143 self.specOpHeights.setEnabled(False)
6081 # set Graph Spectra
6144 # set Graph Spectra
6082 self.specGgraphChannelList.setEnabled(False)
6145 self.specGgraphChannelList.setEnabled(False)
6083 self.specGgraphFreq.setEnabled(False)
6146 self.specGgraphFreq.setEnabled(False)
6084 self.specGgraphHeight.setEnabled(False)
6147 self.specGgraphHeight.setEnabled(False)
6085 self.specGgraphDbsrange.setEnabled(False)
6148 self.specGgraphDbsrange.setEnabled(False)
6086 self.specGgraphmagnitud.setEnabled(False)
6149 self.specGgraphmagnitud.setEnabled(False)
6087 self.specGgraphTminTmax.setEnabled(False)
6150 self.specGgraphTminTmax.setEnabled(False)
6088 self.specGgraphTimeRange.setEnabled(False)
6151 self.specGgraphTimeRange.setEnabled(False)
6089 self.specGraphPath.setEnabled(False)
6152 self.specGraphPath.setEnabled(False)
6090 self.specGraphToolPath.setEnabled(False)
6153 self.specGraphToolPath.setEnabled(False)
6091 self.specGraphPrefix.setEnabled(False)
6154 self.specGraphPrefix.setEnabled(False)
6092
6155
6093 self.specGgraphftpratio.setEnabled(False)
6156 self.specGgraphftpratio.setEnabled(False)
6094 # set Operation SpectraHeis
6157 # set Operation SpectraHeis
6095 self.specHeisOpIncoherent.setEnabled(False)
6158 self.specHeisOpIncoherent.setEnabled(False)
6096 self.specHeisOpCobIncInt.setEnabled(False)
6159 self.specHeisOpCobIncInt.setEnabled(False)
6097 # set Graph SpectraHeis
6160 # set Graph SpectraHeis
6098 self.specHeisGgraphChannelList.setEnabled(False)
6161 self.specHeisGgraphChannelList.setEnabled(False)
6099 self.specHeisGgraphXminXmax.setEnabled(False)
6162 self.specHeisGgraphXminXmax.setEnabled(False)
6100 self.specHeisGgraphYminYmax.setEnabled(False)
6163 self.specHeisGgraphYminYmax.setEnabled(False)
6101 self.specHeisGgraphTminTmax.setEnabled(False)
6164 self.specHeisGgraphTminTmax.setEnabled(False)
6102 self.specHeisGgraphTimeRange.setEnabled(False)
6165 self.specHeisGgraphTimeRange.setEnabled(False)
6103 self.specHeisGgraphftpratio.setEnabled(False)
6166 self.specHeisGgraphftpratio.setEnabled(False)
6104 self.specHeisGraphPath.setEnabled(False)
6167 self.specHeisGraphPath.setEnabled(False)
6105 self.specHeisGraphPrefix.setEnabled(False)
6168 self.specHeisGraphPrefix.setEnabled(False)
6106 self.specHeisGraphToolPath.setEnabled(False)
6169 self.specHeisGraphToolPath.setEnabled(False)
6107
6170
6108
6171
6109 # tool tip gui
6172 # tool tip gui
6110 QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10))
6173 QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10))
6111 self.projectExplorerTree.setToolTip('Right clik to add Project or Unit Process')
6174 self.projectExplorerTree.setToolTip('Right clik to add Project or Unit Process')
6112 # tool tip gui project
6175 # tool tip gui project
6113 self.proComWalk.setToolTip('<b>On Files</b>:<i>Search file in format .r or pdata</i> <b>On Folders</b>:<i>Search file in a directory DYYYYDOY</i>')
6176 self.proComWalk.setToolTip('<b>On Files</b>:<i>Search file in format .r or pdata</i> <b>On Folders</b>:<i>Search file in a directory DYYYYDOY</i>')
6114 self.proComWalk.setCurrentIndex(0)
6177 self.proComWalk.setCurrentIndex(0)
6115 # tool tip gui volOp
6178 # tool tip gui volOp
6116 self.volOpChannel.setToolTip('Example: 1,2,3,4,5')
6179 self.volOpChannel.setToolTip('Example: 1,2,3,4,5')
6117 self.volOpHeights.setToolTip('Example: 90,180')
6180 self.volOpHeights.setToolTip('Example: 90,180')
6118 self.volOpFilter.setToolTip('Example: 2')
6181 self.volOpFilter.setToolTip('Example: 2')
6119 self.volOpProfile.setToolTip('Example:0,127')
6182 self.volOpProfile.setToolTip('Example:0,127')
6120 self.volOpCohInt.setToolTip('Example: 128')
6183 self.volOpCohInt.setToolTip('Example: 128')
6121 self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3')
6184 self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3')
6122 self.volOpOk.setToolTip('If you have finished, please Ok ')
6185 self.volOpOk.setToolTip('If you have finished, please Ok ')
6123 # tool tip gui volGraph
6186 # tool tip gui volGraph
6124 self.volGraphfreqrange.setToolTip('Example: -30,30')
6187 self.volGraphfreqrange.setToolTip('Example: -30,30')
6125 self.volGraphHeightrange.setToolTip('Example: 20,180')
6188 self.volGraphHeightrange.setToolTip('Example: 20,180')
6126 # tool tip gui specOp
6189 # tool tip gui specOp
6127 self.specOpnFFTpoints.setToolTip('Example: 128')
6190 self.specOpnFFTpoints.setToolTip('Example: 128')
6128 self.specOpProfiles.setToolTip('Example: 128')
6191 self.specOpProfiles.setToolTip('Example: 128')
6129 self.specOpippFactor.setToolTip('Example:1.0')
6192 self.specOpippFactor.setToolTip('Example:1.0')
6130 self.specOpIncoherent.setToolTip('Example: 10')
6193 self.specOpIncoherent.setToolTip('Example: 10')
6131 self.specOpgetNoise.setToolTip('Example:20,180,30,120 (minHei,maxHei,minVel,maxVel)')
6194 self.specOpgetNoise.setToolTip('Example:20,180,30,120 (minHei,maxHei,minVel,maxVel)')
6132
6195
6133 self.specOpChannel.setToolTip('Example: 0,1,2,3')
6196 self.specOpChannel.setToolTip('Example: 0,1,2,3')
6134 self.specOpHeights.setToolTip('Example: 90,180')
6197 self.specOpHeights.setToolTip('Example: 90,180')
6135 self.specOppairsList.setToolTip('Example: (0,1),(2,3)')
6198 self.specOppairsList.setToolTip('Example: (0,1),(2,3)')
6136 # tool tip gui specGraph
6199 # tool tip gui specGraph
6137
6200
6138 self.specGgraphChannelList.setToolTip('Example: 0,3,4')
6201 self.specGgraphChannelList.setToolTip('Example: 0,3,4')
6139 self.specGgraphFreq.setToolTip('Example: -20,20')
6202 self.specGgraphFreq.setToolTip('Example: -20,20')
6140 self.specGgraphHeight.setToolTip('Example: 100,400')
6203 self.specGgraphHeight.setToolTip('Example: 100,400')
6141 self.specGgraphDbsrange.setToolTip('Example: 30,170')
6204 self.specGgraphDbsrange.setToolTip('Example: 30,170')
6142
6205
6143 self.specGraphPrefix.setToolTip('Example: EXPERIMENT_NAME')
6206 self.specGraphPrefix.setToolTip('Example: EXPERIMENT_NAME')
6144
6207
6145
6208
6146 class UnitProcessWindow(QMainWindow, Ui_UnitProcess):
6209 class UnitProcessWindow(QMainWindow, Ui_UnitProcess):
6147 """
6210 """
6148 Class documentation goes here.
6211 Class documentation goes here.
6149 """
6212 """
6150 closed = pyqtSignal()
6213 closed = pyqtSignal()
6151 create = False
6214 create = False
6152
6215
6153 def __init__(self, parent=None):
6216 def __init__(self, parent=None):
6154 """
6217 """
6155 Constructor
6218 Constructor
6156 """
6219 """
6157 QMainWindow.__init__(self, parent)
6220 QMainWindow.__init__(self, parent)
6158 self.setupUi(self)
6221 self.setupUi(self)
6159 self.getFromWindow = None
6222 self.getFromWindow = None
6160 self.getfromWindowList = []
6223 self.getfromWindowList = []
6161 self.dataTypeProject = None
6224 self.dataTypeProject = None
6162
6225
6163 self.listUP = None
6226 self.listUP = None
6164
6227
6165 @pyqtSignature("")
6228 @pyqtSignature("")
6166 def on_unitPokbut_clicked(self):
6229 def on_unitPokbut_clicked(self):
6167 """
6230 """
6168 Slot documentation goes here.
6231 Slot documentation goes here.
6169 """
6232 """
6170 self.create = True
6233 self.create = True
6171 self.getFromWindow = self.getfromWindowList[int(self.comboInputBox.currentIndex())]
6234 self.getFromWindow = self.getfromWindowList[int(self.comboInputBox.currentIndex())]
6172 # self.nameofUP= str(self.nameUptxt.text())
6235 # self.nameofUP= str(self.nameUptxt.text())
6173 self.typeofUP = str(self.comboTypeBox.currentText())
6236 self.typeofUP = str(self.comboTypeBox.currentText())
6174 self.close()
6237 self.close()
6175
6238
6176
6239
6177 @pyqtSignature("")
6240 @pyqtSignature("")
6178 def on_unitPcancelbut_clicked(self):
6241 def on_unitPcancelbut_clicked(self):
6179 """
6242 """
6180 Slot documentation goes here.
6243 Slot documentation goes here.
6181 """
6244 """
6182 self.create = False
6245 self.create = False
6183 self.close()
6246 self.close()
6184
6247
6185 def loadTotalList(self):
6248 def loadTotalList(self):
6186 self.comboInputBox.clear()
6249 self.comboInputBox.clear()
6187 for i in self.getfromWindowList:
6250 for i in self.getfromWindowList:
6188
6251
6189 name = i.getElementName()
6252 name = i.getElementName()
6190 if name == 'Project':
6253 if name == 'Project':
6191 id = i.id
6254 id = i.id
6192 name = i.name
6255 name = i.name
6193 if self.dataTypeProject == 'Voltage':
6256 if self.dataTypeProject == 'Voltage':
6194 self.comboTypeBox.clear()
6257 self.comboTypeBox.clear()
6195 self.comboTypeBox.addItem("Voltage")
6258 self.comboTypeBox.addItem("Voltage")
6196
6259
6197 if self.dataTypeProject == 'Spectra':
6260 if self.dataTypeProject == 'Spectra':
6198 self.comboTypeBox.clear()
6261 self.comboTypeBox.clear()
6199 self.comboTypeBox.addItem("Spectra")
6262 self.comboTypeBox.addItem("Spectra")
6200 self.comboTypeBox.addItem("Correlation")
6263 self.comboTypeBox.addItem("Correlation")
6201 if self.dataTypeProject == 'Fits':
6264 if self.dataTypeProject == 'Fits':
6202 self.comboTypeBox.clear()
6265 self.comboTypeBox.clear()
6203 self.comboTypeBox.addItem("SpectraHeis")
6266 self.comboTypeBox.addItem("SpectraHeis")
6204
6267
6205
6268
6206 if name == 'ProcUnit':
6269 if name == 'ProcUnit':
6207 id = int(i.id) - 1
6270 id = int(i.id) - 1
6208 name = i.datatype
6271 name = i.datatype
6209 if name == 'Voltage':
6272 if name == 'Voltage':
6210 self.comboTypeBox.clear()
6273 self.comboTypeBox.clear()
6211 self.comboTypeBox.addItem("Spectra")
6274 self.comboTypeBox.addItem("Spectra")
6212 self.comboTypeBox.addItem("SpectraHeis")
6275 self.comboTypeBox.addItem("SpectraHeis")
6213 self.comboTypeBox.addItem("Correlation")
6276 self.comboTypeBox.addItem("Correlation")
6214 if name == 'Spectra':
6277 if name == 'Spectra':
6215 self.comboTypeBox.clear()
6278 self.comboTypeBox.clear()
6216 self.comboTypeBox.addItem("Spectra")
6279 self.comboTypeBox.addItem("Spectra")
6217 self.comboTypeBox.addItem("SpectraHeis")
6280 self.comboTypeBox.addItem("SpectraHeis")
6218 self.comboTypeBox.addItem("Correlation")
6281 self.comboTypeBox.addItem("Correlation")
6219 if name == 'SpectraHeis':
6282 if name == 'SpectraHeis':
6220 self.comboTypeBox.clear()
6283 self.comboTypeBox.clear()
6221 self.comboTypeBox.addItem("SpectraHeis")
6284 self.comboTypeBox.addItem("SpectraHeis")
6222
6285
6223 self.comboInputBox.addItem(str(name))
6286 self.comboInputBox.addItem(str(name))
6224 # self.comboInputBox.addItem(str(name)+str(id))
6287 # self.comboInputBox.addItem(str(name)+str(id))
6225
6288
6226 def closeEvent(self, event):
6289 def closeEvent(self, event):
6227 self.closed.emit()
6290 self.closed.emit()
6228 event.accept()
6291 event.accept()
6229
6292
6230 class Ftp(QMainWindow, Ui_Ftp):
6293 class Ftp(QMainWindow, Ui_Ftp):
6231 """
6294 """
6232 Class documentation goes here.
6295 Class documentation goes here.
6233 """
6296 """
6234 create = False
6297 create = False
6235 closed = pyqtSignal()
6298 closed = pyqtSignal()
6236 server = None
6299 server = None
6237 folder = None
6300 folder = None
6238 username = None
6301 username = None
6239 password = None
6302 password = None
6240 ftp_wei = None
6303 ftp_wei = None
6241 exp_code = None
6304 exp_code = None
6242 sub_exp_code = None
6305 sub_exp_code = None
6243 plot_pos = None
6306 plot_pos = None
6244
6307
6245 def __init__(self, parent=None):
6308 def __init__(self, parent=None):
6246 """
6309 """
6247 Constructor
6310 Constructor
6248 """
6311 """
6249 QMainWindow.__init__(self, parent)
6312 QMainWindow.__init__(self, parent)
6250 self.setupUi(self)
6313 self.setupUi(self)
6251 self.setParameter()
6314 self.setParameter()
6252
6315
6253 def setParameter(self):
6316 def setParameter(self):
6254 self.setWindowTitle("ROJ-Signal Chain")
6317 self.setWindowTitle("ROJ-Signal Chain")
6255 self.serverFTP.setToolTip('Example: jro-app.igp.gob.pe')
6318 self.serverFTP.setToolTip('Example: jro-app.igp.gob.pe')
6256 self.folderFTP.setToolTip('Example: /home/wmaster/graficos')
6319 self.folderFTP.setToolTip('Example: /home/wmaster/graficos')
6257 self.usernameFTP.setToolTip('Example: myusername')
6320 self.usernameFTP.setToolTip('Example: myusername')
6258 self.passwordFTP.setToolTip('Example: mypass ')
6321 self.passwordFTP.setToolTip('Example: mypass ')
6259 self.weightFTP.setToolTip('Example: 0')
6322 self.weightFTP.setToolTip('Example: 0')
6260 self.expcodeFTP.setToolTip('Example: 0')
6323 self.expcodeFTP.setToolTip('Example: 0')
6261 self.subexpFTP.setToolTip('Example: 0')
6324 self.subexpFTP.setToolTip('Example: 0')
6262 self.plotposFTP.setToolTip('Example: 0')
6325 self.plotposFTP.setToolTip('Example: 0')
6263
6326
6264 def setParmsfromTemporal(self, server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos):
6327 def setParmsfromTemporal(self, server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos):
6265 self.serverFTP.setText(str(server))
6328 self.serverFTP.setText(str(server))
6266 self.folderFTP.setText(str(folder))
6329 self.folderFTP.setText(str(folder))
6267 self.usernameFTP.setText(str(username))
6330 self.usernameFTP.setText(str(username))
6268 self.passwordFTP.setText(str(password))
6331 self.passwordFTP.setText(str(password))
6269 self.weightFTP.setText(str(ftp_wei))
6332 self.weightFTP.setText(str(ftp_wei))
6270 self.expcodeFTP.setText(str(exp_code))
6333 self.expcodeFTP.setText(str(exp_code))
6271 self.subexpFTP.setText(str(sub_exp_code))
6334 self.subexpFTP.setText(str(sub_exp_code))
6272 self.plotposFTP.setText(str(plot_pos))
6335 self.plotposFTP.setText(str(plot_pos))
6273
6336
6274 def getParmsFromFtpWindow(self):
6337 def getParmsFromFtpWindow(self):
6275 """
6338 """
6276 Return Inputs Project:
6339 Return Inputs Project:
6277 - server
6340 - server
6278 - folder
6341 - folder
6279 - username
6342 - username
6280 - password
6343 - password
6281 - ftp_wei
6344 - ftp_wei
6282 - exp_code
6345 - exp_code
6283 - sub_exp_code
6346 - sub_exp_code
6284 - plot_pos
6347 - plot_pos
6285 """
6348 """
6286 name_server_ftp = str(self.serverFTP.text())
6349 name_server_ftp = str(self.serverFTP.text())
6287 try:
6350 try:
6288 name = str(self.serverFTP.text())
6351 name = str(self.serverFTP.text())
6289 except:
6352 except:
6290 self.console.clear()
6353 self.console.clear()
6291 self.console.append("Please Write a FTP Server")
6354 self.console.append("Please Write a FTP Server")
6292 return 0
6355 return 0
6293
6356
6294 folder_server_ftp = str(self.folderFTP.text())
6357 folder_server_ftp = str(self.folderFTP.text())
6295 try:
6358 try:
6296 folder = str(self.folderFTP.text())
6359 folder = str(self.folderFTP.text())
6297 except:
6360 except:
6298 self.console.clear()
6361 self.console.clear()
6299 self.console.append("Please Write a Folder")
6362 self.console.append("Please Write a Folder")
6300 return 0
6363 return 0
6301
6364
6302 username_ftp = str(self.usernameFTP.text())
6365 username_ftp = str(self.usernameFTP.text())
6303 try:
6366 try:
6304 username = str(self.usernameFTP.text())
6367 username = str(self.usernameFTP.text())
6305 except:
6368 except:
6306 self.console.clear()
6369 self.console.clear()
6307 self.console.append("Please Write a User Name")
6370 self.console.append("Please Write a User Name")
6308 return 0
6371 return 0
6309
6372
6310 password_ftp = str(self.passwordFTP.text())
6373 password_ftp = str(self.passwordFTP.text())
6311 try:
6374 try:
6312 password = str(self.passwordFTP.text())
6375 password = str(self.passwordFTP.text())
6313 except:
6376 except:
6314 self.console.clear()
6377 self.console.clear()
6315 self.console.append("Please Write a passwordFTP")
6378 self.console.append("Please Write a passwordFTP")
6316 return 0
6379 return 0
6317
6380
6318 ftp_wei = self.weightFTP.text()
6381 ftp_wei = self.weightFTP.text()
6319 if not ftp_wei == "":
6382 if not ftp_wei == "":
6320 try:
6383 try:
6321 ftp_wei = int(self.weightFTP.text())
6384 ftp_wei = int(self.weightFTP.text())
6322 except:
6385 except:
6323 self.console.clear()
6386 self.console.clear()
6324 self.console.append("Please Write a ftp_wei number")
6387 self.console.append("Please Write a ftp_wei number")
6325 return 0
6388 return 0
6326
6389
6327 exp_code = self.expcodeFTP.text()
6390 exp_code = self.expcodeFTP.text()
6328 if not exp_code == "":
6391 if not exp_code == "":
6329 try:
6392 try:
6330 exp_code = int(self.expcodeFTP.text())
6393 exp_code = int(self.expcodeFTP.text())
6331 except:
6394 except:
6332 self.console.clear()
6395 self.console.clear()
6333 self.console.append("Please Write a exp_code number")
6396 self.console.append("Please Write a exp_code number")
6334 return 0
6397 return 0
6335
6398
6336
6399
6337 sub_exp_code = self.subexpFTP.text()
6400 sub_exp_code = self.subexpFTP.text()
6338 if not sub_exp_code == "":
6401 if not sub_exp_code == "":
6339 try:
6402 try:
6340 sub_exp_code = int(self.subexpFTP.text())
6403 sub_exp_code = int(self.subexpFTP.text())
6341 except:
6404 except:
6342 self.console.clear()
6405 self.console.clear()
6343 self.console.append("Please Write a sub_exp_code number")
6406 self.console.append("Please Write a sub_exp_code number")
6344 return 0
6407 return 0
6345
6408
6346 plot_pos = self.plotposFTP.text()
6409 plot_pos = self.plotposFTP.text()
6347 if not plot_pos == "":
6410 if not plot_pos == "":
6348 try:
6411 try:
6349 plot_pos = int(self.plotposFTP.text())
6412 plot_pos = int(self.plotposFTP.text())
6350 except:
6413 except:
6351 self.console.clear()
6414 self.console.clear()
6352 self.console.append("Please Write a plot_pos number")
6415 self.console.append("Please Write a plot_pos number")
6353 return 0
6416 return 0
6354
6417
6355 return name_server_ftp, folder_server_ftp, username_ftp, password_ftp, ftp_wei, exp_code, sub_exp_code, plot_pos
6418 return name_server_ftp, folder_server_ftp, username_ftp, password_ftp, ftp_wei, exp_code, sub_exp_code, plot_pos
6356
6419
6357 @pyqtSignature("")
6420 @pyqtSignature("")
6358 def on_ftpOkButton_clicked(self):
6421 def on_ftpOkButton_clicked(self):
6359 server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.getParmsFromFtpWindow()
6422 server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.getParmsFromFtpWindow()
6360 self.create = True
6423 self.create = True
6361 self.close()
6424 self.close()
6362
6425
6363 @pyqtSignature("")
6426 @pyqtSignature("")
6364 def on_ftpCancelButton_clicked(self):
6427 def on_ftpCancelButton_clicked(self):
6365 self.create = False
6428 self.create = False
6366 self.close()
6429 self.close()
6367
6430
6368 def closeEvent(self, event):
6431 def closeEvent(self, event):
6369 self.closed.emit()
6432 self.closed.emit()
6370 event.accept()
6433 event.accept()
6371
6434
6372 class ftpBuffer():
6435 class ftpBuffer():
6373 server = None
6436 server = None
6374 folder = None
6437 folder = None
6375 username = None
6438 username = None
6376 password = None
6439 password = None
6377 ftp_wei = None
6440 ftp_wei = None
6378 exp_code = None
6441 exp_code = None
6379 sub_exp_code = None
6442 sub_exp_code = None
6380 plot_pos = None
6443 plot_pos = None
6381 create = False
6444 create = False
6382 withoutconfig = False
6445 withoutconfig = False
6383 createforView = False
6446 createforView = False
6384 localfolder = None
6447 localfolder = None
6385 extension = None
6448 extension = None
6386 period = None
6449 period = None
6387 protocol = None
6450 protocol = None
6388
6451
6389 def __init__(self):
6452 def __init__(self):
6390
6453
6391 self.create = False
6454 self.create = False
6392 self.server = None
6455 self.server = None
6393 self.folder = None
6456 self.folder = None
6394 self.username = None
6457 self.username = None
6395 self.password = None
6458 self.password = None
6396 self.ftp_wei = None
6459 self.ftp_wei = None
6397 self.exp_code = None
6460 self.exp_code = None
6398 self.sub_exp_code = None
6461 self.sub_exp_code = None
6399 self.plot_pos = None
6462 self.plot_pos = None
6400 # self.create = False
6463 # self.create = False
6401 self.localfolder = None
6464 self.localfolder = None
6402 self.extension = None
6465 self.extension = None
6403 self.period = None
6466 self.period = None
6404 self.protocol = None
6467 self.protocol = None
6405
6468
6406 def setwithoutconfiguration(self):
6469 def setwithoutconfiguration(self):
6407
6470
6408 self.create = False
6471 self.create = False
6409 self.server = "jro-app.igp.gob.pe"
6472 self.server = "jro-app.igp.gob.pe"
6410 self.folder = "/home/wmaster/graficos"
6473 self.folder = "/home/wmaster/graficos"
6411 self.username = "wmaster"
6474 self.username = "wmaster"
6412 self.password = "mst2010vhf"
6475 self.password = "mst2010vhf"
6413 self.ftp_wei = "0"
6476 self.ftp_wei = "0"
6414 self.exp_code = "0"
6477 self.exp_code = "0"
6415 self.sub_exp_code = "0"
6478 self.sub_exp_code = "0"
6416 self.plot_pos = "0"
6479 self.plot_pos = "0"
6417 self.withoutconfig = True
6480 self.withoutconfig = True
6418 self.localfolder = './'
6481 self.localfolder = './'
6419 self.extension = '.png'
6482 self.extension = '.png'
6420 self.period = '60'
6483 self.period = '60'
6421 self.protocol = 'ftp'
6484 self.protocol = 'ftp'
6422 self.createforView = True
6485 self.createforView = True
6423
6486
6424 def save(self, server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos, localfolder='./', extension='.png', period='60', protocol='ftp'):
6487 def save(self, server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos, localfolder='./', extension='.png', period='60', protocol='ftp'):
6425
6488
6426 self.server = server
6489 self.server = server
6427 self.folder = folder
6490 self.folder = folder
6428 self.username = username
6491 self.username = username
6429 self.password = password
6492 self.password = password
6430 self.ftp_wei = ftp_wei
6493 self.ftp_wei = ftp_wei
6431 self.exp_code = exp_code
6494 self.exp_code = exp_code
6432 self.sub_exp_code = sub_exp_code
6495 self.sub_exp_code = sub_exp_code
6433 self.plot_pos = plot_pos
6496 self.plot_pos = plot_pos
6434 self.create = True
6497 self.create = True
6435 self.withoutconfig = False
6498 self.withoutconfig = False
6436 self.createforView = True
6499 self.createforView = True
6437 self.localfolder = localfolder
6500 self.localfolder = localfolder
6438
6501
6439
6502
6440 def recover(self):
6503 def recover(self):
6441
6504
6442 return self.server, self.folder, self.username, self.password, self.ftp_wei, self.exp_code, self.sub_exp_code, self.plot_pos
6505 return self.server, self.folder, self.username, self.password, self.ftp_wei, self.exp_code, self.sub_exp_code, self.plot_pos
6443
6506
6444 class ShowMeConsole(QtCore.QObject):
6507 class ShowMeConsole(QtCore.QObject):
6445 textWritten = QtCore.pyqtSignal(str)
6508 textWritten = QtCore.pyqtSignal(str)
6446 def write (self, text):
6509 def write (self, text):
6447 self.textWritten.emit(str(text))
6510 self.textWritten.emit(str(text))
6448
6511
6449 class PlotManager():
6512 class PlotManager():
6450 def __init__(self, queue):
6513 def __init__(self, queue):
6451 self.queue = queue
6514 self.queue = queue
6452 self.objPlotDict = {}
6515 self.objPlotDict = {}
6453
6516
6454 def processIncoming(self):
6517 def processIncoming(self):
6455 while self.queue.qsize():
6518 while self.queue.qsize():
6456 try:
6519 try:
6457 dataFromQueue = self.queue.get(True)
6520 dataFromQueue = self.queue.get(True)
6458 if dataFromQueue == None:
6521 if dataFromQueue == None:
6459 continue
6522 continue
6460
6523
6461 dataPlot = dataFromQueue['data']
6524 dataPlot = dataFromQueue['data']
6462 kwargs = dataFromQueue['kwargs']
6525 kwargs = dataFromQueue['kwargs']
6463 id = kwargs['id']
6526 id = kwargs['id']
6464 if 'channelList' in kwargs.keys():
6527 if 'channelList' in kwargs.keys():
6465 channelList = kwargs['channelList']
6528 channelList = kwargs['channelList']
6466 else:
6529 else:
6467 channelList = None
6530 channelList = None
6468 plotname = kwargs.pop('type')
6531 plotname = kwargs.pop('type')
6469
6532
6470 if not(id in self.objPlotDict.keys()):
6533 if not(id in self.objPlotDict.keys()):
6471 className = eval(plotname)
6534 className = eval(plotname)
6472 self.objPlotDict[id] = className(id, channelList, dataPlot)
6535 self.objPlotDict[id] = className(id, channelList, dataPlot)
6473 self.objPlotDict[id].show()
6536 self.objPlotDict[id].show()
6474
6537
6475 self.objPlotDict[id].run(dataPlot , **kwargs)
6538 self.objPlotDict[id].run(dataPlot , **kwargs)
6476
6539
6477 except Queue.Empty:
6540 except Queue.Empty:
6478 pass
6541 pass
6479
6542
6480
6543
@@ -1,100 +1,100
1 import threading
1 import threading
2 import Queue
2 import Queue
3 import pickle
3 from time import sleep
4 import numpy, os, sys
5
4
6 from schainpy.controller import Project
5 from schainpy.controller import Project
7 from command import *
6 from command import *
8
7
9 class ControllerThread(threading.Thread):
8 class ControllerThread(threading.Thread):
10 def __init__(self, filename, data_q=None):
9 def __init__(self, filename, data_q=None):
11 super(ControllerThread, self).__init__()
10 super(ControllerThread, self).__init__()
12 self.filename = filename
11 self.filename = filename
13 self.data_q = data_q
12 self.data_q = data_q
14 self.control = {'stop':False,'pause':False}
13 self.control = {'stop':False,'pause':False}
15
14
16 def stop(self):
15 def stop(self):
17 self.control['stop'] = True
16 self.control['stop'] = True
18
17
19 def pause(self):
18 def pause(self):
20 self.control['pause'] = not(self.control['pause'])
19 self.control['pause'] = not(self.control['pause'])
21
20
22 def run(self):
21 def run(self):
23 self.control['stop'] = False
22 self.control['stop'] = False
24 self.control['pause'] = False
23 self.control['pause'] = False
25 self.controllerObj = Project(self.control, self.data_q)
24 self.controllerObj = Project(self.control, self.data_q)
26 self.controllerObj.readXml(self.filename)
25 self.controllerObj.readXml(self.filename)
27 self.controllerObj.createObjects()
26 self.controllerObj.createObjects()
28 self.controllerObj.connectObjects()
27 self.controllerObj.connectObjects()
29 self.controllerObj.run()
28 self.controllerObj.run()
30
29
31 class CommCtrlProcessThread(threading.Thread):
30 class CommCtrlProcessThread(threading.Thread):
32 """ Implements the threading.Thread interface (start, join, etc.) and
31 """ Implements the threading.Thread interface (start, join, etc.) and
33 can be controlled via the cmd_q Queue attribute. Replies are placed in
32 can be controlled via the cmd_q Queue attribute. Replies are placed in
34 the reply_q Queue attribute.
33 the reply_q Queue attribute.
35 """
34 """
36 def __init__(self, cmd_q=Queue.Queue(), reply_q=Queue.Queue()):
35 def __init__(self, cmd_q=Queue.Queue(), reply_q=Queue.Queue()):
37 super(CommCtrlProcessThread, self).__init__()
36 super(CommCtrlProcessThread, self).__init__()
38 self.cmd_q = cmd_q
37 self.cmd_q = cmd_q
39 # self.reply_q = reply_q
38 # self.reply_q = reply_q
40
39
41 # self.print_q = Queue.Queue()
40 # self.print_q = Queue.Queue()
42 # self.data_q = Queue.Queue()
41 # self.data_q = Queue.Queue()
43
42
44
43
45 self.alive = threading.Event()
44 self.alive = threading.Event()
46 self.setDaemon(True)
45 self.setDaemon(True)
47 self.alive.set()
46 self.alive.set()
48 self.socket = None
47 self.socket = None
49
48
50 self.socketIO = None
49 self.socketIO = None
51 self.mySocket = None
50 self.mySocket = None
52
51
53
52
54 self.handlers = {
53 self.handlers = {
55 ProcessCommand.PROCESS: self._handle_ioPROCESSTHREAD,
54 ProcessCommand.PROCESS: self._handle_ioPROCESSTHREAD,
56 ProcessCommand.MESSAGE: self._handle_ioMESSAGE,
55 ProcessCommand.MESSAGE: self._handle_ioMESSAGE,
57 ProcessCommand.DATA: self._handle_ioDATA,
56 ProcessCommand.DATA: self._handle_ioDATA,
58 ProcessCommand.STOP: self._handle_ioSTOP,
57 ProcessCommand.STOP: self._handle_ioSTOP,
59 ProcessCommand.PAUSE: self._handle_ioPAUSE
58 ProcessCommand.PAUSE: self._handle_ioPAUSE
60 }
59 }
61
60
62 def run(self):
61 def run(self):
63
62
64 while self.alive.isSet():
63 while self.alive.isSet():
65 try:
64 try:
66 cmd = self.cmd_q.get(True, 0.1)
65 cmd = self.cmd_q.get(True, 0.1)
67 self.handlers[cmd.type](cmd)
66 self.handlers[cmd.type](cmd)
68 except Queue.Empty as e:
67 except Queue.Empty as e:
68 sleep(0.1)
69 continue
69 continue
70
70
71
71
72 def _handle_ioPROCESSTHREAD(self, cmd):
72 def _handle_ioPROCESSTHREAD(self, cmd):
73 filename = cmd.data
73 filename = cmd.data
74 self.controllerObj = ControllerThread(filename=filename)
74 self.controllerObj = ControllerThread(filename=filename)
75 self.controllerObj.start()
75 self.controllerObj.start()
76
76
77 def _handle_ioPAUSE(self, cmd):
77 def _handle_ioPAUSE(self, cmd):
78 self.controllerObj.pause()
78 self.controllerObj.pause()
79
79
80 def _handle_ioSTOP(self, cmd):
80 def _handle_ioSTOP(self, cmd):
81 self.controllerObj.stop()
81 self.controllerObj.stop()
82
82
83 def _handle_ioDATA(self, cmd):
83 def _handle_ioDATA(self, cmd):
84 self.reply_q.put(self._success_reply_data(data=cmd.data))
84 self.reply_q.put(self._success_reply_data(data=cmd.data))
85
85
86 def _handle_ioMESSAGE(self, cmd):
86 def _handle_ioMESSAGE(self, cmd):
87 self.reply_q.put(self._success_reply_message(data=cmd.data))
87 self.reply_q.put(self._success_reply_message(data=cmd.data))
88
88
89 def _success_reply_data(self, data=None):
89 def _success_reply_data(self, data=None):
90 return ClientReply(ClientReply.DATA, data)
90 return ClientReply(ClientReply.DATA, data)
91
91
92 def _success_reply_message(self, data=None):
92 def _success_reply_message(self, data=None):
93 return ClientReply(ClientReply.MESSAGE, data)
93 return ClientReply(ClientReply.MESSAGE, data)
94
94
95 def join(self, timeout=None):
95 def join(self, timeout=None):
96 self.alive.clear()
96 self.alive.clear()
97 threading.Thread.join(self, timeout)
97 threading.Thread.join(self, timeout)
98
98
99
99
100 No newline at end of file
100
This diff has been collapsed as it changes many lines, (1298 lines changed) Show them Hide them
@@ -1,1537 +1,311
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Form implementation generated from reading ui file '/home/alex/ui/MainWindow_21_02_13_v49.ui'
3 # Form implementation generated from reading ui file '/home/alex/ui/MainWindow_21_02_13_v49.ui'
4 #
4 #
5 # Created: Mon Mar 24 13:28:36 2014
5 # Created: Mon Mar 24 13:28:36 2014
6 # by: PyQt4 UI code generator 4.10
6 # by: PyQt4 UI code generator 4.10
7 #
7 #
8 # WARNING! All changes made in this file will be lost!
8 # WARNING! All changes made in this file will be lost!
9
9
10 from PyQt4 import QtCore, QtGui
10 from PyQt4 import QtCore, QtGui
11 from windows import *
11 from windows import *
12
12
13 try:
13 try:
14 _fromUtf8 = QtCore.QString.fromUtf8
14 _fromUtf8 = QtCore.QString.fromUtf8
15 except AttributeError:
15 except AttributeError:
16 def _fromUtf8(s):
16 def _fromUtf8(s):
17 return s
17 return s
18
18
19 try:
19 try:
20 _encoding = QtGui.QApplication.UnicodeUTF8
20 _encoding = QtGui.QApplication.UnicodeUTF8
21 def _translate(context, text, disambig):
21 def _translate(context, text, disambig):
22 return QtGui.QApplication.translate(context, text, disambig, _encoding)
22 return QtGui.QApplication.translate(context, text, disambig, _encoding)
23 except AttributeError:
23 except AttributeError:
24 def _translate(context, text, disambig):
24 def _translate(context, text, disambig):
25 return QtGui.QApplication.translate(context, text, disambig)
25 return QtGui.QApplication.translate(context, text, disambig)
26
26
27 import os
27 import os
28 from schainpy.gui.figures import tools
28 from schainpy.gui.figures import tools
29
29
30 FIGURES_PATH = tools.get_path()
30 FIGURES_PATH = tools.get_path()
31
31
32 class Ui_MainWindow(object):
32 class Ui_EnvWindow(object):
33 paused = False
33
34
34 def setupUi(self, MainWindow):
35 def restorePauseIcon(self):
35
36
36 MainWindow.setObjectName(_fromUtf8("MainWindow"))
37 iconPause = QtGui.QIcon()
37 MainWindow.resize(1203, 711)
38 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
38
39 self.actionPauseToolbar.setIcon(iconPause)
39 self.centralWidget = QtGui.QWidget(MainWindow)
40 self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
41 self.gridLayout_16 = QtGui.QGridLayout(self.centralWidget)
42 self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
43 self.splitter_2 = QtGui.QSplitter(self.centralWidget)
44 self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
45 self.splitter_2.setObjectName(_fromUtf8("splitter_2"))
46 self.projectExplorerTree = QtGui.QTreeView(self.splitter_2)
47 self.projectExplorerTree.setObjectName(_fromUtf8("projectExplorerTree"))
48 self.splitter = QtGui.QSplitter(self.splitter_2)
49 self.splitter.setOrientation(QtCore.Qt.Vertical)
50 self.splitter.setObjectName(_fromUtf8("splitter"))
51 self.tabWidgetProject = QtGui.QTabWidget(self.splitter)
52 self.tabWidgetProject.setMinimumSize(QtCore.QSize(0, 278))
53 self.tabWidgetProject.setMaximumSize(QtCore.QSize(16777215, 16777215))
54 self.tabWidgetProject.setObjectName(_fromUtf8("tabWidgetProject"))
55
56
57 self.tabProject = QtGui.QWidget()
58 self.tabProject.setObjectName(_fromUtf8("tabProject"))
59 self.gridLayout_15 = QtGui.QGridLayout(self.tabProject)
60 self.gridLayout_15.setObjectName(_fromUtf8("gridLayout_15"))
61 self.frame = QtGui.QFrame(self.tabProject)
62 self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
63 self.frame.setFrameShadow(QtGui.QFrame.Raised)
64 self.frame.setObjectName(_fromUtf8("frame"))
65 self.gridLayout_2 = QtGui.QGridLayout(self.frame)
66 self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
67
68 self.label = QtGui.QLabel(self.frame)
69 self.label.setObjectName(_fromUtf8("label"))
70 self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
71 self.proName = QtGui.QLineEdit(self.frame)
72 self.proName.setObjectName(_fromUtf8("proName"))
73 self.gridLayout_2.addWidget(self.proName, 0, 1, 1, 8)
74 self.label_11 = QtGui.QLabel(self.frame)
75 self.label_11.setObjectName(_fromUtf8("label_11"))
76 self.gridLayout_2.addWidget(self.label_11, 1, 0, 1, 1)
77 self.proComDataType = QtGui.QComboBox(self.frame)
78 self.proComDataType.setObjectName(_fromUtf8("proComDataType"))
79 self.proComDataType.addItem(_fromUtf8(""))
80 self.proComDataType.addItem(_fromUtf8(""))
81 self.proComDataType.addItem(_fromUtf8(""))
82 self.gridLayout_2.addWidget(self.proComDataType, 1, 1, 1, 5)
83 self.proDataType = QtGui.QLineEdit(self.frame)
84 self.proDataType.setObjectName(_fromUtf8("proDataType"))
85 self.gridLayout_2.addWidget(self.proDataType, 1, 6, 1, 3)
86 self.label_15 = QtGui.QLabel(self.frame)
87 self.label_15.setObjectName(_fromUtf8("label_15"))
88 self.gridLayout_2.addWidget(self.label_15, 2, 0, 1, 1)
89 self.proToolPath = QtGui.QToolButton(self.frame)
90 self.proToolPath.setObjectName(_fromUtf8("proToolPath"))
91 self.gridLayout_2.addWidget(self.proToolPath, 2, 1, 1, 1)
92 self.proDataPath = QtGui.QLineEdit(self.frame)
93 self.proDataPath.setObjectName(_fromUtf8("proDataPath"))
94 self.gridLayout_2.addWidget(self.proDataPath, 2, 2, 1, 7)
95 self.label_23 = QtGui.QLabel(self.frame)
96 self.label_23.setObjectName(_fromUtf8("label_23"))
97 self.gridLayout_2.addWidget(self.label_23, 3, 0, 1, 1)
98 self.proComReadMode = QtGui.QComboBox(self.frame)
99 self.proComReadMode.setObjectName(_fromUtf8("proComReadMode"))
100 self.proComReadMode.addItem(_fromUtf8(""))
101 self.proComReadMode.addItem(_fromUtf8(""))
102 self.gridLayout_2.addWidget(self.proComReadMode, 3, 1, 1, 2)
103 self.label_33 = QtGui.QLabel(self.frame)
104 self.label_33.setObjectName(_fromUtf8("label_33"))
105 self.gridLayout_2.addWidget(self.label_33, 3, 5, 1, 2)
106 self.proDelay = QtGui.QLineEdit(self.frame)
107 self.proDelay.setObjectName(_fromUtf8("proDelay"))
108 self.gridLayout_2.addWidget(self.proDelay, 3, 8, 1, 1)
109 self.label_32 = QtGui.QLabel(self.frame)
110 self.label_32.setObjectName(_fromUtf8("label_32"))
111 self.gridLayout_2.addWidget(self.label_32, 4, 0, 1, 1)
112 self.proComWalk = QtGui.QComboBox(self.frame)
113 self.proComWalk.setObjectName(_fromUtf8("proComWalk"))
114 self.proComWalk.addItem(_fromUtf8(""))
115 self.proComWalk.addItem(_fromUtf8(""))
116 self.gridLayout_2.addWidget(self.proComWalk, 4, 1, 1, 8)
117 self.proLoadButton = QtGui.QPushButton(self.frame)
118 self.proLoadButton.setObjectName(_fromUtf8("proLoadButton"))
119 self.gridLayout_2.addWidget(self.proLoadButton, 5, 0, 1, 9)
120 self.label_10 = QtGui.QLabel(self.frame)
121 self.label_10.setObjectName(_fromUtf8("label_10"))
122 self.gridLayout_2.addWidget(self.label_10, 3, 3, 1, 1)
123 self.proSet = QtGui.QLineEdit(self.frame)
124 self.proSet.setObjectName(_fromUtf8("proSet"))
125 self.gridLayout_2.addWidget(self.proSet, 3, 4, 1, 1)
126 self.gridLayout_15.addWidget(self.frame, 0, 0, 1, 1)
127 self.frame_2 = QtGui.QFrame(self.tabProject)
128 self.frame_2.setFrameShape(QtGui.QFrame.StyledPanel)
129 self.frame_2.setFrameShadow(QtGui.QFrame.Raised)
130 self.frame_2.setObjectName(_fromUtf8("frame_2"))
131 self.gridLayout_10 = QtGui.QGridLayout(self.frame_2)
132 self.gridLayout_10.setObjectName(_fromUtf8("gridLayout_10"))
133 self.label_27 = QtGui.QLabel(self.frame_2)
134 self.label_27.setObjectName(_fromUtf8("label_27"))
135 self.gridLayout_10.addWidget(self.label_27, 0, 0, 1, 1)
136 self.proComStartDate = QtGui.QComboBox(self.frame_2)
137 self.proComStartDate.setObjectName(_fromUtf8("proComStartDate"))
138 self.gridLayout_10.addWidget(self.proComStartDate, 0, 1, 1, 1)
139 self.label_28 = QtGui.QLabel(self.frame_2)
140 self.label_28.setObjectName(_fromUtf8("label_28"))
141 self.gridLayout_10.addWidget(self.label_28, 1, 0, 1, 1)
142 self.proComEndDate = QtGui.QComboBox(self.frame_2)
143 self.proComEndDate.setObjectName(_fromUtf8("proComEndDate"))
144 self.gridLayout_10.addWidget(self.proComEndDate, 1, 1, 1, 1)
145 self.label_2 = QtGui.QLabel(self.frame_2)
146 self.label_2.setObjectName(_fromUtf8("label_2"))
147 self.gridLayout_10.addWidget(self.label_2, 2, 0, 1, 1)
148 self.proStartTime = QtGui.QTimeEdit(self.frame_2)
149 self.proStartTime.setObjectName(_fromUtf8("proStartTime"))
150 self.gridLayout_10.addWidget(self.proStartTime, 2, 1, 1, 1)
151 self.label_3 = QtGui.QLabel(self.frame_2)
152 self.label_3.setObjectName(_fromUtf8("label_3"))
153 self.gridLayout_10.addWidget(self.label_3, 3, 0, 1, 1)
154 self.proEndTime = QtGui.QTimeEdit(self.frame_2)
155 self.proEndTime.setObjectName(_fromUtf8("proEndTime"))
156 self.gridLayout_10.addWidget(self.proEndTime, 3, 1, 1, 1)
157 self.label_30 = QtGui.QLabel(self.frame_2)
158 self.label_30.setObjectName(_fromUtf8("label_30"))
159 self.gridLayout_10.addWidget(self.label_30, 4, 0, 1, 1)
160 self.proDescription = QtGui.QTextEdit(self.frame_2)
161 self.proDescription.setObjectName(_fromUtf8("proDescription"))
162 self.gridLayout_10.addWidget(self.proDescription, 4, 1, 1, 1)
163 self.gridLayout_15.addWidget(self.frame_2, 1, 0, 1, 1)
164 self.frame_3 = QtGui.QFrame(self.tabProject)
165 self.frame_3.setFrameShape(QtGui.QFrame.StyledPanel)
166 self.frame_3.setFrameShadow(QtGui.QFrame.Raised)
167 self.frame_3.setObjectName(_fromUtf8("frame_3"))
168 self.gridLayout_14 = QtGui.QGridLayout(self.frame_3)
169 self.gridLayout_14.setObjectName(_fromUtf8("gridLayout_14"))
170 self.proOk = QtGui.QPushButton(self.frame_3)
171 self.proOk.setObjectName(_fromUtf8("proOk"))
172 self.gridLayout_14.addWidget(self.proOk, 0, 0, 1, 1)
173 self.proClear = QtGui.QPushButton(self.frame_3)
174 self.proClear.setObjectName(_fromUtf8("proClear"))
175 self.gridLayout_14.addWidget(self.proClear, 0, 1, 1, 1)
176 self.gridLayout_15.addWidget(self.frame_3, 2, 0, 1, 1)
177 self.tabWidgetProject.addTab(self.tabProject, _fromUtf8(""))
178 self.tabVoltage = QtGui.QWidget()
179 self.tabVoltage.setObjectName(_fromUtf8("tabVoltage"))
180 self.gridLayout_3 = QtGui.QGridLayout(self.tabVoltage)
181 self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
182 self.frame_4 = QtGui.QFrame(self.tabVoltage)
183 self.frame_4.setFrameShape(QtGui.QFrame.StyledPanel)
184 self.frame_4.setFrameShadow(QtGui.QFrame.Raised)
185 self.frame_4.setObjectName(_fromUtf8("frame_4"))
186 self.gridLayout_17 = QtGui.QGridLayout(self.frame_4)
187 self.gridLayout_17.setObjectName(_fromUtf8("gridLayout_17"))
188 self.volOpOk = QtGui.QPushButton(self.frame_4)
189 self.volOpOk.setObjectName(_fromUtf8("volOpOk"))
190 self.gridLayout_17.addWidget(self.volOpOk, 0, 0, 1, 1)
191 self.volGraphClear = QtGui.QPushButton(self.frame_4)
192 self.volGraphClear.setObjectName(_fromUtf8("volGraphClear"))
193 self.gridLayout_17.addWidget(self.volGraphClear, 0, 1, 1, 1)
194 self.gridLayout_3.addWidget(self.frame_4, 1, 1, 1, 1)
195 self.tabWidgetVoltage = QtGui.QTabWidget(self.tabVoltage)
196 self.tabWidgetVoltage.setObjectName(_fromUtf8("tabWidgetVoltage"))
197 self.tabopVoltage = QtGui.QWidget()
198 self.tabopVoltage.setObjectName(_fromUtf8("tabopVoltage"))
199 self.gridLayout = QtGui.QGridLayout(self.tabopVoltage)
200 self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
201 self.volOpHeights = QtGui.QLineEdit(self.tabopVoltage)
202 self.volOpHeights.setObjectName(_fromUtf8("volOpHeights"))
203 self.gridLayout.addWidget(self.volOpHeights, 4, 4, 1, 1)
204 self.volOpComHeights = QtGui.QComboBox(self.tabopVoltage)
205 self.volOpComHeights.setObjectName(_fromUtf8("volOpComHeights"))
206 self.volOpComHeights.addItem(_fromUtf8(""))
207 self.volOpComHeights.addItem(_fromUtf8(""))
208 self.gridLayout.addWidget(self.volOpComHeights, 4, 0, 1, 3)
209 self.volOpComChannels = QtGui.QComboBox(self.tabopVoltage)
210 self.volOpComChannels.setObjectName(_fromUtf8("volOpComChannels"))
211 self.volOpComChannels.addItem(_fromUtf8(""))
212 self.volOpComChannels.addItem(_fromUtf8(""))
213 self.gridLayout.addWidget(self.volOpComChannels, 2, 0, 1, 3)
214 self.volOpCebProfile = QtGui.QCheckBox(self.tabopVoltage)
215 self.volOpCebProfile.setObjectName(_fromUtf8("volOpCebProfile"))
216 self.gridLayout.addWidget(self.volOpCebProfile, 6, 0, 1, 3)
217 self.volOpComProfile = QtGui.QComboBox(self.tabopVoltage)
218 self.volOpComProfile.setObjectName(_fromUtf8("volOpComProfile"))
219 self.volOpComProfile.addItem(_fromUtf8(""))
220 self.volOpComProfile.addItem(_fromUtf8(""))
221 self.gridLayout.addWidget(self.volOpComProfile, 7, 0, 1, 3)
222 self.volOpCebDecodification = QtGui.QCheckBox(self.tabopVoltage)
223 self.volOpCebDecodification.setObjectName(_fromUtf8("volOpCebDecodification"))
224 self.gridLayout.addWidget(self.volOpCebDecodification, 8, 0, 1, 3)
225 self.volOpCebCohInt = QtGui.QCheckBox(self.tabopVoltage)
226 self.volOpCebCohInt.setObjectName(_fromUtf8("volOpCebCohInt"))
227 self.gridLayout.addWidget(self.volOpCebCohInt, 11, 0, 1, 3)
228 self.volOpProfile = QtGui.QLineEdit(self.tabopVoltage)
229 self.volOpProfile.setObjectName(_fromUtf8("volOpProfile"))
230 self.gridLayout.addWidget(self.volOpProfile, 7, 4, 1, 1)
231 self.volOpFilter = QtGui.QLineEdit(self.tabopVoltage)
232 self.volOpFilter.setObjectName(_fromUtf8("volOpFilter"))
233 self.gridLayout.addWidget(self.volOpFilter, 5, 4, 1, 1)
234 spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
235 self.gridLayout.addItem(spacerItem, 6, 4, 1, 1)
236 spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
237 self.gridLayout.addItem(spacerItem1, 8, 4, 1, 1)
238 spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
239 self.gridLayout.addItem(spacerItem2, 3, 4, 1, 1)
240 self.volOpChannel = QtGui.QLineEdit(self.tabopVoltage)
241 self.volOpChannel.setObjectName(_fromUtf8("volOpChannel"))
242 self.gridLayout.addWidget(self.volOpChannel, 2, 4, 1, 1)
243 self.label_4 = QtGui.QLabel(self.tabopVoltage)
244 self.label_4.setObjectName(_fromUtf8("label_4"))
245 self.gridLayout.addWidget(self.label_4, 9, 2, 1, 1)
246 self.volOpCebChannels = QtGui.QCheckBox(self.tabopVoltage)
247 self.volOpCebChannels.setObjectName(_fromUtf8("volOpCebChannels"))
248 self.gridLayout.addWidget(self.volOpCebChannels, 1, 0, 1, 3)
249 self.volOpCebHeights = QtGui.QCheckBox(self.tabopVoltage)
250 self.volOpCebHeights.setObjectName(_fromUtf8("volOpCebHeights"))
251 self.gridLayout.addWidget(self.volOpCebHeights, 3, 0, 1, 3)
252 self.volOpCebFilter = QtGui.QCheckBox(self.tabopVoltage)
253 self.volOpCebFilter.setObjectName(_fromUtf8("volOpCebFilter"))
254 self.gridLayout.addWidget(self.volOpCebFilter, 5, 0, 1, 3)
255 self.volOpRadarfrequency = QtGui.QLineEdit(self.tabopVoltage)
256 self.volOpRadarfrequency.setObjectName(_fromUtf8("volOpRadarfrequency"))
257 self.gridLayout.addWidget(self.volOpRadarfrequency, 0, 4, 1, 1)
258 self.volOpCebRadarfrequency = QtGui.QCheckBox(self.tabopVoltage)
259 self.volOpCebRadarfrequency.setObjectName(_fromUtf8("volOpCebRadarfrequency"))
260 self.gridLayout.addWidget(self.volOpCebRadarfrequency, 0, 0, 1, 3)
261 self.label_5 = QtGui.QLabel(self.tabopVoltage)
262 self.label_5.setObjectName(_fromUtf8("label_5"))
263 self.gridLayout.addWidget(self.label_5, 10, 2, 1, 1)
264 spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
265 self.gridLayout.addItem(spacerItem3, 1, 4, 1, 1)
266 self.volOpCohInt = QtGui.QLineEdit(self.tabopVoltage)
267 self.volOpCohInt.setObjectName(_fromUtf8("volOpCohInt"))
268 self.gridLayout.addWidget(self.volOpCohInt, 11, 4, 1, 1)
269 self.volOpComCode = QtGui.QComboBox(self.tabopVoltage)
270 self.volOpComCode.setObjectName(_fromUtf8("volOpComCode"))
271 self.volOpComCode.addItem(_fromUtf8(""))
272 self.volOpComCode.addItem(_fromUtf8(""))
273 self.volOpComCode.addItem(_fromUtf8(""))
274 self.volOpComCode.addItem(_fromUtf8(""))
275 self.volOpComCode.addItem(_fromUtf8(""))
276 self.volOpComCode.addItem(_fromUtf8(""))
277 self.volOpComCode.addItem(_fromUtf8(""))
278 self.volOpComCode.addItem(_fromUtf8(""))
279 self.volOpComCode.addItem(_fromUtf8(""))
280 self.volOpComCode.addItem(_fromUtf8(""))
281 self.volOpComCode.addItem(_fromUtf8(""))
282 self.volOpComCode.addItem(_fromUtf8(""))
283 self.volOpComCode.addItem(_fromUtf8(""))
284 self.gridLayout.addWidget(self.volOpComCode, 9, 4, 1, 1)
285 self.volOpComMode = QtGui.QComboBox(self.tabopVoltage)
286 self.volOpComMode.setObjectName(_fromUtf8("volOpComMode"))
287 self.volOpComMode.addItem(_fromUtf8(""))
288 self.volOpComMode.addItem(_fromUtf8(""))
289 self.gridLayout.addWidget(self.volOpComMode, 10, 4, 1, 1)
290 self.tabWidgetVoltage.addTab(self.tabopVoltage, _fromUtf8(""))
291 self.tabgraphVoltage = QtGui.QWidget()
292 self.tabgraphVoltage.setObjectName(_fromUtf8("tabgraphVoltage"))
293 self.gridLayout_6 = QtGui.QGridLayout(self.tabgraphVoltage)
294 self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
295 spacerItem4 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
296 self.gridLayout_6.addItem(spacerItem4, 12, 3, 1, 1)
297 self.volGraphfreqrange = QtGui.QLineEdit(self.tabgraphVoltage)
298 self.volGraphfreqrange.setObjectName(_fromUtf8("volGraphfreqrange"))
299 self.gridLayout_6.addWidget(self.volGraphfreqrange, 9, 1, 1, 6)
300 self.volGraphPrefix = QtGui.QLineEdit(self.tabgraphVoltage)
301 self.volGraphPrefix.setObjectName(_fromUtf8("volGraphPrefix"))
302 self.gridLayout_6.addWidget(self.volGraphPrefix, 2, 1, 1, 6)
303 self.volGraphToolPath = QtGui.QToolButton(self.tabgraphVoltage)
304 self.volGraphToolPath.setObjectName(_fromUtf8("volGraphToolPath"))
305 self.gridLayout_6.addWidget(self.volGraphToolPath, 1, 5, 1, 2)
306 self.volGraphPath = QtGui.QLineEdit(self.tabgraphVoltage)
307 self.volGraphPath.setObjectName(_fromUtf8("volGraphPath"))
308 self.gridLayout_6.addWidget(self.volGraphPath, 1, 1, 1, 4)
309 self.label_14 = QtGui.QLabel(self.tabgraphVoltage)
310 self.label_14.setObjectName(_fromUtf8("label_14"))
311 self.gridLayout_6.addWidget(self.label_14, 6, 0, 1, 1)
312 spacerItem5 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
313 self.gridLayout_6.addItem(spacerItem5, 3, 3, 1, 1)
314 self.label_8 = QtGui.QLabel(self.tabgraphVoltage)
315 self.label_8.setObjectName(_fromUtf8("label_8"))
316 self.gridLayout_6.addWidget(self.label_8, 8, 0, 1, 1)
317 self.label_49 = QtGui.QLabel(self.tabgraphVoltage)
318 self.label_49.setObjectName(_fromUtf8("label_49"))
319 self.gridLayout_6.addWidget(self.label_49, 4, 3, 1, 1)
320 self.label_51 = QtGui.QLabel(self.tabgraphVoltage)
321 self.label_51.setObjectName(_fromUtf8("label_51"))
322 self.gridLayout_6.addWidget(self.label_51, 9, 0, 1, 1)
323 self.volGraphCebshow = QtGui.QCheckBox(self.tabgraphVoltage)
324 self.volGraphCebshow.setText(_fromUtf8(""))
325 self.volGraphCebshow.setObjectName(_fromUtf8("volGraphCebshow"))
326 self.gridLayout_6.addWidget(self.volGraphCebshow, 6, 3, 1, 1)
327 self.label_12 = QtGui.QLabel(self.tabgraphVoltage)
328 self.label_12.setObjectName(_fromUtf8("label_12"))
329 self.gridLayout_6.addWidget(self.label_12, 1, 0, 1, 1)
330 self.label_13 = QtGui.QLabel(self.tabgraphVoltage)
331 self.label_13.setObjectName(_fromUtf8("label_13"))
332 self.gridLayout_6.addWidget(self.label_13, 2, 0, 1, 1)
333 self.label_52 = QtGui.QLabel(self.tabgraphVoltage)
334 self.label_52.setObjectName(_fromUtf8("label_52"))
335 self.gridLayout_6.addWidget(self.label_52, 11, 0, 1, 1)
336 spacerItem6 = QtGui.QSpacerItem(40, 12, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
337 self.gridLayout_6.addItem(spacerItem6, 14, 5, 1, 2)
338 spacerItem7 = QtGui.QSpacerItem(18, 12, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
339 self.gridLayout_6.addItem(spacerItem7, 14, 3, 1, 1)
340 self.volGraphChannelList = QtGui.QLineEdit(self.tabgraphVoltage)
341 self.volGraphChannelList.setObjectName(_fromUtf8("volGraphChannelList"))
342 self.gridLayout_6.addWidget(self.volGraphChannelList, 8, 1, 1, 6)
343 self.volGraphHeightrange = QtGui.QLineEdit(self.tabgraphVoltage)
344 self.volGraphHeightrange.setObjectName(_fromUtf8("volGraphHeightrange"))
345 self.gridLayout_6.addWidget(self.volGraphHeightrange, 11, 1, 1, 6)
346 self.label_50 = QtGui.QLabel(self.tabgraphVoltage)
347 self.label_50.setObjectName(_fromUtf8("label_50"))
348 self.gridLayout_6.addWidget(self.label_50, 4, 4, 1, 1)
349 self.volGraphCebSave = QtGui.QCheckBox(self.tabgraphVoltage)
350 self.volGraphCebSave.setText(_fromUtf8(""))
351 self.volGraphCebSave.setObjectName(_fromUtf8("volGraphCebSave"))
352 self.gridLayout_6.addWidget(self.volGraphCebSave, 6, 4, 1, 1)
353 self.tabWidgetVoltage.addTab(self.tabgraphVoltage, _fromUtf8(""))
354 self.taboutputVoltage = QtGui.QWidget()
355 self.taboutputVoltage.setObjectName(_fromUtf8("taboutputVoltage"))
356 self.gridLayout_12 = QtGui.QGridLayout(self.taboutputVoltage)
357 self.gridLayout_12.setObjectName(_fromUtf8("gridLayout_12"))
358 self.label_36 = QtGui.QLabel(self.taboutputVoltage)
359 self.label_36.setObjectName(_fromUtf8("label_36"))
360 self.gridLayout_12.addWidget(self.label_36, 0, 0, 1, 1)
361 self.label_37 = QtGui.QLabel(self.taboutputVoltage)
362 self.label_37.setObjectName(_fromUtf8("label_37"))
363 self.gridLayout_12.addWidget(self.label_37, 1, 0, 1, 1)
364 self.volOutputPath = QtGui.QLineEdit(self.taboutputVoltage)
365 self.volOutputPath.setObjectName(_fromUtf8("volOutputPath"))
366 self.gridLayout_12.addWidget(self.volOutputPath, 1, 2, 1, 1)
367 self.volOutputToolPath = QtGui.QToolButton(self.taboutputVoltage)
368 self.volOutputToolPath.setObjectName(_fromUtf8("volOutputToolPath"))
369 self.gridLayout_12.addWidget(self.volOutputToolPath, 1, 3, 1, 1)
370 self.volOutputComData = QtGui.QComboBox(self.taboutputVoltage)
371 self.volOutputComData.setObjectName(_fromUtf8("volOutputComData"))
372 self.volOutputComData.addItem(_fromUtf8(""))
373 self.gridLayout_12.addWidget(self.volOutputComData, 0, 2, 1, 2)
374 spacerItem8 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
375 self.gridLayout_12.addItem(spacerItem8, 5, 2, 1, 1)
376 self.volOutputblocksperfile = QtGui.QLineEdit(self.taboutputVoltage)
377 self.volOutputblocksperfile.setObjectName(_fromUtf8("volOutputblocksperfile"))
378 self.gridLayout_12.addWidget(self.volOutputblocksperfile, 3, 2, 1, 1)
379 self.label_7 = QtGui.QLabel(self.taboutputVoltage)
380 self.label_7.setObjectName(_fromUtf8("label_7"))
381 self.gridLayout_12.addWidget(self.label_7, 3, 0, 1, 1)
382 self.label_35 = QtGui.QLabel(self.taboutputVoltage)
383 self.label_35.setObjectName(_fromUtf8("label_35"))
384 self.gridLayout_12.addWidget(self.label_35, 4, 0, 1, 1)
385 self.volOutputprofilesperblock = QtGui.QLineEdit(self.taboutputVoltage)
386 self.volOutputprofilesperblock.setObjectName(_fromUtf8("volOutputprofilesperblock"))
387 self.gridLayout_12.addWidget(self.volOutputprofilesperblock, 4, 2, 1, 1)
388 self.tabWidgetVoltage.addTab(self.taboutputVoltage, _fromUtf8(""))
389 self.gridLayout_3.addWidget(self.tabWidgetVoltage, 0, 1, 1, 1)
390 self.tabWidgetProject.addTab(self.tabVoltage, _fromUtf8(""))
391 self.tabSpectra = QtGui.QWidget()
392 self.tabSpectra.setObjectName(_fromUtf8("tabSpectra"))
393 self.gridLayout_7 = QtGui.QGridLayout(self.tabSpectra)
394 self.gridLayout_7.setObjectName(_fromUtf8("gridLayout_7"))
395 self.frame_5 = QtGui.QFrame(self.tabSpectra)
396 self.frame_5.setFrameShape(QtGui.QFrame.StyledPanel)
397 self.frame_5.setFrameShadow(QtGui.QFrame.Raised)
398 self.frame_5.setObjectName(_fromUtf8("frame_5"))
399 self.gridLayout_18 = QtGui.QGridLayout(self.frame_5)
400 self.gridLayout_18.setObjectName(_fromUtf8("gridLayout_18"))
401 self.specOpOk = QtGui.QPushButton(self.frame_5)
402 self.specOpOk.setObjectName(_fromUtf8("specOpOk"))
403 self.gridLayout_18.addWidget(self.specOpOk, 0, 0, 1, 1)
404 self.specGraphClear = QtGui.QPushButton(self.frame_5)
405 self.specGraphClear.setObjectName(_fromUtf8("specGraphClear"))
406 self.gridLayout_18.addWidget(self.specGraphClear, 0, 1, 1, 1)
407 self.gridLayout_7.addWidget(self.frame_5, 1, 1, 1, 1)
408 self.tabWidgetSpectra = QtGui.QTabWidget(self.tabSpectra)
409 self.tabWidgetSpectra.setObjectName(_fromUtf8("tabWidgetSpectra"))
410 self.tabopSpectra = QtGui.QWidget()
411 self.tabopSpectra.setObjectName(_fromUtf8("tabopSpectra"))
412 self.gridLayout_5 = QtGui.QGridLayout(self.tabopSpectra)
413 self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
414 self.specOpCebCrossSpectra = QtGui.QCheckBox(self.tabopSpectra)
415 self.specOpCebCrossSpectra.setObjectName(_fromUtf8("specOpCebCrossSpectra"))
416 self.gridLayout_5.addWidget(self.specOpCebCrossSpectra, 4, 0, 1, 2)
417 self.specOpComChannel = QtGui.QComboBox(self.tabopSpectra)
418 self.specOpComChannel.setObjectName(_fromUtf8("specOpComChannel"))
419 self.specOpComChannel.addItem(_fromUtf8(""))
420 self.specOpComChannel.addItem(_fromUtf8(""))
421 self.gridLayout_5.addWidget(self.specOpComChannel, 8, 0, 1, 2)
422 self.specOpChannel = QtGui.QLineEdit(self.tabopSpectra)
423 self.specOpChannel.setObjectName(_fromUtf8("specOpChannel"))
424 self.gridLayout_5.addWidget(self.specOpChannel, 8, 3, 1, 2)
425 self.specOpComHeights = QtGui.QComboBox(self.tabopSpectra)
426 self.specOpComHeights.setObjectName(_fromUtf8("specOpComHeights"))
427 self.specOpComHeights.addItem(_fromUtf8(""))
428 self.specOpComHeights.addItem(_fromUtf8(""))
429 self.gridLayout_5.addWidget(self.specOpComHeights, 11, 0, 1, 2)
430 self.specOpHeights = QtGui.QLineEdit(self.tabopSpectra)
431 self.specOpHeights.setObjectName(_fromUtf8("specOpHeights"))
432 self.gridLayout_5.addWidget(self.specOpHeights, 11, 3, 1, 2)
433 self.specOpIncoherent = QtGui.QLineEdit(self.tabopSpectra)
434 self.specOpIncoherent.setObjectName(_fromUtf8("specOpIncoherent"))
435 self.gridLayout_5.addWidget(self.specOpIncoherent, 13, 3, 1, 2)
436 self.specOpCebRemoveDC = QtGui.QCheckBox(self.tabopSpectra)
437 self.specOpCebRemoveDC.setObjectName(_fromUtf8("specOpCebRemoveDC"))
438 self.gridLayout_5.addWidget(self.specOpCebRemoveDC, 14, 0, 1, 2)
439 self.specOpCebHeights = QtGui.QCheckBox(self.tabopSpectra)
440 self.specOpCebHeights.setObjectName(_fromUtf8("specOpCebHeights"))
441 self.gridLayout_5.addWidget(self.specOpCebHeights, 9, 0, 1, 1)
442 self.specOpCebChannel = QtGui.QCheckBox(self.tabopSpectra)
443 self.specOpCebChannel.setObjectName(_fromUtf8("specOpCebChannel"))
444 self.gridLayout_5.addWidget(self.specOpCebChannel, 7, 0, 1, 1)
445 self.specOppairsList = QtGui.QLineEdit(self.tabopSpectra)
446 self.specOppairsList.setObjectName(_fromUtf8("specOppairsList"))
447 self.gridLayout_5.addWidget(self.specOppairsList, 6, 3, 1, 2)
448 self.specOpnFFTpoints = QtGui.QLineEdit(self.tabopSpectra)
449 self.specOpnFFTpoints.setObjectName(_fromUtf8("specOpnFFTpoints"))
450 self.gridLayout_5.addWidget(self.specOpnFFTpoints, 2, 3, 1, 2)
451 self.label_31 = QtGui.QLabel(self.tabopSpectra)
452 self.label_31.setObjectName(_fromUtf8("label_31"))
453 self.gridLayout_5.addWidget(self.label_31, 6, 0, 1, 2)
454 self.label_26 = QtGui.QLabel(self.tabopSpectra)
455 self.label_26.setObjectName(_fromUtf8("label_26"))
456 self.gridLayout_5.addWidget(self.label_26, 2, 0, 1, 2)
457 self.specOpCebIncoherent = QtGui.QCheckBox(self.tabopSpectra)
458 self.specOpCebIncoherent.setObjectName(_fromUtf8("specOpCebIncoherent"))
459 self.gridLayout_5.addWidget(self.specOpCebIncoherent, 12, 0, 1, 1)
460 self.specOpCobIncInt = QtGui.QComboBox(self.tabopSpectra)
461 self.specOpCobIncInt.setObjectName(_fromUtf8("specOpCobIncInt"))
462 self.specOpCobIncInt.addItem(_fromUtf8(""))
463 self.specOpCobIncInt.addItem(_fromUtf8(""))
464 self.gridLayout_5.addWidget(self.specOpCobIncInt, 13, 0, 1, 2)
465 spacerItem9 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
466 self.gridLayout_5.addItem(spacerItem9, 12, 3, 1, 1)
467 self.specOpCebRadarfrequency = QtGui.QCheckBox(self.tabopSpectra)
468 self.specOpCebRadarfrequency.setObjectName(_fromUtf8("specOpCebRadarfrequency"))
469 self.gridLayout_5.addWidget(self.specOpCebRadarfrequency, 0, 0, 1, 2)
470 spacerItem10 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
471 self.gridLayout_5.addItem(spacerItem10, 9, 3, 1, 1)
472 spacerItem11 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
473 self.gridLayout_5.addItem(spacerItem11, 7, 3, 1, 1)
474 self.specOpRadarfrequency = QtGui.QLineEdit(self.tabopSpectra)
475 self.specOpRadarfrequency.setObjectName(_fromUtf8("specOpRadarfrequency"))
476 self.gridLayout_5.addWidget(self.specOpRadarfrequency, 0, 3, 1, 2)
477 spacerItem12 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
478 self.gridLayout_5.addItem(spacerItem12, 4, 3, 1, 1)
479 self.label_21 = QtGui.QLabel(self.tabopSpectra)
480 self.label_21.setObjectName(_fromUtf8("label_21"))
481 self.gridLayout_5.addWidget(self.label_21, 1, 0, 1, 1)
482 self.specOpProfiles = QtGui.QLineEdit(self.tabopSpectra)
483 self.specOpProfiles.setObjectName(_fromUtf8("specOpProfiles"))
484 self.gridLayout_5.addWidget(self.specOpProfiles, 1, 3, 1, 2)
485 self.specOpCebRemoveInt = QtGui.QCheckBox(self.tabopSpectra)
486 self.specOpCebRemoveInt.setObjectName(_fromUtf8("specOpCebRemoveInt"))
487 self.gridLayout_5.addWidget(self.specOpCebRemoveInt, 15, 0, 1, 1)
488 spacerItem13 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
489 self.gridLayout_5.addItem(spacerItem13, 15, 3, 1, 1)
490 self.label_70 = QtGui.QLabel(self.tabopSpectra)
491 self.label_70.setObjectName(_fromUtf8("label_70"))
492 self.gridLayout_5.addWidget(self.label_70, 3, 0, 1, 1)
493 self.specOpCebgetNoise = QtGui.QCheckBox(self.tabopSpectra)
494 self.specOpCebgetNoise.setObjectName(_fromUtf8("specOpCebgetNoise"))
495 self.gridLayout_5.addWidget(self.specOpCebgetNoise, 16, 0, 1, 1)
496 self.specOpippFactor = QtGui.QLineEdit(self.tabopSpectra)
497 self.specOpippFactor.setObjectName(_fromUtf8("specOpippFactor"))
498 self.gridLayout_5.addWidget(self.specOpippFactor, 3, 3, 1, 2)
499 self.specOpComRemoveDC = QtGui.QComboBox(self.tabopSpectra)
500 self.specOpComRemoveDC.setObjectName(_fromUtf8("specOpComRemoveDC"))
501 self.specOpComRemoveDC.addItem(_fromUtf8(""))
502 self.specOpComRemoveDC.addItem(_fromUtf8(""))
503 self.gridLayout_5.addWidget(self.specOpComRemoveDC, 14, 3, 1, 2)
504 self.specOpgetNoise = QtGui.QLineEdit(self.tabopSpectra)
505 self.specOpgetNoise.setObjectName(_fromUtf8("specOpgetNoise"))
506 self.gridLayout_5.addWidget(self.specOpgetNoise, 16, 3, 1, 2)
507 self.tabWidgetSpectra.addTab(self.tabopSpectra, _fromUtf8(""))
508 self.tabgraphSpectra = QtGui.QWidget()
509 self.tabgraphSpectra.setObjectName(_fromUtf8("tabgraphSpectra"))
510 self.gridLayout_9 = QtGui.QGridLayout(self.tabgraphSpectra)
511 self.gridLayout_9.setObjectName(_fromUtf8("gridLayout_9"))
512 self.label_44 = QtGui.QLabel(self.tabgraphSpectra)
513 self.label_44.setObjectName(_fromUtf8("label_44"))
514 self.gridLayout_9.addWidget(self.label_44, 10, 0, 1, 1)
515 spacerItem14 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
516 self.gridLayout_9.addItem(spacerItem14, 14, 2, 1, 1)
517 self.label_20 = QtGui.QLabel(self.tabgraphSpectra)
518 self.label_20.setObjectName(_fromUtf8("label_20"))
519 self.gridLayout_9.addWidget(self.label_20, 21, 0, 1, 1)
520 self.specGraphSaveRTInoise = QtGui.QCheckBox(self.tabgraphSpectra)
521 self.specGraphSaveRTInoise.setText(_fromUtf8(""))
522 self.specGraphSaveRTInoise.setObjectName(_fromUtf8("specGraphSaveRTInoise"))
523 self.gridLayout_9.addWidget(self.specGraphSaveRTInoise, 13, 4, 1, 1)
524 self.specGgraphmagnitud = QtGui.QLineEdit(self.tabgraphSpectra)
525 self.specGgraphmagnitud.setObjectName(_fromUtf8("specGgraphmagnitud"))
526 self.gridLayout_9.addWidget(self.specGgraphmagnitud, 20, 1, 1, 7)
527 self.specGraphSaveSpectra = QtGui.QCheckBox(self.tabgraphSpectra)
528 self.specGraphSaveSpectra.setText(_fromUtf8(""))
529 self.specGraphSaveSpectra.setObjectName(_fromUtf8("specGraphSaveSpectra"))
530 self.gridLayout_9.addWidget(self.specGraphSaveSpectra, 6, 4, 1, 1)
531 self.specGgraphChannelList = QtGui.QLineEdit(self.tabgraphSpectra)
532 self.specGgraphChannelList.setObjectName(_fromUtf8("specGgraphChannelList"))
533 self.gridLayout_9.addWidget(self.specGgraphChannelList, 15, 1, 1, 7)
534 self.label_25 = QtGui.QLabel(self.tabgraphSpectra)
535 self.label_25.setObjectName(_fromUtf8("label_25"))
536 self.gridLayout_9.addWidget(self.label_25, 2, 0, 1, 1)
537 self.specGgraphTminTmax = QtGui.QLineEdit(self.tabgraphSpectra)
538 self.specGgraphTminTmax.setObjectName(_fromUtf8("specGgraphTminTmax"))
539 self.gridLayout_9.addWidget(self.specGgraphTminTmax, 21, 1, 1, 7)
540 spacerItem15 = QtGui.QSpacerItem(28, 15, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
541 self.gridLayout_9.addItem(spacerItem15, 27, 6, 1, 2)
542 spacerItem16 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
543 self.gridLayout_9.addItem(spacerItem16, 3, 5, 1, 1)
544 self.label_42 = QtGui.QLabel(self.tabgraphSpectra)
545 self.label_42.setObjectName(_fromUtf8("label_42"))
546 self.gridLayout_9.addWidget(self.label_42, 9, 0, 1, 1)
547 self.label_16 = QtGui.QLabel(self.tabgraphSpectra)
548 self.label_16.setObjectName(_fromUtf8("label_16"))
549 self.gridLayout_9.addWidget(self.label_16, 18, 0, 1, 1)
550 self.label_17 = QtGui.QLabel(self.tabgraphSpectra)
551 self.label_17.setObjectName(_fromUtf8("label_17"))
552 self.gridLayout_9.addWidget(self.label_17, 19, 0, 1, 1)
553 self.label_18 = QtGui.QLabel(self.tabgraphSpectra)
554 self.label_18.setObjectName(_fromUtf8("label_18"))
555 self.gridLayout_9.addWidget(self.label_18, 20, 0, 1, 1)
556 self.specGgraphFreq = QtGui.QLineEdit(self.tabgraphSpectra)
557 self.specGgraphFreq.setObjectName(_fromUtf8("specGgraphFreq"))
558 self.gridLayout_9.addWidget(self.specGgraphFreq, 16, 1, 1, 7)
559 self.specGgraphHeight = QtGui.QLineEdit(self.tabgraphSpectra)
560 self.specGgraphHeight.setObjectName(_fromUtf8("specGgraphHeight"))
561 self.gridLayout_9.addWidget(self.specGgraphHeight, 18, 1, 1, 7)
562 spacerItem17 = QtGui.QSpacerItem(49, 15, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
563 self.gridLayout_9.addItem(spacerItem17, 27, 0, 1, 1)
564 self.label_24 = QtGui.QLabel(self.tabgraphSpectra)
565 self.label_24.setObjectName(_fromUtf8("label_24"))
566 self.gridLayout_9.addWidget(self.label_24, 0, 0, 1, 1)
567 self.specGraphPrefix = QtGui.QLineEdit(self.tabgraphSpectra)
568 self.specGraphPrefix.setObjectName(_fromUtf8("specGraphPrefix"))
569 self.gridLayout_9.addWidget(self.specGraphPrefix, 2, 1, 1, 7)
570 self.specGgraphDbsrange = QtGui.QLineEdit(self.tabgraphSpectra)
571 self.specGgraphDbsrange.setObjectName(_fromUtf8("specGgraphDbsrange"))
572 self.gridLayout_9.addWidget(self.specGgraphDbsrange, 19, 1, 1, 7)
573 self.label_46 = QtGui.QLabel(self.tabgraphSpectra)
574 self.label_46.setObjectName(_fromUtf8("label_46"))
575 self.gridLayout_9.addWidget(self.label_46, 11, 0, 1, 1)
576 self.label_22 = QtGui.QLabel(self.tabgraphSpectra)
577 self.label_22.setObjectName(_fromUtf8("label_22"))
578 self.gridLayout_9.addWidget(self.label_22, 16, 0, 1, 1)
579 self.specGraphPath = QtGui.QLineEdit(self.tabgraphSpectra)
580 self.specGraphPath.setObjectName(_fromUtf8("specGraphPath"))
581 self.gridLayout_9.addWidget(self.specGraphPath, 0, 1, 1, 6)
582 self.label_41 = QtGui.QLabel(self.tabgraphSpectra)
583 self.label_41.setObjectName(_fromUtf8("label_41"))
584 self.gridLayout_9.addWidget(self.label_41, 8, 0, 1, 1)
585 self.specGraphToolPath = QtGui.QToolButton(self.tabgraphSpectra)
586 self.specGraphToolPath.setObjectName(_fromUtf8("specGraphToolPath"))
587 self.gridLayout_9.addWidget(self.specGraphToolPath, 0, 7, 1, 1)
588 self.label_6 = QtGui.QLabel(self.tabgraphSpectra)
589 self.label_6.setObjectName(_fromUtf8("label_6"))
590 self.gridLayout_9.addWidget(self.label_6, 15, 0, 1, 1)
591 self.label_40 = QtGui.QLabel(self.tabgraphSpectra)
592 self.label_40.setObjectName(_fromUtf8("label_40"))
593 self.gridLayout_9.addWidget(self.label_40, 6, 0, 1, 1)
594 self.specGraphCebSpectraplot = QtGui.QCheckBox(self.tabgraphSpectra)
595 self.specGraphCebSpectraplot.setText(_fromUtf8(""))
596 self.specGraphCebSpectraplot.setObjectName(_fromUtf8("specGraphCebSpectraplot"))
597 self.gridLayout_9.addWidget(self.specGraphCebSpectraplot, 6, 2, 1, 1)
598 self.specGraphCebCrossSpectraplot = QtGui.QCheckBox(self.tabgraphSpectra)
599 self.specGraphCebCrossSpectraplot.setText(_fromUtf8(""))
600 self.specGraphCebCrossSpectraplot.setObjectName(_fromUtf8("specGraphCebCrossSpectraplot"))
601 self.gridLayout_9.addWidget(self.specGraphCebCrossSpectraplot, 8, 2, 1, 1)
602 self.specGraphCebRTIplot = QtGui.QCheckBox(self.tabgraphSpectra)
603 self.specGraphCebRTIplot.setText(_fromUtf8(""))
604 self.specGraphCebRTIplot.setObjectName(_fromUtf8("specGraphCebRTIplot"))
605 self.gridLayout_9.addWidget(self.specGraphCebRTIplot, 9, 2, 1, 1)
606 self.specGraphCebCoherencmap = QtGui.QCheckBox(self.tabgraphSpectra)
607 self.specGraphCebCoherencmap.setText(_fromUtf8(""))
608 self.specGraphCebCoherencmap.setObjectName(_fromUtf8("specGraphCebCoherencmap"))
609 self.gridLayout_9.addWidget(self.specGraphCebCoherencmap, 10, 2, 1, 1)
610 self.specGraphPowerprofile = QtGui.QCheckBox(self.tabgraphSpectra)
611 self.specGraphPowerprofile.setText(_fromUtf8(""))
612 self.specGraphPowerprofile.setObjectName(_fromUtf8("specGraphPowerprofile"))
613 self.gridLayout_9.addWidget(self.specGraphPowerprofile, 11, 2, 1, 1)
614 self.specGraphSaveCross = QtGui.QCheckBox(self.tabgraphSpectra)
615 self.specGraphSaveCross.setText(_fromUtf8(""))
616 self.specGraphSaveCross.setObjectName(_fromUtf8("specGraphSaveCross"))
617 self.gridLayout_9.addWidget(self.specGraphSaveCross, 8, 4, 1, 1)
618 self.specGraphftpSpectra = QtGui.QCheckBox(self.tabgraphSpectra)
619 self.specGraphftpSpectra.setText(_fromUtf8(""))
620 self.specGraphftpSpectra.setObjectName(_fromUtf8("specGraphftpSpectra"))
621 self.gridLayout_9.addWidget(self.specGraphftpSpectra, 6, 6, 1, 1)
622 spacerItem18 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
623 self.gridLayout_9.addItem(spacerItem18, 4, 3, 1, 1)
624 self.specGraphSavePowerprofile = QtGui.QCheckBox(self.tabgraphSpectra)
625 self.specGraphSavePowerprofile.setText(_fromUtf8(""))
626 self.specGraphSavePowerprofile.setObjectName(_fromUtf8("specGraphSavePowerprofile"))
627 self.gridLayout_9.addWidget(self.specGraphSavePowerprofile, 11, 4, 1, 1)
628 self.specGraphSaveCoherencemap = QtGui.QCheckBox(self.tabgraphSpectra)
629 self.specGraphSaveCoherencemap.setText(_fromUtf8(""))
630 self.specGraphSaveCoherencemap.setObjectName(_fromUtf8("specGraphSaveCoherencemap"))
631 self.gridLayout_9.addWidget(self.specGraphSaveCoherencemap, 10, 4, 1, 1)
632 spacerItem19 = QtGui.QSpacerItem(39, 15, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
633 self.gridLayout_9.addItem(spacerItem19, 27, 4, 1, 1)
634 self.specGgraphftpratio = QtGui.QLineEdit(self.tabgraphSpectra)
635 self.specGgraphftpratio.setObjectName(_fromUtf8("specGgraphftpratio"))
636 self.gridLayout_9.addWidget(self.specGgraphftpratio, 23, 1, 1, 7)
637 self.label_43 = QtGui.QLabel(self.tabgraphSpectra)
638 self.label_43.setObjectName(_fromUtf8("label_43"))
639 self.gridLayout_9.addWidget(self.label_43, 3, 2, 2, 1)
640 self.specGraphftpCross = QtGui.QCheckBox(self.tabgraphSpectra)
641 self.specGraphftpCross.setText(_fromUtf8(""))
642 self.specGraphftpCross.setObjectName(_fromUtf8("specGraphftpCross"))
643 self.gridLayout_9.addWidget(self.specGraphftpCross, 8, 6, 1, 1)
644 self.label_29 = QtGui.QLabel(self.tabgraphSpectra)
645 self.label_29.setObjectName(_fromUtf8("label_29"))
646 self.gridLayout_9.addWidget(self.label_29, 23, 0, 1, 1)
647 self.label_47 = QtGui.QLabel(self.tabgraphSpectra)
648 self.label_47.setObjectName(_fromUtf8("label_47"))
649 self.gridLayout_9.addWidget(self.label_47, 3, 4, 2, 1)
650 self.specGraphftpRTIplot = QtGui.QCheckBox(self.tabgraphSpectra)
651 self.specGraphftpRTIplot.setText(_fromUtf8(""))
652 self.specGraphftpRTIplot.setObjectName(_fromUtf8("specGraphftpRTIplot"))
653 self.gridLayout_9.addWidget(self.specGraphftpRTIplot, 9, 6, 1, 1)
654 self.specGraphftpCoherencemap = QtGui.QCheckBox(self.tabgraphSpectra)
655 self.specGraphftpCoherencemap.setText(_fromUtf8(""))
656 self.specGraphftpCoherencemap.setObjectName(_fromUtf8("specGraphftpCoherencemap"))
657 self.gridLayout_9.addWidget(self.specGraphftpCoherencemap, 10, 6, 1, 1)
658 self.specGraphftpPowerprofile = QtGui.QCheckBox(self.tabgraphSpectra)
659 self.specGraphftpPowerprofile.setText(_fromUtf8(""))
660 self.specGraphftpPowerprofile.setObjectName(_fromUtf8("specGraphftpPowerprofile"))
661 self.gridLayout_9.addWidget(self.specGraphftpPowerprofile, 11, 6, 1, 1)
662 self.label_19 = QtGui.QLabel(self.tabgraphSpectra)
663 self.label_19.setObjectName(_fromUtf8("label_19"))
664 self.gridLayout_9.addWidget(self.label_19, 3, 6, 2, 2)
665 self.specGraphSaveRTIplot = QtGui.QCheckBox(self.tabgraphSpectra)
666 self.specGraphSaveRTIplot.setText(_fromUtf8(""))
667 self.specGraphSaveRTIplot.setObjectName(_fromUtf8("specGraphSaveRTIplot"))
668 self.gridLayout_9.addWidget(self.specGraphSaveRTIplot, 9, 4, 1, 1)
669 self.label_45 = QtGui.QLabel(self.tabgraphSpectra)
670 self.label_45.setObjectName(_fromUtf8("label_45"))
671 self.gridLayout_9.addWidget(self.label_45, 13, 0, 1, 1)
672 self.specGraphftpRTInoise = QtGui.QCheckBox(self.tabgraphSpectra)
673 self.specGraphftpRTInoise.setText(_fromUtf8(""))
674 self.specGraphftpRTInoise.setObjectName(_fromUtf8("specGraphftpRTInoise"))
675 self.gridLayout_9.addWidget(self.specGraphftpRTInoise, 13, 6, 1, 1)
676 self.specGraphCebRTInoise = QtGui.QCheckBox(self.tabgraphSpectra)
677 self.specGraphCebRTInoise.setText(_fromUtf8(""))
678 self.specGraphCebRTInoise.setObjectName(_fromUtf8("specGraphCebRTInoise"))
679 self.gridLayout_9.addWidget(self.specGraphCebRTInoise, 13, 2, 1, 1)
680 self.label_48 = QtGui.QLabel(self.tabgraphSpectra)
681 self.label_48.setObjectName(_fromUtf8("label_48"))
682 self.gridLayout_9.addWidget(self.label_48, 22, 0, 1, 1)
683 self.specGgraphTimeRange = QtGui.QLineEdit(self.tabgraphSpectra)
684 self.specGgraphTimeRange.setObjectName(_fromUtf8("specGgraphTimeRange"))
685 self.gridLayout_9.addWidget(self.specGgraphTimeRange, 22, 1, 1, 7)
686 self.tabWidgetSpectra.addTab(self.tabgraphSpectra, _fromUtf8(""))
687 self.taboutputSpectra = QtGui.QWidget()
688 self.taboutputSpectra.setObjectName(_fromUtf8("taboutputSpectra"))
689 self.gridLayout_11 = QtGui.QGridLayout(self.taboutputSpectra)
690 self.gridLayout_11.setObjectName(_fromUtf8("gridLayout_11"))
691 self.label_39 = QtGui.QLabel(self.taboutputSpectra)
692 self.label_39.setObjectName(_fromUtf8("label_39"))
693 self.gridLayout_11.addWidget(self.label_39, 0, 0, 1, 1)
694 self.specOutputComData = QtGui.QComboBox(self.taboutputSpectra)
695 self.specOutputComData.setObjectName(_fromUtf8("specOutputComData"))
696 self.specOutputComData.addItem(_fromUtf8(""))
697 self.gridLayout_11.addWidget(self.specOutputComData, 0, 2, 1, 2)
698 self.label_34 = QtGui.QLabel(self.taboutputSpectra)
699 self.label_34.setObjectName(_fromUtf8("label_34"))
700 self.gridLayout_11.addWidget(self.label_34, 1, 0, 1, 1)
701 self.specOutputPath = QtGui.QLineEdit(self.taboutputSpectra)
702 self.specOutputPath.setObjectName(_fromUtf8("specOutputPath"))
703 self.gridLayout_11.addWidget(self.specOutputPath, 1, 2, 1, 1)
704 spacerItem20 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
705 self.gridLayout_11.addItem(spacerItem20, 4, 2, 1, 1)
706 self.specOutputToolPath = QtGui.QToolButton(self.taboutputSpectra)
707 self.specOutputToolPath.setObjectName(_fromUtf8("specOutputToolPath"))
708 self.gridLayout_11.addWidget(self.specOutputToolPath, 1, 3, 1, 1)
709 self.specOutputblocksperfile = QtGui.QLineEdit(self.taboutputSpectra)
710 self.specOutputblocksperfile.setObjectName(_fromUtf8("specOutputblocksperfile"))
711 self.gridLayout_11.addWidget(self.specOutputblocksperfile, 2, 2, 1, 1)
712 self.label_9 = QtGui.QLabel(self.taboutputSpectra)
713 self.label_9.setObjectName(_fromUtf8("label_9"))
714 self.gridLayout_11.addWidget(self.label_9, 2, 0, 1, 2)
715 self.label_38 = QtGui.QLabel(self.taboutputSpectra)
716 self.label_38.setObjectName(_fromUtf8("label_38"))
717 self.gridLayout_11.addWidget(self.label_38, 3, 0, 1, 1)
718 self.specOutputprofileperblock = QtGui.QLineEdit(self.taboutputSpectra)
719 self.specOutputprofileperblock.setObjectName(_fromUtf8("specOutputprofileperblock"))
720 self.gridLayout_11.addWidget(self.specOutputprofileperblock, 3, 2, 1, 1)
721 self.tabWidgetSpectra.addTab(self.taboutputSpectra, _fromUtf8(""))
722 self.gridLayout_7.addWidget(self.tabWidgetSpectra, 0, 1, 1, 1)
723 self.tabWidgetProject.addTab(self.tabSpectra, _fromUtf8(""))
724 self.tabSpectraHeis = QtGui.QWidget()
725 self.tabSpectraHeis.setObjectName(_fromUtf8("tabSpectraHeis"))
726 self.gridLayout_23 = QtGui.QGridLayout(self.tabSpectraHeis)
727 self.gridLayout_23.setObjectName(_fromUtf8("gridLayout_23"))
728 self.frame_6 = QtGui.QFrame(self.tabSpectraHeis)
729 self.frame_6.setFrameShape(QtGui.QFrame.StyledPanel)
730 self.frame_6.setFrameShadow(QtGui.QFrame.Raised)
731 self.frame_6.setObjectName(_fromUtf8("frame_6"))
732 self.gridLayout_22 = QtGui.QGridLayout(self.frame_6)
733 self.gridLayout_22.setObjectName(_fromUtf8("gridLayout_22"))
734 self.specHeisGraphClear = QtGui.QPushButton(self.frame_6)
735 self.specHeisGraphClear.setObjectName(_fromUtf8("specHeisGraphClear"))
736 self.gridLayout_22.addWidget(self.specHeisGraphClear, 0, 1, 1, 1)
737 self.specHeisOpOk = QtGui.QPushButton(self.frame_6)
738 self.specHeisOpOk.setObjectName(_fromUtf8("specHeisOpOk"))
739 self.gridLayout_22.addWidget(self.specHeisOpOk, 0, 0, 1, 1)
740 self.gridLayout_23.addWidget(self.frame_6, 1, 0, 1, 1)
741 self.tabWidgetSpectraHeis = QtGui.QTabWidget(self.tabSpectraHeis)
742 self.tabWidgetSpectraHeis.setObjectName(_fromUtf8("tabWidgetSpectraHeis"))
743 self.tabopSpectraHeis = QtGui.QWidget()
744 self.tabopSpectraHeis.setObjectName(_fromUtf8("tabopSpectraHeis"))
745 self.gridLayout_21 = QtGui.QGridLayout(self.tabopSpectraHeis)
746 self.gridLayout_21.setObjectName(_fromUtf8("gridLayout_21"))
747 spacerItem21 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
748 self.gridLayout_21.addItem(spacerItem21, 0, 1, 1, 1)
749 self.specHeisOpCobIncInt = QtGui.QComboBox(self.tabopSpectraHeis)
750 self.specHeisOpCobIncInt.setObjectName(_fromUtf8("specHeisOpCobIncInt"))
751 self.specHeisOpCobIncInt.addItem(_fromUtf8(""))
752 self.gridLayout_21.addWidget(self.specHeisOpCobIncInt, 1, 0, 1, 1)
753 self.specHeisOpCebIncoherent = QtGui.QCheckBox(self.tabopSpectraHeis)
754 self.specHeisOpCebIncoherent.setObjectName(_fromUtf8("specHeisOpCebIncoherent"))
755 self.gridLayout_21.addWidget(self.specHeisOpCebIncoherent, 0, 0, 1, 1)
756 self.specHeisOpIncoherent = QtGui.QLineEdit(self.tabopSpectraHeis)
757 self.specHeisOpIncoherent.setObjectName(_fromUtf8("specHeisOpIncoherent"))
758 self.gridLayout_21.addWidget(self.specHeisOpIncoherent, 1, 1, 1, 1)
759 spacerItem22 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
760 self.gridLayout_21.addItem(spacerItem22, 2, 0, 1, 1)
761 self.tabWidgetSpectraHeis.addTab(self.tabopSpectraHeis, _fromUtf8(""))
762 self.tabgraphSpectraHeis = QtGui.QWidget()
763 self.tabgraphSpectraHeis.setObjectName(_fromUtf8("tabgraphSpectraHeis"))
764 self.gridLayout_20 = QtGui.QGridLayout(self.tabgraphSpectraHeis)
765 self.gridLayout_20.setObjectName(_fromUtf8("gridLayout_20"))
766 self.label_54 = QtGui.QLabel(self.tabgraphSpectraHeis)
767 self.label_54.setObjectName(_fromUtf8("label_54"))
768 self.gridLayout_20.addWidget(self.label_54, 1, 0, 1, 1)
769 self.specHeisGraphToolPath = QtGui.QToolButton(self.tabgraphSpectraHeis)
770 self.specHeisGraphToolPath.setObjectName(_fromUtf8("specHeisGraphToolPath"))
771 self.gridLayout_20.addWidget(self.specHeisGraphToolPath, 0, 6, 1, 1)
772 self.specHeisGraphCebRTIplot = QtGui.QCheckBox(self.tabgraphSpectraHeis)
773 self.specHeisGraphCebRTIplot.setText(_fromUtf8(""))
774 self.specHeisGraphCebRTIplot.setObjectName(_fromUtf8("specHeisGraphCebRTIplot"))
775 self.gridLayout_20.addWidget(self.specHeisGraphCebRTIplot, 4, 2, 1, 1)
776 self.label_62 = QtGui.QLabel(self.tabgraphSpectraHeis)
777 self.label_62.setObjectName(_fromUtf8("label_62"))
778 self.gridLayout_20.addWidget(self.label_62, 7, 0, 1, 1)
779 self.label_63 = QtGui.QLabel(self.tabgraphSpectraHeis)
780 self.label_63.setObjectName(_fromUtf8("label_63"))
781 self.gridLayout_20.addWidget(self.label_63, 8, 0, 1, 1)
782 self.label_64 = QtGui.QLabel(self.tabgraphSpectraHeis)
783 self.label_64.setObjectName(_fromUtf8("label_64"))
784 self.gridLayout_20.addWidget(self.label_64, 9, 0, 1, 1)
785 self.label_65 = QtGui.QLabel(self.tabgraphSpectraHeis)
786 self.label_65.setObjectName(_fromUtf8("label_65"))
787 self.gridLayout_20.addWidget(self.label_65, 10, 0, 1, 1)
788 spacerItem23 = QtGui.QSpacerItem(134, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
789 self.gridLayout_20.addItem(spacerItem23, 11, 0, 1, 2)
790 self.specHeisGgraphftpratio = QtGui.QLineEdit(self.tabgraphSpectraHeis)
791 self.specHeisGgraphftpratio.setObjectName(_fromUtf8("specHeisGgraphftpratio"))
792 self.gridLayout_20.addWidget(self.specHeisGgraphftpratio, 10, 1, 1, 6)
793 self.specHeisGraphftpRTIplot = QtGui.QCheckBox(self.tabgraphSpectraHeis)
794 self.specHeisGraphftpRTIplot.setText(_fromUtf8(""))
795 self.specHeisGraphftpRTIplot.setObjectName(_fromUtf8("specHeisGraphftpRTIplot"))
796 self.gridLayout_20.addWidget(self.specHeisGraphftpRTIplot, 4, 6, 1, 1)
797 self.specHeisGgraphTminTmax = QtGui.QLineEdit(self.tabgraphSpectraHeis)
798 self.specHeisGgraphTminTmax.setObjectName(_fromUtf8("specHeisGgraphTminTmax"))
799 self.gridLayout_20.addWidget(self.specHeisGgraphTminTmax, 8, 1, 1, 6)
800 self.label_60 = QtGui.QLabel(self.tabgraphSpectraHeis)
801 self.label_60.setObjectName(_fromUtf8("label_60"))
802 self.gridLayout_20.addWidget(self.label_60, 5, 0, 1, 1)
803 self.label_61 = QtGui.QLabel(self.tabgraphSpectraHeis)
804 self.label_61.setObjectName(_fromUtf8("label_61"))
805 self.gridLayout_20.addWidget(self.label_61, 6, 0, 1, 1)
806 self.specHeisGraphPrefix = QtGui.QLineEdit(self.tabgraphSpectraHeis)
807 self.specHeisGraphPrefix.setObjectName(_fromUtf8("specHeisGraphPrefix"))
808 self.gridLayout_20.addWidget(self.specHeisGraphPrefix, 1, 1, 1, 6)
809 self.label_56 = QtGui.QLabel(self.tabgraphSpectraHeis)
810 self.label_56.setObjectName(_fromUtf8("label_56"))
811 self.gridLayout_20.addWidget(self.label_56, 2, 4, 1, 1)
812 self.label_57 = QtGui.QLabel(self.tabgraphSpectraHeis)
813 self.label_57.setObjectName(_fromUtf8("label_57"))
814 self.gridLayout_20.addWidget(self.label_57, 2, 6, 1, 1)
815 self.label_58 = QtGui.QLabel(self.tabgraphSpectraHeis)
816 self.label_58.setObjectName(_fromUtf8("label_58"))
817 self.gridLayout_20.addWidget(self.label_58, 3, 0, 1, 1)
818 self.specHeisGraphCebSpectraplot = QtGui.QCheckBox(self.tabgraphSpectraHeis)
819 self.specHeisGraphCebSpectraplot.setText(_fromUtf8(""))
820 self.specHeisGraphCebSpectraplot.setObjectName(_fromUtf8("specHeisGraphCebSpectraplot"))
821 self.gridLayout_20.addWidget(self.specHeisGraphCebSpectraplot, 3, 2, 1, 1)
822 self.specHeisGgraphYminYmax = QtGui.QLineEdit(self.tabgraphSpectraHeis)
823 self.specHeisGgraphYminYmax.setObjectName(_fromUtf8("specHeisGgraphYminYmax"))
824 self.gridLayout_20.addWidget(self.specHeisGgraphYminYmax, 7, 1, 1, 6)
825 self.label_53 = QtGui.QLabel(self.tabgraphSpectraHeis)
826 self.label_53.setObjectName(_fromUtf8("label_53"))
827 self.gridLayout_20.addWidget(self.label_53, 0, 0, 1, 1)
828 self.label_55 = QtGui.QLabel(self.tabgraphSpectraHeis)
829 self.label_55.setObjectName(_fromUtf8("label_55"))
830 self.gridLayout_20.addWidget(self.label_55, 2, 2, 1, 1)
831 self.specHeisGraphSaveRTIplot = QtGui.QCheckBox(self.tabgraphSpectraHeis)
832 self.specHeisGraphSaveRTIplot.setText(_fromUtf8(""))
833 self.specHeisGraphSaveRTIplot.setObjectName(_fromUtf8("specHeisGraphSaveRTIplot"))
834 self.gridLayout_20.addWidget(self.specHeisGraphSaveRTIplot, 4, 4, 1, 1)
835 spacerItem24 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
836 self.gridLayout_20.addItem(spacerItem24, 2, 3, 1, 1)
837 self.specHeisGgraphXminXmax = QtGui.QLineEdit(self.tabgraphSpectraHeis)
838 self.specHeisGgraphXminXmax.setObjectName(_fromUtf8("specHeisGgraphXminXmax"))
839 self.gridLayout_20.addWidget(self.specHeisGgraphXminXmax, 6, 1, 1, 6)
840 self.specHeisGgraphChannelList = QtGui.QLineEdit(self.tabgraphSpectraHeis)
841 self.specHeisGgraphChannelList.setObjectName(_fromUtf8("specHeisGgraphChannelList"))
842 self.gridLayout_20.addWidget(self.specHeisGgraphChannelList, 5, 1, 1, 6)
843 self.specHeisGgraphTimeRange = QtGui.QLineEdit(self.tabgraphSpectraHeis)
844 self.specHeisGgraphTimeRange.setObjectName(_fromUtf8("specHeisGgraphTimeRange"))
845 self.gridLayout_20.addWidget(self.specHeisGgraphTimeRange, 9, 1, 1, 6)
846 spacerItem25 = QtGui.QSpacerItem(106, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
847 self.gridLayout_20.addItem(spacerItem25, 11, 3, 1, 3)
848 self.specHeisGraphSaveSpectra = QtGui.QCheckBox(self.tabgraphSpectraHeis)
849 self.specHeisGraphSaveSpectra.setText(_fromUtf8(""))
850 self.specHeisGraphSaveSpectra.setObjectName(_fromUtf8("specHeisGraphSaveSpectra"))
851 self.gridLayout_20.addWidget(self.specHeisGraphSaveSpectra, 3, 4, 1, 1)
852 self.specHeisGraphftpSpectra = QtGui.QCheckBox(self.tabgraphSpectraHeis)
853 self.specHeisGraphftpSpectra.setText(_fromUtf8(""))
854 self.specHeisGraphftpSpectra.setObjectName(_fromUtf8("specHeisGraphftpSpectra"))
855 self.gridLayout_20.addWidget(self.specHeisGraphftpSpectra, 3, 6, 1, 1)
856 self.label_59 = QtGui.QLabel(self.tabgraphSpectraHeis)
857 self.label_59.setObjectName(_fromUtf8("label_59"))
858 self.gridLayout_20.addWidget(self.label_59, 4, 0, 1, 1)
859 spacerItem26 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
860 self.gridLayout_20.addItem(spacerItem26, 2, 5, 1, 1)
861 self.specHeisGraphPath = QtGui.QLineEdit(self.tabgraphSpectraHeis)
862 self.specHeisGraphPath.setObjectName(_fromUtf8("specHeisGraphPath"))
863 self.gridLayout_20.addWidget(self.specHeisGraphPath, 0, 1, 1, 5)
864 self.tabWidgetSpectraHeis.addTab(self.tabgraphSpectraHeis, _fromUtf8(""))
865 self.taboutputSpectraHeis = QtGui.QWidget()
866 self.taboutputSpectraHeis.setObjectName(_fromUtf8("taboutputSpectraHeis"))
867 self.gridLayout_19 = QtGui.QGridLayout(self.taboutputSpectraHeis)
868 self.gridLayout_19.setObjectName(_fromUtf8("gridLayout_19"))
869 self.label_67 = QtGui.QLabel(self.taboutputSpectraHeis)
870 self.label_67.setObjectName(_fromUtf8("label_67"))
871 self.gridLayout_19.addWidget(self.label_67, 1, 0, 1, 1)
872 self.label_68 = QtGui.QLabel(self.taboutputSpectraHeis)
873 self.label_68.setObjectName(_fromUtf8("label_68"))
874 self.gridLayout_19.addWidget(self.label_68, 2, 0, 1, 2)
875 self.label_66 = QtGui.QLabel(self.taboutputSpectraHeis)
876 self.label_66.setObjectName(_fromUtf8("label_66"))
877 self.gridLayout_19.addWidget(self.label_66, 0, 0, 1, 1)
878 spacerItem27 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
879 self.gridLayout_19.addItem(spacerItem27, 4, 0, 1, 1)
880 self.specHeisOutputToolPath = QtGui.QToolButton(self.taboutputSpectraHeis)
881 self.specHeisOutputToolPath.setObjectName(_fromUtf8("specHeisOutputToolPath"))
882 self.gridLayout_19.addWidget(self.specHeisOutputToolPath, 1, 4, 1, 1)
883 self.specHeisOutputPath = QtGui.QLineEdit(self.taboutputSpectraHeis)
884 self.specHeisOutputPath.setObjectName(_fromUtf8("specHeisOutputPath"))
885 self.gridLayout_19.addWidget(self.specHeisOutputPath, 1, 3, 1, 1)
886 self.specHeisOutputComdata = QtGui.QComboBox(self.taboutputSpectraHeis)
887 self.specHeisOutputComdata.setObjectName(_fromUtf8("specHeisOutputComdata"))
888 self.specHeisOutputComdata.addItem(_fromUtf8(""))
889 self.gridLayout_19.addWidget(self.specHeisOutputComdata, 0, 3, 1, 2)
890 self.label_69 = QtGui.QLabel(self.taboutputSpectraHeis)
891 self.label_69.setObjectName(_fromUtf8("label_69"))
892 self.gridLayout_19.addWidget(self.label_69, 3, 0, 1, 2)
893 self.specHeisOutputblocksperfile = QtGui.QLineEdit(self.taboutputSpectraHeis)
894 self.specHeisOutputblocksperfile.setObjectName(_fromUtf8("specHeisOutputblocksperfile"))
895 self.gridLayout_19.addWidget(self.specHeisOutputblocksperfile, 2, 3, 1, 1)
896 self.specHeisOutputMetada = QtGui.QLineEdit(self.taboutputSpectraHeis)
897 self.specHeisOutputMetada.setObjectName(_fromUtf8("specHeisOutputMetada"))
898 self.gridLayout_19.addWidget(self.specHeisOutputMetada, 3, 3, 1, 1)
899 self.specHeisOutputMetadaToolPath = QtGui.QToolButton(self.taboutputSpectraHeis)
900 self.specHeisOutputMetadaToolPath.setObjectName(_fromUtf8("specHeisOutputMetadaToolPath"))
901 self.gridLayout_19.addWidget(self.specHeisOutputMetadaToolPath, 3, 4, 1, 1)
902 self.tabWidgetSpectraHeis.addTab(self.taboutputSpectraHeis, _fromUtf8(""))
903 self.gridLayout_23.addWidget(self.tabWidgetSpectraHeis, 0, 0, 1, 1)
904 self.tabWidgetProject.addTab(self.tabSpectraHeis, _fromUtf8(""))
905 self.tabCorrelation = QtGui.QWidget()
906 self.tabCorrelation.setObjectName(_fromUtf8("tabCorrelation"))
907 self.gridLayout_13 = QtGui.QGridLayout(self.tabCorrelation)
908 self.gridLayout_13.setObjectName(_fromUtf8("gridLayout_13"))
909 self.tabWidget_2 = QtGui.QTabWidget(self.tabCorrelation)
910 self.tabWidget_2.setObjectName(_fromUtf8("tabWidget_2"))
911 self.tabopCorrelation = QtGui.QWidget()
912 self.tabopCorrelation.setObjectName(_fromUtf8("tabopCorrelation"))
913 self.tabWidget_2.addTab(self.tabopCorrelation, _fromUtf8(""))
914 self.tabopCorrelation1 = QtGui.QWidget()
915 self.tabopCorrelation1.setObjectName(_fromUtf8("tabopCorrelation1"))
916 self.tabWidget_2.addTab(self.tabopCorrelation1, _fromUtf8(""))
917 self.gridLayout_13.addWidget(self.tabWidget_2, 0, 0, 1, 1)
918 self.tabWidgetProject.addTab(self.tabCorrelation, _fromUtf8(""))
919
920
921 self.tabConsole = QtGui.QTabWidget(self.splitter)
922 self.tabConsole.setMinimumSize(QtCore.QSize(0, 0))
923 self.tabConsole.setObjectName(_fromUtf8("tabConsole"))
924 self.tab_5 = QtGui.QWidget()
925 self.tab_5.setObjectName(_fromUtf8("tab_5"))
926 self.gridLayout_4 = QtGui.QGridLayout(self.tab_5)
927 self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
928 self.console = QtGui.QTextEdit(self.tab_5)
929 self.console.setObjectName(_fromUtf8("console"))
930 self.gridLayout_4.addWidget(self.console, 0, 0, 1, 1)
931 self.tabConsole.addTab(self.tab_5, _fromUtf8(""))
932 self.tabWidget = QtGui.QTabWidget(self.splitter_2)
933 self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
934 self.tabProjectProperty = QtGui.QWidget()
935 self.tabProjectProperty.setObjectName(_fromUtf8("tabProjectProperty"))
936 self.gridLayout_8 = QtGui.QGridLayout(self.tabProjectProperty)
937 self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
938 self.treeProjectProperties = QtGui.QTreeView(self.tabProjectProperty)
939 self.treeProjectProperties.setObjectName(_fromUtf8("treeProjectProperties"))
940 self.gridLayout_8.addWidget(self.treeProjectProperties, 0, 0, 1, 1)
941 self.tabWidget.addTab(self.tabProjectProperty, _fromUtf8(""))
942 self.gridLayout_16.addWidget(self.splitter_2, 1, 0, 1, 1)
943 MainWindow.setCentralWidget(self.centralWidget)
944 self.toolBar = QtGui.QToolBar(MainWindow)
945 self.toolBar.setObjectName(_fromUtf8("toolBar"))
946 MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
947 self.menuBar = QtGui.QMenuBar(MainWindow)
948 self.menuBar.setGeometry(QtCore.QRect(0, 0, 1065, 25))
949 self.menuBar.setObjectName(_fromUtf8("menuBar"))
950 self.menuProject = QtGui.QMenu(self.menuBar)
951 self.menuProject.setObjectName(_fromUtf8("menuProject"))
952 self.menuRun = QtGui.QMenu(self.menuBar)
953 self.menuRun.setObjectName(_fromUtf8("menuRun"))
954 self.menuOptions = QtGui.QMenu(self.menuBar)
955 self.menuOptions.setObjectName(_fromUtf8("menuOptions"))
956 self.menuHelp = QtGui.QMenu(self.menuBar)
957 self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
958 MainWindow.setMenuBar(self.menuBar)
959 self.actionOpen = QtGui.QAction(MainWindow)
960
961 iconOpen = QtGui.QIcon()
962 iconOpen.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"open.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
963
964 iconCreate = QtGui.QIcon()
965 iconCreate.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"project.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
966
967 iconSave = QtGui.QIcon()
968 iconSave.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"saveicon.jpeg") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
969
970 iconStart = QtGui.QIcon()
971 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"startServer.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
972
973 iconStop = QtGui.QIcon()
974 iconStop.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"stopServer.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
975
976 iconPause = QtGui.QIcon()
977 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
978
979 iconAddPU = QtGui.QIcon()
980 iconAddPU.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"add_PU.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
981
982 self.actionOpen.setIcon(iconOpen)
983 self.actionOpen.setObjectName(_fromUtf8("actionOpen"))
984 self.actionCreate = QtGui.QAction(MainWindow)
985 self.actionCreate.setIcon(iconCreate)
986 self.actionCreate.setObjectName(_fromUtf8("actionCreate"))
987 self.actionSave = QtGui.QAction(MainWindow)
988 self.actionSave.setIcon(iconSave)
989 self.actionSave.setObjectName(_fromUtf8("actionSave"))
990 self.actionClose = QtGui.QAction(MainWindow)
991 self.actionClose.setObjectName(_fromUtf8("actionClose"))
992 self.actionStart = QtGui.QAction(MainWindow)
993 self.actionStart.setIcon(iconStart)
994 self.actionStart.setObjectName(_fromUtf8("actionStart"))
995 self.actionPause = QtGui.QAction(MainWindow)
996 self.actionPause.setIcon(iconPause)
997 self.actionPause.setObjectName(_fromUtf8("actionPause"))
998 self.actionStop = QtGui.QAction(MainWindow)
999 self.actionStop.setIcon(iconStop)
1000 self.actionStop.setObjectName(_fromUtf8("actionStop"))
1001 self.actionAbout = QtGui.QAction(MainWindow)
1002 self.actionAbout.setObjectName(_fromUtf8("actionAbout"))
1003 self.actionOpenToolbar = QtGui.QAction(MainWindow)
1004 self.actionOpenToolbar.setIcon(iconOpen)
1005 self.actionOpenToolbar.setObjectName(_fromUtf8("actionOpenToolbar"))
1006 self.actionCreateToolbar = QtGui.QAction(MainWindow)
1007 self.actionCreateToolbar.setIcon(iconCreate)
1008 self.actionCreateToolbar.setObjectName(_fromUtf8("actionCreateToolbar"))
1009 self.actionSaveToolbar = QtGui.QAction(MainWindow)
1010 self.actionSaveToolbar.setIcon(iconSave)
1011 self.actionSaveToolbar.setObjectName(_fromUtf8("actionSaveToolbar"))
1012 self.actionStarToolbar = QtGui.QAction(MainWindow)
1013 self.actionStarToolbar.setIcon(iconStart)
1014 self.actionStarToolbar.setObjectName(_fromUtf8("actionStarToolbar"))
1015 self.actionStopToolbar = QtGui.QAction(MainWindow)
1016 self.actionStopToolbar.setIcon(iconStop)
1017 self.actionStopToolbar.setObjectName(_fromUtf8("actionStopToolbar"))
1018 self.actionPauseToolbar = QtGui.QAction(MainWindow)
1019 self.actionPause.setIcon(iconPause)
1020 self.actionPauseToolbar.setIcon(iconPause)
1021 self.actionPauseToolbar.setObjectName(_fromUtf8("actionPauseToolbar"))
1022 self.actionAddPU = QtGui.QAction(MainWindow)
1023 self.actionAddPU.setIcon(iconAddPU)
1024 self.actionAddPU.setObjectName(_fromUtf8("actionAddPU"))
1025 self.actionFTP = QtGui.QAction(MainWindow)
1026 self.actionFTP.setObjectName(_fromUtf8("actionFTP"))
1027 self.toolBar.addAction(self.actionOpenToolbar)
1028 self.toolBar.addSeparator()
1029 self.toolBar.addAction(self.actionCreateToolbar)
1030 self.toolBar.addSeparator()
1031 self.toolBar.addAction(self.actionAddPU)
1032 self.toolBar.addSeparator()
1033 self.toolBar.addAction(self.actionSaveToolbar)
1034 self.toolBar.addSeparator()
1035 self.toolBar.addAction(self.actionStarToolbar)
1036 self.toolBar.addSeparator()
1037 self.toolBar.addAction(self.actionPauseToolbar)
1038 self.toolBar.addSeparator()
1039 self.toolBar.addAction(self.actionStopToolbar)
1040 self.toolBar.addSeparator()
1041 self.a=1
1042 self.actionPauseToolbar.triggered.connect(self.changeIcon)
1043
1044
1045 self.menuProject.addAction(self.actionOpen)
1046 self.menuProject.addAction(self.actionCreate)
1047 self.menuProject.addAction(self.actionSave)
1048 self.menuProject.addAction(self.actionClose)
1049 self.menuRun.addAction(self.actionStart)
1050 self.menuRun.addAction(self.actionPause)
1051 self.menuRun.addAction(self.actionStop)
1052 self.menuOptions.addAction(self.actionFTP)
1053 self.menuHelp.addAction(self.actionAbout)
1054 self.menuBar.addAction(self.menuProject.menuAction())
1055 self.menuBar.addAction(self.menuRun.menuAction())
1056 self.menuBar.addAction(self.menuOptions.menuAction())
1057 self.menuBar.addAction(self.menuHelp.menuAction())
1058
1059 self.retranslateUi(MainWindow)
1060 self.tabWidgetProject.setCurrentIndex(0)
1061 self.tabWidgetVoltage.setCurrentIndex(0)
1062 self.tabWidgetSpectra.setCurrentIndex(0)
1063 self.tabWidgetSpectraHeis.setCurrentIndex(0)
1064 self.tabWidget_2.setCurrentIndex(0)
1065 self.tabConsole.setCurrentIndex(0)
1066 self.tabWidget.setCurrentIndex(0)
1067 QtCore.QMetaObject.connectSlotsByName(MainWindow)
1068
1069 def changeIcon(self):
1070
1071 if self.a==1:
1072 iconPauseRed = QtGui.QIcon()
1073 iconPauseRed.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pausered.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
1074 self.actionPauseToolbar.setIcon(iconPauseRed)
1075 self.a+=1
1076 return 0
1077 if self.a==2:
1078 iconPause = QtGui.QIcon()
1079 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
1080 self.actionPauseToolbar.setIcon(iconPause)
1081 self.a-=1
1082 return 0
1083
40
1084 def retranslateUi(self, MainWindow):
41 self.paused = False
42
43 def changePauseIcon(self):
1085
44
1086 MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
45 if self.paused == False:
1087 self.label.setText(_translate("MainWindow", "Project Name :", None))
1088 self.label_11.setText(_translate("MainWindow", "DataType :", None))
1089 self.proComDataType.setItemText(0, _translate("MainWindow", "Voltage", None))
1090 self.proComDataType.setItemText(1, _translate("MainWindow", "Spectra", None))
1091 self.proComDataType.setItemText(2, _translate("MainWindow", "Fits", None))
1092 self.label_15.setText(_translate("MainWindow", "DataPath :", None))
1093 self.proToolPath.setText(_translate("MainWindow", "...", None))
1094 self.label_23.setText(_translate("MainWindow", "Read Mode:", None))
1095 self.proComReadMode.setItemText(0, _translate("MainWindow", "Offline", None))
1096 self.proComReadMode.setItemText(1, _translate("MainWindow", "Online", None))
1097 self.label_33.setText(_translate("MainWindow", "Delay:", None))
1098 self.label_32.setText(_translate("MainWindow", "Walk :", None))
1099 self.proComWalk.setItemText(0, _translate("MainWindow", "On Files", None))
1100 self.proComWalk.setItemText(1, _translate("MainWindow", "On Folder", None))
1101 self.proLoadButton.setText(_translate("MainWindow", "Load", None))
1102 self.label_10.setText(_translate("MainWindow", "Set:", None))
1103 self.label_27.setText(_translate("MainWindow", "Star Date:", None))
1104 self.label_28.setText(_translate("MainWindow", "End Date:", None))
1105 self.label_2.setText(_translate("MainWindow", "Start Time:", None))
1106 self.label_3.setText(_translate("MainWindow", "End Time:", None))
1107 self.label_30.setText(_translate("MainWindow", "Description:", None))
1108 self.proOk.setText(_translate("MainWindow", "Ok", None))
1109 self.proClear.setText(_translate("MainWindow", "Clear", None))
1110 self.tabWidgetProject.setTabText(self.tabWidgetProject.indexOf(self.tabProject), _translate("MainWindow", "Project", None))
1111 self.volOpOk.setText(_translate("MainWindow", "Ok", None))
1112 self.volGraphClear.setText(_translate("MainWindow", "Clear", None))
1113 self.volOpComHeights.setItemText(0, _translate("MainWindow", "Value", None))
1114 self.volOpComHeights.setItemText(1, _translate("MainWindow", "Index", None))
1115 self.volOpComChannels.setItemText(0, _translate("MainWindow", "Value", None))
1116 self.volOpComChannels.setItemText(1, _translate("MainWindow", "Index", None))
1117 self.volOpCebProfile.setText(_translate("MainWindow", "Profile Selector", None))
1118 self.volOpComProfile.setItemText(0, _translate("MainWindow", "Profile List", None))
1119 self.volOpComProfile.setItemText(1, _translate("MainWindow", "Profile Range List", None))
1120 self.volOpCebDecodification.setText(_translate("MainWindow", "Decoder", None))
1121 self.volOpCebCohInt.setText(_translate("MainWindow", "Coherent Integration", None))
1122 self.label_4.setText(_translate("MainWindow", "Code:", None))
1123 self.volOpCebChannels.setText(_translate("MainWindow", "Select Channels", None))
1124 self.volOpCebHeights.setText(_translate("MainWindow", "Select Heights", None))
1125 self.volOpCebFilter.setText(_translate("MainWindow", "Filter", None))
1126 self.volOpCebRadarfrequency.setText(_translate("MainWindow", "Radar Frequency", None))
1127 self.label_5.setText(_translate("MainWindow", "Mode:", None))
1128 self.volOpComCode.setItemText(0, _translate("MainWindow", "Barker 3", None))
1129 self.volOpComCode.setItemText(1, _translate("MainWindow", "Barker 4", None))
1130 self.volOpComCode.setItemText(2, _translate("MainWindow", "Barker 5", None))
1131 self.volOpComCode.setItemText(3, _translate("MainWindow", "Barker 7", None))
1132 self.volOpComCode.setItemText(4, _translate("MainWindow", "Barker 11", None))
1133 self.volOpComCode.setItemText(5, _translate("MainWindow", "Barker 13", None))
1134 self.volOpComCode.setItemText(6, _translate("MainWindow", "Barker 3 + Comp.", None))
1135 self.volOpComCode.setItemText(7, _translate("MainWindow", "Barker 4 + Comp.", None))
1136 self.volOpComCode.setItemText(8, _translate("MainWindow", "Barker 5 + Comp.", None))
1137 self.volOpComCode.setItemText(9, _translate("MainWindow", "Barker 7 + Comp.", None))
1138 self.volOpComCode.setItemText(10, _translate("MainWindow", "Barker 11+ Comp.", None))
1139 self.volOpComCode.setItemText(11, _translate("MainWindow", "Barker 13+ Comp.", None))
1140 self.volOpComCode.setItemText(12, _translate("MainWindow", "Default", None))
1141 self.volOpComMode.setItemText(0, _translate("MainWindow", "Time", None))
1142 self.volOpComMode.setItemText(1, _translate("MainWindow", "Freq 1", None))
1143 self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.tabopVoltage), _translate("MainWindow", "Operation", None))
1144 self.volGraphToolPath.setText(_translate("MainWindow", "...", None))
1145 self.label_14.setText(_translate("MainWindow", "Scope", None))
1146 self.label_8.setText(_translate("MainWindow", "Channel List", None))
1147 self.label_49.setText(_translate("MainWindow", "Show", None))
1148 self.label_51.setText(_translate("MainWindow", "Freq/Vel", None))
1149 self.label_12.setText(_translate("MainWindow", "Path :", None))
1150 self.label_13.setText(_translate("MainWindow", "Prefix:", None))
1151 self.label_52.setText(_translate("MainWindow", "Height range", None))
1152 self.label_50.setText(_translate("MainWindow", "Save", None))
1153 self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.tabgraphVoltage), _translate("MainWindow", "Graphics", None))
1154 self.label_36.setText(_translate("MainWindow", "Type:", None))
1155 self.label_37.setText(_translate("MainWindow", "Path:", None))
1156 self.volOutputToolPath.setText(_translate("MainWindow", "...", None))
1157 self.volOutputComData.setItemText(0, _translate("MainWindow", ".rawdata", None))
1158 self.label_7.setText(_translate("MainWindow", "Blocks per File : ", None))
1159 self.label_35.setText(_translate("MainWindow", "Profiles per Block: ", None))
1160 self.tabWidgetVoltage.setTabText(self.tabWidgetVoltage.indexOf(self.taboutputVoltage), _translate("MainWindow", "Output", None))
1161 self.tabWidgetProject.setTabText(self.tabWidgetProject.indexOf(self.tabVoltage), _translate("MainWindow", "Voltage", None))
1162 self.specOpOk.setText(_translate("MainWindow", "Ok", None))
1163 self.specGraphClear.setText(_translate("MainWindow", "Clear", None))
1164 self.specOpCebCrossSpectra.setText(_translate("MainWindow", "Select Cross Spectra", None))
1165 self.specOpComChannel.setItemText(0, _translate("MainWindow", "Value", None))
1166 self.specOpComChannel.setItemText(1, _translate("MainWindow", "Index", None))
1167 self.specOpComHeights.setItemText(0, _translate("MainWindow", "Value", None))
1168 self.specOpComHeights.setItemText(1, _translate("MainWindow", "Index", None))
1169 self.specOpCebRemoveDC.setText(_translate("MainWindow", "Remove DC", None))
1170 self.specOpCebHeights.setText(_translate("MainWindow", "Select Heights", None))
1171 self.specOpCebChannel.setText(_translate("MainWindow", "Select Channel", None))
1172 self.label_31.setText(_translate("MainWindow", "x-y pairs", None))
1173 self.label_26.setText(_translate("MainWindow", "nFFTPoints", None))
1174 self.specOpCebIncoherent.setText(_translate("MainWindow", "Incoherent Integration", None))
1175 self.specOpCobIncInt.setItemText(0, _translate("MainWindow", "Time Interval", None))
1176 self.specOpCobIncInt.setItemText(1, _translate("MainWindow", "Profiles", None))
1177 self.specOpCebRadarfrequency.setText(_translate("MainWindow", "Radar Frequency", None))
1178 self.label_21.setText(_translate("MainWindow", "Profiles", None))
1179 self.specOpCebRemoveInt.setText(_translate("MainWindow", "Remove Interference", None))
1180 self.label_70.setText(_translate("MainWindow", "IppFactor", None))
1181 self.specOpCebgetNoise.setText(_translate("MainWindow", "Get Noise", None))
1182 self.specOpComRemoveDC.setItemText(0, _translate("MainWindow", "Mode 1", None))
1183 self.specOpComRemoveDC.setItemText(1, _translate("MainWindow", "Mode 2", None))
1184 self.tabWidgetSpectra.setTabText(self.tabWidgetSpectra.indexOf(self.tabopSpectra), _translate("MainWindow", "Operation", None))
1185 self.label_44.setText(_translate("MainWindow", "Coherence Map", None))
1186 self.label_20.setText(_translate("MainWindow", "Tmin, Tmax:", None))
1187 self.label_25.setText(_translate("MainWindow", "Prefix", None))
1188 self.label_42.setText(_translate("MainWindow", "RTI Plot", None))
1189 self.label_16.setText(_translate("MainWindow", "Height range", None))
1190 self.label_17.setText(_translate("MainWindow", "dB range", None))
1191 self.label_18.setText(_translate("MainWindow", "Magnitud ", None))
1192 self.label_24.setText(_translate("MainWindow", "Path", None))
1193 self.label_46.setText(_translate("MainWindow", "Power Profile", None))
1194 self.label_22.setText(_translate("MainWindow", "Freq/Vel:", None))
1195 self.label_41.setText(_translate("MainWindow", "Cross Spectra Plot", None))
1196 self.specGraphToolPath.setText(_translate("MainWindow", "...", None))
1197 self.label_6.setText(_translate("MainWindow", "Channel List:", None))
1198 self.label_40.setText(_translate("MainWindow", "Spectra Plot", None))
1199 self.label_43.setText(_translate("MainWindow", "Show", None))
1200 self.label_29.setText(_translate("MainWindow", "Wr Period:", None))
1201 self.label_47.setText(_translate("MainWindow", "Save", None))
1202 self.label_19.setText(_translate("MainWindow", "ftp", None))
1203 self.label_45.setText(_translate("MainWindow", "Noise", None))
1204 self.label_48.setText(_translate("MainWindow", "Time Range:", None))
1205 self.tabWidgetSpectra.setTabText(self.tabWidgetSpectra.indexOf(self.tabgraphSpectra), _translate("MainWindow", "Graphics", None))
1206 self.label_39.setText(_translate("MainWindow", "Type:", None))
1207 self.specOutputComData.setItemText(0, _translate("MainWindow", ".pdata", None))
1208 self.label_34.setText(_translate("MainWindow", "Path:", None))
1209 self.specOutputToolPath.setText(_translate("MainWindow", "...", None))
1210 self.label_9.setText(_translate("MainWindow", "Blocks per File: ", None))
1211 self.label_38.setText(_translate("MainWindow", "Profile per Block: ", None))
1212 self.tabWidgetSpectra.setTabText(self.tabWidgetSpectra.indexOf(self.taboutputSpectra), _translate("MainWindow", "Output", None))
1213 self.tabWidgetProject.setTabText(self.tabWidgetProject.indexOf(self.tabSpectra), _translate("MainWindow", "Spectra", None))
1214 self.specHeisGraphClear.setText(_translate("MainWindow", "Clear", None))
1215 self.specHeisOpOk.setText(_translate("MainWindow", "Ok", None))
1216 self.specHeisOpCobIncInt.setItemText(0, _translate("MainWindow", "Time Interval", None))
1217 self.specHeisOpCebIncoherent.setText(_translate("MainWindow", "Incoherent Intergration", None))
1218 self.tabWidgetSpectraHeis.setTabText(self.tabWidgetSpectraHeis.indexOf(self.tabopSpectraHeis), _translate("MainWindow", "Operation", None))
1219 self.label_54.setText(_translate("MainWindow", "Prefix", None))
1220 self.specHeisGraphToolPath.setText(_translate("MainWindow", "...", None))
1221 self.label_62.setText(_translate("MainWindow", "ymin - ymax", None))
1222 self.label_63.setText(_translate("MainWindow", "Tmin - Tmax:", None))
1223 self.label_64.setText(_translate("MainWindow", "Time Range:", None))
1224 self.label_65.setText(_translate("MainWindow", "Wr Period", None))
1225 self.label_60.setText(_translate("MainWindow", "Channel List:", None))
1226 self.label_61.setText(_translate("MainWindow", "xmin - xmax", None))
1227 self.label_56.setText(_translate("MainWindow", "Save", None))
1228 self.label_57.setText(_translate("MainWindow", "ftp", None))
1229 self.label_58.setText(_translate("MainWindow", "Spectra Plot", None))
1230 self.label_53.setText(_translate("MainWindow", "Path", None))
1231 self.label_55.setText(_translate("MainWindow", "Show", None))
1232 self.label_59.setText(_translate("MainWindow", "RTI PLot", None))
1233 self.tabWidgetSpectraHeis.setTabText(self.tabWidgetSpectraHeis.indexOf(self.tabgraphSpectraHeis), _translate("MainWindow", "Graphics", None))
1234 self.label_67.setText(_translate("MainWindow", "Path:", None))
1235 self.label_68.setText(_translate("MainWindow", "Blocks per File:", None))
1236 self.label_66.setText(_translate("MainWindow", "Type:", None))
1237 self.specHeisOutputToolPath.setText(_translate("MainWindow", "...", None))
1238 self.specHeisOutputComdata.setItemText(0, _translate("MainWindow", ".fits", None))
1239 self.label_69.setText(_translate("MainWindow", "Metada", None))
1240 self.specHeisOutputMetadaToolPath.setText(_translate("MainWindow", "...", None))
1241 self.tabWidgetSpectraHeis.setTabText(self.tabWidgetSpectraHeis.indexOf(self.taboutputSpectraHeis), _translate("MainWindow", "Output", None))
1242 self.tabWidgetProject.setTabText(self.tabWidgetProject.indexOf(self.tabSpectraHeis), _translate("MainWindow", "SpectraHeis", None))
1243 self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tabopCorrelation), _translate("MainWindow", "Operation", None))
1244 self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tabopCorrelation1), _translate("MainWindow", "Graphics", None))
1245 self.tabWidgetProject.setTabText(self.tabWidgetProject.indexOf(self.tabCorrelation), _translate("MainWindow", "Correlation", None))
1246
1247
1248 self.tabConsole.setTabText(self.tabConsole.indexOf(self.tab_5), _translate("MainWindow", "Console", None))
1249
1250 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabProjectProperty), _translate("MainWindow", "Project Property", None))
1251 self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar", None))
1252 self.menuProject.setTitle(_translate("MainWindow", "Project", None))
1253 self.menuRun.setTitle(_translate("MainWindow", "Run", None))
1254 self.menuOptions.setTitle(_translate("MainWindow", "Options", None))
1255 self.menuHelp.setTitle(_translate("MainWindow", "Help", None))
1256 self.actionOpen.setText(_translate("MainWindow", "Open", None))
1257 self.actionCreate.setText(_translate("MainWindow", "Create", None))
1258 self.actionSave.setText(_translate("MainWindow", "Save", None))
1259 self.actionClose.setText(_translate("MainWindow", "Close", None))
1260 self.actionStart.setText(_translate("MainWindow", "Start", None))
1261 self.actionPause.setText(_translate("MainWindow", "Pause", None))
1262 self.actionStop.setText(_translate("MainWindow", "Stop", None))
1263 self.actionAbout.setText(_translate("MainWindow", "About", None))
1264 self.actionOpenToolbar.setText(_translate("MainWindow", "openToolbar", None))
1265 self.actionOpenToolbar.setToolTip(_translate("MainWindow", "Open Project", None))
1266 self.actionCreateToolbar.setText(_translate("MainWindow", "createToolbar", None))
1267 self.actionCreateToolbar.setToolTip(_translate("MainWindow", "Create αΉ”roject", None))
1268 self.actionSaveToolbar.setText(_translate("MainWindow", "saveToolbar", None))
1269 self.actionSaveToolbar.setToolTip(_translate("MainWindow", "Save Project", None))
1270 self.actionStarToolbar.setText(_translate("MainWindow", "starToolbar", None))
1271 self.actionStarToolbar.setToolTip(_translate("MainWindow", "Start ", None))
1272 self.actionStopToolbar.setText(_translate("MainWindow", "stopToolbar", None))
1273 self.actionStopToolbar.setToolTip(_translate("MainWindow", "Stop", None))
1274 self.actionPauseToolbar.setText(_translate("MainWindow", "pauseToolbar", None))
1275 self.actionPauseToolbar.setToolTip(_translate("MainWindow", "Pause", None))
1276 self.actionAddPU.setText(_translate("MainWindow", "Add Processing Unit", None))
1277 self.actionFTP.setText(_translate("MainWindow", "FTP", None))
1278
1279
1280 class Ui_EnvWindow(object):
1281
1282 def changeIcon(self):
1283
1284 if self.a==1:
1285 iconPauseRed = QtGui.QIcon()
46 iconPauseRed = QtGui.QIcon()
1286 iconPauseRed.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pausered.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
47 iconPauseRed.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pausered.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
1287 self.actionPauseToolbar.setIcon(iconPauseRed)
48 self.actionPauseToolbar.setIcon(iconPauseRed)
1288 self.a+=1
49 self.paused = True
1289 return 0
50 return 0
1290 if self.a==2:
51
52 if self.paused:
1291 iconPause = QtGui.QIcon()
53 iconPause = QtGui.QIcon()
1292 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
54 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
1293 self.actionPauseToolbar.setIcon(iconPause)
55 self.actionPauseToolbar.setIcon(iconPause)
1294 self.a-=1
56 self.paused = False
1295 return 0
57 return 0
1296
58
1297 def setupUi(self, MainWindow):
59 def setupUi(self, MainWindow):
1298
60
1299 MainWindow.setObjectName(_fromUtf8("MainWindow"))
61 MainWindow.setObjectName(_fromUtf8("MainWindow"))
1300 MainWindow.resize(1203, 711)
62 MainWindow.resize(1203, 711)
1301
63
1302 self.centralWidget = QtGui.QWidget(MainWindow)
64 self.centralWidget = QtGui.QWidget(MainWindow)
1303 self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
65 self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
1304 self.gridLayout_16 = QtGui.QGridLayout(self.centralWidget)
66 self.gridLayout_16 = QtGui.QGridLayout(self.centralWidget)
1305 self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
67 self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
1306 self.splitter_2 = QtGui.QSplitter(self.centralWidget)
68 self.splitter_2 = QtGui.QSplitter(self.centralWidget)
1307 self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
69 self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
1308 self.splitter_2.setObjectName(_fromUtf8("splitter_2"))
70 self.splitter_2.setObjectName(_fromUtf8("splitter_2"))
1309 self.projectExplorerTree = QtGui.QTreeView(self.splitter_2)
71 self.projectExplorerTree = QtGui.QTreeView(self.splitter_2)
1310 self.projectExplorerTree.setObjectName(_fromUtf8("projectExplorerTree"))
72 self.projectExplorerTree.setObjectName(_fromUtf8("projectExplorerTree"))
1311 self.splitter = QtGui.QSplitter(self.splitter_2)
73 self.splitter = QtGui.QSplitter(self.splitter_2)
1312 self.splitter.setOrientation(QtCore.Qt.Vertical)
74 self.splitter.setOrientation(QtCore.Qt.Vertical)
1313 self.splitter.setObjectName(_fromUtf8("splitter"))
75 self.splitter.setObjectName(_fromUtf8("splitter"))
1314 self.tabWidgetProject = QtGui.QTabWidget(self.splitter)
76 self.tabWidgetProject = QtGui.QTabWidget(self.splitter)
1315 self.tabWidgetProject.setMinimumSize(QtCore.QSize(0, 278))
77 self.tabWidgetProject.setMinimumSize(QtCore.QSize(0, 278))
1316 self.tabWidgetProject.setMaximumSize(QtCore.QSize(16777215, 16777215))
78 self.tabWidgetProject.setMaximumSize(QtCore.QSize(16777215, 16777215))
1317 self.tabWidgetProject.setObjectName(_fromUtf8("tabWidgetProject"))
79 self.tabWidgetProject.setObjectName(_fromUtf8("tabWidgetProject"))
1318
80
1319 self.tabConsole = QtGui.QTabWidget(self.splitter)
81 self.tabConsole = QtGui.QTabWidget(self.splitter)
1320 self.tabConsole.setMinimumSize(QtCore.QSize(0, 0))
82 self.tabConsole.setMinimumSize(QtCore.QSize(0, 0))
1321 self.tabConsole.setObjectName(_fromUtf8("tabConsole"))
83 self.tabConsole.setObjectName(_fromUtf8("tabConsole"))
1322 self.tab_5 = QtGui.QWidget()
84 self.tab_5 = QtGui.QWidget()
1323 self.tab_5.setObjectName(_fromUtf8("tab_5"))
85 self.tab_5.setObjectName(_fromUtf8("tab_5"))
1324 self.gridLayout_4 = QtGui.QGridLayout(self.tab_5)
86 self.gridLayout_4 = QtGui.QGridLayout(self.tab_5)
1325 self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
87 self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
1326 self.console = QtGui.QTextEdit(self.tab_5)
88 self.console = QtGui.QTextEdit(self.tab_5)
1327 self.console.setObjectName(_fromUtf8("console"))
89 self.console.setObjectName(_fromUtf8("console"))
1328 self.gridLayout_4.addWidget(self.console, 0, 0, 1, 1)
90 self.gridLayout_4.addWidget(self.console, 0, 0, 1, 1)
1329 self.tabConsole.addTab(self.tab_5, _fromUtf8(""))
91 self.tabConsole.addTab(self.tab_5, _fromUtf8(""))
1330 self.tabWidget = QtGui.QTabWidget(self.splitter_2)
92 self.tabWidget = QtGui.QTabWidget(self.splitter_2)
1331 self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
93 self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
1332 self.tabProjectProperty = QtGui.QWidget()
94 self.tabProjectProperty = QtGui.QWidget()
1333 self.tabProjectProperty.setObjectName(_fromUtf8("tabProjectProperty"))
95 self.tabProjectProperty.setObjectName(_fromUtf8("tabProjectProperty"))
1334 self.gridLayout_8 = QtGui.QGridLayout(self.tabProjectProperty)
96 self.gridLayout_8 = QtGui.QGridLayout(self.tabProjectProperty)
1335 self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
97 self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
1336 self.treeProjectProperties = QtGui.QTreeView(self.tabProjectProperty)
98 self.treeProjectProperties = QtGui.QTreeView(self.tabProjectProperty)
1337 self.treeProjectProperties.setObjectName(_fromUtf8("treeProjectProperties"))
99 self.treeProjectProperties.setObjectName(_fromUtf8("treeProjectProperties"))
1338 self.gridLayout_8.addWidget(self.treeProjectProperties, 0, 0, 1, 1)
100 self.gridLayout_8.addWidget(self.treeProjectProperties, 0, 0, 1, 1)
1339 self.tabWidget.addTab(self.tabProjectProperty, _fromUtf8(""))
101 self.tabWidget.addTab(self.tabProjectProperty, _fromUtf8(""))
1340 self.gridLayout_16.addWidget(self.splitter_2, 1, 0, 1, 1)
102 self.gridLayout_16.addWidget(self.splitter_2, 1, 0, 1, 1)
1341
103
1342 MainWindow.setCentralWidget(self.centralWidget)
104 MainWindow.setCentralWidget(self.centralWidget)
1343 self.toolBar = QtGui.QToolBar(MainWindow)
105 self.toolBar = QtGui.QToolBar(MainWindow)
1344 self.toolBar.setObjectName(_fromUtf8("toolBar"))
106 self.toolBar.setObjectName(_fromUtf8("toolBar"))
1345 MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
107 MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
1346
108
1347 self.menuBar = QtGui.QMenuBar(MainWindow)
109 self.menuBar = QtGui.QMenuBar(MainWindow)
1348 self.menuBar.setGeometry(QtCore.QRect(0, 0, 1065, 25))
110 self.menuBar.setGeometry(QtCore.QRect(0, 0, 1065, 25))
1349 self.menuBar.setObjectName(_fromUtf8("menuBar"))
111 self.menuBar.setObjectName(_fromUtf8("menuBar"))
1350 self.menuProject = QtGui.QMenu(self.menuBar)
112 self.menuProject = QtGui.QMenu(self.menuBar)
1351 self.menuProject.setObjectName(_fromUtf8("menuProject"))
113 self.menuProject.setObjectName(_fromUtf8("menuProject"))
1352 self.menuRun = QtGui.QMenu(self.menuBar)
114 self.menuRun = QtGui.QMenu(self.menuBar)
1353 self.menuRun.setObjectName(_fromUtf8("menuRun"))
115 self.menuRun.setObjectName(_fromUtf8("menuRun"))
1354 self.menuOptions = QtGui.QMenu(self.menuBar)
116 self.menuOptions = QtGui.QMenu(self.menuBar)
1355 self.menuOptions.setObjectName(_fromUtf8("menuOptions"))
117 self.menuOptions.setObjectName(_fromUtf8("menuOptions"))
1356 self.menuHelp = QtGui.QMenu(self.menuBar)
118 self.menuHelp = QtGui.QMenu(self.menuBar)
1357 self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
119 self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
1358 MainWindow.setMenuBar(self.menuBar)
120 MainWindow.setMenuBar(self.menuBar)
1359
121
1360 iconOpen = QtGui.QIcon()
122 iconOpen = QtGui.QIcon()
1361 iconOpen.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"open.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
123 iconOpen.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"open.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
1362 iconCreate = QtGui.QIcon()
124 iconCreate = QtGui.QIcon()
1363 iconCreate.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"project.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
125 iconCreate.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"project.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
1364 iconSave = QtGui.QIcon()
126 iconSave = QtGui.QIcon()
1365 iconSave.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"saveicon.jpeg") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
127 iconSave.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"saveicon.jpeg") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
1366 iconStart = QtGui.QIcon()
128 iconStart = QtGui.QIcon()
1367 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"startServer.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
129 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"startServer.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
1368 iconStop = QtGui.QIcon()
130 iconStop = QtGui.QIcon()
1369 iconStop.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"stopServer.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
131 iconStop.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"stopServer.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
1370 iconPause = QtGui.QIcon()
132 iconPause = QtGui.QIcon()
1371 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
133 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
1372 iconAddPU = QtGui.QIcon()
134 iconAddPU = QtGui.QIcon()
1373 iconAddPU.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"add_PU.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
135 iconAddPU.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"add_PU.gif") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
1374
136
1375 self.actionOpen = QtGui.QAction(MainWindow)
137 self.actionOpen = QtGui.QAction(MainWindow)
1376 self.actionOpen.setIcon(iconOpen)
138 self.actionOpen.setIcon(iconOpen)
1377 self.actionOpen.setObjectName(_fromUtf8("actionOpen"))
139 self.actionOpen.setObjectName(_fromUtf8("actionOpen"))
1378 self.actionCreate = QtGui.QAction(MainWindow)
140 self.actionCreate = QtGui.QAction(MainWindow)
1379 self.actionCreate.setIcon(iconCreate)
141 self.actionCreate.setIcon(iconCreate)
1380 self.actionCreate.setObjectName(_fromUtf8("actionCreate"))
142 self.actionCreate.setObjectName(_fromUtf8("actionCreate"))
1381 self.actionSave = QtGui.QAction(MainWindow)
143 self.actionSave = QtGui.QAction(MainWindow)
1382 self.actionSave.setIcon(iconSave)
144 self.actionSave.setIcon(iconSave)
1383 self.actionSave.setObjectName(_fromUtf8("actionSave"))
145 self.actionSave.setObjectName(_fromUtf8("actionSave"))
1384 self.actionClose = QtGui.QAction(MainWindow)
146 self.actionClose = QtGui.QAction(MainWindow)
1385 self.actionClose.setObjectName(_fromUtf8("actionClose"))
147 self.actionClose.setObjectName(_fromUtf8("actionClose"))
1386 self.actionStart = QtGui.QAction(MainWindow)
148 self.actionStart = QtGui.QAction(MainWindow)
1387 self.actionStart.setIcon(iconStart)
149 self.actionStart.setIcon(iconStart)
1388 self.actionStart.setObjectName(_fromUtf8("actionStart"))
150 self.actionStart.setObjectName(_fromUtf8("actionStart"))
1389 self.actionPause = QtGui.QAction(MainWindow)
151 self.actionPause = QtGui.QAction(MainWindow)
1390 self.actionPause.setIcon(iconPause)
152 self.actionPause.setIcon(iconPause)
1391 self.actionPause.setObjectName(_fromUtf8("actionPause"))
153 self.actionPause.setObjectName(_fromUtf8("actionPause"))
1392 self.actionStop = QtGui.QAction(MainWindow)
154 self.actionStop = QtGui.QAction(MainWindow)
1393 self.actionStop.setIcon(iconStop)
155 self.actionStop.setIcon(iconStop)
1394 self.actionStop.setObjectName(_fromUtf8("actionStop"))
156 self.actionStop.setObjectName(_fromUtf8("actionStop"))
1395 self.actionAbout = QtGui.QAction(MainWindow)
157 self.actionAbout = QtGui.QAction(MainWindow)
1396 self.actionAbout.setObjectName(_fromUtf8("actionAbout"))
158 self.actionAbout.setObjectName(_fromUtf8("actionAbout"))
1397 self.actionOpenToolbar = QtGui.QAction(MainWindow)
159 self.actionOpenToolbar = QtGui.QAction(MainWindow)
1398 self.actionOpenToolbar.setIcon(iconOpen)
160 self.actionOpenToolbar.setIcon(iconOpen)
1399 self.actionOpenToolbar.setObjectName(_fromUtf8("actionOpenToolbar"))
161 self.actionOpenToolbar.setObjectName(_fromUtf8("actionOpenToolbar"))
1400 self.actionCreateToolbar = QtGui.QAction(MainWindow)
162 self.actionCreateToolbar = QtGui.QAction(MainWindow)
1401 self.actionCreateToolbar.setIcon(iconCreate)
163 self.actionCreateToolbar.setIcon(iconCreate)
1402 self.actionCreateToolbar.setObjectName(_fromUtf8("actionCreateToolbar"))
164 self.actionCreateToolbar.setObjectName(_fromUtf8("actionCreateToolbar"))
1403 self.actionSaveToolbar = QtGui.QAction(MainWindow)
165 self.actionSaveToolbar = QtGui.QAction(MainWindow)
1404 self.actionSaveToolbar.setIcon(iconSave)
166 self.actionSaveToolbar.setIcon(iconSave)
1405 self.actionSaveToolbar.setObjectName(_fromUtf8("actionSaveToolbar"))
167 self.actionSaveToolbar.setObjectName(_fromUtf8("actionSaveToolbar"))
1406 self.actionStarToolbar = QtGui.QAction(MainWindow)
168 self.actionStarToolbar = QtGui.QAction(MainWindow)
1407 self.actionStarToolbar.setIcon(iconStart)
169 self.actionStarToolbar.setIcon(iconStart)
1408 self.actionStarToolbar.setObjectName(_fromUtf8("actionStarToolbar"))
170 self.actionStarToolbar.setObjectName(_fromUtf8("actionStarToolbar"))
1409 self.actionStopToolbar = QtGui.QAction(MainWindow)
171 self.actionStopToolbar = QtGui.QAction(MainWindow)
1410 self.actionStopToolbar.setIcon(iconStop)
172 self.actionStopToolbar.setIcon(iconStop)
1411 self.actionStopToolbar.setObjectName(_fromUtf8("actionStopToolbar"))
173 self.actionStopToolbar.setObjectName(_fromUtf8("actionStopToolbar"))
1412 self.actionPauseToolbar = QtGui.QAction(MainWindow)
174 self.actionPauseToolbar = QtGui.QAction(MainWindow)
1413 self.actionPause.setIcon(iconPause)
175 self.actionPause.setIcon(iconPause)
1414 self.actionPauseToolbar.setIcon(iconPause)
176 self.actionPauseToolbar.setIcon(iconPause)
1415 self.actionPauseToolbar.setObjectName(_fromUtf8("actionPauseToolbar"))
177 self.actionPauseToolbar.setObjectName(_fromUtf8("actionPauseToolbar"))
1416 self.actionAddPU = QtGui.QAction(MainWindow)
178 self.actionAddPU = QtGui.QAction(MainWindow)
1417 self.actionAddPU.setIcon(iconAddPU)
179 self.actionAddPU.setIcon(iconAddPU)
1418 self.actionAddPU.setObjectName(_fromUtf8("actionAddPU"))
180 self.actionAddPU.setObjectName(_fromUtf8("actionAddPU"))
1419 self.actionFTP = QtGui.QAction(MainWindow)
181 self.actionFTP = QtGui.QAction(MainWindow)
1420 self.actionFTP.setObjectName(_fromUtf8("actionFTP"))
182 self.actionFTP.setObjectName(_fromUtf8("actionFTP"))
1421 self.toolBar.addAction(self.actionOpenToolbar)
183 self.toolBar.addAction(self.actionOpenToolbar)
1422 self.toolBar.addSeparator()
184 self.toolBar.addSeparator()
1423 self.toolBar.addAction(self.actionCreateToolbar)
185 self.toolBar.addAction(self.actionCreateToolbar)
1424 self.toolBar.addSeparator()
186 self.toolBar.addSeparator()
1425 self.toolBar.addAction(self.actionAddPU)
187 self.toolBar.addAction(self.actionAddPU)
1426 self.toolBar.addSeparator()
188 self.toolBar.addSeparator()
1427 self.toolBar.addAction(self.actionSaveToolbar)
189 self.toolBar.addAction(self.actionSaveToolbar)
1428 self.toolBar.addSeparator()
190 self.toolBar.addSeparator()
1429 self.toolBar.addAction(self.actionStarToolbar)
191 self.toolBar.addAction(self.actionStarToolbar)
1430 self.toolBar.addSeparator()
192 self.toolBar.addSeparator()
1431 self.toolBar.addAction(self.actionPauseToolbar)
193 self.toolBar.addAction(self.actionPauseToolbar)
1432 self.toolBar.addSeparator()
194 self.toolBar.addSeparator()
1433 self.toolBar.addAction(self.actionStopToolbar)
195 self.toolBar.addAction(self.actionStopToolbar)
1434 self.toolBar.addSeparator()
196 self.toolBar.addSeparator()
1435 self.a=1
197
1436 self.actionPauseToolbar.triggered.connect(self.changeIcon)
198 self.paused=False
199 self.actionPause.triggered.connect(self.changePauseIcon)
200 self.actionPauseToolbar.triggered.connect(self.changePauseIcon)
1437
201
1438 self.menuProject.addAction(self.actionOpen)
202 self.menuProject.addAction(self.actionOpen)
1439 self.menuProject.addAction(self.actionCreate)
203 self.menuProject.addAction(self.actionCreate)
1440 self.menuProject.addAction(self.actionSave)
204 self.menuProject.addAction(self.actionSave)
1441 self.menuProject.addAction(self.actionClose)
205 self.menuProject.addAction(self.actionClose)
1442 self.menuRun.addAction(self.actionStart)
206 self.menuRun.addAction(self.actionStart)
1443 self.menuRun.addAction(self.actionPause)
207 self.menuRun.addAction(self.actionPause)
1444 self.menuRun.addAction(self.actionStop)
208 self.menuRun.addAction(self.actionStop)
1445 self.menuOptions.addAction(self.actionFTP)
209 self.menuOptions.addAction(self.actionFTP)
1446 self.menuHelp.addAction(self.actionAbout)
210 self.menuHelp.addAction(self.actionAbout)
1447 self.menuBar.addAction(self.menuProject.menuAction())
211 self.menuBar.addAction(self.menuProject.menuAction())
1448 self.menuBar.addAction(self.menuRun.menuAction())
212 self.menuBar.addAction(self.menuRun.menuAction())
1449 self.menuBar.addAction(self.menuOptions.menuAction())
213 self.menuBar.addAction(self.menuOptions.menuAction())
1450 self.menuBar.addAction(self.menuHelp.menuAction())
214 self.menuBar.addAction(self.menuHelp.menuAction())
1451
215
1452 self.tabConsole.setCurrentIndex(0)
216 self.tabConsole.setCurrentIndex(0)
1453 self.tabWidget.setCurrentIndex(0)
217 self.tabWidget.setCurrentIndex(0)
1454
218
1455 def retranslateUi(self, MainWindow):
219 def retranslateUi(self, MainWindow):
1456
220
1457 MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
221 MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
1458
222
1459 self.tabConsole.setTabText(self.tabConsole.indexOf(self.tab_5), _translate("MainWindow", "Console", None))
223 self.tabConsole.setTabText(self.tabConsole.indexOf(self.tab_5), _translate("MainWindow", "Console", None))
1460
224
1461 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabProjectProperty), _translate("MainWindow", "Project Property", None))
225 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabProjectProperty), _translate("MainWindow", "Project Property", None))
1462 self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar", None))
226 self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar", None))
1463 self.menuProject.setTitle(_translate("MainWindow", "Project", None))
227 self.menuProject.setTitle(_translate("MainWindow", "Project", None))
1464 self.menuRun.setTitle(_translate("MainWindow", "Run", None))
228 self.menuRun.setTitle(_translate("MainWindow", "Run", None))
1465 self.menuOptions.setTitle(_translate("MainWindow", "Options", None))
229 self.menuOptions.setTitle(_translate("MainWindow", "Options", None))
1466 self.menuHelp.setTitle(_translate("MainWindow", "Help", None))
230 self.menuHelp.setTitle(_translate("MainWindow", "Help", None))
1467 self.actionOpen.setText(_translate("MainWindow", "Open", None))
231 self.actionOpen.setText(_translate("MainWindow", "Open", None))
1468 self.actionCreate.setText(_translate("MainWindow", "Create", None))
232 self.actionCreate.setText(_translate("MainWindow", "Create", None))
1469 self.actionSave.setText(_translate("MainWindow", "Save", None))
233 self.actionSave.setText(_translate("MainWindow", "Save", None))
1470 self.actionClose.setText(_translate("MainWindow", "Close", None))
234 self.actionClose.setText(_translate("MainWindow", "Close", None))
1471 self.actionStart.setText(_translate("MainWindow", "Start", None))
235 self.actionStart.setText(_translate("MainWindow", "Start", None))
1472 self.actionPause.setText(_translate("MainWindow", "Pause", None))
236 self.actionPause.setText(_translate("MainWindow", "Pause", None))
1473 self.actionStop.setText(_translate("MainWindow", "Stop", None))
237 self.actionStop.setText(_translate("MainWindow", "Stop", None))
1474 self.actionAbout.setText(_translate("MainWindow", "About", None))
238 self.actionAbout.setText(_translate("MainWindow", "About", None))
1475 self.actionOpenToolbar.setText(_translate("MainWindow", "openToolbar", None))
239 self.actionOpenToolbar.setText(_translate("MainWindow", "openToolbar", None))
1476 self.actionOpenToolbar.setToolTip(_translate("MainWindow", "Open Project", None))
240 self.actionOpenToolbar.setToolTip(_translate("MainWindow", "Open a project", None))
1477 self.actionCreateToolbar.setText(_translate("MainWindow", "createToolbar", None))
241 self.actionCreateToolbar.setText(_translate("MainWindow", "createToolbar", None))
1478 self.actionCreateToolbar.setToolTip(_translate("MainWindow", "Create αΉ”roject", None))
242 self.actionCreateToolbar.setToolTip(_translate("MainWindow", "Create a new project", None))
1479 self.actionSaveToolbar.setText(_translate("MainWindow", "saveToolbar", None))
243 self.actionSaveToolbar.setText(_translate("MainWindow", "saveToolbar", None))
1480 self.actionSaveToolbar.setToolTip(_translate("MainWindow", "Save Project", None))
244 self.actionSaveToolbar.setToolTip(_translate("MainWindow", "Save a project", None))
1481 self.actionStarToolbar.setText(_translate("MainWindow", "starToolbar", None))
245 self.actionStarToolbar.setText(_translate("MainWindow", "starToolbar", None))
1482 self.actionStarToolbar.setToolTip(_translate("MainWindow", "Start ", None))
246 self.actionStarToolbar.setToolTip(_translate("MainWindow", "Start process", None))
1483 self.actionStopToolbar.setText(_translate("MainWindow", "stopToolbar", None))
247 self.actionStopToolbar.setText(_translate("MainWindow", "stopToolbar", None))
1484 self.actionStopToolbar.setToolTip(_translate("MainWindow", "Stop", None))
248 self.actionStopToolbar.setToolTip(_translate("MainWindow", "Stop process", None))
1485 self.actionPauseToolbar.setText(_translate("MainWindow", "pauseToolbar", None))
249 self.actionPauseToolbar.setText(_translate("MainWindow", "pauseToolbar", None))
1486 self.actionPauseToolbar.setToolTip(_translate("MainWindow", "Pause", None))
250 self.actionPauseToolbar.setToolTip(_translate("MainWindow", "Pause process", None))
1487 self.actionAddPU.setText(_translate("MainWindow", "Add Processing Unit", None))
251 self.actionAddPU.setText(_translate("MainWindow", "Add Processing Unit", None))
1488 self.actionFTP.setText(_translate("MainWindow", "FTP", None))
252 self.actionFTP.setText(_translate("MainWindow", "FTP", None))
1489
253
254 def closeEvent(self, event):
255
256 reply = QtGui.QMessageBox.question(self, 'Message',
257 "Are you sure to quit?", QtGui.QMessageBox.Yes |
258 QtGui.QMessageBox.No, QtGui.QMessageBox.No)
259 if reply == QtGui.QMessageBox.Yes:
260 event.accept()
261 else:
262 event.ignore()
263
1490 class Ui_BasicWindow(Ui_EnvWindow, Ui_ProjectTab, Ui_VoltageTab, Ui_SpectraTab, Ui_SpectraHeisTab, Ui_CorrelationTab):
264 class Ui_BasicWindow(Ui_EnvWindow, Ui_ProjectTab, Ui_VoltageTab, Ui_SpectraTab, Ui_SpectraHeisTab, Ui_CorrelationTab):
1491
265
1492 def setupUi(self, MainWindow):
266 def setupUi(self, MainWindow):
1493
267
1494 Ui_EnvWindow.setupUi(self, MainWindow)
268 Ui_EnvWindow.setupUi(self, MainWindow)
1495
269
1496 Ui_ProjectTab.setupUi(self)
270 Ui_ProjectTab.setupUi(self)
1497 Ui_VoltageTab.setupUi(self)
271 Ui_VoltageTab.setupUi(self)
1498 Ui_SpectraTab.setupUi(self)
272 Ui_SpectraTab.setupUi(self)
1499 Ui_SpectraHeisTab.setupUi(self)
273 Ui_SpectraHeisTab.setupUi(self)
1500 Ui_CorrelationTab.setupUi(self)
274 Ui_CorrelationTab.setupUi(self)
1501
275
1502 self.retranslateUi(MainWindow)
276 self.retranslateUi(MainWindow)
1503
277
1504 QtCore.QMetaObject.connectSlotsByName(MainWindow)
278 QtCore.QMetaObject.connectSlotsByName(MainWindow)
1505
279
1506 def retranslateUi(self, MainWindow):
280 def retranslateUi(self, MainWindow):
1507
281
1508 Ui_EnvWindow.retranslateUi(self, MainWindow)
282 Ui_EnvWindow.retranslateUi(self, MainWindow)
1509
283
1510 Ui_ProjectTab.retranslateUi(self)
284 Ui_ProjectTab.retranslateUi(self)
1511 Ui_VoltageTab.retranslateUi(self)
285 Ui_VoltageTab.retranslateUi(self)
1512 Ui_SpectraTab.retranslateUi(self)
286 Ui_SpectraTab.retranslateUi(self)
1513 Ui_SpectraHeisTab.retranslateUi(self)
287 Ui_SpectraHeisTab.retranslateUi(self)
1514 Ui_CorrelationTab.retranslateUi(self)
288 Ui_CorrelationTab.retranslateUi(self)
1515
289
1516
290
1517 class Ui_AdvancedWindow(Ui_MainWindow):
291 class Ui_AdvancedWindow(Ui_EnvWindow):
1518
292
1519 def setupUi(self, AdvancedWindow):
293 def setupUi(self, AdvancedWindow):
1520
294
1521 Ui_MainWindow.setupUi(self, AdvancedWindow)
295 Ui_MainWindow.setupUi(self, AdvancedWindow)
1522
296
1523 def retranslateUi(self, AdvancedWindow):
297 def retranslateUi(self, AdvancedWindow):
1524
298
1525 Ui_MainWindow.retranslateUi(self, AdvancedWindow)
299 Ui_MainWindow.retranslateUi(self, AdvancedWindow)
1526
300
1527
301
1528
302
1529 if __name__ == "__main__":
303 if __name__ == "__main__":
1530 import sys
304 import sys
1531 app = QtGui.QApplication(sys.argv)
305 app = QtGui.QApplication(sys.argv)
1532 MainWindow = QtGui.QMainWindow()
306 MainWindow = QtGui.QMainWindow()
1533 ui = Ui_BasicWindow()
307 ui = Ui_BasicWindow()
1534 ui.setupUi(MainWindow)
308 ui.setupUi(MainWindow)
1535 MainWindow.show()
309 MainWindow.show()
1536 sys.exit(app.exec_())
310 sys.exit(app.exec_())
1537
311
@@ -1,936 +1,938
1 import numpy
1 import numpy
2 import math
2 import math
3
3
4 from jroproc_base import ProcessingUnit, Operation
4 from jroproc_base import ProcessingUnit, Operation
5 from schainpy.model.data.jrodata import Spectra
5 from schainpy.model.data.jrodata import Spectra
6 from schainpy.model.data.jrodata import hildebrand_sekhon
6 from schainpy.model.data.jrodata import hildebrand_sekhon
7
7
8 class SpectraProc(ProcessingUnit):
8 class SpectraProc(ProcessingUnit):
9
9
10 def __init__(self):
10 def __init__(self):
11
11
12 ProcessingUnit.__init__(self)
12 ProcessingUnit.__init__(self)
13
13
14 self.buffer = None
14 self.buffer = None
15 self.firstdatatime = None
15 self.firstdatatime = None
16 self.profIndex = 0
16 self.profIndex = 0
17 self.dataOut = Spectra()
17 self.dataOut = Spectra()
18 self.id_min = None
18 self.id_min = None
19 self.id_max = None
19 self.id_max = None
20
20
21 def __updateObjFromInput(self):
21 def __updateObjFromInput(self):
22
22
23 self.dataOut.timeZone = self.dataIn.timeZone
23 self.dataOut.timeZone = self.dataIn.timeZone
24 self.dataOut.dstFlag = self.dataIn.dstFlag
24 self.dataOut.dstFlag = self.dataIn.dstFlag
25 self.dataOut.errorCount = self.dataIn.errorCount
25 self.dataOut.errorCount = self.dataIn.errorCount
26 self.dataOut.useLocalTime = self.dataIn.useLocalTime
26 self.dataOut.useLocalTime = self.dataIn.useLocalTime
27
27
28 self.dataOut.radarControllerHeaderObj = self.dataIn.radarControllerHeaderObj.copy()
28 self.dataOut.radarControllerHeaderObj = self.dataIn.radarControllerHeaderObj.copy()
29 self.dataOut.systemHeaderObj = self.dataIn.systemHeaderObj.copy()
29 self.dataOut.systemHeaderObj = self.dataIn.systemHeaderObj.copy()
30 self.dataOut.channelList = self.dataIn.channelList
30 self.dataOut.channelList = self.dataIn.channelList
31 self.dataOut.heightList = self.dataIn.heightList
31 self.dataOut.heightList = self.dataIn.heightList
32 self.dataOut.dtype = numpy.dtype([('real','<f4'),('imag','<f4')])
32 self.dataOut.dtype = numpy.dtype([('real','<f4'),('imag','<f4')])
33 # self.dataOut.nHeights = self.dataIn.nHeights
33 # self.dataOut.nHeights = self.dataIn.nHeights
34 # self.dataOut.nChannels = self.dataIn.nChannels
34 # self.dataOut.nChannels = self.dataIn.nChannels
35 self.dataOut.nBaud = self.dataIn.nBaud
35 self.dataOut.nBaud = self.dataIn.nBaud
36 self.dataOut.nCode = self.dataIn.nCode
36 self.dataOut.nCode = self.dataIn.nCode
37 self.dataOut.code = self.dataIn.code
37 self.dataOut.code = self.dataIn.code
38 self.dataOut.nProfiles = self.dataOut.nFFTPoints
38 self.dataOut.nProfiles = self.dataOut.nFFTPoints
39 # self.dataOut.channelIndexList = self.dataIn.channelIndexList
39 # self.dataOut.channelIndexList = self.dataIn.channelIndexList
40 self.dataOut.flagDiscontinuousBlock = self.dataIn.flagDiscontinuousBlock
40 self.dataOut.flagDiscontinuousBlock = self.dataIn.flagDiscontinuousBlock
41 self.dataOut.utctime = self.firstdatatime
41 self.dataOut.utctime = self.firstdatatime
42 self.dataOut.flagDecodeData = self.dataIn.flagDecodeData #asumo q la data esta decodificada
42 self.dataOut.flagDecodeData = self.dataIn.flagDecodeData #asumo q la data esta decodificada
43 self.dataOut.flagDeflipData = self.dataIn.flagDeflipData #asumo q la data esta sin flip
43 self.dataOut.flagDeflipData = self.dataIn.flagDeflipData #asumo q la data esta sin flip
44 # self.dataOut.flagShiftFFT = self.dataIn.flagShiftFFT
44 # self.dataOut.flagShiftFFT = self.dataIn.flagShiftFFT
45 self.dataOut.nCohInt = self.dataIn.nCohInt
45 self.dataOut.nCohInt = self.dataIn.nCohInt
46 self.dataOut.nIncohInt = 1
46 self.dataOut.nIncohInt = 1
47 # self.dataOut.ippSeconds = self.dataIn.ippSeconds
47 # self.dataOut.ippSeconds = self.dataIn.ippSeconds
48 self.dataOut.windowOfFilter = self.dataIn.windowOfFilter
48 self.dataOut.windowOfFilter = self.dataIn.windowOfFilter
49
49
50 # self.dataOut.timeInterval = self.dataIn.timeInterval*self.dataOut.nFFTPoints*self.dataOut.nIncohInt
50 # self.dataOut.timeInterval = self.dataIn.timeInterval*self.dataOut.nFFTPoints*self.dataOut.nIncohInt
51 self.dataOut.frequency = self.dataIn.frequency
51 self.dataOut.frequency = self.dataIn.frequency
52 self.dataOut.realtime = self.dataIn.realtime
52 self.dataOut.realtime = self.dataIn.realtime
53
53
54 self.dataOut.azimuth = self.dataIn.azimuth
54 self.dataOut.azimuth = self.dataIn.azimuth
55 self.dataOut.zenith = self.dataIn.zenith
55 self.dataOut.zenith = self.dataIn.zenith
56
56
57 self.dataOut.beam.codeList = self.dataIn.beam.codeList
57 self.dataOut.beam.codeList = self.dataIn.beam.codeList
58 self.dataOut.beam.azimuthList = self.dataIn.beam.azimuthList
58 self.dataOut.beam.azimuthList = self.dataIn.beam.azimuthList
59 self.dataOut.beam.zenithList = self.dataIn.beam.zenithList
59 self.dataOut.beam.zenithList = self.dataIn.beam.zenithList
60
60
61 def __getFft(self):
61 def __getFft(self):
62 """
62 """
63 Convierte valores de Voltaje a Spectra
63 Convierte valores de Voltaje a Spectra
64
64
65 Affected:
65 Affected:
66 self.dataOut.data_spc
66 self.dataOut.data_spc
67 self.dataOut.data_cspc
67 self.dataOut.data_cspc
68 self.dataOut.data_dc
68 self.dataOut.data_dc
69 self.dataOut.heightList
69 self.dataOut.heightList
70 self.profIndex
70 self.profIndex
71 self.buffer
71 self.buffer
72 self.dataOut.flagNoData
72 self.dataOut.flagNoData
73 """
73 """
74 fft_volt = numpy.fft.fft(self.buffer,n=self.dataOut.nFFTPoints,axis=1)
74 fft_volt = numpy.fft.fft(self.buffer,n=self.dataOut.nFFTPoints,axis=1)
75 fft_volt = fft_volt.astype(numpy.dtype('complex'))
75 fft_volt = fft_volt.astype(numpy.dtype('complex'))
76 dc = fft_volt[:,0,:]
76 dc = fft_volt[:,0,:]
77
77
78 #calculo de self-spectra
78 #calculo de self-spectra
79 fft_volt = numpy.fft.fftshift(fft_volt,axes=(1,))
79 fft_volt = numpy.fft.fftshift(fft_volt,axes=(1,))
80 spc = fft_volt * numpy.conjugate(fft_volt)
80 spc = fft_volt * numpy.conjugate(fft_volt)
81 spc = spc.real
81 spc = spc.real
82
82
83 blocksize = 0
83 blocksize = 0
84 blocksize += dc.size
84 blocksize += dc.size
85 blocksize += spc.size
85 blocksize += spc.size
86
86
87 cspc = None
87 cspc = None
88 pairIndex = 0
88 pairIndex = 0
89 if self.dataOut.pairsList != None:
89 if self.dataOut.pairsList != None:
90 #calculo de cross-spectra
90 #calculo de cross-spectra
91 cspc = numpy.zeros((self.dataOut.nPairs, self.dataOut.nFFTPoints, self.dataOut.nHeights), dtype='complex')
91 cspc = numpy.zeros((self.dataOut.nPairs, self.dataOut.nFFTPoints, self.dataOut.nHeights), dtype='complex')
92 for pair in self.dataOut.pairsList:
92 for pair in self.dataOut.pairsList:
93 cspc[pairIndex,:,:] = fft_volt[pair[0],:,:] * numpy.conjugate(fft_volt[pair[1],:,:])
93 cspc[pairIndex,:,:] = fft_volt[pair[0],:,:] * numpy.conjugate(fft_volt[pair[1],:,:])
94 pairIndex += 1
94 pairIndex += 1
95 blocksize += cspc.size
95 blocksize += cspc.size
96
96
97 self.dataOut.data_spc = spc
97 self.dataOut.data_spc = spc
98 self.dataOut.data_cspc = cspc
98 self.dataOut.data_cspc = cspc
99 self.dataOut.data_dc = dc
99 self.dataOut.data_dc = dc
100 self.dataOut.blockSize = blocksize
100 self.dataOut.blockSize = blocksize
101 self.dataOut.flagShiftFFT = False
101 self.dataOut.flagShiftFFT = False
102
102
103 def run(self, nProfiles=None, nFFTPoints=None, pairsList=[], ippFactor=None):
103 def run(self, nProfiles=None, nFFTPoints=None, pairsList=[], ippFactor=None):
104
104
105 self.dataOut.flagNoData = True
105 self.dataOut.flagNoData = True
106
106
107 if self.dataIn.type == "Spectra":
107 if self.dataIn.type == "Spectra":
108 self.dataOut.copy(self.dataIn)
108 self.dataOut.copy(self.dataIn)
109 return True
109 return True
110
110
111 if self.dataIn.type == "Voltage":
111 if self.dataIn.type == "Voltage":
112
112
113 if nFFTPoints == None:
113 if nFFTPoints == None:
114 raise ValueError, "This SpectraProc.run() need nFFTPoints input variable"
114 raise ValueError, "This SpectraProc.run() need nFFTPoints input variable"
115
115
116 if nProfiles == None:
116 if nProfiles == None:
117 nProfiles = nFFTPoints
117 nProfiles = nFFTPoints
118 # raise ValueError, "This SpectraProc.run() need nProfiles input variable"
118 # raise ValueError, "This SpectraProc.run() need nProfiles input variable"
119
119
120
120
121 if ippFactor == None:
121 if ippFactor == None:
122 ippFactor = 1
122 ippFactor = 1
123 self.dataOut.ippFactor = ippFactor
123 self.dataOut.ippFactor = ippFactor
124
124
125 self.dataOut.nFFTPoints = nFFTPoints
125 self.dataOut.nFFTPoints = nFFTPoints
126 self.dataOut.pairsList = pairsList
126 self.dataOut.pairsList = pairsList
127
127
128 if self.buffer == None:
128 if self.buffer == None:
129 self.buffer = numpy.zeros((self.dataIn.nChannels,
129 self.buffer = numpy.zeros((self.dataIn.nChannels,
130 nProfiles,
130 nProfiles,
131 self.dataIn.nHeights),
131 self.dataIn.nHeights),
132 dtype='complex')
132 dtype='complex')
133 self.id_min = 0
133 self.id_min = 0
134 self.id_max = self.dataIn.data.shape[1]
134 self.id_max = self.dataIn.data.shape[1]
135
135
136 if len(self.dataIn.data.shape) == 2:
136 if len(self.dataIn.data.shape) == 2:
137 self.buffer[:,self.profIndex,:] = self.dataIn.data.copy()
137 self.buffer[:,self.profIndex,:] = self.dataIn.data.copy()
138 self.profIndex += 1
138 self.profIndex += 1
139 else:
139 else:
140 if self.dataIn.data.shape[1] == nProfiles:
140 if self.dataIn.data.shape[1] == nProfiles:
141 self.buffer = self.dataIn.data.copy()
141 self.buffer = self.dataIn.data.copy()
142 self.profIndex = nProfiles
142 self.profIndex = nProfiles
143 elif self.dataIn.data.shape[1] < nProfiles:
143 elif self.dataIn.data.shape[1] < nProfiles:
144 self.buffer[:,self.id_min:self.id_max,:] = self.dataIn.data
144 self.buffer[:,self.id_min:self.id_max,:] = self.dataIn.data
145 self.profIndex += self.dataIn.data.shape[1]
145 self.profIndex += self.dataIn.data.shape[1]
146 self.id_min += self.dataIn.data.shape[1]
146 self.id_min += self.dataIn.data.shape[1]
147 self.id_max += self.dataIn.data.shape[1]
147 self.id_max += self.dataIn.data.shape[1]
148 else:
148 else:
149 raise ValueError, "The type object %s has %d profiles, it should be equal to %d profiles"%(self.dataIn.type,self.dataIn.data.shape[1],nProfiles)
149 raise ValueError, "The type object %s has %d profiles, it should be equal to %d profiles"%(self.dataIn.type,self.dataIn.data.shape[1],nProfiles)
150 self.dataOut.flagNoData = True
150 self.dataOut.flagNoData = True
151 return 0
151 return 0
152
152
153
153
154 if self.firstdatatime == None:
154 if self.firstdatatime == None:
155 self.firstdatatime = self.dataIn.utctime
155 self.firstdatatime = self.dataIn.utctime
156
156
157 if self.profIndex == nProfiles:
157 if self.profIndex == nProfiles:
158 self.__updateObjFromInput()
158 self.__updateObjFromInput()
159 self.__getFft()
159 self.__getFft()
160
160
161 self.dataOut.flagNoData = False
161 self.dataOut.flagNoData = False
162
162
163 self.buffer = None
163 self.buffer = None
164 self.firstdatatime = None
164 self.firstdatatime = None
165 self.profIndex = 0
165 self.profIndex = 0
166
166
167 return True
167 return True
168
168
169 raise ValueError, "The type object %s is not valid"%(self.dataIn.type)
169 raise ValueError, "The type object %s is not valid"%(self.dataIn.type)
170
170
171 def selectChannels(self, channelList):
171 def selectChannels(self, channelList):
172
172
173 channelIndexList = []
173 channelIndexList = []
174
174
175 for channel in channelList:
175 for channel in channelList:
176 if channel not in self.dataOut.channelList:
177 continue
176 index = self.dataOut.channelList.index(channel)
178 index = self.dataOut.channelList.index(channel)
177 channelIndexList.append(index)
179 channelIndexList.append(index)
178
180
179 self.selectChannelsByIndex(channelIndexList)
181 self.selectChannelsByIndex(channelIndexList)
180
182
181 def selectChannelsByIndex(self, channelIndexList):
183 def selectChannelsByIndex(self, channelIndexList):
182 """
184 """
183 Selecciona un bloque de datos en base a canales segun el channelIndexList
185 Selecciona un bloque de datos en base a canales segun el channelIndexList
184
186
185 Input:
187 Input:
186 channelIndexList : lista sencilla de canales a seleccionar por ej. [2,3,7]
188 channelIndexList : lista sencilla de canales a seleccionar por ej. [2,3,7]
187
189
188 Affected:
190 Affected:
189 self.dataOut.data_spc
191 self.dataOut.data_spc
190 self.dataOut.channelIndexList
192 self.dataOut.channelIndexList
191 self.dataOut.nChannels
193 self.dataOut.nChannels
192
194
193 Return:
195 Return:
194 None
196 None
195 """
197 """
196
198
197 for channelIndex in channelIndexList:
199 for channelIndex in channelIndexList:
198 if channelIndex not in self.dataOut.channelIndexList:
200 if channelIndex not in self.dataOut.channelIndexList:
199 print channelIndexList
201 print channelIndexList
200 raise ValueError, "The value %d in channelIndexList is not valid" %channelIndex
202 raise ValueError, "The value %d in channelIndexList is not valid" %channelIndex
201
203
202 # nChannels = len(channelIndexList)
204 # nChannels = len(channelIndexList)
203
205
204 data_spc = self.dataOut.data_spc[channelIndexList,:]
206 data_spc = self.dataOut.data_spc[channelIndexList,:]
205
207
206 self.dataOut.data_spc = data_spc
208 self.dataOut.data_spc = data_spc
207 self.dataOut.channelList = [self.dataOut.channelList[i] for i in channelIndexList]
209 self.dataOut.channelList = [self.dataOut.channelList[i] for i in channelIndexList]
208 # self.dataOut.nChannels = nChannels
210 # self.dataOut.nChannels = nChannels
209
211
210 return 1
212 return 1
211
213
212 def selectHeights(self, minHei, maxHei):
214 def selectHeights(self, minHei, maxHei):
213 """
215 """
214 Selecciona un bloque de datos en base a un grupo de valores de alturas segun el rango
216 Selecciona un bloque de datos en base a un grupo de valores de alturas segun el rango
215 minHei <= height <= maxHei
217 minHei <= height <= maxHei
216
218
217 Input:
219 Input:
218 minHei : valor minimo de altura a considerar
220 minHei : valor minimo de altura a considerar
219 maxHei : valor maximo de altura a considerar
221 maxHei : valor maximo de altura a considerar
220
222
221 Affected:
223 Affected:
222 Indirectamente son cambiados varios valores a travez del metodo selectHeightsByIndex
224 Indirectamente son cambiados varios valores a travez del metodo selectHeightsByIndex
223
225
224 Return:
226 Return:
225 1 si el metodo se ejecuto con exito caso contrario devuelve 0
227 1 si el metodo se ejecuto con exito caso contrario devuelve 0
226 """
228 """
227 if (minHei < self.dataOut.heightList[0]) or (minHei > maxHei):
229 if (minHei < self.dataOut.heightList[0]) or (minHei > maxHei):
228 raise ValueError, "some value in (%d,%d) is not valid" % (minHei, maxHei)
230 raise ValueError, "some value in (%d,%d) is not valid" % (minHei, maxHei)
229
231
230 if (maxHei > self.dataOut.heightList[-1]):
232 if (maxHei > self.dataOut.heightList[-1]):
231 maxHei = self.dataOut.heightList[-1]
233 maxHei = self.dataOut.heightList[-1]
232 # raise ValueError, "some value in (%d,%d) is not valid" % (minHei, maxHei)
234 # raise ValueError, "some value in (%d,%d) is not valid" % (minHei, maxHei)
233
235
234 minIndex = 0
236 minIndex = 0
235 maxIndex = 0
237 maxIndex = 0
236 heights = self.dataOut.heightList
238 heights = self.dataOut.heightList
237
239
238 inda = numpy.where(heights >= minHei)
240 inda = numpy.where(heights >= minHei)
239 indb = numpy.where(heights <= maxHei)
241 indb = numpy.where(heights <= maxHei)
240
242
241 try:
243 try:
242 minIndex = inda[0][0]
244 minIndex = inda[0][0]
243 except:
245 except:
244 minIndex = 0
246 minIndex = 0
245
247
246 try:
248 try:
247 maxIndex = indb[0][-1]
249 maxIndex = indb[0][-1]
248 except:
250 except:
249 maxIndex = len(heights)
251 maxIndex = len(heights)
250
252
251 self.selectHeightsByIndex(minIndex, maxIndex)
253 self.selectHeightsByIndex(minIndex, maxIndex)
252
254
253 return 1
255 return 1
254
256
255 def getBeaconSignal(self, tauindex = 0, channelindex = 0, hei_ref=None):
257 def getBeaconSignal(self, tauindex = 0, channelindex = 0, hei_ref=None):
256 newheis = numpy.where(self.dataOut.heightList>self.dataOut.radarControllerHeaderObj.Taus[tauindex])
258 newheis = numpy.where(self.dataOut.heightList>self.dataOut.radarControllerHeaderObj.Taus[tauindex])
257
259
258 if hei_ref != None:
260 if hei_ref != None:
259 newheis = numpy.where(self.dataOut.heightList>hei_ref)
261 newheis = numpy.where(self.dataOut.heightList>hei_ref)
260
262
261 minIndex = min(newheis[0])
263 minIndex = min(newheis[0])
262 maxIndex = max(newheis[0])
264 maxIndex = max(newheis[0])
263 data_spc = self.dataOut.data_spc[:,:,minIndex:maxIndex+1]
265 data_spc = self.dataOut.data_spc[:,:,minIndex:maxIndex+1]
264 heightList = self.dataOut.heightList[minIndex:maxIndex+1]
266 heightList = self.dataOut.heightList[minIndex:maxIndex+1]
265
267
266 # determina indices
268 # determina indices
267 nheis = int(self.dataOut.radarControllerHeaderObj.txB/(self.dataOut.heightList[1]-self.dataOut.heightList[0]))
269 nheis = int(self.dataOut.radarControllerHeaderObj.txB/(self.dataOut.heightList[1]-self.dataOut.heightList[0]))
268 avg_dB = 10*numpy.log10(numpy.sum(data_spc[channelindex,:,:],axis=0))
270 avg_dB = 10*numpy.log10(numpy.sum(data_spc[channelindex,:,:],axis=0))
269 beacon_dB = numpy.sort(avg_dB)[-nheis:]
271 beacon_dB = numpy.sort(avg_dB)[-nheis:]
270 beacon_heiIndexList = []
272 beacon_heiIndexList = []
271 for val in avg_dB.tolist():
273 for val in avg_dB.tolist():
272 if val >= beacon_dB[0]:
274 if val >= beacon_dB[0]:
273 beacon_heiIndexList.append(avg_dB.tolist().index(val))
275 beacon_heiIndexList.append(avg_dB.tolist().index(val))
274
276
275 #data_spc = data_spc[:,:,beacon_heiIndexList]
277 #data_spc = data_spc[:,:,beacon_heiIndexList]
276 data_cspc = None
278 data_cspc = None
277 if self.dataOut.data_cspc != None:
279 if self.dataOut.data_cspc != None:
278 data_cspc = self.dataOut.data_cspc[:,:,minIndex:maxIndex+1]
280 data_cspc = self.dataOut.data_cspc[:,:,minIndex:maxIndex+1]
279 #data_cspc = data_cspc[:,:,beacon_heiIndexList]
281 #data_cspc = data_cspc[:,:,beacon_heiIndexList]
280
282
281 data_dc = None
283 data_dc = None
282 if self.dataOut.data_dc != None:
284 if self.dataOut.data_dc != None:
283 data_dc = self.dataOut.data_dc[:,minIndex:maxIndex+1]
285 data_dc = self.dataOut.data_dc[:,minIndex:maxIndex+1]
284 #data_dc = data_dc[:,beacon_heiIndexList]
286 #data_dc = data_dc[:,beacon_heiIndexList]
285
287
286 self.dataOut.data_spc = data_spc
288 self.dataOut.data_spc = data_spc
287 self.dataOut.data_cspc = data_cspc
289 self.dataOut.data_cspc = data_cspc
288 self.dataOut.data_dc = data_dc
290 self.dataOut.data_dc = data_dc
289 self.dataOut.heightList = heightList
291 self.dataOut.heightList = heightList
290 self.dataOut.beacon_heiIndexList = beacon_heiIndexList
292 self.dataOut.beacon_heiIndexList = beacon_heiIndexList
291
293
292 return 1
294 return 1
293
295
294
296
295 def selectHeightsByIndex(self, minIndex, maxIndex):
297 def selectHeightsByIndex(self, minIndex, maxIndex):
296 """
298 """
297 Selecciona un bloque de datos en base a un grupo indices de alturas segun el rango
299 Selecciona un bloque de datos en base a un grupo indices de alturas segun el rango
298 minIndex <= index <= maxIndex
300 minIndex <= index <= maxIndex
299
301
300 Input:
302 Input:
301 minIndex : valor de indice minimo de altura a considerar
303 minIndex : valor de indice minimo de altura a considerar
302 maxIndex : valor de indice maximo de altura a considerar
304 maxIndex : valor de indice maximo de altura a considerar
303
305
304 Affected:
306 Affected:
305 self.dataOut.data_spc
307 self.dataOut.data_spc
306 self.dataOut.data_cspc
308 self.dataOut.data_cspc
307 self.dataOut.data_dc
309 self.dataOut.data_dc
308 self.dataOut.heightList
310 self.dataOut.heightList
309
311
310 Return:
312 Return:
311 1 si el metodo se ejecuto con exito caso contrario devuelve 0
313 1 si el metodo se ejecuto con exito caso contrario devuelve 0
312 """
314 """
313
315
314 if (minIndex < 0) or (minIndex > maxIndex):
316 if (minIndex < 0) or (minIndex > maxIndex):
315 raise ValueError, "some value in (%d,%d) is not valid" % (minIndex, maxIndex)
317 raise ValueError, "some value in (%d,%d) is not valid" % (minIndex, maxIndex)
316
318
317 if (maxIndex >= self.dataOut.nHeights):
319 if (maxIndex >= self.dataOut.nHeights):
318 maxIndex = self.dataOut.nHeights-1
320 maxIndex = self.dataOut.nHeights-1
319 # raise ValueError, "some value in (%d,%d) is not valid" % (minIndex, maxIndex)
321 # raise ValueError, "some value in (%d,%d) is not valid" % (minIndex, maxIndex)
320
322
321 # nHeights = maxIndex - minIndex + 1
323 # nHeights = maxIndex - minIndex + 1
322
324
323 #Spectra
325 #Spectra
324 data_spc = self.dataOut.data_spc[:,:,minIndex:maxIndex+1]
326 data_spc = self.dataOut.data_spc[:,:,minIndex:maxIndex+1]
325
327
326 data_cspc = None
328 data_cspc = None
327 if self.dataOut.data_cspc != None:
329 if self.dataOut.data_cspc != None:
328 data_cspc = self.dataOut.data_cspc[:,:,minIndex:maxIndex+1]
330 data_cspc = self.dataOut.data_cspc[:,:,minIndex:maxIndex+1]
329
331
330 data_dc = None
332 data_dc = None
331 if self.dataOut.data_dc != None:
333 if self.dataOut.data_dc != None:
332 data_dc = self.dataOut.data_dc[:,minIndex:maxIndex+1]
334 data_dc = self.dataOut.data_dc[:,minIndex:maxIndex+1]
333
335
334 self.dataOut.data_spc = data_spc
336 self.dataOut.data_spc = data_spc
335 self.dataOut.data_cspc = data_cspc
337 self.dataOut.data_cspc = data_cspc
336 self.dataOut.data_dc = data_dc
338 self.dataOut.data_dc = data_dc
337
339
338 self.dataOut.heightList = self.dataOut.heightList[minIndex:maxIndex+1]
340 self.dataOut.heightList = self.dataOut.heightList[minIndex:maxIndex+1]
339
341
340 return 1
342 return 1
341
343
342 def removeDC(self, mode = 2):
344 def removeDC(self, mode = 2):
343 jspectra = self.dataOut.data_spc
345 jspectra = self.dataOut.data_spc
344 jcspectra = self.dataOut.data_cspc
346 jcspectra = self.dataOut.data_cspc
345
347
346
348
347 num_chan = jspectra.shape[0]
349 num_chan = jspectra.shape[0]
348 num_hei = jspectra.shape[2]
350 num_hei = jspectra.shape[2]
349
351
350 if jcspectra != None:
352 if jcspectra != None:
351 jcspectraExist = True
353 jcspectraExist = True
352 num_pairs = jcspectra.shape[0]
354 num_pairs = jcspectra.shape[0]
353 else: jcspectraExist = False
355 else: jcspectraExist = False
354
356
355 freq_dc = jspectra.shape[1]/2
357 freq_dc = jspectra.shape[1]/2
356 ind_vel = numpy.array([-2,-1,1,2]) + freq_dc
358 ind_vel = numpy.array([-2,-1,1,2]) + freq_dc
357
359
358 if ind_vel[0]<0:
360 if ind_vel[0]<0:
359 ind_vel[range(0,1)] = ind_vel[range(0,1)] + self.num_prof
361 ind_vel[range(0,1)] = ind_vel[range(0,1)] + self.num_prof
360
362
361 if mode == 1:
363 if mode == 1:
362 jspectra[:,freq_dc,:] = (jspectra[:,ind_vel[1],:] + jspectra[:,ind_vel[2],:])/2 #CORRECCION
364 jspectra[:,freq_dc,:] = (jspectra[:,ind_vel[1],:] + jspectra[:,ind_vel[2],:])/2 #CORRECCION
363
365
364 if jcspectraExist:
366 if jcspectraExist:
365 jcspectra[:,freq_dc,:] = (jcspectra[:,ind_vel[1],:] + jcspectra[:,ind_vel[2],:])/2
367 jcspectra[:,freq_dc,:] = (jcspectra[:,ind_vel[1],:] + jcspectra[:,ind_vel[2],:])/2
366
368
367 if mode == 2:
369 if mode == 2:
368
370
369 vel = numpy.array([-2,-1,1,2])
371 vel = numpy.array([-2,-1,1,2])
370 xx = numpy.zeros([4,4])
372 xx = numpy.zeros([4,4])
371
373
372 for fil in range(4):
374 for fil in range(4):
373 xx[fil,:] = vel[fil]**numpy.asarray(range(4))
375 xx[fil,:] = vel[fil]**numpy.asarray(range(4))
374
376
375 xx_inv = numpy.linalg.inv(xx)
377 xx_inv = numpy.linalg.inv(xx)
376 xx_aux = xx_inv[0,:]
378 xx_aux = xx_inv[0,:]
377
379
378 for ich in range(num_chan):
380 for ich in range(num_chan):
379 yy = jspectra[ich,ind_vel,:]
381 yy = jspectra[ich,ind_vel,:]
380 jspectra[ich,freq_dc,:] = numpy.dot(xx_aux,yy)
382 jspectra[ich,freq_dc,:] = numpy.dot(xx_aux,yy)
381
383
382 junkid = jspectra[ich,freq_dc,:]<=0
384 junkid = jspectra[ich,freq_dc,:]<=0
383 cjunkid = sum(junkid)
385 cjunkid = sum(junkid)
384
386
385 if cjunkid.any():
387 if cjunkid.any():
386 jspectra[ich,freq_dc,junkid.nonzero()] = (jspectra[ich,ind_vel[1],junkid] + jspectra[ich,ind_vel[2],junkid])/2
388 jspectra[ich,freq_dc,junkid.nonzero()] = (jspectra[ich,ind_vel[1],junkid] + jspectra[ich,ind_vel[2],junkid])/2
387
389
388 if jcspectraExist:
390 if jcspectraExist:
389 for ip in range(num_pairs):
391 for ip in range(num_pairs):
390 yy = jcspectra[ip,ind_vel,:]
392 yy = jcspectra[ip,ind_vel,:]
391 jcspectra[ip,freq_dc,:] = numpy.dot(xx_aux,yy)
393 jcspectra[ip,freq_dc,:] = numpy.dot(xx_aux,yy)
392
394
393
395
394 self.dataOut.data_spc = jspectra
396 self.dataOut.data_spc = jspectra
395 self.dataOut.data_cspc = jcspectra
397 self.dataOut.data_cspc = jcspectra
396
398
397 return 1
399 return 1
398
400
399 def removeInterference(self, interf = 2,hei_interf = None, nhei_interf = None, offhei_interf = None):
401 def removeInterference(self, interf = 2,hei_interf = None, nhei_interf = None, offhei_interf = None):
400
402
401 jspectra = self.dataOut.data_spc
403 jspectra = self.dataOut.data_spc
402 jcspectra = self.dataOut.data_cspc
404 jcspectra = self.dataOut.data_cspc
403 jnoise = self.dataOut.getNoise()
405 jnoise = self.dataOut.getNoise()
404 num_incoh = self.dataOut.nIncohInt
406 num_incoh = self.dataOut.nIncohInt
405
407
406 num_channel = jspectra.shape[0]
408 num_channel = jspectra.shape[0]
407 num_prof = jspectra.shape[1]
409 num_prof = jspectra.shape[1]
408 num_hei = jspectra.shape[2]
410 num_hei = jspectra.shape[2]
409
411
410 #hei_interf
412 #hei_interf
411 if hei_interf == None:
413 if hei_interf == None:
412 count_hei = num_hei/2 #Como es entero no importa
414 count_hei = num_hei/2 #Como es entero no importa
413 hei_interf = numpy.asmatrix(range(count_hei)) + num_hei - count_hei
415 hei_interf = numpy.asmatrix(range(count_hei)) + num_hei - count_hei
414 hei_interf = numpy.asarray(hei_interf)[0]
416 hei_interf = numpy.asarray(hei_interf)[0]
415 #nhei_interf
417 #nhei_interf
416 if (nhei_interf == None):
418 if (nhei_interf == None):
417 nhei_interf = 5
419 nhei_interf = 5
418 if (nhei_interf < 1):
420 if (nhei_interf < 1):
419 nhei_interf = 1
421 nhei_interf = 1
420 if (nhei_interf > count_hei):
422 if (nhei_interf > count_hei):
421 nhei_interf = count_hei
423 nhei_interf = count_hei
422 if (offhei_interf == None):
424 if (offhei_interf == None):
423 offhei_interf = 0
425 offhei_interf = 0
424
426
425 ind_hei = range(num_hei)
427 ind_hei = range(num_hei)
426 # mask_prof = numpy.asarray(range(num_prof - 2)) + 1
428 # mask_prof = numpy.asarray(range(num_prof - 2)) + 1
427 # mask_prof[range(num_prof/2 - 1,len(mask_prof))] += 1
429 # mask_prof[range(num_prof/2 - 1,len(mask_prof))] += 1
428 mask_prof = numpy.asarray(range(num_prof))
430 mask_prof = numpy.asarray(range(num_prof))
429 num_mask_prof = mask_prof.size
431 num_mask_prof = mask_prof.size
430 comp_mask_prof = [0, num_prof/2]
432 comp_mask_prof = [0, num_prof/2]
431
433
432
434
433 #noise_exist: Determina si la variable jnoise ha sido definida y contiene la informacion del ruido de cada canal
435 #noise_exist: Determina si la variable jnoise ha sido definida y contiene la informacion del ruido de cada canal
434 if (jnoise.size < num_channel or numpy.isnan(jnoise).any()):
436 if (jnoise.size < num_channel or numpy.isnan(jnoise).any()):
435 jnoise = numpy.nan
437 jnoise = numpy.nan
436 noise_exist = jnoise[0] < numpy.Inf
438 noise_exist = jnoise[0] < numpy.Inf
437
439
438 #Subrutina de Remocion de la Interferencia
440 #Subrutina de Remocion de la Interferencia
439 for ich in range(num_channel):
441 for ich in range(num_channel):
440 #Se ordena los espectros segun su potencia (menor a mayor)
442 #Se ordena los espectros segun su potencia (menor a mayor)
441 power = jspectra[ich,mask_prof,:]
443 power = jspectra[ich,mask_prof,:]
442 power = power[:,hei_interf]
444 power = power[:,hei_interf]
443 power = power.sum(axis = 0)
445 power = power.sum(axis = 0)
444 psort = power.ravel().argsort()
446 psort = power.ravel().argsort()
445
447
446 #Se estima la interferencia promedio en los Espectros de Potencia empleando
448 #Se estima la interferencia promedio en los Espectros de Potencia empleando
447 junkspc_interf = jspectra[ich,:,hei_interf[psort[range(offhei_interf, nhei_interf + offhei_interf)]]]
449 junkspc_interf = jspectra[ich,:,hei_interf[psort[range(offhei_interf, nhei_interf + offhei_interf)]]]
448
450
449 if noise_exist:
451 if noise_exist:
450 # tmp_noise = jnoise[ich] / num_prof
452 # tmp_noise = jnoise[ich] / num_prof
451 tmp_noise = jnoise[ich]
453 tmp_noise = jnoise[ich]
452 junkspc_interf = junkspc_interf - tmp_noise
454 junkspc_interf = junkspc_interf - tmp_noise
453 #junkspc_interf[:,comp_mask_prof] = 0
455 #junkspc_interf[:,comp_mask_prof] = 0
454
456
455 jspc_interf = junkspc_interf.sum(axis = 0) / nhei_interf
457 jspc_interf = junkspc_interf.sum(axis = 0) / nhei_interf
456 jspc_interf = jspc_interf.transpose()
458 jspc_interf = jspc_interf.transpose()
457 #Calculando el espectro de interferencia promedio
459 #Calculando el espectro de interferencia promedio
458 noiseid = numpy.where(jspc_interf <= tmp_noise/ math.sqrt(num_incoh))
460 noiseid = numpy.where(jspc_interf <= tmp_noise/ math.sqrt(num_incoh))
459 noiseid = noiseid[0]
461 noiseid = noiseid[0]
460 cnoiseid = noiseid.size
462 cnoiseid = noiseid.size
461 interfid = numpy.where(jspc_interf > tmp_noise/ math.sqrt(num_incoh))
463 interfid = numpy.where(jspc_interf > tmp_noise/ math.sqrt(num_incoh))
462 interfid = interfid[0]
464 interfid = interfid[0]
463 cinterfid = interfid.size
465 cinterfid = interfid.size
464
466
465 if (cnoiseid > 0): jspc_interf[noiseid] = 0
467 if (cnoiseid > 0): jspc_interf[noiseid] = 0
466
468
467 #Expandiendo los perfiles a limpiar
469 #Expandiendo los perfiles a limpiar
468 if (cinterfid > 0):
470 if (cinterfid > 0):
469 new_interfid = (numpy.r_[interfid - 1, interfid, interfid + 1] + num_prof)%num_prof
471 new_interfid = (numpy.r_[interfid - 1, interfid, interfid + 1] + num_prof)%num_prof
470 new_interfid = numpy.asarray(new_interfid)
472 new_interfid = numpy.asarray(new_interfid)
471 new_interfid = {x for x in new_interfid}
473 new_interfid = {x for x in new_interfid}
472 new_interfid = numpy.array(list(new_interfid))
474 new_interfid = numpy.array(list(new_interfid))
473 new_cinterfid = new_interfid.size
475 new_cinterfid = new_interfid.size
474 else: new_cinterfid = 0
476 else: new_cinterfid = 0
475
477
476 for ip in range(new_cinterfid):
478 for ip in range(new_cinterfid):
477 ind = junkspc_interf[:,new_interfid[ip]].ravel().argsort()
479 ind = junkspc_interf[:,new_interfid[ip]].ravel().argsort()
478 jspc_interf[new_interfid[ip]] = junkspc_interf[ind[nhei_interf/2],new_interfid[ip]]
480 jspc_interf[new_interfid[ip]] = junkspc_interf[ind[nhei_interf/2],new_interfid[ip]]
479
481
480
482
481 jspectra[ich,:,ind_hei] = jspectra[ich,:,ind_hei] - jspc_interf #Corregir indices
483 jspectra[ich,:,ind_hei] = jspectra[ich,:,ind_hei] - jspc_interf #Corregir indices
482
484
483 #Removiendo la interferencia del punto de mayor interferencia
485 #Removiendo la interferencia del punto de mayor interferencia
484 ListAux = jspc_interf[mask_prof].tolist()
486 ListAux = jspc_interf[mask_prof].tolist()
485 maxid = ListAux.index(max(ListAux))
487 maxid = ListAux.index(max(ListAux))
486
488
487
489
488 if cinterfid > 0:
490 if cinterfid > 0:
489 for ip in range(cinterfid*(interf == 2) - 1):
491 for ip in range(cinterfid*(interf == 2) - 1):
490 ind = (jspectra[ich,interfid[ip],:] < tmp_noise*(1 + 1/math.sqrt(num_incoh))).nonzero()
492 ind = (jspectra[ich,interfid[ip],:] < tmp_noise*(1 + 1/math.sqrt(num_incoh))).nonzero()
491 cind = len(ind)
493 cind = len(ind)
492
494
493 if (cind > 0):
495 if (cind > 0):
494 jspectra[ich,interfid[ip],ind] = tmp_noise*(1 + (numpy.random.uniform(cind) - 0.5)/math.sqrt(num_incoh))
496 jspectra[ich,interfid[ip],ind] = tmp_noise*(1 + (numpy.random.uniform(cind) - 0.5)/math.sqrt(num_incoh))
495
497
496 ind = numpy.array([-2,-1,1,2])
498 ind = numpy.array([-2,-1,1,2])
497 xx = numpy.zeros([4,4])
499 xx = numpy.zeros([4,4])
498
500
499 for id1 in range(4):
501 for id1 in range(4):
500 xx[:,id1] = ind[id1]**numpy.asarray(range(4))
502 xx[:,id1] = ind[id1]**numpy.asarray(range(4))
501
503
502 xx_inv = numpy.linalg.inv(xx)
504 xx_inv = numpy.linalg.inv(xx)
503 xx = xx_inv[:,0]
505 xx = xx_inv[:,0]
504 ind = (ind + maxid + num_mask_prof)%num_mask_prof
506 ind = (ind + maxid + num_mask_prof)%num_mask_prof
505 yy = jspectra[ich,mask_prof[ind],:]
507 yy = jspectra[ich,mask_prof[ind],:]
506 jspectra[ich,mask_prof[maxid],:] = numpy.dot(yy.transpose(),xx)
508 jspectra[ich,mask_prof[maxid],:] = numpy.dot(yy.transpose(),xx)
507
509
508
510
509 indAux = (jspectra[ich,:,:] < tmp_noise*(1-1/math.sqrt(num_incoh))).nonzero()
511 indAux = (jspectra[ich,:,:] < tmp_noise*(1-1/math.sqrt(num_incoh))).nonzero()
510 jspectra[ich,indAux[0],indAux[1]] = tmp_noise * (1 - 1/math.sqrt(num_incoh))
512 jspectra[ich,indAux[0],indAux[1]] = tmp_noise * (1 - 1/math.sqrt(num_incoh))
511
513
512 #Remocion de Interferencia en el Cross Spectra
514 #Remocion de Interferencia en el Cross Spectra
513 if jcspectra == None: return jspectra, jcspectra
515 if jcspectra == None: return jspectra, jcspectra
514 num_pairs = jcspectra.size/(num_prof*num_hei)
516 num_pairs = jcspectra.size/(num_prof*num_hei)
515 jcspectra = jcspectra.reshape(num_pairs, num_prof, num_hei)
517 jcspectra = jcspectra.reshape(num_pairs, num_prof, num_hei)
516
518
517 for ip in range(num_pairs):
519 for ip in range(num_pairs):
518
520
519 #-------------------------------------------
521 #-------------------------------------------
520
522
521 cspower = numpy.abs(jcspectra[ip,mask_prof,:])
523 cspower = numpy.abs(jcspectra[ip,mask_prof,:])
522 cspower = cspower[:,hei_interf]
524 cspower = cspower[:,hei_interf]
523 cspower = cspower.sum(axis = 0)
525 cspower = cspower.sum(axis = 0)
524
526
525 cspsort = cspower.ravel().argsort()
527 cspsort = cspower.ravel().argsort()
526 junkcspc_interf = jcspectra[ip,:,hei_interf[cspsort[range(offhei_interf, nhei_interf + offhei_interf)]]]
528 junkcspc_interf = jcspectra[ip,:,hei_interf[cspsort[range(offhei_interf, nhei_interf + offhei_interf)]]]
527 junkcspc_interf = junkcspc_interf.transpose()
529 junkcspc_interf = junkcspc_interf.transpose()
528 jcspc_interf = junkcspc_interf.sum(axis = 1)/nhei_interf
530 jcspc_interf = junkcspc_interf.sum(axis = 1)/nhei_interf
529
531
530 ind = numpy.abs(jcspc_interf[mask_prof]).ravel().argsort()
532 ind = numpy.abs(jcspc_interf[mask_prof]).ravel().argsort()
531
533
532 median_real = numpy.median(numpy.real(junkcspc_interf[mask_prof[ind[range(3*num_prof/4)]],:]))
534 median_real = numpy.median(numpy.real(junkcspc_interf[mask_prof[ind[range(3*num_prof/4)]],:]))
533 median_imag = numpy.median(numpy.imag(junkcspc_interf[mask_prof[ind[range(3*num_prof/4)]],:]))
535 median_imag = numpy.median(numpy.imag(junkcspc_interf[mask_prof[ind[range(3*num_prof/4)]],:]))
534 junkcspc_interf[comp_mask_prof,:] = numpy.complex(median_real, median_imag)
536 junkcspc_interf[comp_mask_prof,:] = numpy.complex(median_real, median_imag)
535
537
536 for iprof in range(num_prof):
538 for iprof in range(num_prof):
537 ind = numpy.abs(junkcspc_interf[iprof,:]).ravel().argsort()
539 ind = numpy.abs(junkcspc_interf[iprof,:]).ravel().argsort()
538 jcspc_interf[iprof] = junkcspc_interf[iprof, ind[nhei_interf/2]]
540 jcspc_interf[iprof] = junkcspc_interf[iprof, ind[nhei_interf/2]]
539
541
540 #Removiendo la Interferencia
542 #Removiendo la Interferencia
541 jcspectra[ip,:,ind_hei] = jcspectra[ip,:,ind_hei] - jcspc_interf
543 jcspectra[ip,:,ind_hei] = jcspectra[ip,:,ind_hei] - jcspc_interf
542
544
543 ListAux = numpy.abs(jcspc_interf[mask_prof]).tolist()
545 ListAux = numpy.abs(jcspc_interf[mask_prof]).tolist()
544 maxid = ListAux.index(max(ListAux))
546 maxid = ListAux.index(max(ListAux))
545
547
546 ind = numpy.array([-2,-1,1,2])
548 ind = numpy.array([-2,-1,1,2])
547 xx = numpy.zeros([4,4])
549 xx = numpy.zeros([4,4])
548
550
549 for id1 in range(4):
551 for id1 in range(4):
550 xx[:,id1] = ind[id1]**numpy.asarray(range(4))
552 xx[:,id1] = ind[id1]**numpy.asarray(range(4))
551
553
552 xx_inv = numpy.linalg.inv(xx)
554 xx_inv = numpy.linalg.inv(xx)
553 xx = xx_inv[:,0]
555 xx = xx_inv[:,0]
554
556
555 ind = (ind + maxid + num_mask_prof)%num_mask_prof
557 ind = (ind + maxid + num_mask_prof)%num_mask_prof
556 yy = jcspectra[ip,mask_prof[ind],:]
558 yy = jcspectra[ip,mask_prof[ind],:]
557 jcspectra[ip,mask_prof[maxid],:] = numpy.dot(yy.transpose(),xx)
559 jcspectra[ip,mask_prof[maxid],:] = numpy.dot(yy.transpose(),xx)
558
560
559 #Guardar Resultados
561 #Guardar Resultados
560 self.dataOut.data_spc = jspectra
562 self.dataOut.data_spc = jspectra
561 self.dataOut.data_cspc = jcspectra
563 self.dataOut.data_cspc = jcspectra
562
564
563 return 1
565 return 1
564
566
565 def setRadarFrequency(self, frequency=None):
567 def setRadarFrequency(self, frequency=None):
566 if frequency != None:
568 if frequency != None:
567 self.dataOut.frequency = frequency
569 self.dataOut.frequency = frequency
568
570
569 return 1
571 return 1
570
572
571 def getNoise(self, minHei=None, maxHei=None, minVel=None, maxVel=None):
573 def getNoise(self, minHei=None, maxHei=None, minVel=None, maxVel=None):
572 #validacion de rango
574 #validacion de rango
573 if minHei == None:
575 if minHei == None:
574 minHei = self.dataOut.heightList[0]
576 minHei = self.dataOut.heightList[0]
575
577
576 if maxHei == None:
578 if maxHei == None:
577 maxHei = self.dataOut.heightList[-1]
579 maxHei = self.dataOut.heightList[-1]
578
580
579 if (minHei < self.dataOut.heightList[0]) or (minHei > maxHei):
581 if (minHei < self.dataOut.heightList[0]) or (minHei > maxHei):
580 print 'minHei: %.2f is out of the heights range'%(minHei)
582 print 'minHei: %.2f is out of the heights range'%(minHei)
581 print 'minHei is setting to %.2f'%(self.dataOut.heightList[0])
583 print 'minHei is setting to %.2f'%(self.dataOut.heightList[0])
582 minHei = self.dataOut.heightList[0]
584 minHei = self.dataOut.heightList[0]
583
585
584 if (maxHei > self.dataOut.heightList[-1]) or (maxHei < minHei):
586 if (maxHei > self.dataOut.heightList[-1]) or (maxHei < minHei):
585 print 'maxHei: %.2f is out of the heights range'%(maxHei)
587 print 'maxHei: %.2f is out of the heights range'%(maxHei)
586 print 'maxHei is setting to %.2f'%(self.dataOut.heightList[-1])
588 print 'maxHei is setting to %.2f'%(self.dataOut.heightList[-1])
587 maxHei = self.dataOut.heightList[-1]
589 maxHei = self.dataOut.heightList[-1]
588
590
589 # validacion de velocidades
591 # validacion de velocidades
590 velrange = self.dataOut.getVelRange(1)
592 velrange = self.dataOut.getVelRange(1)
591
593
592 if minVel == None:
594 if minVel == None:
593 minVel = velrange[0]
595 minVel = velrange[0]
594
596
595 if maxVel == None:
597 if maxVel == None:
596 maxVel = velrange[-1]
598 maxVel = velrange[-1]
597
599
598 if (minVel < velrange[0]) or (minVel > maxVel):
600 if (minVel < velrange[0]) or (minVel > maxVel):
599 print 'minVel: %.2f is out of the velocity range'%(minVel)
601 print 'minVel: %.2f is out of the velocity range'%(minVel)
600 print 'minVel is setting to %.2f'%(velrange[0])
602 print 'minVel is setting to %.2f'%(velrange[0])
601 minVel = velrange[0]
603 minVel = velrange[0]
602
604
603 if (maxVel > velrange[-1]) or (maxVel < minVel):
605 if (maxVel > velrange[-1]) or (maxVel < minVel):
604 print 'maxVel: %.2f is out of the velocity range'%(maxVel)
606 print 'maxVel: %.2f is out of the velocity range'%(maxVel)
605 print 'maxVel is setting to %.2f'%(velrange[-1])
607 print 'maxVel is setting to %.2f'%(velrange[-1])
606 maxVel = velrange[-1]
608 maxVel = velrange[-1]
607
609
608 # seleccion de indices para rango
610 # seleccion de indices para rango
609 minIndex = 0
611 minIndex = 0
610 maxIndex = 0
612 maxIndex = 0
611 heights = self.dataOut.heightList
613 heights = self.dataOut.heightList
612
614
613 inda = numpy.where(heights >= minHei)
615 inda = numpy.where(heights >= minHei)
614 indb = numpy.where(heights <= maxHei)
616 indb = numpy.where(heights <= maxHei)
615
617
616 try:
618 try:
617 minIndex = inda[0][0]
619 minIndex = inda[0][0]
618 except:
620 except:
619 minIndex = 0
621 minIndex = 0
620
622
621 try:
623 try:
622 maxIndex = indb[0][-1]
624 maxIndex = indb[0][-1]
623 except:
625 except:
624 maxIndex = len(heights)
626 maxIndex = len(heights)
625
627
626 if (minIndex < 0) or (minIndex > maxIndex):
628 if (minIndex < 0) or (minIndex > maxIndex):
627 raise ValueError, "some value in (%d,%d) is not valid" % (minIndex, maxIndex)
629 raise ValueError, "some value in (%d,%d) is not valid" % (minIndex, maxIndex)
628
630
629 if (maxIndex >= self.dataOut.nHeights):
631 if (maxIndex >= self.dataOut.nHeights):
630 maxIndex = self.dataOut.nHeights-1
632 maxIndex = self.dataOut.nHeights-1
631
633
632 # seleccion de indices para velocidades
634 # seleccion de indices para velocidades
633 indminvel = numpy.where(velrange >= minVel)
635 indminvel = numpy.where(velrange >= minVel)
634 indmaxvel = numpy.where(velrange <= maxVel)
636 indmaxvel = numpy.where(velrange <= maxVel)
635 try:
637 try:
636 minIndexVel = indminvel[0][0]
638 minIndexVel = indminvel[0][0]
637 except:
639 except:
638 minIndexVel = 0
640 minIndexVel = 0
639
641
640 try:
642 try:
641 maxIndexVel = indmaxvel[0][-1]
643 maxIndexVel = indmaxvel[0][-1]
642 except:
644 except:
643 maxIndexVel = len(velrange)
645 maxIndexVel = len(velrange)
644
646
645 #seleccion del espectro
647 #seleccion del espectro
646 data_spc = self.dataOut.data_spc[:,minIndexVel:maxIndexVel+1,minIndex:maxIndex+1]
648 data_spc = self.dataOut.data_spc[:,minIndexVel:maxIndexVel+1,minIndex:maxIndex+1]
647 #estimacion de ruido
649 #estimacion de ruido
648 noise = numpy.zeros(self.dataOut.nChannels)
650 noise = numpy.zeros(self.dataOut.nChannels)
649
651
650 for channel in range(self.dataOut.nChannels):
652 for channel in range(self.dataOut.nChannels):
651 daux = data_spc[channel,:,:]
653 daux = data_spc[channel,:,:]
652 noise[channel] = hildebrand_sekhon(daux, self.dataOut.nIncohInt)
654 noise[channel] = hildebrand_sekhon(daux, self.dataOut.nIncohInt)
653
655
654 self.dataOut.noise_estimation = noise.copy()
656 self.dataOut.noise_estimation = noise.copy()
655
657
656 return 1
658 return 1
657
659
658 class IncohInt(Operation):
660 class IncohInt(Operation):
659
661
660
662
661 __profIndex = 0
663 __profIndex = 0
662 __withOverapping = False
664 __withOverapping = False
663
665
664 __byTime = False
666 __byTime = False
665 __initime = None
667 __initime = None
666 __lastdatatime = None
668 __lastdatatime = None
667 __integrationtime = None
669 __integrationtime = None
668
670
669 __buffer_spc = None
671 __buffer_spc = None
670 __buffer_cspc = None
672 __buffer_cspc = None
671 __buffer_dc = None
673 __buffer_dc = None
672
674
673 __dataReady = False
675 __dataReady = False
674
676
675 __timeInterval = None
677 __timeInterval = None
676
678
677 n = None
679 n = None
678
680
679
681
680
682
681 def __init__(self):
683 def __init__(self):
682
684
683 Operation.__init__(self)
685 Operation.__init__(self)
684 # self.isConfig = False
686 # self.isConfig = False
685
687
686 def setup(self, n=None, timeInterval=None, overlapping=False):
688 def setup(self, n=None, timeInterval=None, overlapping=False):
687 """
689 """
688 Set the parameters of the integration class.
690 Set the parameters of the integration class.
689
691
690 Inputs:
692 Inputs:
691
693
692 n : Number of coherent integrations
694 n : Number of coherent integrations
693 timeInterval : Time of integration. If the parameter "n" is selected this one does not work
695 timeInterval : Time of integration. If the parameter "n" is selected this one does not work
694 overlapping :
696 overlapping :
695
697
696 """
698 """
697
699
698 self.__initime = None
700 self.__initime = None
699 self.__lastdatatime = 0
701 self.__lastdatatime = 0
700 self.__buffer_spc = None
702 self.__buffer_spc = None
701 self.__buffer_cspc = None
703 self.__buffer_cspc = None
702 self.__buffer_dc = None
704 self.__buffer_dc = None
703 self.__dataReady = False
705 self.__dataReady = False
704
706
705
707
706 if n == None and timeInterval == None:
708 if n == None and timeInterval == None:
707 raise ValueError, "n or timeInterval should be specified ..."
709 raise ValueError, "n or timeInterval should be specified ..."
708
710
709 if n != None:
711 if n != None:
710 self.n = n
712 self.n = n
711 self.__byTime = False
713 self.__byTime = False
712 else:
714 else:
713 self.__integrationtime = timeInterval #if (type(timeInterval)!=integer) -> change this line
715 self.__integrationtime = timeInterval #if (type(timeInterval)!=integer) -> change this line
714 self.n = 9999
716 self.n = 9999
715 self.__byTime = True
717 self.__byTime = True
716
718
717 if overlapping:
719 if overlapping:
718 self.__withOverapping = True
720 self.__withOverapping = True
719 else:
721 else:
720 self.__withOverapping = False
722 self.__withOverapping = False
721 self.__buffer_spc = 0
723 self.__buffer_spc = 0
722 self.__buffer_cspc = 0
724 self.__buffer_cspc = 0
723 self.__buffer_dc = 0
725 self.__buffer_dc = 0
724
726
725 self.__profIndex = 0
727 self.__profIndex = 0
726
728
727 def putData(self, data_spc, data_cspc, data_dc):
729 def putData(self, data_spc, data_cspc, data_dc):
728
730
729 """
731 """
730 Add a profile to the __buffer_spc and increase in one the __profileIndex
732 Add a profile to the __buffer_spc and increase in one the __profileIndex
731
733
732 """
734 """
733
735
734 if not self.__withOverapping:
736 if not self.__withOverapping:
735 self.__buffer_spc += data_spc
737 self.__buffer_spc += data_spc
736
738
737 if data_cspc == None:
739 if data_cspc == None:
738 self.__buffer_cspc = None
740 self.__buffer_cspc = None
739 else:
741 else:
740 self.__buffer_cspc += data_cspc
742 self.__buffer_cspc += data_cspc
741
743
742 if data_dc == None:
744 if data_dc == None:
743 self.__buffer_dc = None
745 self.__buffer_dc = None
744 else:
746 else:
745 self.__buffer_dc += data_dc
747 self.__buffer_dc += data_dc
746
748
747 self.__profIndex += 1
749 self.__profIndex += 1
748 return
750 return
749
751
750 #Overlapping data
752 #Overlapping data
751 nChannels, nFFTPoints, nHeis = data_spc.shape
753 nChannels, nFFTPoints, nHeis = data_spc.shape
752 data_spc = numpy.reshape(data_spc, (1, nChannels, nFFTPoints, nHeis))
754 data_spc = numpy.reshape(data_spc, (1, nChannels, nFFTPoints, nHeis))
753 if data_cspc != None:
755 if data_cspc != None:
754 data_cspc = numpy.reshape(data_cspc, (1, -1, nFFTPoints, nHeis))
756 data_cspc = numpy.reshape(data_cspc, (1, -1, nFFTPoints, nHeis))
755 if data_dc != None:
757 if data_dc != None:
756 data_dc = numpy.reshape(data_dc, (1, -1, nHeis))
758 data_dc = numpy.reshape(data_dc, (1, -1, nHeis))
757
759
758 #If the buffer is empty then it takes the data value
760 #If the buffer is empty then it takes the data value
759 if self.__buffer_spc == None:
761 if self.__buffer_spc == None:
760 self.__buffer_spc = data_spc
762 self.__buffer_spc = data_spc
761
763
762 if data_cspc == None:
764 if data_cspc == None:
763 self.__buffer_cspc = None
765 self.__buffer_cspc = None
764 else:
766 else:
765 self.__buffer_cspc += data_cspc
767 self.__buffer_cspc += data_cspc
766
768
767 if data_dc == None:
769 if data_dc == None:
768 self.__buffer_dc = None
770 self.__buffer_dc = None
769 else:
771 else:
770 self.__buffer_dc += data_dc
772 self.__buffer_dc += data_dc
771
773
772 self.__profIndex += 1
774 self.__profIndex += 1
773 return
775 return
774
776
775 #If the buffer length is lower than n then stakcing the data value
777 #If the buffer length is lower than n then stakcing the data value
776 if self.__profIndex < self.n:
778 if self.__profIndex < self.n:
777 self.__buffer_spc = numpy.vstack((self.__buffer_spc, data_spc))
779 self.__buffer_spc = numpy.vstack((self.__buffer_spc, data_spc))
778
780
779 if data_cspc != None:
781 if data_cspc != None:
780 self.__buffer_cspc = numpy.vstack((self.__buffer_cspc, data_cspc))
782 self.__buffer_cspc = numpy.vstack((self.__buffer_cspc, data_cspc))
781
783
782 if data_dc != None:
784 if data_dc != None:
783 self.__buffer_dc = numpy.vstack((self.__buffer_dc, data_dc))
785 self.__buffer_dc = numpy.vstack((self.__buffer_dc, data_dc))
784
786
785 self.__profIndex += 1
787 self.__profIndex += 1
786 return
788 return
787
789
788 #If the buffer length is equal to n then replacing the last buffer value with the data value
790 #If the buffer length is equal to n then replacing the last buffer value with the data value
789 self.__buffer_spc = numpy.roll(self.__buffer_spc, -1, axis=0)
791 self.__buffer_spc = numpy.roll(self.__buffer_spc, -1, axis=0)
790 self.__buffer_spc[self.n-1] = data_spc
792 self.__buffer_spc[self.n-1] = data_spc
791
793
792 if data_cspc != None:
794 if data_cspc != None:
793 self.__buffer_cspc = numpy.roll(self.__buffer_cspc, -1, axis=0)
795 self.__buffer_cspc = numpy.roll(self.__buffer_cspc, -1, axis=0)
794 self.__buffer_cspc[self.n-1] = data_cspc
796 self.__buffer_cspc[self.n-1] = data_cspc
795
797
796 if data_dc != None:
798 if data_dc != None:
797 self.__buffer_dc = numpy.roll(self.__buffer_dc, -1, axis=0)
799 self.__buffer_dc = numpy.roll(self.__buffer_dc, -1, axis=0)
798 self.__buffer_dc[self.n-1] = data_dc
800 self.__buffer_dc[self.n-1] = data_dc
799
801
800 self.__profIndex = self.n
802 self.__profIndex = self.n
801 return
803 return
802
804
803
805
804 def pushData(self):
806 def pushData(self):
805 """
807 """
806 Return the sum of the last profiles and the profiles used in the sum.
808 Return the sum of the last profiles and the profiles used in the sum.
807
809
808 Affected:
810 Affected:
809
811
810 self.__profileIndex
812 self.__profileIndex
811
813
812 """
814 """
813 data_spc = None
815 data_spc = None
814 data_cspc = None
816 data_cspc = None
815 data_dc = None
817 data_dc = None
816
818
817 if not self.__withOverapping:
819 if not self.__withOverapping:
818 data_spc = self.__buffer_spc
820 data_spc = self.__buffer_spc
819 data_cspc = self.__buffer_cspc
821 data_cspc = self.__buffer_cspc
820 data_dc = self.__buffer_dc
822 data_dc = self.__buffer_dc
821
823
822 n = self.__profIndex
824 n = self.__profIndex
823
825
824 self.__buffer_spc = 0
826 self.__buffer_spc = 0
825 self.__buffer_cspc = 0
827 self.__buffer_cspc = 0
826 self.__buffer_dc = 0
828 self.__buffer_dc = 0
827 self.__profIndex = 0
829 self.__profIndex = 0
828
830
829 return data_spc, data_cspc, data_dc, n
831 return data_spc, data_cspc, data_dc, n
830
832
831 #Integration with Overlapping
833 #Integration with Overlapping
832 data_spc = numpy.sum(self.__buffer_spc, axis=0)
834 data_spc = numpy.sum(self.__buffer_spc, axis=0)
833
835
834 if self.__buffer_cspc != None:
836 if self.__buffer_cspc != None:
835 data_cspc = numpy.sum(self.__buffer_cspc, axis=0)
837 data_cspc = numpy.sum(self.__buffer_cspc, axis=0)
836
838
837 if self.__buffer_dc != None:
839 if self.__buffer_dc != None:
838 data_dc = numpy.sum(self.__buffer_dc, axis=0)
840 data_dc = numpy.sum(self.__buffer_dc, axis=0)
839
841
840 n = self.__profIndex
842 n = self.__profIndex
841
843
842 return data_spc, data_cspc, data_dc, n
844 return data_spc, data_cspc, data_dc, n
843
845
844 def byProfiles(self, *args):
846 def byProfiles(self, *args):
845
847
846 self.__dataReady = False
848 self.__dataReady = False
847 avgdata_spc = None
849 avgdata_spc = None
848 avgdata_cspc = None
850 avgdata_cspc = None
849 avgdata_dc = None
851 avgdata_dc = None
850 # n = None
852 # n = None
851
853
852 self.putData(*args)
854 self.putData(*args)
853
855
854 if self.__profIndex == self.n:
856 if self.__profIndex == self.n:
855
857
856 avgdata_spc, avgdata_cspc, avgdata_dc, n = self.pushData()
858 avgdata_spc, avgdata_cspc, avgdata_dc, n = self.pushData()
857 self.__dataReady = True
859 self.__dataReady = True
858
860
859 return avgdata_spc, avgdata_cspc, avgdata_dc
861 return avgdata_spc, avgdata_cspc, avgdata_dc
860
862
861 def byTime(self, datatime, *args):
863 def byTime(self, datatime, *args):
862
864
863 self.__dataReady = False
865 self.__dataReady = False
864 avgdata_spc = None
866 avgdata_spc = None
865 avgdata_cspc = None
867 avgdata_cspc = None
866 avgdata_dc = None
868 avgdata_dc = None
867 n = None
869 n = None
868
870
869 self.putData(*args)
871 self.putData(*args)
870
872
871 if (datatime - self.__initime) >= self.__integrationtime:
873 if (datatime - self.__initime) >= self.__integrationtime:
872 avgdata_spc, avgdata_cspc, avgdata_dc, n = self.pushData()
874 avgdata_spc, avgdata_cspc, avgdata_dc, n = self.pushData()
873 self.n = n
875 self.n = n
874 self.__dataReady = True
876 self.__dataReady = True
875
877
876 return avgdata_spc, avgdata_cspc, avgdata_dc
878 return avgdata_spc, avgdata_cspc, avgdata_dc
877
879
878 def integrate(self, datatime, *args):
880 def integrate(self, datatime, *args):
879
881
880 if self.__initime == None:
882 if self.__initime == None:
881 self.__initime = datatime
883 self.__initime = datatime
882
884
883 if self.__byTime:
885 if self.__byTime:
884 avgdata_spc, avgdata_cspc, avgdata_dc = self.byTime(datatime, *args)
886 avgdata_spc, avgdata_cspc, avgdata_dc = self.byTime(datatime, *args)
885 else:
887 else:
886 avgdata_spc, avgdata_cspc, avgdata_dc = self.byProfiles(*args)
888 avgdata_spc, avgdata_cspc, avgdata_dc = self.byProfiles(*args)
887
889
888 self.__lastdatatime = datatime
890 self.__lastdatatime = datatime
889
891
890 if avgdata_spc == None:
892 if avgdata_spc == None:
891 return None, None, None, None
893 return None, None, None, None
892
894
893 avgdatatime = self.__initime
895 avgdatatime = self.__initime
894 try:
896 try:
895 self.__timeInterval = (self.__lastdatatime - self.__initime)/(self.n - 1)
897 self.__timeInterval = (self.__lastdatatime - self.__initime)/(self.n - 1)
896 except:
898 except:
897 self.__timeInterval = self.__lastdatatime - self.__initime
899 self.__timeInterval = self.__lastdatatime - self.__initime
898
900
899 deltatime = datatime -self.__lastdatatime
901 deltatime = datatime -self.__lastdatatime
900
902
901 if not self.__withOverapping:
903 if not self.__withOverapping:
902 self.__initime = datatime
904 self.__initime = datatime
903 else:
905 else:
904 self.__initime += deltatime
906 self.__initime += deltatime
905
907
906 return avgdatatime, avgdata_spc, avgdata_cspc, avgdata_dc
908 return avgdatatime, avgdata_spc, avgdata_cspc, avgdata_dc
907
909
908 def run(self, dataOut, n=None, timeInterval=None, overlapping=False):
910 def run(self, dataOut, n=None, timeInterval=None, overlapping=False):
909
911
910 if n==1:
912 if n==1:
911 dataOut.flagNoData = False
913 dataOut.flagNoData = False
912 return
914 return
913
915
914 if not self.isConfig:
916 if not self.isConfig:
915 self.setup(n, timeInterval, overlapping)
917 self.setup(n, timeInterval, overlapping)
916 self.isConfig = True
918 self.isConfig = True
917
919
918 avgdatatime, avgdata_spc, avgdata_cspc, avgdata_dc = self.integrate(dataOut.utctime,
920 avgdatatime, avgdata_spc, avgdata_cspc, avgdata_dc = self.integrate(dataOut.utctime,
919 dataOut.data_spc,
921 dataOut.data_spc,
920 dataOut.data_cspc,
922 dataOut.data_cspc,
921 dataOut.data_dc)
923 dataOut.data_dc)
922
924
923 # dataOut.timeInterval *= n
925 # dataOut.timeInterval *= n
924 dataOut.flagNoData = True
926 dataOut.flagNoData = True
925
927
926 if self.__dataReady:
928 if self.__dataReady:
927
929
928 dataOut.data_spc = avgdata_spc
930 dataOut.data_spc = avgdata_spc
929 dataOut.data_cspc = avgdata_cspc
931 dataOut.data_cspc = avgdata_cspc
930 dataOut.data_dc = avgdata_dc
932 dataOut.data_dc = avgdata_dc
931
933
932 dataOut.nIncohInt *= self.n
934 dataOut.nIncohInt *= self.n
933 dataOut.utctime = avgdatatime
935 dataOut.utctime = avgdatatime
934 #dataOut.timeInterval = dataOut.ippSeconds * dataOut.nCohInt * dataOut.nIncohInt * dataOut.nFFTPoints
936 #dataOut.timeInterval = dataOut.ippSeconds * dataOut.nCohInt * dataOut.nIncohInt * dataOut.nFFTPoints
935 # dataOut.timeInterval = self.__timeInterval*self.n
937 # dataOut.timeInterval = self.__timeInterval*self.n
936 dataOut.flagNoData = False
938 dataOut.flagNoData = False
@@ -1,1034 +1,1043
1 import numpy
1 import numpy
2
2
3 from jroproc_base import ProcessingUnit, Operation
3 from jroproc_base import ProcessingUnit, Operation
4 from schainpy.model.data.jrodata import Voltage
4 from schainpy.model.data.jrodata import Voltage
5
5
6 class VoltageProc(ProcessingUnit):
6 class VoltageProc(ProcessingUnit):
7
7
8
8
9 def __init__(self):
9 def __init__(self):
10
10
11 ProcessingUnit.__init__(self)
11 ProcessingUnit.__init__(self)
12
12
13 # self.objectDict = {}
13 # self.objectDict = {}
14 self.dataOut = Voltage()
14 self.dataOut = Voltage()
15 self.flip = 1
15 self.flip = 1
16
16
17 def run(self):
17 def run(self):
18 if self.dataIn.type == 'AMISR':
18 if self.dataIn.type == 'AMISR':
19 self.__updateObjFromAmisrInput()
19 self.__updateObjFromAmisrInput()
20
20
21 if self.dataIn.type == 'Voltage':
21 if self.dataIn.type == 'Voltage':
22 self.dataOut.copy(self.dataIn)
22 self.dataOut.copy(self.dataIn)
23
23
24 # self.dataOut.copy(self.dataIn)
24 # self.dataOut.copy(self.dataIn)
25
25
26 def __updateObjFromAmisrInput(self):
26 def __updateObjFromAmisrInput(self):
27
27
28 self.dataOut.timeZone = self.dataIn.timeZone
28 self.dataOut.timeZone = self.dataIn.timeZone
29 self.dataOut.dstFlag = self.dataIn.dstFlag
29 self.dataOut.dstFlag = self.dataIn.dstFlag
30 self.dataOut.errorCount = self.dataIn.errorCount
30 self.dataOut.errorCount = self.dataIn.errorCount
31 self.dataOut.useLocalTime = self.dataIn.useLocalTime
31 self.dataOut.useLocalTime = self.dataIn.useLocalTime
32
32
33 self.dataOut.flagNoData = self.dataIn.flagNoData
33 self.dataOut.flagNoData = self.dataIn.flagNoData
34 self.dataOut.data = self.dataIn.data
34 self.dataOut.data = self.dataIn.data
35 self.dataOut.utctime = self.dataIn.utctime
35 self.dataOut.utctime = self.dataIn.utctime
36 self.dataOut.channelList = self.dataIn.channelList
36 self.dataOut.channelList = self.dataIn.channelList
37 self.dataOut.timeInterval = self.dataIn.timeInterval
37 self.dataOut.timeInterval = self.dataIn.timeInterval
38 self.dataOut.heightList = self.dataIn.heightList
38 self.dataOut.heightList = self.dataIn.heightList
39 self.dataOut.nProfiles = self.dataIn.nProfiles
39 self.dataOut.nProfiles = self.dataIn.nProfiles
40
40
41 self.dataOut.nCohInt = self.dataIn.nCohInt
41 self.dataOut.nCohInt = self.dataIn.nCohInt
42 self.dataOut.ippSeconds = self.dataIn.ippSeconds
42 self.dataOut.ippSeconds = self.dataIn.ippSeconds
43 self.dataOut.frequency = self.dataIn.frequency
43 self.dataOut.frequency = self.dataIn.frequency
44
44
45 self.dataOut.azimuth = self.dataIn.azimuth
45 self.dataOut.azimuth = self.dataIn.azimuth
46 self.dataOut.zenith = self.dataIn.zenith
46 self.dataOut.zenith = self.dataIn.zenith
47
47
48 self.dataOut.beam.codeList = self.dataIn.beam.codeList
48 self.dataOut.beam.codeList = self.dataIn.beam.codeList
49 self.dataOut.beam.azimuthList = self.dataIn.beam.azimuthList
49 self.dataOut.beam.azimuthList = self.dataIn.beam.azimuthList
50 self.dataOut.beam.zenithList = self.dataIn.beam.zenithList
50 self.dataOut.beam.zenithList = self.dataIn.beam.zenithList
51 #
51 #
52 # pass#
52 # pass#
53 #
53 #
54 # def init(self):
54 # def init(self):
55 #
55 #
56 #
56 #
57 # if self.dataIn.type == 'AMISR':
57 # if self.dataIn.type == 'AMISR':
58 # self.__updateObjFromAmisrInput()
58 # self.__updateObjFromAmisrInput()
59 #
59 #
60 # if self.dataIn.type == 'Voltage':
60 # if self.dataIn.type == 'Voltage':
61 # self.dataOut.copy(self.dataIn)
61 # self.dataOut.copy(self.dataIn)
62 # # No necesita copiar en cada init() los atributos de dataIn
62 # # No necesita copiar en cada init() los atributos de dataIn
63 # # la copia deberia hacerse por cada nuevo bloque de datos
63 # # la copia deberia hacerse por cada nuevo bloque de datos
64
64
65 def selectChannels(self, channelList):
65 def selectChannels(self, channelList):
66
66
67 channelIndexList = []
67 channelIndexList = []
68
68
69 for channel in channelList:
69 for channel in channelList:
70 if channel not in self.dataOut.channelList:
71 continue
72
70 index = self.dataOut.channelList.index(channel)
73 index = self.dataOut.channelList.index(channel)
71 channelIndexList.append(index)
74 channelIndexList.append(index)
72
75
73 self.selectChannelsByIndex(channelIndexList)
76 self.selectChannelsByIndex(channelIndexList)
74
77
75 def selectChannelsByIndex(self, channelIndexList):
78 def selectChannelsByIndex(self, channelIndexList):
76 """
79 """
77 Selecciona un bloque de datos en base a canales segun el channelIndexList
80 Selecciona un bloque de datos en base a canales segun el channelIndexList
78
81
79 Input:
82 Input:
80 channelIndexList : lista sencilla de canales a seleccionar por ej. [2,3,7]
83 channelIndexList : lista sencilla de canales a seleccionar por ej. [2,3,7]
81
84
82 Affected:
85 Affected:
83 self.dataOut.data
86 self.dataOut.data
84 self.dataOut.channelIndexList
87 self.dataOut.channelIndexList
85 self.dataOut.nChannels
88 self.dataOut.nChannels
86 self.dataOut.m_ProcessingHeader.totalSpectra
89 self.dataOut.m_ProcessingHeader.totalSpectra
87 self.dataOut.systemHeaderObj.numChannels
90 self.dataOut.systemHeaderObj.numChannels
88 self.dataOut.m_ProcessingHeader.blockSize
91 self.dataOut.m_ProcessingHeader.blockSize
89
92
90 Return:
93 Return:
91 None
94 None
92 """
95 """
93
96
94 for channelIndex in channelIndexList:
97 for channelIndex in channelIndexList:
95 if channelIndex not in self.dataOut.channelIndexList:
98 if channelIndex not in self.dataOut.channelIndexList:
96 print channelIndexList
99 print channelIndexList
97 raise ValueError, "The value %d in channelIndexList is not valid" %channelIndex
100 raise ValueError, "The value %d in channelIndexList is not valid" %channelIndex
98
101
99 # nChannels = len(channelIndexList)
102 # nChannels = len(channelIndexList)
100 if self.dataOut.flagDataAsBlock:
103 if self.dataOut.flagDataAsBlock:
101 """
104 """
102 Si la data es obtenida por bloques, dimension = [nChannels, nProfiles, nHeis]
105 Si la data es obtenida por bloques, dimension = [nChannels, nProfiles, nHeis]
103 """
106 """
104 data = self.dataOut.data[channelIndexList,:,:]
107 data = self.dataOut.data[channelIndexList,:,:]
105 else:
108 else:
106 data = self.dataOut.data[channelIndexList,:]
109 data = self.dataOut.data[channelIndexList,:]
107
110
108 self.dataOut.data = data
111 self.dataOut.data = data
109 self.dataOut.channelList = [self.dataOut.channelList[i] for i in channelIndexList]
112 self.dataOut.channelList = [self.dataOut.channelList[i] for i in channelIndexList]
110 # self.dataOut.nChannels = nChannels
113 # self.dataOut.nChannels = nChannels
111
114
112 return 1
115 return 1
113
116
114 def selectHeights(self, minHei=None, maxHei=None):
117 def selectHeights(self, minHei=None, maxHei=None):
115 """
118 """
116 Selecciona un bloque de datos en base a un grupo de valores de alturas segun el rango
119 Selecciona un bloque de datos en base a un grupo de valores de alturas segun el rango
117 minHei <= height <= maxHei
120 minHei <= height <= maxHei
118
121
119 Input:
122 Input:
120 minHei : valor minimo de altura a considerar
123 minHei : valor minimo de altura a considerar
121 maxHei : valor maximo de altura a considerar
124 maxHei : valor maximo de altura a considerar
122
125
123 Affected:
126 Affected:
124 Indirectamente son cambiados varios valores a travez del metodo selectHeightsByIndex
127 Indirectamente son cambiados varios valores a travez del metodo selectHeightsByIndex
125
128
126 Return:
129 Return:
127 1 si el metodo se ejecuto con exito caso contrario devuelve 0
130 1 si el metodo se ejecuto con exito caso contrario devuelve 0
128 """
131 """
129
132
130 if minHei == None:
133 if minHei == None:
131 minHei = self.dataOut.heightList[0]
134 minHei = self.dataOut.heightList[0]
132
135
133 if maxHei == None:
136 if maxHei == None:
134 maxHei = self.dataOut.heightList[-1]
137 maxHei = self.dataOut.heightList[-1]
135
138
136 if (minHei < self.dataOut.heightList[0]) or (minHei > maxHei):
139 if (minHei < self.dataOut.heightList[0]) or (minHei > maxHei):
137 raise ValueError, "some value in (%d,%d) is not valid" % (minHei, maxHei)
140 raise ValueError, "some value in (%d,%d) is not valid" % (minHei, maxHei)
138
141
139
142
140 if (maxHei > self.dataOut.heightList[-1]):
143 if (maxHei > self.dataOut.heightList[-1]):
141 maxHei = self.dataOut.heightList[-1]
144 maxHei = self.dataOut.heightList[-1]
142 # raise ValueError, "some value in (%d,%d) is not valid" % (minHei, maxHei)
145 # raise ValueError, "some value in (%d,%d) is not valid" % (minHei, maxHei)
143
146
144 minIndex = 0
147 minIndex = 0
145 maxIndex = 0
148 maxIndex = 0
146 heights = self.dataOut.heightList
149 heights = self.dataOut.heightList
147
150
148 inda = numpy.where(heights >= minHei)
151 inda = numpy.where(heights >= minHei)
149 indb = numpy.where(heights <= maxHei)
152 indb = numpy.where(heights <= maxHei)
150
153
151 try:
154 try:
152 minIndex = inda[0][0]
155 minIndex = inda[0][0]
153 except:
156 except:
154 minIndex = 0
157 minIndex = 0
155
158
156 try:
159 try:
157 maxIndex = indb[0][-1]
160 maxIndex = indb[0][-1]
158 except:
161 except:
159 maxIndex = len(heights)
162 maxIndex = len(heights)
160
163
161 self.selectHeightsByIndex(minIndex, maxIndex)
164 self.selectHeightsByIndex(minIndex, maxIndex)
162
165
163 return 1
166 return 1
164
167
165
168
166 def selectHeightsByIndex(self, minIndex, maxIndex):
169 def selectHeightsByIndex(self, minIndex, maxIndex):
167 """
170 """
168 Selecciona un bloque de datos en base a un grupo indices de alturas segun el rango
171 Selecciona un bloque de datos en base a un grupo indices de alturas segun el rango
169 minIndex <= index <= maxIndex
172 minIndex <= index <= maxIndex
170
173
171 Input:
174 Input:
172 minIndex : valor de indice minimo de altura a considerar
175 minIndex : valor de indice minimo de altura a considerar
173 maxIndex : valor de indice maximo de altura a considerar
176 maxIndex : valor de indice maximo de altura a considerar
174
177
175 Affected:
178 Affected:
176 self.dataOut.data
179 self.dataOut.data
177 self.dataOut.heightList
180 self.dataOut.heightList
178
181
179 Return:
182 Return:
180 1 si el metodo se ejecuto con exito caso contrario devuelve 0
183 1 si el metodo se ejecuto con exito caso contrario devuelve 0
181 """
184 """
182
185
183 if (minIndex < 0) or (minIndex > maxIndex):
186 if (minIndex < 0) or (minIndex > maxIndex):
184 raise ValueError, "some value in (%d,%d) is not valid" % (minIndex, maxIndex)
187 raise ValueError, "some value in (%d,%d) is not valid" % (minIndex, maxIndex)
185
188
186 if (maxIndex >= self.dataOut.nHeights):
189 if (maxIndex >= self.dataOut.nHeights):
187 maxIndex = self.dataOut.nHeights
190 maxIndex = self.dataOut.nHeights
188 # raise ValueError, "some value in (%d,%d) is not valid" % (minIndex, maxIndex)
191 # raise ValueError, "some value in (%d,%d) is not valid" % (minIndex, maxIndex)
189
192
190 # nHeights = maxIndex - minIndex + 1
193 # nHeights = maxIndex - minIndex + 1
191
194
192 #voltage
195 #voltage
193 if self.dataOut.flagDataAsBlock:
196 if self.dataOut.flagDataAsBlock:
194 """
197 """
195 Si la data es obtenida por bloques, dimension = [nChannels, nProfiles, nHeis]
198 Si la data es obtenida por bloques, dimension = [nChannels, nProfiles, nHeis]
196 """
199 """
197 data = self.dataOut.data[:,minIndex:maxIndex,:]
200 data = self.dataOut.data[:,minIndex:maxIndex,:]
198 else:
201 else:
199 data = self.dataOut.data[:,minIndex:maxIndex]
202 data = self.dataOut.data[:,minIndex:maxIndex]
200
203
201 # firstHeight = self.dataOut.heightList[minIndex]
204 # firstHeight = self.dataOut.heightList[minIndex]
202
205
203 self.dataOut.data = data
206 self.dataOut.data = data
204 self.dataOut.heightList = self.dataOut.heightList[minIndex:maxIndex]
207 self.dataOut.heightList = self.dataOut.heightList[minIndex:maxIndex]
205
208
206 return 1
209 return 1
207
210
208
211
209 def filterByHeights(self, window):
212 def filterByHeights(self, window):
210
213
211 deltaHeight = self.dataOut.heightList[1] - self.dataOut.heightList[0]
214 deltaHeight = self.dataOut.heightList[1] - self.dataOut.heightList[0]
212
215
213 if window == None:
216 if window == None:
214 window = (self.dataOut.radarControllerHeaderObj.txA/self.dataOut.radarControllerHeaderObj.nBaud) / deltaHeight
217 window = (self.dataOut.radarControllerHeaderObj.txA/self.dataOut.radarControllerHeaderObj.nBaud) / deltaHeight
215
218
216 newdelta = deltaHeight * window
219 newdelta = deltaHeight * window
217 r = self.dataOut.nHeights % window
220 r = self.dataOut.nHeights % window
218
221
219 if self.dataOut.flagDataAsBlock:
222 if self.dataOut.flagDataAsBlock:
220 """
223 """
221 Si la data es obtenida por bloques, dimension = [nChannels, nProfiles, nHeis]
224 Si la data es obtenida por bloques, dimension = [nChannels, nProfiles, nHeis]
222 """
225 """
223 buffer = self.dataOut.data[:, :, 0:self.dataOut.nHeights-r]
226 buffer = self.dataOut.data[:, :, 0:self.dataOut.nHeights-r]
224 buffer = buffer.reshape(self.dataOut.nChannels,self.dataOut.nProfiles,self.dataOut.nHeights/window,window)
227 buffer = buffer.reshape(self.dataOut.nChannels,self.dataOut.nProfiles,self.dataOut.nHeights/window,window)
225 buffer = numpy.sum(buffer,3)
228 buffer = numpy.sum(buffer,3)
226
229
227 else:
230 else:
228 buffer = self.dataOut.data[:,0:self.dataOut.nHeights-r]
231 buffer = self.dataOut.data[:,0:self.dataOut.nHeights-r]
229 buffer = buffer.reshape(self.dataOut.nChannels,self.dataOut.nHeights/window,window)
232 buffer = buffer.reshape(self.dataOut.nChannels,self.dataOut.nHeights/window,window)
230 buffer = numpy.sum(buffer,2)
233 buffer = numpy.sum(buffer,2)
231
234
232 self.dataOut.data = buffer.copy()
235 self.dataOut.data = buffer.copy()
233 self.dataOut.heightList = numpy.arange(self.dataOut.heightList[0],newdelta*(self.dataOut.nHeights-r)/window,newdelta)
236 self.dataOut.heightList = numpy.arange(self.dataOut.heightList[0],newdelta*(self.dataOut.nHeights-r)/window,newdelta)
234 self.dataOut.windowOfFilter = window
237 self.dataOut.windowOfFilter = window
235
238
236 def setH0(self, h0, deltaHeight = None):
239 def setH0(self, h0, deltaHeight = None):
237
240
238 if not deltaHeight:
241 if not deltaHeight:
239 deltaHeight = self.dataOut.heightList[1] - self.dataOut.heightList[0]
242 deltaHeight = self.dataOut.heightList[1] - self.dataOut.heightList[0]
240
243
241 nHeights = self.dataOut.nHeights
244 nHeights = self.dataOut.nHeights
242
245
243 newHeiRange = h0 + numpy.arange(nHeights)*deltaHeight
246 newHeiRange = h0 + numpy.arange(nHeights)*deltaHeight
244
247
245 self.dataOut.heightList = newHeiRange
248 self.dataOut.heightList = newHeiRange
246
249
247 def deFlip(self, channelList = []):
250 def deFlip(self, channelList = []):
248
251
249 data = self.dataOut.data.copy()
252 data = self.dataOut.data.copy()
250
253
251 if self.dataOut.flagDataAsBlock:
254 if self.dataOut.flagDataAsBlock:
252 flip = self.flip
255 flip = self.flip
253 profileList = range(self.dataOut.nProfiles)
256 profileList = range(self.dataOut.nProfiles)
254
257
255 if channelList == []:
258 if channelList == []:
256 for thisProfile in profileList:
259 for thisProfile in profileList:
257 data[:,thisProfile,:] = data[:,thisProfile,:]*flip
260 data[:,thisProfile,:] = data[:,thisProfile,:]*flip
258 flip *= -1.0
261 flip *= -1.0
259 else:
262 else:
260 for thisChannel in channelList:
263 for thisChannel in channelList:
264 if thisChannel not in self.dataOut.channelList:
265 continue
266
261 for thisProfile in profileList:
267 for thisProfile in profileList:
262 data[thisChannel,thisProfile,:] = data[thisChannel,thisProfile,:]*flip
268 data[thisChannel,thisProfile,:] = data[thisChannel,thisProfile,:]*flip
263 flip *= -1.0
269 flip *= -1.0
264
270
265 self.flip = flip
271 self.flip = flip
266
272
267 else:
273 else:
268 if channelList == []:
274 if channelList == []:
269 data[:,:] = data[:,:]*self.flip
275 data[:,:] = data[:,:]*self.flip
270 else:
276 else:
271 for thisChannel in channelList:
277 for thisChannel in channelList:
278 if thisChannel not in self.dataOut.channelList:
279 continue
280
272 data[thisChannel,:] = data[thisChannel,:]*self.flip
281 data[thisChannel,:] = data[thisChannel,:]*self.flip
273
282
274 self.flip *= -1.
283 self.flip *= -1.
275
284
276 self.dataOut.data = data
285 self.dataOut.data = data
277
286
278 def setRadarFrequency(self, frequency=None):
287 def setRadarFrequency(self, frequency=None):
279
288
280 if frequency != None:
289 if frequency != None:
281 self.dataOut.frequency = frequency
290 self.dataOut.frequency = frequency
282
291
283 return 1
292 return 1
284
293
285 class CohInt(Operation):
294 class CohInt(Operation):
286
295
287 isConfig = False
296 isConfig = False
288
297
289 __profIndex = 0
298 __profIndex = 0
290 __withOverapping = False
299 __withOverapping = False
291
300
292 __byTime = False
301 __byTime = False
293 __initime = None
302 __initime = None
294 __lastdatatime = None
303 __lastdatatime = None
295 __integrationtime = None
304 __integrationtime = None
296
305
297 __buffer = None
306 __buffer = None
298
307
299 __dataReady = False
308 __dataReady = False
300
309
301 n = None
310 n = None
302
311
303
312
304 def __init__(self):
313 def __init__(self):
305
314
306 Operation.__init__(self)
315 Operation.__init__(self)
307
316
308 # self.isConfig = False
317 # self.isConfig = False
309
318
310 def setup(self, n=None, timeInterval=None, overlapping=False, byblock=False):
319 def setup(self, n=None, timeInterval=None, overlapping=False, byblock=False):
311 """
320 """
312 Set the parameters of the integration class.
321 Set the parameters of the integration class.
313
322
314 Inputs:
323 Inputs:
315
324
316 n : Number of coherent integrations
325 n : Number of coherent integrations
317 timeInterval : Time of integration. If the parameter "n" is selected this one does not work
326 timeInterval : Time of integration. If the parameter "n" is selected this one does not work
318 overlapping :
327 overlapping :
319
328
320 """
329 """
321
330
322 self.__initime = None
331 self.__initime = None
323 self.__lastdatatime = 0
332 self.__lastdatatime = 0
324 self.__buffer = None
333 self.__buffer = None
325 self.__dataReady = False
334 self.__dataReady = False
326 self.byblock = byblock
335 self.byblock = byblock
327
336
328 if n == None and timeInterval == None:
337 if n == None and timeInterval == None:
329 raise ValueError, "n or timeInterval should be specified ..."
338 raise ValueError, "n or timeInterval should be specified ..."
330
339
331 if n != None:
340 if n != None:
332 self.n = n
341 self.n = n
333 self.__byTime = False
342 self.__byTime = False
334 else:
343 else:
335 self.__integrationtime = timeInterval #* 60. #if (type(timeInterval)!=integer) -> change this line
344 self.__integrationtime = timeInterval #* 60. #if (type(timeInterval)!=integer) -> change this line
336 self.n = 9999
345 self.n = 9999
337 self.__byTime = True
346 self.__byTime = True
338
347
339 if overlapping:
348 if overlapping:
340 self.__withOverapping = True
349 self.__withOverapping = True
341 self.__buffer = None
350 self.__buffer = None
342 else:
351 else:
343 self.__withOverapping = False
352 self.__withOverapping = False
344 self.__buffer = 0
353 self.__buffer = 0
345
354
346 self.__profIndex = 0
355 self.__profIndex = 0
347
356
348 def putData(self, data):
357 def putData(self, data):
349
358
350 """
359 """
351 Add a profile to the __buffer and increase in one the __profileIndex
360 Add a profile to the __buffer and increase in one the __profileIndex
352
361
353 """
362 """
354
363
355 if not self.__withOverapping:
364 if not self.__withOverapping:
356 self.__buffer += data.copy()
365 self.__buffer += data.copy()
357 self.__profIndex += 1
366 self.__profIndex += 1
358 return
367 return
359
368
360 #Overlapping data
369 #Overlapping data
361 nChannels, nHeis = data.shape
370 nChannels, nHeis = data.shape
362 data = numpy.reshape(data, (1, nChannels, nHeis))
371 data = numpy.reshape(data, (1, nChannels, nHeis))
363
372
364 #If the buffer is empty then it takes the data value
373 #If the buffer is empty then it takes the data value
365 if self.__buffer == None:
374 if self.__buffer == None:
366 self.__buffer = data
375 self.__buffer = data
367 self.__profIndex += 1
376 self.__profIndex += 1
368 return
377 return
369
378
370 #If the buffer length is lower than n then stakcing the data value
379 #If the buffer length is lower than n then stakcing the data value
371 if self.__profIndex < self.n:
380 if self.__profIndex < self.n:
372 self.__buffer = numpy.vstack((self.__buffer, data))
381 self.__buffer = numpy.vstack((self.__buffer, data))
373 self.__profIndex += 1
382 self.__profIndex += 1
374 return
383 return
375
384
376 #If the buffer length is equal to n then replacing the last buffer value with the data value
385 #If the buffer length is equal to n then replacing the last buffer value with the data value
377 self.__buffer = numpy.roll(self.__buffer, -1, axis=0)
386 self.__buffer = numpy.roll(self.__buffer, -1, axis=0)
378 self.__buffer[self.n-1] = data
387 self.__buffer[self.n-1] = data
379 self.__profIndex = self.n
388 self.__profIndex = self.n
380 return
389 return
381
390
382
391
383 def pushData(self):
392 def pushData(self):
384 """
393 """
385 Return the sum of the last profiles and the profiles used in the sum.
394 Return the sum of the last profiles and the profiles used in the sum.
386
395
387 Affected:
396 Affected:
388
397
389 self.__profileIndex
398 self.__profileIndex
390
399
391 """
400 """
392
401
393 if not self.__withOverapping:
402 if not self.__withOverapping:
394 data = self.__buffer
403 data = self.__buffer
395 n = self.__profIndex
404 n = self.__profIndex
396
405
397 self.__buffer = 0
406 self.__buffer = 0
398 self.__profIndex = 0
407 self.__profIndex = 0
399
408
400 return data, n
409 return data, n
401
410
402 #Integration with Overlapping
411 #Integration with Overlapping
403 data = numpy.sum(self.__buffer, axis=0)
412 data = numpy.sum(self.__buffer, axis=0)
404 n = self.__profIndex
413 n = self.__profIndex
405
414
406 return data, n
415 return data, n
407
416
408 def byProfiles(self, data):
417 def byProfiles(self, data):
409
418
410 self.__dataReady = False
419 self.__dataReady = False
411 avgdata = None
420 avgdata = None
412 # n = None
421 # n = None
413
422
414 self.putData(data)
423 self.putData(data)
415
424
416 if self.__profIndex == self.n:
425 if self.__profIndex == self.n:
417
426
418 avgdata, n = self.pushData()
427 avgdata, n = self.pushData()
419 self.__dataReady = True
428 self.__dataReady = True
420
429
421 return avgdata
430 return avgdata
422
431
423 def byTime(self, data, datatime):
432 def byTime(self, data, datatime):
424
433
425 self.__dataReady = False
434 self.__dataReady = False
426 avgdata = None
435 avgdata = None
427 n = None
436 n = None
428
437
429 self.putData(data)
438 self.putData(data)
430
439
431 if (datatime - self.__initime) >= self.__integrationtime:
440 if (datatime - self.__initime) >= self.__integrationtime:
432 avgdata, n = self.pushData()
441 avgdata, n = self.pushData()
433 self.n = n
442 self.n = n
434 self.__dataReady = True
443 self.__dataReady = True
435
444
436 return avgdata
445 return avgdata
437
446
438 def integrate(self, data, datatime=None):
447 def integrate(self, data, datatime=None):
439
448
440 if self.__initime == None:
449 if self.__initime == None:
441 self.__initime = datatime
450 self.__initime = datatime
442
451
443 if self.__byTime:
452 if self.__byTime:
444 avgdata = self.byTime(data, datatime)
453 avgdata = self.byTime(data, datatime)
445 else:
454 else:
446 avgdata = self.byProfiles(data)
455 avgdata = self.byProfiles(data)
447
456
448
457
449 self.__lastdatatime = datatime
458 self.__lastdatatime = datatime
450
459
451 if avgdata == None:
460 if avgdata == None:
452 return None, None
461 return None, None
453
462
454 avgdatatime = self.__initime
463 avgdatatime = self.__initime
455
464
456 deltatime = datatime -self.__lastdatatime
465 deltatime = datatime -self.__lastdatatime
457
466
458 if not self.__withOverapping:
467 if not self.__withOverapping:
459 self.__initime = datatime
468 self.__initime = datatime
460 else:
469 else:
461 self.__initime += deltatime
470 self.__initime += deltatime
462
471
463 return avgdata, avgdatatime
472 return avgdata, avgdatatime
464
473
465 def integrateByBlock(self, dataOut):
474 def integrateByBlock(self, dataOut):
466
475
467 times = int(dataOut.data.shape[1]/self.n)
476 times = int(dataOut.data.shape[1]/self.n)
468 avgdata = numpy.zeros((dataOut.nChannels, times, dataOut.nHeights), dtype=numpy.complex)
477 avgdata = numpy.zeros((dataOut.nChannels, times, dataOut.nHeights), dtype=numpy.complex)
469
478
470 id_min = 0
479 id_min = 0
471 id_max = self.n
480 id_max = self.n
472
481
473 for i in range(times):
482 for i in range(times):
474 junk = dataOut.data[:,id_min:id_max,:]
483 junk = dataOut.data[:,id_min:id_max,:]
475 avgdata[:,i,:] = junk.sum(axis=1)
484 avgdata[:,i,:] = junk.sum(axis=1)
476 id_min += self.n
485 id_min += self.n
477 id_max += self.n
486 id_max += self.n
478
487
479 timeInterval = dataOut.ippSeconds*self.n
488 timeInterval = dataOut.ippSeconds*self.n
480 avgdatatime = (times - 1) * timeInterval + dataOut.utctime
489 avgdatatime = (times - 1) * timeInterval + dataOut.utctime
481 self.__dataReady = True
490 self.__dataReady = True
482 return avgdata, avgdatatime
491 return avgdata, avgdatatime
483
492
484 def run(self, dataOut, **kwargs):
493 def run(self, dataOut, **kwargs):
485
494
486 if not self.isConfig:
495 if not self.isConfig:
487 self.setup(**kwargs)
496 self.setup(**kwargs)
488 self.isConfig = True
497 self.isConfig = True
489
498
490 if dataOut.flagDataAsBlock:
499 if dataOut.flagDataAsBlock:
491 """
500 """
492 Si la data es leida por bloques, dimension = [nChannels, nProfiles, nHeis]
501 Si la data es leida por bloques, dimension = [nChannels, nProfiles, nHeis]
493 """
502 """
494 avgdata, avgdatatime = self.integrateByBlock(dataOut)
503 avgdata, avgdatatime = self.integrateByBlock(dataOut)
495 else:
504 else:
496 avgdata, avgdatatime = self.integrate(dataOut.data, dataOut.utctime)
505 avgdata, avgdatatime = self.integrate(dataOut.data, dataOut.utctime)
497
506
498 # dataOut.timeInterval *= n
507 # dataOut.timeInterval *= n
499 dataOut.flagNoData = True
508 dataOut.flagNoData = True
500
509
501 if self.__dataReady:
510 if self.__dataReady:
502 dataOut.data = avgdata
511 dataOut.data = avgdata
503 dataOut.nCohInt *= self.n
512 dataOut.nCohInt *= self.n
504 dataOut.utctime = avgdatatime
513 dataOut.utctime = avgdatatime
505 # dataOut.timeInterval = dataOut.ippSeconds * dataOut.nCohInt
514 # dataOut.timeInterval = dataOut.ippSeconds * dataOut.nCohInt
506 dataOut.flagNoData = False
515 dataOut.flagNoData = False
507
516
508 class Decoder(Operation):
517 class Decoder(Operation):
509
518
510 isConfig = False
519 isConfig = False
511 __profIndex = 0
520 __profIndex = 0
512
521
513 code = None
522 code = None
514
523
515 nCode = None
524 nCode = None
516 nBaud = None
525 nBaud = None
517
526
518
527
519 def __init__(self):
528 def __init__(self):
520
529
521 Operation.__init__(self)
530 Operation.__init__(self)
522
531
523 self.times = None
532 self.times = None
524 self.osamp = None
533 self.osamp = None
525 # self.__setValues = False
534 # self.__setValues = False
526 self.isConfig = False
535 self.isConfig = False
527
536
528 def setup(self, code, osamp, dataOut):
537 def setup(self, code, osamp, dataOut):
529
538
530 self.__profIndex = 0
539 self.__profIndex = 0
531
540
532 self.code = code
541 self.code = code
533
542
534 self.nCode = len(code)
543 self.nCode = len(code)
535 self.nBaud = len(code[0])
544 self.nBaud = len(code[0])
536
545
537 if (osamp != None) and (osamp >1):
546 if (osamp != None) and (osamp >1):
538 self.osamp = osamp
547 self.osamp = osamp
539 self.code = numpy.repeat(code, repeats=self.osamp, axis=1)
548 self.code = numpy.repeat(code, repeats=self.osamp, axis=1)
540 self.nBaud = self.nBaud*self.osamp
549 self.nBaud = self.nBaud*self.osamp
541
550
542 self.__nChannels = dataOut.nChannels
551 self.__nChannels = dataOut.nChannels
543 self.__nProfiles = dataOut.nProfiles
552 self.__nProfiles = dataOut.nProfiles
544 self.__nHeis = dataOut.nHeights
553 self.__nHeis = dataOut.nHeights
545
554
546 if dataOut.flagDataAsBlock:
555 if dataOut.flagDataAsBlock:
547
556
548 self.ndatadec = self.__nHeis #- self.nBaud + 1
557 self.ndatadec = self.__nHeis #- self.nBaud + 1
549
558
550 self.datadecTime = numpy.zeros((self.__nChannels, self.__nProfiles, self.ndatadec), dtype=numpy.complex)
559 self.datadecTime = numpy.zeros((self.__nChannels, self.__nProfiles, self.ndatadec), dtype=numpy.complex)
551
560
552 else:
561 else:
553
562
554 __codeBuffer = numpy.zeros((self.nCode, self.__nHeis), dtype=numpy.complex)
563 __codeBuffer = numpy.zeros((self.nCode, self.__nHeis), dtype=numpy.complex)
555
564
556 __codeBuffer[:,0:self.nBaud] = self.code
565 __codeBuffer[:,0:self.nBaud] = self.code
557
566
558 self.fft_code = numpy.conj(numpy.fft.fft(__codeBuffer, axis=1))
567 self.fft_code = numpy.conj(numpy.fft.fft(__codeBuffer, axis=1))
559
568
560 self.ndatadec = self.__nHeis #- self.nBaud + 1
569 self.ndatadec = self.__nHeis #- self.nBaud + 1
561
570
562 self.datadecTime = numpy.zeros((self.__nChannels, self.ndatadec), dtype=numpy.complex)
571 self.datadecTime = numpy.zeros((self.__nChannels, self.ndatadec), dtype=numpy.complex)
563
572
564 def convolutionInFreq(self, data):
573 def convolutionInFreq(self, data):
565
574
566 fft_code = self.fft_code[self.__profIndex].reshape(1,-1)
575 fft_code = self.fft_code[self.__profIndex].reshape(1,-1)
567
576
568 fft_data = numpy.fft.fft(data, axis=1)
577 fft_data = numpy.fft.fft(data, axis=1)
569
578
570 conv = fft_data*fft_code
579 conv = fft_data*fft_code
571
580
572 data = numpy.fft.ifft(conv,axis=1)
581 data = numpy.fft.ifft(conv,axis=1)
573
582
574 datadec = data#[:,:]
583 datadec = data#[:,:]
575
584
576 return datadec
585 return datadec
577
586
578 def convolutionInFreqOpt(self, data):
587 def convolutionInFreqOpt(self, data):
579
588
580 raise NotImplementedError
589 raise NotImplementedError
581
590
582 # fft_code = self.fft_code[self.__profIndex].reshape(1,-1)
591 # fft_code = self.fft_code[self.__profIndex].reshape(1,-1)
583 #
592 #
584 # data = cfunctions.decoder(fft_code, data)
593 # data = cfunctions.decoder(fft_code, data)
585 #
594 #
586 # datadec = data#[:,:]
595 # datadec = data#[:,:]
587 #
596 #
588 # return datadec
597 # return datadec
589
598
590 def convolutionInTime(self, data):
599 def convolutionInTime(self, data):
591
600
592 code = self.code[self.__profIndex]
601 code = self.code[self.__profIndex]
593
602
594 for i in range(self.__nChannels):
603 for i in range(self.__nChannels):
595 self.datadecTime[i,:] = numpy.correlate(data[i,:], code, mode='same')
604 self.datadecTime[i,:] = numpy.correlate(data[i,:], code, mode='same')
596
605
597 return self.datadecTime
606 return self.datadecTime
598
607
599 def convolutionByBlockInTime(self, data):
608 def convolutionByBlockInTime(self, data):
600
609
601 repetitions = self.__nProfiles / self.nCode
610 repetitions = self.__nProfiles / self.nCode
602
611
603 junk = numpy.lib.stride_tricks.as_strided(self.code, (repetitions, self.code.size), (0, self.code.itemsize))
612 junk = numpy.lib.stride_tricks.as_strided(self.code, (repetitions, self.code.size), (0, self.code.itemsize))
604 junk = junk.flatten()
613 junk = junk.flatten()
605 code_block = numpy.reshape(junk, (self.nCode*repetitions, self.nBaud))
614 code_block = numpy.reshape(junk, (self.nCode*repetitions, self.nBaud))
606
615
607 for i in range(self.__nChannels):
616 for i in range(self.__nChannels):
608 for j in range(self.__nProfiles):
617 for j in range(self.__nProfiles):
609 self.datadecTime[i,j,:] = numpy.correlate(data[i,j,:], code_block[j,:], mode='same')
618 self.datadecTime[i,j,:] = numpy.correlate(data[i,j,:], code_block[j,:], mode='same')
610
619
611 return self.datadecTime
620 return self.datadecTime
612
621
613 def run(self, dataOut, code=None, nCode=None, nBaud=None, mode = 0, times=None, osamp=None):
622 def run(self, dataOut, code=None, nCode=None, nBaud=None, mode = 0, times=None, osamp=None):
614
623
615 if not self.isConfig:
624 if not self.isConfig:
616
625
617 if code == None:
626 if code == None:
618 code = dataOut.code
627 code = dataOut.code
619 else:
628 else:
620 code = numpy.array(code).reshape(nCode,nBaud)
629 code = numpy.array(code).reshape(nCode,nBaud)
621
630
622 self.setup(code, osamp, dataOut)
631 self.setup(code, osamp, dataOut)
623
632
624 self.isConfig = True
633 self.isConfig = True
625
634
626 if dataOut.flagDataAsBlock:
635 if dataOut.flagDataAsBlock:
627 """
636 """
628 Decoding when data have been read as block,
637 Decoding when data have been read as block,
629 """
638 """
630 datadec = self.convolutionByBlockInTime(dataOut.data)
639 datadec = self.convolutionByBlockInTime(dataOut.data)
631
640
632 else:
641 else:
633 """
642 """
634 Decoding when data have been read profile by profile
643 Decoding when data have been read profile by profile
635 """
644 """
636 if mode == 0:
645 if mode == 0:
637 datadec = self.convolutionInTime(dataOut.data)
646 datadec = self.convolutionInTime(dataOut.data)
638
647
639 if mode == 1:
648 if mode == 1:
640 datadec = self.convolutionInFreq(dataOut.data)
649 datadec = self.convolutionInFreq(dataOut.data)
641
650
642 if mode == 2:
651 if mode == 2:
643 datadec = self.convolutionInFreqOpt(dataOut.data)
652 datadec = self.convolutionInFreqOpt(dataOut.data)
644
653
645 dataOut.code = self.code
654 dataOut.code = self.code
646 dataOut.nCode = self.nCode
655 dataOut.nCode = self.nCode
647 dataOut.nBaud = self.nBaud
656 dataOut.nBaud = self.nBaud
648 dataOut.radarControllerHeaderObj.code = self.code
657 dataOut.radarControllerHeaderObj.code = self.code
649 dataOut.radarControllerHeaderObj.nCode = self.nCode
658 dataOut.radarControllerHeaderObj.nCode = self.nCode
650 dataOut.radarControllerHeaderObj.nBaud = self.nBaud
659 dataOut.radarControllerHeaderObj.nBaud = self.nBaud
651
660
652 dataOut.data = datadec
661 dataOut.data = datadec
653
662
654 dataOut.heightList = dataOut.heightList[0:self.ndatadec]
663 dataOut.heightList = dataOut.heightList[0:self.ndatadec]
655
664
656 dataOut.flagDecodeData = True #asumo q la data esta decodificada
665 dataOut.flagDecodeData = True #asumo q la data esta decodificada
657
666
658 if self.__profIndex == self.nCode-1:
667 if self.__profIndex == self.nCode-1:
659 self.__profIndex = 0
668 self.__profIndex = 0
660 return 1
669 return 1
661
670
662 self.__profIndex += 1
671 self.__profIndex += 1
663
672
664 return 1
673 return 1
665 # dataOut.flagDeflipData = True #asumo q la data no esta sin flip
674 # dataOut.flagDeflipData = True #asumo q la data no esta sin flip
666
675
667
676
668 class ProfileConcat(Operation):
677 class ProfileConcat(Operation):
669
678
670 isConfig = False
679 isConfig = False
671 buffer = None
680 buffer = None
672
681
673 def __init__(self):
682 def __init__(self):
674
683
675 Operation.__init__(self)
684 Operation.__init__(self)
676 self.profileIndex = 0
685 self.profileIndex = 0
677
686
678 def reset(self):
687 def reset(self):
679 self.buffer = numpy.zeros_like(self.buffer)
688 self.buffer = numpy.zeros_like(self.buffer)
680 self.start_index = 0
689 self.start_index = 0
681 self.times = 1
690 self.times = 1
682
691
683 def setup(self, data, m, n=1):
692 def setup(self, data, m, n=1):
684 self.buffer = numpy.zeros((data.shape[0],data.shape[1]*m),dtype=type(data[0,0]))
693 self.buffer = numpy.zeros((data.shape[0],data.shape[1]*m),dtype=type(data[0,0]))
685 self.nHeights = data.nHeights
694 self.nHeights = data.nHeights
686 self.start_index = 0
695 self.start_index = 0
687 self.times = 1
696 self.times = 1
688
697
689 def concat(self, data):
698 def concat(self, data):
690
699
691 self.buffer[:,self.start_index:self.profiles*self.times] = data.copy()
700 self.buffer[:,self.start_index:self.profiles*self.times] = data.copy()
692 self.start_index = self.start_index + self.nHeights
701 self.start_index = self.start_index + self.nHeights
693
702
694 def run(self, dataOut, m):
703 def run(self, dataOut, m):
695
704
696 dataOut.flagNoData = True
705 dataOut.flagNoData = True
697
706
698 if not self.isConfig:
707 if not self.isConfig:
699 self.setup(dataOut.data, m, 1)
708 self.setup(dataOut.data, m, 1)
700 self.isConfig = True
709 self.isConfig = True
701
710
702 if dataOut.flagDataAsBlock:
711 if dataOut.flagDataAsBlock:
703
712
704 raise ValueError, "ProfileConcat can only be used when voltage have been read profile by profile, getBlock = False"
713 raise ValueError, "ProfileConcat can only be used when voltage have been read profile by profile, getBlock = False"
705
714
706 else:
715 else:
707 self.concat(dataOut.data)
716 self.concat(dataOut.data)
708 self.times += 1
717 self.times += 1
709 if self.times > m:
718 if self.times > m:
710 dataOut.data = self.buffer
719 dataOut.data = self.buffer
711 self.reset()
720 self.reset()
712 dataOut.flagNoData = False
721 dataOut.flagNoData = False
713 # se deben actualizar mas propiedades del header y del objeto dataOut, por ejemplo, las alturas
722 # se deben actualizar mas propiedades del header y del objeto dataOut, por ejemplo, las alturas
714 deltaHeight = dataOut.heightList[1] - dataOut.heightList[0]
723 deltaHeight = dataOut.heightList[1] - dataOut.heightList[0]
715 xf = dataOut.heightList[0] + dataOut.nHeights * deltaHeight * m
724 xf = dataOut.heightList[0] + dataOut.nHeights * deltaHeight * m
716 dataOut.heightList = numpy.arange(dataOut.heightList[0], xf, deltaHeight)
725 dataOut.heightList = numpy.arange(dataOut.heightList[0], xf, deltaHeight)
717 dataOut.ippSeconds *= m
726 dataOut.ippSeconds *= m
718
727
719 class ProfileSelector(Operation):
728 class ProfileSelector(Operation):
720
729
721 profileIndex = None
730 profileIndex = None
722 # Tamanho total de los perfiles
731 # Tamanho total de los perfiles
723 nProfiles = None
732 nProfiles = None
724
733
725 def __init__(self):
734 def __init__(self):
726
735
727 Operation.__init__(self)
736 Operation.__init__(self)
728 self.profileIndex = 0
737 self.profileIndex = 0
729
738
730 def incIndex(self):
739 def incIndex(self):
731
740
732 self.profileIndex += 1
741 self.profileIndex += 1
733
742
734 if self.profileIndex >= self.nProfiles:
743 if self.profileIndex >= self.nProfiles:
735 self.profileIndex = 0
744 self.profileIndex = 0
736
745
737 def isThisProfileInRange(self, profileIndex, minIndex, maxIndex):
746 def isThisProfileInRange(self, profileIndex, minIndex, maxIndex):
738
747
739 if profileIndex < minIndex:
748 if profileIndex < minIndex:
740 return False
749 return False
741
750
742 if profileIndex > maxIndex:
751 if profileIndex > maxIndex:
743 return False
752 return False
744
753
745 return True
754 return True
746
755
747 def isThisProfileInList(self, profileIndex, profileList):
756 def isThisProfileInList(self, profileIndex, profileList):
748
757
749 if profileIndex not in profileList:
758 if profileIndex not in profileList:
750 return False
759 return False
751
760
752 return True
761 return True
753
762
754 def run(self, dataOut, profileList=None, profileRangeList=None, beam=None, byblock=False, rangeList = None):
763 def run(self, dataOut, profileList=None, profileRangeList=None, beam=None, byblock=False, rangeList = None):
755
764
756 """
765 """
757 ProfileSelector:
766 ProfileSelector:
758
767
759 Inputs:
768 Inputs:
760 profileList : Index of profiles selected. Example: profileList = (0,1,2,7,8)
769 profileList : Index of profiles selected. Example: profileList = (0,1,2,7,8)
761
770
762 profileRangeList : Minimum and maximum profile indexes. Example: profileRangeList = (4, 30)
771 profileRangeList : Minimum and maximum profile indexes. Example: profileRangeList = (4, 30)
763
772
764 rangeList : List of profile ranges. Example: rangeList = ((4, 30), (32, 64), (128, 256))
773 rangeList : List of profile ranges. Example: rangeList = ((4, 30), (32, 64), (128, 256))
765
774
766 """
775 """
767
776
768 dataOut.flagNoData = True
777 dataOut.flagNoData = True
769 self.nProfiles = dataOut.nProfiles
778 self.nProfiles = dataOut.nProfiles
770
779
771 if dataOut.flagDataAsBlock:
780 if dataOut.flagDataAsBlock:
772 """
781 """
773 data dimension = [nChannels, nProfiles, nHeis]
782 data dimension = [nChannels, nProfiles, nHeis]
774 """
783 """
775 if profileList != None:
784 if profileList != None:
776 dataOut.data = dataOut.data[:,profileList,:]
785 dataOut.data = dataOut.data[:,profileList,:]
777 dataOut.nProfiles = len(profileList)
786 dataOut.nProfiles = len(profileList)
778 dataOut.profileIndex = dataOut.nProfiles - 1
787 dataOut.profileIndex = dataOut.nProfiles - 1
779 else:
788 else:
780 minIndex = profileRangeList[0]
789 minIndex = profileRangeList[0]
781 maxIndex = profileRangeList[1]
790 maxIndex = profileRangeList[1]
782
791
783 dataOut.data = dataOut.data[:,minIndex:maxIndex+1,:]
792 dataOut.data = dataOut.data[:,minIndex:maxIndex+1,:]
784 dataOut.nProfiles = maxIndex - minIndex + 1
793 dataOut.nProfiles = maxIndex - minIndex + 1
785 dataOut.profileIndex = dataOut.nProfiles - 1
794 dataOut.profileIndex = dataOut.nProfiles - 1
786
795
787 dataOut.flagNoData = False
796 dataOut.flagNoData = False
788
797
789 return True
798 return True
790
799
791 else:
800 else:
792 """
801 """
793 data dimension = [nChannels, nHeis]
802 data dimension = [nChannels, nHeis]
794
803
795 """
804 """
796 if profileList != None:
805 if profileList != None:
797
806
798 dataOut.nProfiles = len(profileList)
807 dataOut.nProfiles = len(profileList)
799
808
800 if self.isThisProfileInList(dataOut.profileIndex, profileList):
809 if self.isThisProfileInList(dataOut.profileIndex, profileList):
801 dataOut.flagNoData = False
810 dataOut.flagNoData = False
802 dataOut.profileIndex = self.profileIndex
811 dataOut.profileIndex = self.profileIndex
803
812
804 self.incIndex()
813 self.incIndex()
805 return True
814 return True
806
815
807
816
808 if profileRangeList != None:
817 if profileRangeList != None:
809
818
810 minIndex = profileRangeList[0]
819 minIndex = profileRangeList[0]
811 maxIndex = profileRangeList[1]
820 maxIndex = profileRangeList[1]
812
821
813 dataOut.nProfiles = maxIndex - minIndex + 1
822 dataOut.nProfiles = maxIndex - minIndex + 1
814
823
815 if self.isThisProfileInRange(dataOut.profileIndex, minIndex, maxIndex):
824 if self.isThisProfileInRange(dataOut.profileIndex, minIndex, maxIndex):
816 dataOut.flagNoData = False
825 dataOut.flagNoData = False
817 dataOut.profileIndex = self.profileIndex
826 dataOut.profileIndex = self.profileIndex
818
827
819 self.incIndex()
828 self.incIndex()
820 return True
829 return True
821
830
822 if rangeList != None:
831 if rangeList != None:
823
832
824 nProfiles = 0
833 nProfiles = 0
825
834
826 for thisRange in rangeList:
835 for thisRange in rangeList:
827 minIndex = thisRange[0]
836 minIndex = thisRange[0]
828 maxIndex = thisRange[1]
837 maxIndex = thisRange[1]
829
838
830 nProfiles += maxIndex - minIndex + 1
839 nProfiles += maxIndex - minIndex + 1
831
840
832 dataOut.nProfiles = nProfiles
841 dataOut.nProfiles = nProfiles
833
842
834 for thisRange in rangeList:
843 for thisRange in rangeList:
835
844
836 minIndex = thisRange[0]
845 minIndex = thisRange[0]
837 maxIndex = thisRange[1]
846 maxIndex = thisRange[1]
838
847
839 if self.isThisProfileInRange(dataOut.profileIndex, minIndex, maxIndex):
848 if self.isThisProfileInRange(dataOut.profileIndex, minIndex, maxIndex):
840
849
841 # print "profileIndex = ", dataOut.profileIndex
850 # print "profileIndex = ", dataOut.profileIndex
842
851
843 dataOut.flagNoData = False
852 dataOut.flagNoData = False
844 dataOut.profileIndex = self.profileIndex
853 dataOut.profileIndex = self.profileIndex
845
854
846 self.incIndex()
855 self.incIndex()
847 break
856 break
848 return True
857 return True
849
858
850
859
851 if beam != None: #beam is only for AMISR data
860 if beam != None: #beam is only for AMISR data
852 if self.isThisProfileInList(dataOut.profileIndex, dataOut.beamRangeDict[beam]):
861 if self.isThisProfileInList(dataOut.profileIndex, dataOut.beamRangeDict[beam]):
853 dataOut.flagNoData = False
862 dataOut.flagNoData = False
854 dataOut.profileIndex = self.profileIndex
863 dataOut.profileIndex = self.profileIndex
855
864
856 self.incIndex()
865 self.incIndex()
857 return 1
866 return 1
858
867
859 raise ValueError, "ProfileSelector needs profileList or profileRangeList"
868 raise ValueError, "ProfileSelector needs profileList or profileRangeList"
860
869
861 return 0
870 return 0
862
871
863
872
864
873
865 class Reshaper(Operation):
874 class Reshaper(Operation):
866
875
867 def __init__(self):
876 def __init__(self):
868
877
869 Operation.__init__(self)
878 Operation.__init__(self)
870 self.updateNewHeights = True
879 self.updateNewHeights = True
871
880
872 def run(self, dataOut, shape):
881 def run(self, dataOut, shape):
873
882
874 if not dataOut.flagDataAsBlock:
883 if not dataOut.flagDataAsBlock:
875 raise ValueError, "Reshaper can only be used when voltage have been read as Block, getBlock = True"
884 raise ValueError, "Reshaper can only be used when voltage have been read as Block, getBlock = True"
876
885
877 if len(shape) != 3:
886 if len(shape) != 3:
878 raise ValueError, "shape len should be equal to 3, (nChannels, nProfiles, nHeis)"
887 raise ValueError, "shape len should be equal to 3, (nChannels, nProfiles, nHeis)"
879
888
880 shape_tuple = tuple(shape)
889 shape_tuple = tuple(shape)
881 dataOut.data = numpy.reshape(dataOut.data, shape_tuple)
890 dataOut.data = numpy.reshape(dataOut.data, shape_tuple)
882 dataOut.flagNoData = False
891 dataOut.flagNoData = False
883
892
884 if self.updateNewHeights:
893 if self.updateNewHeights:
885
894
886 old_nheights = dataOut.nHeights
895 old_nheights = dataOut.nHeights
887 new_nheights = dataOut.data.shape[2]
896 new_nheights = dataOut.data.shape[2]
888 factor = 1.0*new_nheights / old_nheights
897 factor = 1.0*new_nheights / old_nheights
889
898
890 deltaHeight = dataOut.heightList[1] - dataOut.heightList[0]
899 deltaHeight = dataOut.heightList[1] - dataOut.heightList[0]
891
900
892 xf = dataOut.heightList[0] + dataOut.nHeights * deltaHeight * factor
901 xf = dataOut.heightList[0] + dataOut.nHeights * deltaHeight * factor
893
902
894 dataOut.heightList = numpy.arange(dataOut.heightList[0], xf, deltaHeight)
903 dataOut.heightList = numpy.arange(dataOut.heightList[0], xf, deltaHeight)
895
904
896 dataOut.nProfiles = dataOut.data.shape[1]
905 dataOut.nProfiles = dataOut.data.shape[1]
897
906
898 dataOut.ippSeconds *= factor
907 dataOut.ippSeconds *= factor
899
908
900 import collections
909 import collections
901 from scipy.stats import mode
910 from scipy.stats import mode
902
911
903 class Synchronize(Operation):
912 class Synchronize(Operation):
904
913
905 isConfig = False
914 isConfig = False
906 __profIndex = 0
915 __profIndex = 0
907
916
908 def __init__(self):
917 def __init__(self):
909
918
910 Operation.__init__(self)
919 Operation.__init__(self)
911 # self.isConfig = False
920 # self.isConfig = False
912 self.__powBuffer = None
921 self.__powBuffer = None
913 self.__startIndex = 0
922 self.__startIndex = 0
914 self.__pulseFound = False
923 self.__pulseFound = False
915
924
916 def __findTxPulse(self, dataOut, channel=0, pulse_with = None):
925 def __findTxPulse(self, dataOut, channel=0, pulse_with = None):
917
926
918 #Read data
927 #Read data
919
928
920 powerdB = dataOut.getPower(channel = channel)
929 powerdB = dataOut.getPower(channel = channel)
921 noisedB = dataOut.getNoise(channel = channel)[0]
930 noisedB = dataOut.getNoise(channel = channel)[0]
922
931
923 self.__powBuffer.extend(powerdB.flatten())
932 self.__powBuffer.extend(powerdB.flatten())
924
933
925 dataArray = numpy.array(self.__powBuffer)
934 dataArray = numpy.array(self.__powBuffer)
926
935
927 filteredPower = numpy.correlate(dataArray, dataArray[0:self.__nSamples], "same")
936 filteredPower = numpy.correlate(dataArray, dataArray[0:self.__nSamples], "same")
928
937
929 maxValue = numpy.nanmax(filteredPower)
938 maxValue = numpy.nanmax(filteredPower)
930
939
931 if maxValue < noisedB + 10:
940 if maxValue < noisedB + 10:
932 #No se encuentra ningun pulso de transmision
941 #No se encuentra ningun pulso de transmision
933 return None
942 return None
934
943
935 maxValuesIndex = numpy.where(filteredPower > maxValue - 0.1*abs(maxValue))[0]
944 maxValuesIndex = numpy.where(filteredPower > maxValue - 0.1*abs(maxValue))[0]
936
945
937 if len(maxValuesIndex) < 2:
946 if len(maxValuesIndex) < 2:
938 #Solo se encontro un solo pulso de transmision de un baudio, esperando por el siguiente TX
947 #Solo se encontro un solo pulso de transmision de un baudio, esperando por el siguiente TX
939 return None
948 return None
940
949
941 phasedMaxValuesIndex = maxValuesIndex - self.__nSamples
950 phasedMaxValuesIndex = maxValuesIndex - self.__nSamples
942
951
943 #Seleccionar solo valores con un espaciamiento de nSamples
952 #Seleccionar solo valores con un espaciamiento de nSamples
944 pulseIndex = numpy.intersect1d(maxValuesIndex, phasedMaxValuesIndex)
953 pulseIndex = numpy.intersect1d(maxValuesIndex, phasedMaxValuesIndex)
945
954
946 if len(pulseIndex) < 2:
955 if len(pulseIndex) < 2:
947 #Solo se encontro un pulso de transmision con ancho mayor a 1
956 #Solo se encontro un pulso de transmision con ancho mayor a 1
948 return None
957 return None
949
958
950 spacing = pulseIndex[1:] - pulseIndex[:-1]
959 spacing = pulseIndex[1:] - pulseIndex[:-1]
951
960
952 #remover senales que se distancien menos de 10 unidades o muestras
961 #remover senales que se distancien menos de 10 unidades o muestras
953 #(No deberian existir IPP menor a 10 unidades)
962 #(No deberian existir IPP menor a 10 unidades)
954
963
955 realIndex = numpy.where(spacing > 10 )[0]
964 realIndex = numpy.where(spacing > 10 )[0]
956
965
957 if len(realIndex) < 2:
966 if len(realIndex) < 2:
958 #Solo se encontro un pulso de transmision con ancho mayor a 1
967 #Solo se encontro un pulso de transmision con ancho mayor a 1
959 return None
968 return None
960
969
961 #Eliminar pulsos anchos (deja solo la diferencia entre IPPs)
970 #Eliminar pulsos anchos (deja solo la diferencia entre IPPs)
962 realPulseIndex = pulseIndex[realIndex]
971 realPulseIndex = pulseIndex[realIndex]
963
972
964 period = mode(realPulseIndex[1:] - realPulseIndex[:-1])[0][0]
973 period = mode(realPulseIndex[1:] - realPulseIndex[:-1])[0][0]
965
974
966 print "IPP = %d samples" %period
975 print "IPP = %d samples" %period
967
976
968 self.__newNSamples = dataOut.nHeights #int(period)
977 self.__newNSamples = dataOut.nHeights #int(period)
969 self.__startIndex = int(realPulseIndex[0])
978 self.__startIndex = int(realPulseIndex[0])
970
979
971 return 1
980 return 1
972
981
973
982
974 def setup(self, nSamples, nChannels, buffer_size = 4):
983 def setup(self, nSamples, nChannels, buffer_size = 4):
975
984
976 self.__powBuffer = collections.deque(numpy.zeros( buffer_size*nSamples,dtype=numpy.float),
985 self.__powBuffer = collections.deque(numpy.zeros( buffer_size*nSamples,dtype=numpy.float),
977 maxlen = buffer_size*nSamples)
986 maxlen = buffer_size*nSamples)
978
987
979 bufferList = []
988 bufferList = []
980
989
981 for i in range(nChannels):
990 for i in range(nChannels):
982 bufferByChannel = collections.deque(numpy.zeros( buffer_size*nSamples, dtype=numpy.complex) + numpy.NAN,
991 bufferByChannel = collections.deque(numpy.zeros( buffer_size*nSamples, dtype=numpy.complex) + numpy.NAN,
983 maxlen = buffer_size*nSamples)
992 maxlen = buffer_size*nSamples)
984
993
985 bufferList.append(bufferByChannel)
994 bufferList.append(bufferByChannel)
986
995
987 self.__nSamples = nSamples
996 self.__nSamples = nSamples
988 self.__nChannels = nChannels
997 self.__nChannels = nChannels
989 self.__bufferList = bufferList
998 self.__bufferList = bufferList
990
999
991 def run(self, dataOut, channel = 0):
1000 def run(self, dataOut, channel = 0):
992
1001
993 if not self.isConfig:
1002 if not self.isConfig:
994 nSamples = dataOut.nHeights
1003 nSamples = dataOut.nHeights
995 nChannels = dataOut.nChannels
1004 nChannels = dataOut.nChannels
996 self.setup(nSamples, nChannels)
1005 self.setup(nSamples, nChannels)
997 self.isConfig = True
1006 self.isConfig = True
998
1007
999 #Append new data to internal buffer
1008 #Append new data to internal buffer
1000 for thisChannel in range(self.__nChannels):
1009 for thisChannel in range(self.__nChannels):
1001 bufferByChannel = self.__bufferList[thisChannel]
1010 bufferByChannel = self.__bufferList[thisChannel]
1002 bufferByChannel.extend(dataOut.data[thisChannel])
1011 bufferByChannel.extend(dataOut.data[thisChannel])
1003
1012
1004 if self.__pulseFound:
1013 if self.__pulseFound:
1005 self.__startIndex -= self.__nSamples
1014 self.__startIndex -= self.__nSamples
1006
1015
1007 #Finding Tx Pulse
1016 #Finding Tx Pulse
1008 if not self.__pulseFound:
1017 if not self.__pulseFound:
1009 indexFound = self.__findTxPulse(dataOut, channel)
1018 indexFound = self.__findTxPulse(dataOut, channel)
1010
1019
1011 if indexFound == None:
1020 if indexFound == None:
1012 dataOut.flagNoData = True
1021 dataOut.flagNoData = True
1013 return
1022 return
1014
1023
1015 self.__arrayBuffer = numpy.zeros((self.__nChannels, self.__newNSamples), dtype = numpy.complex)
1024 self.__arrayBuffer = numpy.zeros((self.__nChannels, self.__newNSamples), dtype = numpy.complex)
1016 self.__pulseFound = True
1025 self.__pulseFound = True
1017 self.__startIndex = indexFound
1026 self.__startIndex = indexFound
1018
1027
1019 #If pulse was found ...
1028 #If pulse was found ...
1020 for thisChannel in range(self.__nChannels):
1029 for thisChannel in range(self.__nChannels):
1021 bufferByChannel = self.__bufferList[thisChannel]
1030 bufferByChannel = self.__bufferList[thisChannel]
1022 #print self.__startIndex
1031 #print self.__startIndex
1023 x = numpy.array(bufferByChannel)
1032 x = numpy.array(bufferByChannel)
1024 self.__arrayBuffer[thisChannel] = x[self.__startIndex:self.__startIndex+self.__newNSamples]
1033 self.__arrayBuffer[thisChannel] = x[self.__startIndex:self.__startIndex+self.__newNSamples]
1025
1034
1026 deltaHeight = dataOut.heightList[1] - dataOut.heightList[0]
1035 deltaHeight = dataOut.heightList[1] - dataOut.heightList[0]
1027 dataOut.heightList = numpy.arange(self.__newNSamples)*deltaHeight
1036 dataOut.heightList = numpy.arange(self.__newNSamples)*deltaHeight
1028 # dataOut.ippSeconds = (self.__newNSamples / deltaHeight)/1e6
1037 # dataOut.ippSeconds = (self.__newNSamples / deltaHeight)/1e6
1029
1038
1030 dataOut.data = self.__arrayBuffer
1039 dataOut.data = self.__arrayBuffer
1031
1040
1032 self.__startIndex += self.__newNSamples
1041 self.__startIndex += self.__newNSamples
1033
1042
1034 return No newline at end of file
1043 return
General Comments 0
You need to be logged in to leave comments. Login now