##// END OF EJS Templates
Bug fixed: translating float values to integer
Miguel Valdez -
r677:5a045da2ac8c
parent child
Show More
@@ -1,1142 +1,1145
1 '''
1 '''
2 Created on September , 2012
2 Created on September , 2012
3 @author:
3 @author:
4 '''
4 '''
5 from xml.etree.ElementTree import ElementTree, Element, SubElement, tostring
5 from xml.etree.ElementTree import ElementTree, Element, SubElement, tostring
6 from xml.dom import minidom
6 from xml.dom import minidom
7
7
8 from model import *
8 from model import *
9 from time import sleep
9 from time import sleep
10
10
11 import sys
11 import sys
12 import ast
12 import ast
13 import traceback
13 import traceback
14
14
15 SCHAIN_MAIL = "miguel.urco@jro.igp.gob.pe"
15 SCHAIN_MAIL = "miguel.urco@jro.igp.gob.pe"
16 EMAIL_SERVER = "jro.igp.gob.pe"
16 EMAIL_SERVER = "jro.igp.gob.pe"
17
17
18 def prettify(elem):
18 def prettify(elem):
19 """Return a pretty-printed XML string for the Element.
19 """Return a pretty-printed XML string for the Element.
20 """
20 """
21 rough_string = tostring(elem, 'utf-8')
21 rough_string = tostring(elem, 'utf-8')
22 reparsed = minidom.parseString(rough_string)
22 reparsed = minidom.parseString(rough_string)
23 return reparsed.toprettyxml(indent=" ")
23 return reparsed.toprettyxml(indent=" ")
24
24
25 class ParameterConf():
25 class ParameterConf():
26
26
27 id = None
27 id = None
28 name = None
28 name = None
29 value = None
29 value = None
30 format = None
30 format = None
31
31
32 __formated_value = None
32 __formated_value = None
33
33
34 ELEMENTNAME = 'Parameter'
34 ELEMENTNAME = 'Parameter'
35
35
36 def __init__(self):
36 def __init__(self):
37
37
38 self.format = 'str'
38 self.format = 'str'
39
39
40 def getElementName(self):
40 def getElementName(self):
41
41
42 return self.ELEMENTNAME
42 return self.ELEMENTNAME
43
43
44 def getValue(self):
44 def getValue(self):
45
45
46 value = self.value
46 value = self.value
47 format = self.format
47 format = self.format
48
48
49 if self.__formated_value != None:
49 if self.__formated_value != None:
50
50
51 return self.__formated_value
51 return self.__formated_value
52
52
53 if format == 'str':
53 if format == 'str':
54 self.__formated_value = str(value)
54 self.__formated_value = str(value)
55 return self.__formated_value
55 return self.__formated_value
56
56
57 if value == '':
57 if value == '':
58 raise ValueError, "%s: This parameter value is empty" %self.name
58 raise ValueError, "%s: This parameter value is empty" %self.name
59
60 if format == 'bool':
61 value = int(value)
62
59
63 if format == 'list':
60 if format == 'list':
64 strList = value.split(',')
61 strList = value.split(',')
65
62
66 self.__formated_value = strList
63 self.__formated_value = strList
67
64
68 return self.__formated_value
65 return self.__formated_value
69
66
70 if format == 'intlist':
67 if format == 'intlist':
71 """
68 """
72 Example:
69 Example:
73 value = (0,1,2)
70 value = (0,1,2)
74 """
71 """
75 value = value.replace('(', '')
72 value = value.replace('(', '')
76 value = value.replace(')', '')
73 value = value.replace(')', '')
77
74
78 value = value.replace('[', '')
75 value = value.replace('[', '')
79 value = value.replace(']', '')
76 value = value.replace(']', '')
80
77
81 strList = value.split(',')
78 strList = value.split(',')
82 intList = [int(float(x)) for x in strList]
79 intList = [int(float(x)) for x in strList]
83
80
84 self.__formated_value = intList
81 self.__formated_value = intList
85
82
86 return self.__formated_value
83 return self.__formated_value
87
84
88 if format == 'floatlist':
85 if format == 'floatlist':
89 """
86 """
90 Example:
87 Example:
91 value = (0.5, 1.4, 2.7)
88 value = (0.5, 1.4, 2.7)
92 """
89 """
93
90
94 value = value.replace('(', '')
91 value = value.replace('(', '')
95 value = value.replace(')', '')
92 value = value.replace(')', '')
96
93
97 value = value.replace('[', '')
94 value = value.replace('[', '')
98 value = value.replace(']', '')
95 value = value.replace(']', '')
99
96
100 strList = value.split(',')
97 strList = value.split(',')
101 floatList = [float(x) for x in strList]
98 floatList = [float(x) for x in strList]
102
99
103 self.__formated_value = floatList
100 self.__formated_value = floatList
104
101
105 return self.__formated_value
102 return self.__formated_value
106
103
107 if format == 'date':
104 if format == 'date':
108 strList = value.split('/')
105 strList = value.split('/')
109 intList = [int(x) for x in strList]
106 intList = [int(x) for x in strList]
110 date = datetime.date(intList[0], intList[1], intList[2])
107 date = datetime.date(intList[0], intList[1], intList[2])
111
108
112 self.__formated_value = date
109 self.__formated_value = date
113
110
114 return self.__formated_value
111 return self.__formated_value
115
112
116 if format == 'time':
113 if format == 'time':
117 strList = value.split(':')
114 strList = value.split(':')
118 intList = [int(x) for x in strList]
115 intList = [int(x) for x in strList]
119 time = datetime.time(intList[0], intList[1], intList[2])
116 time = datetime.time(intList[0], intList[1], intList[2])
120
117
121 self.__formated_value = time
118 self.__formated_value = time
122
119
123 return self.__formated_value
120 return self.__formated_value
124
121
125 if format == 'pairslist':
122 if format == 'pairslist':
126 """
123 """
127 Example:
124 Example:
128 value = (0,1),(1,2)
125 value = (0,1),(1,2)
129 """
126 """
130
127
131 value = value.replace('(', '')
128 value = value.replace('(', '')
132 value = value.replace(')', '')
129 value = value.replace(')', '')
133
130
134 value = value.replace('[', '')
131 value = value.replace('[', '')
135 value = value.replace(']', '')
132 value = value.replace(']', '')
136
133
137 strList = value.split(',')
134 strList = value.split(',')
138 intList = [int(item) for item in strList]
135 intList = [int(item) for item in strList]
139 pairList = []
136 pairList = []
140 for i in range(len(intList)/2):
137 for i in range(len(intList)/2):
141 pairList.append((intList[i*2], intList[i*2 + 1]))
138 pairList.append((intList[i*2], intList[i*2 + 1]))
142
139
143 self.__formated_value = pairList
140 self.__formated_value = pairList
144
141
145 return self.__formated_value
142 return self.__formated_value
146
143
147 if format == 'multilist':
144 if format == 'multilist':
148 """
145 """
149 Example:
146 Example:
150 value = (0,1,2),(3,4,5)
147 value = (0,1,2),(3,4,5)
151 """
148 """
152 multiList = ast.literal_eval(value)
149 multiList = ast.literal_eval(value)
153
150
154 if type(multiList[0]) == int:
151 if type(multiList[0]) == int:
155 multiList = ast.literal_eval("(" + value + ")")
152 multiList = ast.literal_eval("(" + value + ")")
156
153
157 self.__formated_value = multiList
154 self.__formated_value = multiList
158
155
159 return self.__formated_value
156 return self.__formated_value
160
157
158 if format == 'bool':
159 value = int(value)
160
161 if format == 'int':
162 value = float(value)
163
161 format_func = eval(format)
164 format_func = eval(format)
162
165
163 self.__formated_value = format_func(value)
166 self.__formated_value = format_func(value)
164
167
165 return self.__formated_value
168 return self.__formated_value
166
169
167 def updateId(self, new_id):
170 def updateId(self, new_id):
168
171
169 self.id = str(new_id)
172 self.id = str(new_id)
170
173
171 def setup(self, id, name, value, format='str'):
174 def setup(self, id, name, value, format='str'):
172
175
173 self.id = str(id)
176 self.id = str(id)
174 self.name = name
177 self.name = name
175 self.value = str(value)
178 self.value = str(value)
176 self.format = str.lower(format)
179 self.format = str.lower(format)
177
180
178 try:
181 try:
179 self.getValue()
182 self.getValue()
180 except:
183 except:
181 return 0
184 return 0
182
185
183 return 1
186 return 1
184
187
185 def update(self, name, value, format='str'):
188 def update(self, name, value, format='str'):
186
189
187 self.name = name
190 self.name = name
188 self.value = str(value)
191 self.value = str(value)
189 self.format = format
192 self.format = format
190
193
191 def makeXml(self, opElement):
194 def makeXml(self, opElement):
192
195
193 parmElement = SubElement(opElement, self.ELEMENTNAME)
196 parmElement = SubElement(opElement, self.ELEMENTNAME)
194 parmElement.set('id', str(self.id))
197 parmElement.set('id', str(self.id))
195 parmElement.set('name', self.name)
198 parmElement.set('name', self.name)
196 parmElement.set('value', self.value)
199 parmElement.set('value', self.value)
197 parmElement.set('format', self.format)
200 parmElement.set('format', self.format)
198
201
199 def readXml(self, parmElement):
202 def readXml(self, parmElement):
200
203
201 self.id = parmElement.get('id')
204 self.id = parmElement.get('id')
202 self.name = parmElement.get('name')
205 self.name = parmElement.get('name')
203 self.value = parmElement.get('value')
206 self.value = parmElement.get('value')
204 self.format = str.lower(parmElement.get('format'))
207 self.format = str.lower(parmElement.get('format'))
205
208
206 #Compatible with old signal chain version
209 #Compatible with old signal chain version
207 if self.format == 'int' and self.name == 'idfigure':
210 if self.format == 'int' and self.name == 'idfigure':
208 self.name = 'id'
211 self.name = 'id'
209
212
210 def printattr(self):
213 def printattr(self):
211
214
212 print "Parameter[%s]: name = %s, value = %s, format = %s" %(self.id, self.name, self.value, self.format)
215 print "Parameter[%s]: name = %s, value = %s, format = %s" %(self.id, self.name, self.value, self.format)
213
216
214 class OperationConf():
217 class OperationConf():
215
218
216 id = None
219 id = None
217 name = None
220 name = None
218 priority = None
221 priority = None
219 type = None
222 type = None
220
223
221 parmConfObjList = []
224 parmConfObjList = []
222
225
223 ELEMENTNAME = 'Operation'
226 ELEMENTNAME = 'Operation'
224
227
225 def __init__(self):
228 def __init__(self):
226
229
227 self.id = '0'
230 self.id = '0'
228 self.name = None
231 self.name = None
229 self.priority = None
232 self.priority = None
230 self.type = 'self'
233 self.type = 'self'
231
234
232
235
233 def __getNewId(self):
236 def __getNewId(self):
234
237
235 return int(self.id)*10 + len(self.parmConfObjList) + 1
238 return int(self.id)*10 + len(self.parmConfObjList) + 1
236
239
237 def updateId(self, new_id):
240 def updateId(self, new_id):
238
241
239 self.id = str(new_id)
242 self.id = str(new_id)
240
243
241 n = 1
244 n = 1
242 for parmObj in self.parmConfObjList:
245 for parmObj in self.parmConfObjList:
243
246
244 idParm = str(int(new_id)*10 + n)
247 idParm = str(int(new_id)*10 + n)
245 parmObj.updateId(idParm)
248 parmObj.updateId(idParm)
246
249
247 n += 1
250 n += 1
248
251
249 def getElementName(self):
252 def getElementName(self):
250
253
251 return self.ELEMENTNAME
254 return self.ELEMENTNAME
252
255
253 def getParameterObjList(self):
256 def getParameterObjList(self):
254
257
255 return self.parmConfObjList
258 return self.parmConfObjList
256
259
257 def getParameterObj(self, parameterName):
260 def getParameterObj(self, parameterName):
258
261
259 for parmConfObj in self.parmConfObjList:
262 for parmConfObj in self.parmConfObjList:
260
263
261 if parmConfObj.name != parameterName:
264 if parmConfObj.name != parameterName:
262 continue
265 continue
263
266
264 return parmConfObj
267 return parmConfObj
265
268
266 return None
269 return None
267
270
268 def getParameterObjfromValue(self, parameterValue):
271 def getParameterObjfromValue(self, parameterValue):
269
272
270 for parmConfObj in self.parmConfObjList:
273 for parmConfObj in self.parmConfObjList:
271
274
272 if parmConfObj.getValue() != parameterValue:
275 if parmConfObj.getValue() != parameterValue:
273 continue
276 continue
274
277
275 return parmConfObj.getValue()
278 return parmConfObj.getValue()
276
279
277 return None
280 return None
278
281
279 def getParameterValue(self, parameterName):
282 def getParameterValue(self, parameterName):
280
283
281 parameterObj = self.getParameterObj(parameterName)
284 parameterObj = self.getParameterObj(parameterName)
282
285
283 # if not parameterObj:
286 # if not parameterObj:
284 # return None
287 # return None
285
288
286 value = parameterObj.getValue()
289 value = parameterObj.getValue()
287
290
288 return value
291 return value
289
292
290 def setup(self, id, name, priority, type):
293 def setup(self, id, name, priority, type):
291
294
292 self.id = str(id)
295 self.id = str(id)
293 self.name = name
296 self.name = name
294 self.type = type
297 self.type = type
295 self.priority = priority
298 self.priority = priority
296
299
297 self.parmConfObjList = []
300 self.parmConfObjList = []
298
301
299 def removeParameters(self):
302 def removeParameters(self):
300
303
301 for obj in self.parmConfObjList:
304 for obj in self.parmConfObjList:
302 del obj
305 del obj
303
306
304 self.parmConfObjList = []
307 self.parmConfObjList = []
305
308
306 def addParameter(self, name, value, format='str'):
309 def addParameter(self, name, value, format='str'):
307
310
308 id = self.__getNewId()
311 id = self.__getNewId()
309
312
310 parmConfObj = ParameterConf()
313 parmConfObj = ParameterConf()
311 if not parmConfObj.setup(id, name, value, format):
314 if not parmConfObj.setup(id, name, value, format):
312 return None
315 return None
313
316
314 self.parmConfObjList.append(parmConfObj)
317 self.parmConfObjList.append(parmConfObj)
315
318
316 return parmConfObj
319 return parmConfObj
317
320
318 def changeParameter(self, name, value, format='str'):
321 def changeParameter(self, name, value, format='str'):
319
322
320 parmConfObj = self.getParameterObj(name)
323 parmConfObj = self.getParameterObj(name)
321 parmConfObj.update(name, value, format)
324 parmConfObj.update(name, value, format)
322
325
323 return parmConfObj
326 return parmConfObj
324
327
325 def makeXml(self, upElement):
328 def makeXml(self, upElement):
326
329
327 opElement = SubElement(upElement, self.ELEMENTNAME)
330 opElement = SubElement(upElement, self.ELEMENTNAME)
328 opElement.set('id', str(self.id))
331 opElement.set('id', str(self.id))
329 opElement.set('name', self.name)
332 opElement.set('name', self.name)
330 opElement.set('type', self.type)
333 opElement.set('type', self.type)
331 opElement.set('priority', str(self.priority))
334 opElement.set('priority', str(self.priority))
332
335
333 for parmConfObj in self.parmConfObjList:
336 for parmConfObj in self.parmConfObjList:
334 parmConfObj.makeXml(opElement)
337 parmConfObj.makeXml(opElement)
335
338
336 def readXml(self, opElement):
339 def readXml(self, opElement):
337
340
338 self.id = opElement.get('id')
341 self.id = opElement.get('id')
339 self.name = opElement.get('name')
342 self.name = opElement.get('name')
340 self.type = opElement.get('type')
343 self.type = opElement.get('type')
341 self.priority = opElement.get('priority')
344 self.priority = opElement.get('priority')
342
345
343 #Compatible with old signal chain version
346 #Compatible with old signal chain version
344 #Use of 'run' method instead 'init'
347 #Use of 'run' method instead 'init'
345 if self.type == 'self' and self.name == 'init':
348 if self.type == 'self' and self.name == 'init':
346 self.name = 'run'
349 self.name = 'run'
347
350
348 self.parmConfObjList = []
351 self.parmConfObjList = []
349
352
350 parmElementList = opElement.getiterator(ParameterConf().getElementName())
353 parmElementList = opElement.getiterator(ParameterConf().getElementName())
351
354
352 for parmElement in parmElementList:
355 for parmElement in parmElementList:
353 parmConfObj = ParameterConf()
356 parmConfObj = ParameterConf()
354 parmConfObj.readXml(parmElement)
357 parmConfObj.readXml(parmElement)
355
358
356 #Compatible with old signal chain version
359 #Compatible with old signal chain version
357 #If an 'plot' OPERATION is found, changes name operation by the value of its type PARAMETER
360 #If an 'plot' OPERATION is found, changes name operation by the value of its type PARAMETER
358 if self.type != 'self' and self.name == 'Plot':
361 if self.type != 'self' and self.name == 'Plot':
359 if parmConfObj.format == 'str' and parmConfObj.name == 'type':
362 if parmConfObj.format == 'str' and parmConfObj.name == 'type':
360 self.name = parmConfObj.value
363 self.name = parmConfObj.value
361 continue
364 continue
362
365
363 self.parmConfObjList.append(parmConfObj)
366 self.parmConfObjList.append(parmConfObj)
364
367
365 def printattr(self):
368 def printattr(self):
366
369
367 print "%s[%s]: name = %s, type = %s, priority = %s" %(self.ELEMENTNAME,
370 print "%s[%s]: name = %s, type = %s, priority = %s" %(self.ELEMENTNAME,
368 self.id,
371 self.id,
369 self.name,
372 self.name,
370 self.type,
373 self.type,
371 self.priority)
374 self.priority)
372
375
373 for parmConfObj in self.parmConfObjList:
376 for parmConfObj in self.parmConfObjList:
374 parmConfObj.printattr()
377 parmConfObj.printattr()
375
378
376 def createObject(self):
379 def createObject(self):
377
380
378 if self.type == 'self':
381 if self.type == 'self':
379 raise ValueError, "This operation type cannot be created"
382 raise ValueError, "This operation type cannot be created"
380
383
381 if self.type == 'external' or self.type == 'other':
384 if self.type == 'external' or self.type == 'other':
382 className = eval(self.name)
385 className = eval(self.name)
383 opObj = className()
386 opObj = className()
384
387
385 return opObj
388 return opObj
386
389
387 class ProcUnitConf():
390 class ProcUnitConf():
388
391
389 id = None
392 id = None
390 name = None
393 name = None
391 datatype = None
394 datatype = None
392 inputId = None
395 inputId = None
393 parentId = None
396 parentId = None
394
397
395 opConfObjList = []
398 opConfObjList = []
396
399
397 procUnitObj = None
400 procUnitObj = None
398 opObjList = []
401 opObjList = []
399
402
400 ELEMENTNAME = 'ProcUnit'
403 ELEMENTNAME = 'ProcUnit'
401
404
402 def __init__(self):
405 def __init__(self):
403
406
404 self.id = None
407 self.id = None
405 self.datatype = None
408 self.datatype = None
406 self.name = None
409 self.name = None
407 self.inputId = None
410 self.inputId = None
408
411
409 self.opConfObjList = []
412 self.opConfObjList = []
410
413
411 self.procUnitObj = None
414 self.procUnitObj = None
412 self.opObjDict = {}
415 self.opObjDict = {}
413
416
414 def __getPriority(self):
417 def __getPriority(self):
415
418
416 return len(self.opConfObjList)+1
419 return len(self.opConfObjList)+1
417
420
418 def __getNewId(self):
421 def __getNewId(self):
419
422
420 return int(self.id)*10 + len(self.opConfObjList) + 1
423 return int(self.id)*10 + len(self.opConfObjList) + 1
421
424
422 def getElementName(self):
425 def getElementName(self):
423
426
424 return self.ELEMENTNAME
427 return self.ELEMENTNAME
425
428
426 def getId(self):
429 def getId(self):
427
430
428 return self.id
431 return self.id
429
432
430 def updateId(self, new_id, parentId=parentId):
433 def updateId(self, new_id, parentId=parentId):
431
434
432
435
433 new_id = int(parentId)*10 + (int(self.id) % 10)
436 new_id = int(parentId)*10 + (int(self.id) % 10)
434 new_inputId = int(parentId)*10 + (int(self.inputId) % 10)
437 new_inputId = int(parentId)*10 + (int(self.inputId) % 10)
435
438
436 #If this proc unit has not inputs
439 #If this proc unit has not inputs
437 if self.inputId == '0':
440 if self.inputId == '0':
438 new_inputId = 0
441 new_inputId = 0
439
442
440 n = 1
443 n = 1
441 for opConfObj in self.opConfObjList:
444 for opConfObj in self.opConfObjList:
442
445
443 idOp = str(int(new_id)*10 + n)
446 idOp = str(int(new_id)*10 + n)
444 opConfObj.updateId(idOp)
447 opConfObj.updateId(idOp)
445
448
446 n += 1
449 n += 1
447
450
448 self.parentId = str(parentId)
451 self.parentId = str(parentId)
449 self.id = str(new_id)
452 self.id = str(new_id)
450 self.inputId = str(new_inputId)
453 self.inputId = str(new_inputId)
451
454
452
455
453 def getInputId(self):
456 def getInputId(self):
454
457
455 return self.inputId
458 return self.inputId
456
459
457 def getOperationObjList(self):
460 def getOperationObjList(self):
458
461
459 return self.opConfObjList
462 return self.opConfObjList
460
463
461 def getOperationObj(self, name=None):
464 def getOperationObj(self, name=None):
462
465
463 for opConfObj in self.opConfObjList:
466 for opConfObj in self.opConfObjList:
464
467
465 if opConfObj.name != name:
468 if opConfObj.name != name:
466 continue
469 continue
467
470
468 return opConfObj
471 return opConfObj
469
472
470 return None
473 return None
471
474
472 def getOpObjfromParamValue(self, value=None):
475 def getOpObjfromParamValue(self, value=None):
473
476
474 for opConfObj in self.opConfObjList:
477 for opConfObj in self.opConfObjList:
475 if opConfObj.getParameterObjfromValue(parameterValue=value) != value:
478 if opConfObj.getParameterObjfromValue(parameterValue=value) != value:
476 continue
479 continue
477 return opConfObj
480 return opConfObj
478 return None
481 return None
479
482
480 def getProcUnitObj(self):
483 def getProcUnitObj(self):
481
484
482 return self.procUnitObj
485 return self.procUnitObj
483
486
484 def setup(self, id, name, datatype, inputId, parentId=None):
487 def setup(self, id, name, datatype, inputId, parentId=None):
485
488
486 #Compatible with old signal chain version
489 #Compatible with old signal chain version
487 if datatype==None and name==None:
490 if datatype==None and name==None:
488 raise ValueError, "datatype or name should be defined"
491 raise ValueError, "datatype or name should be defined"
489
492
490 if name==None:
493 if name==None:
491 if 'Proc' in datatype:
494 if 'Proc' in datatype:
492 name = datatype
495 name = datatype
493 else:
496 else:
494 name = '%sProc' %(datatype)
497 name = '%sProc' %(datatype)
495
498
496 if datatype==None:
499 if datatype==None:
497 datatype = name.replace('Proc','')
500 datatype = name.replace('Proc','')
498
501
499 self.id = str(id)
502 self.id = str(id)
500 self.name = name
503 self.name = name
501 self.datatype = datatype
504 self.datatype = datatype
502 self.inputId = inputId
505 self.inputId = inputId
503 self.parentId = parentId
506 self.parentId = parentId
504
507
505 self.opConfObjList = []
508 self.opConfObjList = []
506
509
507 self.addOperation(name='run', optype='self')
510 self.addOperation(name='run', optype='self')
508
511
509 def removeOperations(self):
512 def removeOperations(self):
510
513
511 for obj in self.opConfObjList:
514 for obj in self.opConfObjList:
512 del obj
515 del obj
513
516
514 self.opConfObjList = []
517 self.opConfObjList = []
515 self.addOperation(name='run')
518 self.addOperation(name='run')
516
519
517 def addParameter(self, **kwargs):
520 def addParameter(self, **kwargs):
518 '''
521 '''
519 Add parameters to "run" operation
522 Add parameters to "run" operation
520 '''
523 '''
521 opObj = self.opConfObjList[0]
524 opObj = self.opConfObjList[0]
522
525
523 opObj.addParameter(**kwargs)
526 opObj.addParameter(**kwargs)
524
527
525 return opObj
528 return opObj
526
529
527 def addOperation(self, name, optype='self'):
530 def addOperation(self, name, optype='self'):
528
531
529 id = self.__getNewId()
532 id = self.__getNewId()
530 priority = self.__getPriority()
533 priority = self.__getPriority()
531
534
532 opConfObj = OperationConf()
535 opConfObj = OperationConf()
533 opConfObj.setup(id, name=name, priority=priority, type=optype)
536 opConfObj.setup(id, name=name, priority=priority, type=optype)
534
537
535 self.opConfObjList.append(opConfObj)
538 self.opConfObjList.append(opConfObj)
536
539
537 return opConfObj
540 return opConfObj
538
541
539 def makeXml(self, procUnitElement):
542 def makeXml(self, procUnitElement):
540
543
541 upElement = SubElement(procUnitElement, self.ELEMENTNAME)
544 upElement = SubElement(procUnitElement, self.ELEMENTNAME)
542 upElement.set('id', str(self.id))
545 upElement.set('id', str(self.id))
543 upElement.set('name', self.name)
546 upElement.set('name', self.name)
544 upElement.set('datatype', self.datatype)
547 upElement.set('datatype', self.datatype)
545 upElement.set('inputId', str(self.inputId))
548 upElement.set('inputId', str(self.inputId))
546
549
547 for opConfObj in self.opConfObjList:
550 for opConfObj in self.opConfObjList:
548 opConfObj.makeXml(upElement)
551 opConfObj.makeXml(upElement)
549
552
550 def readXml(self, upElement):
553 def readXml(self, upElement):
551
554
552 self.id = upElement.get('id')
555 self.id = upElement.get('id')
553 self.name = upElement.get('name')
556 self.name = upElement.get('name')
554 self.datatype = upElement.get('datatype')
557 self.datatype = upElement.get('datatype')
555 self.inputId = upElement.get('inputId')
558 self.inputId = upElement.get('inputId')
556
559
557 if self.ELEMENTNAME == "ReadUnit":
560 if self.ELEMENTNAME == "ReadUnit":
558 self.datatype = self.datatype.replace("Reader", "")
561 self.datatype = self.datatype.replace("Reader", "")
559
562
560 if self.ELEMENTNAME == "ProcUnit":
563 if self.ELEMENTNAME == "ProcUnit":
561 self.datatype = self.datatype.replace("Proc", "")
564 self.datatype = self.datatype.replace("Proc", "")
562
565
563 if self.inputId == 'None':
566 if self.inputId == 'None':
564 self.inputId = '0'
567 self.inputId = '0'
565
568
566 self.opConfObjList = []
569 self.opConfObjList = []
567
570
568 opElementList = upElement.getiterator(OperationConf().getElementName())
571 opElementList = upElement.getiterator(OperationConf().getElementName())
569
572
570 for opElement in opElementList:
573 for opElement in opElementList:
571 opConfObj = OperationConf()
574 opConfObj = OperationConf()
572 opConfObj.readXml(opElement)
575 opConfObj.readXml(opElement)
573 self.opConfObjList.append(opConfObj)
576 self.opConfObjList.append(opConfObj)
574
577
575 def printattr(self):
578 def printattr(self):
576
579
577 print "%s[%s]: name = %s, datatype = %s, inputId = %s" %(self.ELEMENTNAME,
580 print "%s[%s]: name = %s, datatype = %s, inputId = %s" %(self.ELEMENTNAME,
578 self.id,
581 self.id,
579 self.name,
582 self.name,
580 self.datatype,
583 self.datatype,
581 self.inputId)
584 self.inputId)
582
585
583 for opConfObj in self.opConfObjList:
586 for opConfObj in self.opConfObjList:
584 opConfObj.printattr()
587 opConfObj.printattr()
585
588
586 def createObjects(self):
589 def createObjects(self):
587
590
588 className = eval(self.name)
591 className = eval(self.name)
589 procUnitObj = className()
592 procUnitObj = className()
590
593
591 for opConfObj in self.opConfObjList:
594 for opConfObj in self.opConfObjList:
592
595
593 if opConfObj.type == 'self':
596 if opConfObj.type == 'self':
594 continue
597 continue
595
598
596 opObj = opConfObj.createObject()
599 opObj = opConfObj.createObject()
597
600
598 self.opObjDict[opConfObj.id] = opObj
601 self.opObjDict[opConfObj.id] = opObj
599 procUnitObj.addOperation(opObj, opConfObj.id)
602 procUnitObj.addOperation(opObj, opConfObj.id)
600
603
601 self.procUnitObj = procUnitObj
604 self.procUnitObj = procUnitObj
602
605
603 return procUnitObj
606 return procUnitObj
604
607
605 def run(self):
608 def run(self):
606
609
607 is_ok = False
610 is_ok = False
608
611
609 for opConfObj in self.opConfObjList:
612 for opConfObj in self.opConfObjList:
610
613
611 kwargs = {}
614 kwargs = {}
612 for parmConfObj in opConfObj.getParameterObjList():
615 for parmConfObj in opConfObj.getParameterObjList():
613 if opConfObj.name == 'run' and parmConfObj.name == 'datatype':
616 if opConfObj.name == 'run' and parmConfObj.name == 'datatype':
614 continue
617 continue
615
618
616 kwargs[parmConfObj.name] = parmConfObj.getValue()
619 kwargs[parmConfObj.name] = parmConfObj.getValue()
617
620
618 #print "\tRunning the '%s' operation with %s" %(opConfObj.name, opConfObj.id)
621 #print "\tRunning the '%s' operation with %s" %(opConfObj.name, opConfObj.id)
619 sts = self.procUnitObj.call(opType = opConfObj.type,
622 sts = self.procUnitObj.call(opType = opConfObj.type,
620 opName = opConfObj.name,
623 opName = opConfObj.name,
621 opId = opConfObj.id,
624 opId = opConfObj.id,
622 **kwargs)
625 **kwargs)
623 is_ok = is_ok or sts
626 is_ok = is_ok or sts
624
627
625 return is_ok
628 return is_ok
626
629
627 def close(self):
630 def close(self):
628
631
629 for opConfObj in self.opConfObjList:
632 for opConfObj in self.opConfObjList:
630 if opConfObj.type == 'self':
633 if opConfObj.type == 'self':
631 continue
634 continue
632
635
633 opObj = self.procUnitObj.getOperationObj(opConfObj.id)
636 opObj = self.procUnitObj.getOperationObj(opConfObj.id)
634 opObj.close()
637 opObj.close()
635
638
636 self.procUnitObj.close()
639 self.procUnitObj.close()
637
640
638 return
641 return
639
642
640 class ReadUnitConf(ProcUnitConf):
643 class ReadUnitConf(ProcUnitConf):
641
644
642 path = None
645 path = None
643 startDate = None
646 startDate = None
644 endDate = None
647 endDate = None
645 startTime = None
648 startTime = None
646 endTime = None
649 endTime = None
647
650
648 ELEMENTNAME = 'ReadUnit'
651 ELEMENTNAME = 'ReadUnit'
649
652
650 def __init__(self):
653 def __init__(self):
651
654
652 self.id = None
655 self.id = None
653 self.datatype = None
656 self.datatype = None
654 self.name = None
657 self.name = None
655 self.inputId = None
658 self.inputId = None
656
659
657 self.parentId = None
660 self.parentId = None
658
661
659 self.opConfObjList = []
662 self.opConfObjList = []
660 self.opObjList = []
663 self.opObjList = []
661
664
662 def getElementName(self):
665 def getElementName(self):
663
666
664 return self.ELEMENTNAME
667 return self.ELEMENTNAME
665
668
666 def setup(self, id, name, datatype, path, startDate="", endDate="", startTime="", endTime="", parentId=None, **kwargs):
669 def setup(self, id, name, datatype, path, startDate="", endDate="", startTime="", endTime="", parentId=None, **kwargs):
667
670
668 #Compatible with old signal chain version
671 #Compatible with old signal chain version
669 if datatype==None and name==None:
672 if datatype==None and name==None:
670 raise ValueError, "datatype or name should be defined"
673 raise ValueError, "datatype or name should be defined"
671
674
672 if name==None:
675 if name==None:
673 if 'Reader' in datatype:
676 if 'Reader' in datatype:
674 name = datatype
677 name = datatype
675 else:
678 else:
676 name = '%sReader' %(datatype)
679 name = '%sReader' %(datatype)
677
680
678 if datatype==None:
681 if datatype==None:
679 datatype = name.replace('Reader','')
682 datatype = name.replace('Reader','')
680
683
681 self.id = id
684 self.id = id
682 self.name = name
685 self.name = name
683 self.datatype = datatype
686 self.datatype = datatype
684
687
685 self.path = path
688 self.path = path
686 self.startDate = startDate
689 self.startDate = startDate
687 self.endDate = endDate
690 self.endDate = endDate
688 self.startTime = startTime
691 self.startTime = startTime
689 self.endTime = endTime
692 self.endTime = endTime
690
693
691 self.inputId = '0'
694 self.inputId = '0'
692 self.parentId = parentId
695 self.parentId = parentId
693
696
694 self.addRunOperation(**kwargs)
697 self.addRunOperation(**kwargs)
695
698
696 def update(self, datatype, path, startDate, endDate, startTime, endTime, parentId=None, name=None, **kwargs):
699 def update(self, datatype, path, startDate, endDate, startTime, endTime, parentId=None, name=None, **kwargs):
697
700
698 #Compatible with old signal chain version
701 #Compatible with old signal chain version
699 if datatype==None and name==None:
702 if datatype==None and name==None:
700 raise ValueError, "datatype or name should be defined"
703 raise ValueError, "datatype or name should be defined"
701
704
702 if name==None:
705 if name==None:
703 if 'Reader' in datatype:
706 if 'Reader' in datatype:
704 name = datatype
707 name = datatype
705 else:
708 else:
706 name = '%sReader' %(datatype)
709 name = '%sReader' %(datatype)
707
710
708 if datatype==None:
711 if datatype==None:
709 datatype = name.replace('Reader','')
712 datatype = name.replace('Reader','')
710
713
711 self.datatype = datatype
714 self.datatype = datatype
712 self.name = name
715 self.name = name
713 self.path = path
716 self.path = path
714 self.startDate = startDate
717 self.startDate = startDate
715 self.endDate = endDate
718 self.endDate = endDate
716 self.startTime = startTime
719 self.startTime = startTime
717 self.endTime = endTime
720 self.endTime = endTime
718
721
719 self.inputId = '0'
722 self.inputId = '0'
720 self.parentId = parentId
723 self.parentId = parentId
721
724
722 self.updateRunOperation(**kwargs)
725 self.updateRunOperation(**kwargs)
723
726
724 def addRunOperation(self, **kwargs):
727 def addRunOperation(self, **kwargs):
725
728
726 opObj = self.addOperation(name = 'run', optype = 'self')
729 opObj = self.addOperation(name = 'run', optype = 'self')
727
730
728 opObj.addParameter(name='datatype' , value=self.datatype, format='str')
731 opObj.addParameter(name='datatype' , value=self.datatype, format='str')
729 opObj.addParameter(name='path' , value=self.path, format='str')
732 opObj.addParameter(name='path' , value=self.path, format='str')
730 opObj.addParameter(name='startDate' , value=self.startDate, format='date')
733 opObj.addParameter(name='startDate' , value=self.startDate, format='date')
731 opObj.addParameter(name='endDate' , value=self.endDate, format='date')
734 opObj.addParameter(name='endDate' , value=self.endDate, format='date')
732 opObj.addParameter(name='startTime' , value=self.startTime, format='time')
735 opObj.addParameter(name='startTime' , value=self.startTime, format='time')
733 opObj.addParameter(name='endTime' , value=self.endTime, format='time')
736 opObj.addParameter(name='endTime' , value=self.endTime, format='time')
734
737
735 for key, value in kwargs.items():
738 for key, value in kwargs.items():
736 opObj.addParameter(name=key, value=value, format=type(value).__name__)
739 opObj.addParameter(name=key, value=value, format=type(value).__name__)
737
740
738 return opObj
741 return opObj
739
742
740 def updateRunOperation(self, **kwargs):
743 def updateRunOperation(self, **kwargs):
741
744
742 opObj = self.getOperationObj(name = 'run')
745 opObj = self.getOperationObj(name = 'run')
743 opObj.removeParameters()
746 opObj.removeParameters()
744
747
745 opObj.addParameter(name='datatype' , value=self.datatype, format='str')
748 opObj.addParameter(name='datatype' , value=self.datatype, format='str')
746 opObj.addParameter(name='path' , value=self.path, format='str')
749 opObj.addParameter(name='path' , value=self.path, format='str')
747 opObj.addParameter(name='startDate' , value=self.startDate, format='date')
750 opObj.addParameter(name='startDate' , value=self.startDate, format='date')
748 opObj.addParameter(name='endDate' , value=self.endDate, format='date')
751 opObj.addParameter(name='endDate' , value=self.endDate, format='date')
749 opObj.addParameter(name='startTime' , value=self.startTime, format='time')
752 opObj.addParameter(name='startTime' , value=self.startTime, format='time')
750 opObj.addParameter(name='endTime' , value=self.endTime, format='time')
753 opObj.addParameter(name='endTime' , value=self.endTime, format='time')
751
754
752 for key, value in kwargs.items():
755 for key, value in kwargs.items():
753 opObj.addParameter(name=key, value=value, format=type(value).__name__)
756 opObj.addParameter(name=key, value=value, format=type(value).__name__)
754
757
755 return opObj
758 return opObj
756
759
757 class Project():
760 class Project():
758
761
759 id = None
762 id = None
760 name = None
763 name = None
761 description = None
764 description = None
762 # readUnitConfObjList = None
765 # readUnitConfObjList = None
763 procUnitConfObjDict = None
766 procUnitConfObjDict = None
764
767
765 ELEMENTNAME = 'Project'
768 ELEMENTNAME = 'Project'
766
769
767 def __init__(self):
770 def __init__(self):
768
771
769 self.id = None
772 self.id = None
770 self.name = None
773 self.name = None
771 self.description = None
774 self.description = None
772
775
773 self.procUnitConfObjDict = {}
776 self.procUnitConfObjDict = {}
774
777
775 def __getNewId(self):
778 def __getNewId(self):
776
779
777 id = int(self.id)*10 + len(self.procUnitConfObjDict) + 1
780 id = int(self.id)*10 + len(self.procUnitConfObjDict) + 1
778
781
779 return str(id)
782 return str(id)
780
783
781 def getElementName(self):
784 def getElementName(self):
782
785
783 return self.ELEMENTNAME
786 return self.ELEMENTNAME
784
787
785 def getId(self):
788 def getId(self):
786
789
787 return self.id
790 return self.id
788
791
789 def updateId(self, new_id):
792 def updateId(self, new_id):
790
793
791 self.id = str(new_id)
794 self.id = str(new_id)
792
795
793 keyList = self.procUnitConfObjDict.keys()
796 keyList = self.procUnitConfObjDict.keys()
794 keyList.sort()
797 keyList.sort()
795
798
796 n = 1
799 n = 1
797 newProcUnitConfObjDict = {}
800 newProcUnitConfObjDict = {}
798
801
799 for procKey in keyList:
802 for procKey in keyList:
800
803
801 procUnitConfObj = self.procUnitConfObjDict[procKey]
804 procUnitConfObj = self.procUnitConfObjDict[procKey]
802 idProcUnit = str(int(self.id)*10 + n)
805 idProcUnit = str(int(self.id)*10 + n)
803 procUnitConfObj.updateId(idProcUnit, parentId = self.id)
806 procUnitConfObj.updateId(idProcUnit, parentId = self.id)
804
807
805 newProcUnitConfObjDict[idProcUnit] = procUnitConfObj
808 newProcUnitConfObjDict[idProcUnit] = procUnitConfObj
806 n += 1
809 n += 1
807
810
808 self.procUnitConfObjDict = newProcUnitConfObjDict
811 self.procUnitConfObjDict = newProcUnitConfObjDict
809
812
810 def setup(self, id, name, description):
813 def setup(self, id, name, description):
811
814
812 self.id = str(id)
815 self.id = str(id)
813 self.name = name
816 self.name = name
814 self.description = description
817 self.description = description
815
818
816 def update(self, name, description):
819 def update(self, name, description):
817
820
818 self.name = name
821 self.name = name
819 self.description = description
822 self.description = description
820
823
821 def addReadUnit(self, datatype=None, name=None, **kwargs):
824 def addReadUnit(self, datatype=None, name=None, **kwargs):
822
825
823 idReadUnit = self.__getNewId()
826 idReadUnit = self.__getNewId()
824
827
825 readUnitConfObj = ReadUnitConf()
828 readUnitConfObj = ReadUnitConf()
826 readUnitConfObj.setup(idReadUnit, name, datatype, parentId=self.id, **kwargs)
829 readUnitConfObj.setup(idReadUnit, name, datatype, parentId=self.id, **kwargs)
827
830
828 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
831 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
829
832
830 return readUnitConfObj
833 return readUnitConfObj
831
834
832 def addProcUnit(self, inputId='0', datatype=None, name=None):
835 def addProcUnit(self, inputId='0', datatype=None, name=None):
833
836
834 idProcUnit = self.__getNewId()
837 idProcUnit = self.__getNewId()
835
838
836 procUnitConfObj = ProcUnitConf()
839 procUnitConfObj = ProcUnitConf()
837 procUnitConfObj.setup(idProcUnit, name, datatype, inputId, parentId=self.id)
840 procUnitConfObj.setup(idProcUnit, name, datatype, inputId, parentId=self.id)
838
841
839 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
842 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
840
843
841 return procUnitConfObj
844 return procUnitConfObj
842
845
843 def removeProcUnit(self, id):
846 def removeProcUnit(self, id):
844
847
845 if id in self.procUnitConfObjDict.keys():
848 if id in self.procUnitConfObjDict.keys():
846 self.procUnitConfObjDict.pop(id)
849 self.procUnitConfObjDict.pop(id)
847
850
848 def getReadUnitId(self):
851 def getReadUnitId(self):
849
852
850 readUnitConfObj = self.getReadUnitObj()
853 readUnitConfObj = self.getReadUnitObj()
851
854
852 return readUnitConfObj.id
855 return readUnitConfObj.id
853
856
854 def getReadUnitObj(self):
857 def getReadUnitObj(self):
855
858
856 for obj in self.procUnitConfObjDict.values():
859 for obj in self.procUnitConfObjDict.values():
857 if obj.getElementName() == "ReadUnit":
860 if obj.getElementName() == "ReadUnit":
858 return obj
861 return obj
859
862
860 return None
863 return None
861
864
862 def getProcUnitObj(self, id=None, name=None):
865 def getProcUnitObj(self, id=None, name=None):
863
866
864 if id != None:
867 if id != None:
865 return self.procUnitConfObjDict[id]
868 return self.procUnitConfObjDict[id]
866
869
867 if name != None:
870 if name != None:
868 return self.getProcUnitObjByName(name)
871 return self.getProcUnitObjByName(name)
869
872
870 return None
873 return None
871
874
872 def getProcUnitObjByName(self, name):
875 def getProcUnitObjByName(self, name):
873
876
874 for obj in self.procUnitConfObjDict.values():
877 for obj in self.procUnitConfObjDict.values():
875 if obj.name == name:
878 if obj.name == name:
876 return obj
879 return obj
877
880
878 return None
881 return None
879
882
880 def procUnitItems(self):
883 def procUnitItems(self):
881
884
882 return self.procUnitConfObjDict.items()
885 return self.procUnitConfObjDict.items()
883
886
884 def makeXml(self):
887 def makeXml(self):
885
888
886 projectElement = Element('Project')
889 projectElement = Element('Project')
887 projectElement.set('id', str(self.id))
890 projectElement.set('id', str(self.id))
888 projectElement.set('name', self.name)
891 projectElement.set('name', self.name)
889 projectElement.set('description', self.description)
892 projectElement.set('description', self.description)
890
893
891 for procUnitConfObj in self.procUnitConfObjDict.values():
894 for procUnitConfObj in self.procUnitConfObjDict.values():
892 procUnitConfObj.makeXml(projectElement)
895 procUnitConfObj.makeXml(projectElement)
893
896
894 self.projectElement = projectElement
897 self.projectElement = projectElement
895
898
896 def writeXml(self, filename):
899 def writeXml(self, filename):
897
900
898 self.makeXml()
901 self.makeXml()
899
902
900 #print prettify(self.projectElement)
903 #print prettify(self.projectElement)
901
904
902 ElementTree(self.projectElement).write(filename, method='xml')
905 ElementTree(self.projectElement).write(filename, method='xml')
903
906
904 def readXml(self, filename):
907 def readXml(self, filename):
905
908
906 self.projectElement = None
909 self.projectElement = None
907 self.procUnitConfObjDict = {}
910 self.procUnitConfObjDict = {}
908
911
909 self.projectElement = ElementTree().parse(filename)
912 self.projectElement = ElementTree().parse(filename)
910
913
911 self.project = self.projectElement.tag
914 self.project = self.projectElement.tag
912
915
913 self.id = self.projectElement.get('id')
916 self.id = self.projectElement.get('id')
914 self.name = self.projectElement.get('name')
917 self.name = self.projectElement.get('name')
915 self.description = self.projectElement.get('description')
918 self.description = self.projectElement.get('description')
916
919
917 readUnitElementList = self.projectElement.getiterator(ReadUnitConf().getElementName())
920 readUnitElementList = self.projectElement.getiterator(ReadUnitConf().getElementName())
918
921
919 for readUnitElement in readUnitElementList:
922 for readUnitElement in readUnitElementList:
920 readUnitConfObj = ReadUnitConf()
923 readUnitConfObj = ReadUnitConf()
921 readUnitConfObj.readXml(readUnitElement)
924 readUnitConfObj.readXml(readUnitElement)
922
925
923 if readUnitConfObj.parentId == None:
926 if readUnitConfObj.parentId == None:
924 readUnitConfObj.parentId = self.id
927 readUnitConfObj.parentId = self.id
925
928
926 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
929 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
927
930
928 procUnitElementList = self.projectElement.getiterator(ProcUnitConf().getElementName())
931 procUnitElementList = self.projectElement.getiterator(ProcUnitConf().getElementName())
929
932
930 for procUnitElement in procUnitElementList:
933 for procUnitElement in procUnitElementList:
931 procUnitConfObj = ProcUnitConf()
934 procUnitConfObj = ProcUnitConf()
932 procUnitConfObj.readXml(procUnitElement)
935 procUnitConfObj.readXml(procUnitElement)
933
936
934 if procUnitConfObj.parentId == None:
937 if procUnitConfObj.parentId == None:
935 procUnitConfObj.parentId = self.id
938 procUnitConfObj.parentId = self.id
936
939
937 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
940 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
938
941
939 def printattr(self):
942 def printattr(self):
940
943
941 print "Project[%s]: name = %s, description = %s" %(self.id,
944 print "Project[%s]: name = %s, description = %s" %(self.id,
942 self.name,
945 self.name,
943 self.description)
946 self.description)
944
947
945 for procUnitConfObj in self.procUnitConfObjDict.values():
948 for procUnitConfObj in self.procUnitConfObjDict.values():
946 procUnitConfObj.printattr()
949 procUnitConfObj.printattr()
947
950
948 def createObjects(self):
951 def createObjects(self):
949
952
950 for procUnitConfObj in self.procUnitConfObjDict.values():
953 for procUnitConfObj in self.procUnitConfObjDict.values():
951 procUnitConfObj.createObjects()
954 procUnitConfObj.createObjects()
952
955
953 def __connect(self, objIN, thisObj):
956 def __connect(self, objIN, thisObj):
954
957
955 thisObj.setInput(objIN.getOutputObj())
958 thisObj.setInput(objIN.getOutputObj())
956
959
957 def connectObjects(self):
960 def connectObjects(self):
958
961
959 for thisPUConfObj in self.procUnitConfObjDict.values():
962 for thisPUConfObj in self.procUnitConfObjDict.values():
960
963
961 inputId = thisPUConfObj.getInputId()
964 inputId = thisPUConfObj.getInputId()
962
965
963 if int(inputId) == 0:
966 if int(inputId) == 0:
964 continue
967 continue
965
968
966 #Get input object
969 #Get input object
967 puConfINObj = self.procUnitConfObjDict[inputId]
970 puConfINObj = self.procUnitConfObjDict[inputId]
968 puObjIN = puConfINObj.getProcUnitObj()
971 puObjIN = puConfINObj.getProcUnitObj()
969
972
970 #Get current object
973 #Get current object
971 thisPUObj = thisPUConfObj.getProcUnitObj()
974 thisPUObj = thisPUConfObj.getProcUnitObj()
972
975
973 self.__connect(puObjIN, thisPUObj)
976 self.__connect(puObjIN, thisPUObj)
974
977
975 def isPaused(self):
978 def isPaused(self):
976 return 0
979 return 0
977
980
978 def isStopped(self):
981 def isStopped(self):
979 return 0
982 return 0
980
983
981 def runController(self):
984 def runController(self):
982 """
985 """
983 returns 0 when this process has been stopped, 1 otherwise
986 returns 0 when this process has been stopped, 1 otherwise
984 """
987 """
985
988
986 if self.isPaused():
989 if self.isPaused():
987 print "Process suspended"
990 print "Process suspended"
988
991
989 while True:
992 while True:
990 sleep(0.1)
993 sleep(0.1)
991
994
992 if not self.isPaused():
995 if not self.isPaused():
993 break
996 break
994
997
995 if self.isStopped():
998 if self.isStopped():
996 break
999 break
997
1000
998 print "Process reinitialized"
1001 print "Process reinitialized"
999
1002
1000 if self.isStopped():
1003 if self.isStopped():
1001 print "Process stopped"
1004 print "Process stopped"
1002 return 0
1005 return 0
1003
1006
1004 return 1
1007 return 1
1005
1008
1006 def run(self):
1009 def run(self):
1007
1010
1008 print
1011 print
1009 print "*"*60
1012 print "*"*60
1010 print " Starting SIGNAL CHAIN PROCESSING "
1013 print " Starting SIGNAL CHAIN PROCESSING "
1011 print "*"*60
1014 print "*"*60
1012 print
1015 print
1013
1016
1014 keyList = self.procUnitConfObjDict.keys()
1017 keyList = self.procUnitConfObjDict.keys()
1015 keyList.sort()
1018 keyList.sort()
1016
1019
1017 while(True):
1020 while(True):
1018
1021
1019 is_ok = False
1022 is_ok = False
1020
1023
1021 for procKey in keyList:
1024 for procKey in keyList:
1022 # print "Running the '%s' process with %s" %(procUnitConfObj.name, procUnitConfObj.id)
1025 # print "Running the '%s' process with %s" %(procUnitConfObj.name, procUnitConfObj.id)
1023
1026
1024 procUnitConfObj = self.procUnitConfObjDict[procKey]
1027 procUnitConfObj = self.procUnitConfObjDict[procKey]
1025
1028
1026 message = ""
1029 message = ""
1027 try:
1030 try:
1028 sts = procUnitConfObj.run()
1031 sts = procUnitConfObj.run()
1029 is_ok = is_ok or sts
1032 is_ok = is_ok or sts
1030 except:
1033 except:
1031 sleep(1)
1034 sleep(1)
1032 err = traceback.format_exception(sys.exc_info()[0],
1035 err = traceback.format_exception(sys.exc_info()[0],
1033 sys.exc_info()[1],
1036 sys.exc_info()[1],
1034 sys.exc_info()[2])
1037 sys.exc_info()[2])
1035
1038
1036 for thisLine in err:
1039 for thisLine in err:
1037 message += thisLine
1040 message += thisLine
1038
1041
1039 print message
1042 print message
1040 # self.sendReport(message)
1043 # self.sendReport(message)
1041 sleep(0.1)
1044 sleep(0.1)
1042 is_ok = False
1045 is_ok = False
1043
1046
1044 break
1047 break
1045
1048
1046 #If every process unit finished so end process
1049 #If every process unit finished so end process
1047 if not(is_ok):
1050 if not(is_ok):
1048 print message
1051 print message
1049 print "Every process unit have finished"
1052 print "Every process unit have finished"
1050 break
1053 break
1051
1054
1052 if not self.runController():
1055 if not self.runController():
1053 break
1056 break
1054
1057
1055 #Closing every process
1058 #Closing every process
1056 for procKey in keyList:
1059 for procKey in keyList:
1057 procUnitConfObj = self.procUnitConfObjDict[procKey]
1060 procUnitConfObj = self.procUnitConfObjDict[procKey]
1058 procUnitConfObj.close()
1061 procUnitConfObj.close()
1059
1062
1060 print "Process finished"
1063 print "Process finished"
1061
1064
1062 def start(self, filename):
1065 def start(self, filename):
1063
1066
1064 self.writeXml(filename)
1067 self.writeXml(filename)
1065 self.readXml(filename)
1068 self.readXml(filename)
1066
1069
1067 self.createObjects()
1070 self.createObjects()
1068 self.connectObjects()
1071 self.connectObjects()
1069 self.run()
1072 self.run()
1070
1073
1071 def sendReport(self, message, subject="Error occurred in Signal Chain", email=SCHAIN_MAIL):
1074 def sendReport(self, message, subject="Error occurred in Signal Chain", email=SCHAIN_MAIL):
1072
1075
1073 import smtplib
1076 import smtplib
1074
1077
1075 print subject
1078 print subject
1076 print "Sending report to %s ..." %email
1079 print "Sending report to %s ..." %email
1077
1080
1078 message = 'From: (Python Signal Chain API) ' + email + '\n' + \
1081 message = 'From: (Python Signal Chain API) ' + email + '\n' + \
1079 'To: ' + email + '\n' + \
1082 'To: ' + email + '\n' + \
1080 'Subject: ' + str(subject) + '\n' + \
1083 'Subject: ' + str(subject) + '\n' + \
1081 'Content-type: text/html\n\n' + message
1084 'Content-type: text/html\n\n' + message
1082
1085
1083 server = smtplib.SMTP(EMAIL_SERVER)
1086 server = smtplib.SMTP(EMAIL_SERVER)
1084 server.sendmail(email.split(',')[0],
1087 server.sendmail(email.split(',')[0],
1085 email.split(','), message)
1088 email.split(','), message)
1086 server.quit()
1089 server.quit()
1087
1090
1088 if __name__ == '__main__':
1091 if __name__ == '__main__':
1089
1092
1090 desc = "Segundo Test"
1093 desc = "Segundo Test"
1091 filename = "schain.xml"
1094 filename = "schain.xml"
1092
1095
1093 controllerObj = Project()
1096 controllerObj = Project()
1094
1097
1095 controllerObj.setup(id = '191', name='test01', description=desc)
1098 controllerObj.setup(id = '191', name='test01', description=desc)
1096
1099
1097 readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage',
1100 readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage',
1098 path='data/rawdata/',
1101 path='data/rawdata/',
1099 startDate='2011/01/01',
1102 startDate='2011/01/01',
1100 endDate='2012/12/31',
1103 endDate='2012/12/31',
1101 startTime='00:00:00',
1104 startTime='00:00:00',
1102 endTime='23:59:59',
1105 endTime='23:59:59',
1103 online=1,
1106 online=1,
1104 walk=1)
1107 walk=1)
1105
1108
1106 procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId())
1109 procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId())
1107
1110
1108 opObj10 = procUnitConfObj0.addOperation(name='selectChannels')
1111 opObj10 = procUnitConfObj0.addOperation(name='selectChannels')
1109 opObj10.addParameter(name='channelList', value='3,4,5', format='intlist')
1112 opObj10.addParameter(name='channelList', value='3,4,5', format='intlist')
1110
1113
1111 opObj10 = procUnitConfObj0.addOperation(name='selectHeights')
1114 opObj10 = procUnitConfObj0.addOperation(name='selectHeights')
1112 opObj10.addParameter(name='minHei', value='90', format='float')
1115 opObj10.addParameter(name='minHei', value='90', format='float')
1113 opObj10.addParameter(name='maxHei', value='180', format='float')
1116 opObj10.addParameter(name='maxHei', value='180', format='float')
1114
1117
1115 opObj12 = procUnitConfObj0.addOperation(name='CohInt', optype='external')
1118 opObj12 = procUnitConfObj0.addOperation(name='CohInt', optype='external')
1116 opObj12.addParameter(name='n', value='10', format='int')
1119 opObj12.addParameter(name='n', value='10', format='int')
1117
1120
1118 procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId())
1121 procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId())
1119 procUnitConfObj1.addParameter(name='nFFTPoints', value='32', format='int')
1122 procUnitConfObj1.addParameter(name='nFFTPoints', value='32', format='int')
1120 # procUnitConfObj1.addParameter(name='pairList', value='(0,1),(0,2),(1,2)', format='')
1123 # procUnitConfObj1.addParameter(name='pairList', value='(0,1),(0,2),(1,2)', format='')
1121
1124
1122
1125
1123 opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
1126 opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
1124 opObj11.addParameter(name='idfigure', value='1', format='int')
1127 opObj11.addParameter(name='idfigure', value='1', format='int')
1125 opObj11.addParameter(name='wintitle', value='SpectraPlot0', format='str')
1128 opObj11.addParameter(name='wintitle', value='SpectraPlot0', format='str')
1126 opObj11.addParameter(name='zmin', value='40', format='int')
1129 opObj11.addParameter(name='zmin', value='40', format='int')
1127 opObj11.addParameter(name='zmax', value='90', format='int')
1130 opObj11.addParameter(name='zmax', value='90', format='int')
1128 opObj11.addParameter(name='showprofile', value='1', format='int')
1131 opObj11.addParameter(name='showprofile', value='1', format='int')
1129
1132
1130 print "Escribiendo el archivo XML"
1133 print "Escribiendo el archivo XML"
1131
1134
1132 controllerObj.writeXml(filename)
1135 controllerObj.writeXml(filename)
1133
1136
1134 print "Leyendo el archivo XML"
1137 print "Leyendo el archivo XML"
1135 controllerObj.readXml(filename)
1138 controllerObj.readXml(filename)
1136 #controllerObj.printattr()
1139 #controllerObj.printattr()
1137
1140
1138 controllerObj.createObjects()
1141 controllerObj.createObjects()
1139 controllerObj.connectObjects()
1142 controllerObj.connectObjects()
1140 controllerObj.run()
1143 controllerObj.run()
1141
1144
1142 No newline at end of file
1145
@@ -1,5902 +1,5899
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 numpy
9 import numpy
10 import Queue
10 import Queue
11
11
12 from collections import OrderedDict
12 from collections import OrderedDict
13 from os.path import expanduser
13 from os.path import expanduser
14 from time import sleep
14 from time import sleep
15 # from gevent import sleep
15 # from gevent import sleep
16
16
17 import ast
17 import ast
18
18
19 from PyQt4.QtGui import QMainWindow
19 from PyQt4.QtGui import QMainWindow
20 from PyQt4.QtCore import pyqtSignature
20 from PyQt4.QtCore import pyqtSignature
21 from PyQt4.QtCore import pyqtSignal
21 from PyQt4.QtCore import pyqtSignal
22 from PyQt4 import QtCore
22 from PyQt4 import QtCore
23 from PyQt4 import QtGui
23 from PyQt4 import QtGui
24 # from PyQt4.QtCore import QThread
24 # from PyQt4.QtCore import QThread
25 # from PyQt4.QtCore import QObject, SIGNAL
25 # from PyQt4.QtCore import QObject, SIGNAL
26
26
27 from schainpy.gui.viewer.ui_unitprocess import Ui_UnitProcess
27 from schainpy.gui.viewer.ui_unitprocess import Ui_UnitProcess
28 from schainpy.gui.viewer.ui_ftp import Ui_Ftp
28 from schainpy.gui.viewer.ui_ftp import Ui_Ftp
29 from schainpy.gui.viewer.ui_mainwindow import Ui_BasicWindow
29 from schainpy.gui.viewer.ui_mainwindow import Ui_BasicWindow
30 from schainpy.controller_api import ControllerThread
30 from schainpy.controller_api import ControllerThread
31 from schainpy.controller import Project
31 from schainpy.controller import Project
32
32
33 from propertiesViewModel import TreeModel, PropertyBuffer
33 from propertiesViewModel import TreeModel, PropertyBuffer
34 from parametersModel import ProjectParms
34 from parametersModel import ProjectParms
35
35
36 from schainpy.gui.figures import tools
36 from schainpy.gui.figures import tools
37
37
38 FIGURES_PATH = tools.get_path()
38 FIGURES_PATH = tools.get_path()
39 TEMPORAL_FILE = ".temp.xml"
39 TEMPORAL_FILE = ".temp.xml"
40
40
41 def isRadarFile(file):
41 def isRadarFile(file):
42 try:
42 try:
43 year = int(file[1:5])
43 year = int(file[1:5])
44 doy = int(file[5:8])
44 doy = int(file[5:8])
45 set = int(file[8:11])
45 set = int(file[8:11])
46 except:
46 except:
47 return 0
47 return 0
48
48
49 return 1
49 return 1
50
50
51 def isRadarPath(path):
51 def isRadarPath(path):
52 try:
52 try:
53 year = int(path[1:5])
53 year = int(path[1:5])
54 doy = int(path[5:8])
54 doy = int(path[5:8])
55 except:
55 except:
56 return 0
56 return 0
57
57
58 return 1
58 return 1
59
59
60 def isInt(value):
60 def isInt(value):
61
61
62 try:
62 try:
63 int(value)
63 int(value)
64 except:
64 except:
65 return 0
65 return 0
66
66
67 return 1
67 return 1
68
68
69 def isFloat(value):
69 def isFloat(value):
70
70
71 try:
71 try:
72 float(value)
72 float(value)
73 except:
73 except:
74 return 0
74 return 0
75
75
76 return 1
76 return 1
77
77
78 def isList(value):
78 def isList(value):
79
79
80 x = ast.literal_eval(value)
80 x = ast.literal_eval(value)
81
81
82 if type(x) in (tuple, list):
82 if type(x) in (tuple, list):
83 return 1
83 return 1
84
84
85 return 0
85 return 0
86
86
87 class BasicWindow(QMainWindow, Ui_BasicWindow):
87 class BasicWindow(QMainWindow, Ui_BasicWindow):
88 """
88 """
89 """
89 """
90 def __init__(self, parent=None):
90 def __init__(self, parent=None):
91 """
91 """
92
92
93 """
93 """
94 QMainWindow.__init__(self, parent)
94 QMainWindow.__init__(self, parent)
95 self.setupUi(self)
95 self.setupUi(self)
96 self.__puObjDict = {}
96 self.__puObjDict = {}
97 self.__itemTreeDict = {}
97 self.__itemTreeDict = {}
98 self.readUnitConfObjList = []
98 self.readUnitConfObjList = []
99 self.operObjList = []
99 self.operObjList = []
100 self.projecObjView = None
100 self.projecObjView = None
101 self.idProject = 0
101 self.idProject = 0
102 # self.idImag = 0
102 # self.idImag = 0
103
103
104 self.idImagscope = 0
104 self.idImagscope = 0
105 self.idImagspectra = 0
105 self.idImagspectra = 0
106 self.idImagcross = 0
106 self.idImagcross = 0
107 self.idImagrti = 0
107 self.idImagrti = 0
108 self.idImagcoherence = 0
108 self.idImagcoherence = 0
109 self.idImagpower = 0
109 self.idImagpower = 0
110 self.idImagrtinoise = 0
110 self.idImagrtinoise = 0
111 self.idImagspectraHeis = 0
111 self.idImagspectraHeis = 0
112 self.idImagrtiHeis = 0
112 self.idImagrtiHeis = 0
113
113
114 self.dataPath = None
114 self.dataPath = None
115 self.online = 0
115 self.online = 0
116 self.walk = 0
116 self.walk = 0
117 self.create = False
117 self.create = False
118 self.selectedItemTree = None
118 self.selectedItemTree = None
119 self.controllerThread = None
119 self.controllerThread = None
120 # self.commCtrlPThread = None
120 # self.commCtrlPThread = None
121 # self.create_figure()
121 # self.create_figure()
122 self.temporalFTP = ftpBuffer()
122 self.temporalFTP = ftpBuffer()
123 self.projectProperCaracteristica = []
123 self.projectProperCaracteristica = []
124 self.projectProperPrincipal = []
124 self.projectProperPrincipal = []
125 self.projectProperDescripcion = []
125 self.projectProperDescripcion = []
126 self.volProperCaracteristica = []
126 self.volProperCaracteristica = []
127 self.volProperPrincipal = []
127 self.volProperPrincipal = []
128 self.volProperDescripcion = []
128 self.volProperDescripcion = []
129 self.specProperCaracteristica = []
129 self.specProperCaracteristica = []
130 self.specProperPrincipal = []
130 self.specProperPrincipal = []
131 self.specProperDescripcion = []
131 self.specProperDescripcion = []
132
132
133 self.specHeisProperCaracteristica = []
133 self.specHeisProperCaracteristica = []
134 self.specHeisProperPrincipal = []
134 self.specHeisProperPrincipal = []
135 self.specHeisProperDescripcion = []
135 self.specHeisProperDescripcion = []
136
136
137 # self.pathWorkSpace = './'
137 # self.pathWorkSpace = './'
138
138
139 self.__projectObjDict = {}
139 self.__projectObjDict = {}
140 self.__operationObjDict = {}
140 self.__operationObjDict = {}
141
141
142 self.__puLocalFolder2FTP = {}
142 self.__puLocalFolder2FTP = {}
143 self.threadStarted = False
143 self.threadStarted = False
144
144
145 # self.create_comm()
145 # self.create_comm()
146 self.create_updating_timer()
146 self.create_updating_timer()
147 self.setGUIStatus()
147 self.setGUIStatus()
148
148
149 @pyqtSignature("")
149 @pyqtSignature("")
150 def on_actionOpen_triggered(self):
150 def on_actionOpen_triggered(self):
151 """
151 """
152 Slot documentation goes here.
152 Slot documentation goes here.
153 """
153 """
154 self.openProject()
154 self.openProject()
155
155
156 @pyqtSignature("")
156 @pyqtSignature("")
157 def on_actionCreate_triggered(self):
157 def on_actionCreate_triggered(self):
158 """
158 """
159 Slot documentation goes here.
159 Slot documentation goes here.
160 """
160 """
161 self.setInputsProject_View()
161 self.setInputsProject_View()
162 self.create = True
162 self.create = True
163
163
164 @pyqtSignature("")
164 @pyqtSignature("")
165 def on_actionSave_triggered(self):
165 def on_actionSave_triggered(self):
166 """
166 """
167 Slot documentation goes here.
167 Slot documentation goes here.
168 """
168 """
169 self.saveProject()
169 self.saveProject()
170
170
171 @pyqtSignature("")
171 @pyqtSignature("")
172 def on_actionClose_triggered(self):
172 def on_actionClose_triggered(self):
173 """
173 """
174 Slot documentation goes here.
174 Slot documentation goes here.
175 """
175 """
176 self.close()
176 self.close()
177
177
178 @pyqtSignature("")
178 @pyqtSignature("")
179 def on_actionStart_triggered(self):
179 def on_actionStart_triggered(self):
180 """
180 """
181 """
181 """
182 self.playProject()
182 self.playProject()
183
183
184 @pyqtSignature("")
184 @pyqtSignature("")
185 def on_actionPause_triggered(self):
185 def on_actionPause_triggered(self):
186 """
186 """
187 """
187 """
188 self.pauseProject()
188 self.pauseProject()
189
189
190 @pyqtSignature("")
190 @pyqtSignature("")
191 def on_actionStop_triggered(self):
191 def on_actionStop_triggered(self):
192 """
192 """
193 """
193 """
194 self.stopProject()
194 self.stopProject()
195
195
196 @pyqtSignature("")
196 @pyqtSignature("")
197 def on_actionAbout_triggered(self):
197 def on_actionAbout_triggered(self):
198 """
198 """
199 """
199 """
200 self.aboutEvent()
200 self.aboutEvent()
201
201
202 @pyqtSignature("")
202 @pyqtSignature("")
203 def on_actionFTP_triggered(self):
203 def on_actionFTP_triggered(self):
204 """
204 """
205 """
205 """
206 self.configFTPWindowObj = Ftp(self)
206 self.configFTPWindowObj = Ftp(self)
207
207
208 if not self.temporalFTP.create:
208 if not self.temporalFTP.create:
209 self.temporalFTP.setwithoutconfiguration()
209 self.temporalFTP.setwithoutconfiguration()
210
210
211 self.configFTPWindowObj.setParmsfromTemporal(self.temporalFTP.server,
211 self.configFTPWindowObj.setParmsfromTemporal(self.temporalFTP.server,
212 self.temporalFTP.remotefolder,
212 self.temporalFTP.remotefolder,
213 self.temporalFTP.username,
213 self.temporalFTP.username,
214 self.temporalFTP.password,
214 self.temporalFTP.password,
215 self.temporalFTP.ftp_wei,
215 self.temporalFTP.ftp_wei,
216 self.temporalFTP.exp_code,
216 self.temporalFTP.exp_code,
217 self.temporalFTP.sub_exp_code,
217 self.temporalFTP.sub_exp_code,
218 self.temporalFTP.plot_pos)
218 self.temporalFTP.plot_pos)
219
219
220 self.configFTPWindowObj.show()
220 self.configFTPWindowObj.show()
221 self.configFTPWindowObj.closed.connect(self.createFTPConfig)
221 self.configFTPWindowObj.closed.connect(self.createFTPConfig)
222
222
223 def createFTPConfig(self):
223 def createFTPConfig(self):
224
224
225 if not self.configFTPWindowObj.create:
225 if not self.configFTPWindowObj.create:
226 self.console.clear()
226 self.console.clear()
227 self.console.append("There is no FTP configuration")
227 self.console.append("There is no FTP configuration")
228 return
228 return
229
229
230 self.console.append("Push Ok in Spectra view to Add FTP Configuration")
230 self.console.append("Push Ok in Spectra view to Add FTP Configuration")
231
231
232 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.configFTPWindowObj.getParmsFromFtpWindow()
232 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.configFTPWindowObj.getParmsFromFtpWindow()
233 self.temporalFTP.save(server=server,
233 self.temporalFTP.save(server=server,
234 remotefolder=remotefolder,
234 remotefolder=remotefolder,
235 username=username,
235 username=username,
236 password=password,
236 password=password,
237 ftp_wei=ftp_wei,
237 ftp_wei=ftp_wei,
238 exp_code=exp_code,
238 exp_code=exp_code,
239 sub_exp_code=sub_exp_code,
239 sub_exp_code=sub_exp_code,
240 plot_pos=plot_pos)
240 plot_pos=plot_pos)
241
241
242 @pyqtSignature("")
242 @pyqtSignature("")
243 def on_actionOpenToolbar_triggered(self):
243 def on_actionOpenToolbar_triggered(self):
244 """
244 """
245 Slot documentation goes here.
245 Slot documentation goes here.
246 """
246 """
247 self.openProject()
247 self.openProject()
248
248
249 @pyqtSignature("")
249 @pyqtSignature("")
250 def on_actionCreateToolbar_triggered(self):
250 def on_actionCreateToolbar_triggered(self):
251 """
251 """
252 Slot documentation goes here.
252 Slot documentation goes here.
253 """
253 """
254 self.setInputsProject_View()
254 self.setInputsProject_View()
255 self.create = True
255 self.create = True
256
256
257 @pyqtSignature("")
257 @pyqtSignature("")
258 def on_actionAddPU_triggered(self):
258 def on_actionAddPU_triggered(self):
259 if len(self.__projectObjDict) == 0:
259 if len(self.__projectObjDict) == 0:
260 outputstr = "First Create a Project then add Processing Unit"
260 outputstr = "First Create a Project then add Processing Unit"
261 self.console.clear()
261 self.console.clear()
262 self.console.append(outputstr)
262 self.console.append(outputstr)
263 return 0
263 return 0
264 else:
264 else:
265 self.addPUWindow()
265 self.addPUWindow()
266 self.console.clear()
266 self.console.clear()
267 self.console.append("Please, Choose the type of Processing Unit")
267 self.console.append("Please, Choose the type of Processing Unit")
268 self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
268 self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
269 self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
269 self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
270 self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
270 self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
271
271
272
272
273 @pyqtSignature("")
273 @pyqtSignature("")
274 def on_actionSaveToolbar_triggered(self):
274 def on_actionSaveToolbar_triggered(self):
275 """
275 """
276 Slot documentation goes here.
276 Slot documentation goes here.
277 """
277 """
278 self.saveProject()
278 self.saveProject()
279
279
280 @pyqtSignature("")
280 @pyqtSignature("")
281 def on_actionStarToolbar_triggered(self):
281 def on_actionStarToolbar_triggered(self):
282 """
282 """
283 Slot documentation goes here.
283 Slot documentation goes here.
284 """
284 """
285 self.playProject()
285 self.playProject()
286
286
287 @pyqtSignature("")
287 @pyqtSignature("")
288 def on_actionPauseToolbar_triggered(self):
288 def on_actionPauseToolbar_triggered(self):
289
289
290 self.pauseProject()
290 self.pauseProject()
291
291
292 @pyqtSignature("")
292 @pyqtSignature("")
293 def on_actionStopToolbar_triggered(self):
293 def on_actionStopToolbar_triggered(self):
294 """
294 """
295 Slot documentation goes here.
295 Slot documentation goes here.
296 """
296 """
297 self.stopProject()
297 self.stopProject()
298
298
299 @pyqtSignature("int")
299 @pyqtSignature("int")
300 def on_proComReadMode_activated(self, index):
300 def on_proComReadMode_activated(self, index):
301 """
301 """
302 SELECCION DEL MODO DE LECTURA ON=1, OFF=0
302 SELECCION DEL MODO DE LECTURA ON=1, OFF=0
303 """
303 """
304 if index == 0:
304 if index == 0:
305 self.online = 0
305 self.online = 0
306 self.proDelay.setText("0")
306 self.proDelay.setText("0")
307 self.proSet.setText("")
307 self.proSet.setText("")
308 self.proSet.setEnabled(False)
308 self.proSet.setEnabled(False)
309 self.proDelay.setEnabled(False)
309 self.proDelay.setEnabled(False)
310 elif index == 1:
310 elif index == 1:
311 self.online = 1
311 self.online = 1
312 self.proSet.setText("")
312 self.proSet.setText("")
313 self.proDelay.setText("5")
313 self.proDelay.setText("5")
314 self.proSet.setEnabled(True)
314 self.proSet.setEnabled(True)
315 self.proDelay.setEnabled(True)
315 self.proDelay.setEnabled(True)
316
316
317 @pyqtSignature("int")
317 @pyqtSignature("int")
318 def on_proComDataType_activated(self, index):
318 def on_proComDataType_activated(self, index):
319 """
319 """
320 Voltage or Spectra
320 Voltage or Spectra
321 """
321 """
322 self.labelSet.show()
322 self.labelSet.show()
323 self.proSet.show()
323 self.proSet.show()
324
324
325 self.labExpLabel.show()
325 self.labExpLabel.show()
326 self.proExpLabel.show()
326 self.proExpLabel.show()
327
327
328 self.labelIPPKm.hide()
328 self.labelIPPKm.hide()
329 self.proIPPKm.hide()
329 self.proIPPKm.hide()
330
330
331 if index == 0:
331 if index == 0:
332 extension = '.r'
332 extension = '.r'
333 elif index == 1:
333 elif index == 1:
334 extension = '.pdata'
334 extension = '.pdata'
335 elif index == 2:
335 elif index == 2:
336 extension = '.fits'
336 extension = '.fits'
337 elif index == 3:
337 elif index == 3:
338 extension = '.hdf5'
338 extension = '.hdf5'
339
339
340 self.labelIPPKm.show()
340 self.labelIPPKm.show()
341 self.proIPPKm.show()
341 self.proIPPKm.show()
342
342
343 self.labelSet.hide()
343 self.labelSet.hide()
344 self.proSet.hide()
344 self.proSet.hide()
345
345
346 self.labExpLabel.hide()
346 self.labExpLabel.hide()
347 self.proExpLabel.hide()
347 self.proExpLabel.hide()
348
348
349 self.proDataType.setText(extension)
349 self.proDataType.setText(extension)
350
350
351 @pyqtSignature("int")
351 @pyqtSignature("int")
352 def on_proComWalk_activated(self, index):
352 def on_proComWalk_activated(self, index):
353 """
353 """
354
354
355 """
355 """
356 if index == 0:
356 if index == 0:
357 self.walk = 0
357 self.walk = 0
358 elif index == 1:
358 elif index == 1:
359 self.walk = 1
359 self.walk = 1
360
360
361 @pyqtSignature("")
361 @pyqtSignature("")
362 def on_proToolPath_clicked(self):
362 def on_proToolPath_clicked(self):
363 """
363 """
364 Choose your path
364 Choose your path
365 """
365 """
366
366
367 current_dpath = './'
367 current_dpath = './'
368 if self.dataPath:
368 if self.dataPath:
369 current_dpath = self.dataPath
369 current_dpath = self.dataPath
370
370
371 datapath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', current_dpath, QtGui.QFileDialog.ShowDirsOnly))
371 datapath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', current_dpath, QtGui.QFileDialog.ShowDirsOnly))
372
372
373 #If it was canceled
373 #If it was canceled
374 if not datapath:
374 if not datapath:
375 return
375 return
376
376
377 #If any change was done
377 #If any change was done
378 if datapath == self.dataPath:
378 if datapath == self.dataPath:
379 return
379 return
380
380
381 self.proDataPath.setText(datapath)
381 self.proDataPath.setText(datapath)
382
382
383 self.actionStart.setEnabled(False)
383 self.actionStart.setEnabled(False)
384 self.actionStarToolbar.setEnabled(False)
384 self.actionStarToolbar.setEnabled(False)
385 self.proOk.setEnabled(False)
385 self.proOk.setEnabled(False)
386
386
387 self.proComStartDate.clear()
387 self.proComStartDate.clear()
388 self.proComEndDate.clear()
388 self.proComEndDate.clear()
389
389
390 if not os.path.exists(datapath):
390 if not os.path.exists(datapath):
391
391
392 self.console.clear()
392 self.console.clear()
393 self.console.append("Write a valid path")
393 self.console.append("Write a valid path")
394 return
394 return
395
395
396 self.dataPath = datapath
396 self.dataPath = datapath
397
397
398 self.console.clear()
398 self.console.clear()
399 self.console.append("Select the read mode and press 'load button'")
399 self.console.append("Select the read mode and press 'load button'")
400
400
401
401
402 @pyqtSignature("")
402 @pyqtSignature("")
403 def on_proLoadButton_clicked(self):
403 def on_proLoadButton_clicked(self):
404
404
405 self.console.clear()
405 self.console.clear()
406
406
407 # if not self.getSelectedProjectObj():
407 # if not self.getSelectedProjectObj():
408 # self.console.append("Please select a project before load files")
408 # self.console.append("Please select a project before load files")
409 # return
409 # return
410
410
411 parameter_list = self.checkInputsProject()
411 parameter_list = self.checkInputsProject()
412
412
413 # if not parameter_list[0]:
413 # if not parameter_list[0]:
414 # return
414 # return
415
415
416 parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set, expLabel = parameter_list
416 parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set, expLabel = parameter_list
417
417
418 if read_mode == "Offline":
418 if read_mode == "Offline":
419 self.proComStartDate.clear()
419 self.proComStartDate.clear()
420 self.proComEndDate.clear()
420 self.proComEndDate.clear()
421 self.proComStartDate.setEnabled(True)
421 self.proComStartDate.setEnabled(True)
422 self.proComEndDate.setEnabled(True)
422 self.proComEndDate.setEnabled(True)
423 self.proStartTime.setEnabled(True)
423 self.proStartTime.setEnabled(True)
424 self.proEndTime.setEnabled(True)
424 self.proEndTime.setEnabled(True)
425 self.frame_2.setEnabled(True)
425 self.frame_2.setEnabled(True)
426
426
427 if read_mode == "Online":
427 if read_mode == "Online":
428 self.proComStartDate.addItem("1960/01/30")
428 self.proComStartDate.addItem("1960/01/30")
429 self.proComEndDate.addItem("2018/12/31")
429 self.proComEndDate.addItem("2018/12/31")
430 self.proComStartDate.setEnabled(False)
430 self.proComStartDate.setEnabled(False)
431 self.proComEndDate.setEnabled(False)
431 self.proComEndDate.setEnabled(False)
432 self.proStartTime.setEnabled(False)
432 self.proStartTime.setEnabled(False)
433 self.proEndTime.setEnabled(False)
433 self.proEndTime.setEnabled(False)
434 self.frame_2.setEnabled(True)
434 self.frame_2.setEnabled(True)
435
435
436 self.loadDays(data_path, ext, walk, expLabel)
436 self.loadDays(data_path, ext, walk, expLabel)
437
437
438 @pyqtSignature("int")
438 @pyqtSignature("int")
439 def on_proComStartDate_activated(self, index):
439 def on_proComStartDate_activated(self, index):
440 """
440 """
441 SELECCION DEL RANGO DE FECHAS -START DATE
441 SELECCION DEL RANGO DE FECHAS -START DATE
442 """
442 """
443 stopIndex = self.proComEndDate.count() - self.proComEndDate.currentIndex() - 1
443 stopIndex = self.proComEndDate.count() - self.proComEndDate.currentIndex() - 1
444
444
445 self.proComEndDate.clear()
445 self.proComEndDate.clear()
446 for i in self.dateList[index:]:
446 for i in self.dateList[index:]:
447 self.proComEndDate.addItem(i)
447 self.proComEndDate.addItem(i)
448
448
449 if self.proComEndDate.count() - stopIndex - 1 >= 0:
449 if self.proComEndDate.count() - stopIndex - 1 >= 0:
450 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - stopIndex - 1)
450 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - stopIndex - 1)
451 else:
451 else:
452 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - 1)
452 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - 1)
453
453
454 @pyqtSignature("int")
454 @pyqtSignature("int")
455 def on_proComEndDate_activated(self, index):
455 def on_proComEndDate_activated(self, index):
456 """
456 """
457 SELECCION DEL RANGO DE FECHAS-END DATE
457 SELECCION DEL RANGO DE FECHAS-END DATE
458 """
458 """
459 pass
459 pass
460
460
461 @pyqtSignature("")
461 @pyqtSignature("")
462 def on_proOk_clicked(self):
462 def on_proOk_clicked(self):
463 """
463 """
464 AΓ±ade al Obj XML de Projecto, name,datatype,date,time,readmode,wait,etc, crea el readUnitProcess del archivo xml.
464 AΓ±ade al Obj XML de Projecto, name,datatype,date,time,readmode,wait,etc, crea el readUnitProcess del archivo xml.
465 Prepara la configuraciΓ³n del diΓ‘grama del Arbol del treeView numero 2
465 Prepara la configuraciΓ³n del diΓ‘grama del Arbol del treeView numero 2
466 """
466 """
467
467
468 self.actionSaveToolbar.setEnabled(False)
468 self.actionSaveToolbar.setEnabled(False)
469 self.actionStarToolbar.setEnabled(False)
469 self.actionStarToolbar.setEnabled(False)
470
470
471 self.actionSave.setEnabled(False)
471 self.actionSave.setEnabled(False)
472 self.actionStart.setEnabled(False)
472 self.actionStart.setEnabled(False)
473
473
474 self.console.clear()
474 self.console.clear()
475
475
476 if self.create:
476 if self.create:
477
477
478 projectId = self.__getNewProjectId()
478 projectId = self.__getNewProjectId()
479
479
480 if not projectId:
480 if not projectId:
481 return 0
481 return 0
482
482
483 projectObjView = self.createProjectView(projectId)
483 projectObjView = self.createProjectView(projectId)
484
484
485 if not projectObjView:
485 if not projectObjView:
486 return 0
486 return 0
487
487
488 self.create = False
488 self.create = False
489
489
490 readUnitObj = self.createReadUnitView(projectObjView)
490 readUnitObj = self.createReadUnitView(projectObjView)
491
491
492 if not readUnitObj:
492 if not readUnitObj:
493 return 0
493 return 0
494
494
495 else:
495 else:
496 projectObjView = self.updateProjectView()
496 projectObjView = self.updateProjectView()
497
497
498 if not projectObjView:
498 if not projectObjView:
499 return 0
499 return 0
500
500
501 projectId = projectObjView.getId()
501 projectId = projectObjView.getId()
502 idReadUnit = projectObjView.getReadUnitId()
502 idReadUnit = projectObjView.getReadUnitId()
503 readUnitObj = self.updateReadUnitView(projectObjView, idReadUnit)
503 readUnitObj = self.updateReadUnitView(projectObjView, idReadUnit)
504
504
505 if not readUnitObj:
505 if not readUnitObj:
506 return 0
506 return 0
507
507
508 self.__itemTreeDict[projectId].setText(projectObjView.name)
508 self.__itemTreeDict[projectId].setText(projectObjView.name)
509 # Project Properties
509 # Project Properties
510 self.refreshProjectProperties(projectObjView)
510 self.refreshProjectProperties(projectObjView)
511 # Disable tabProject after finish the creation
511 # Disable tabProject after finish the creation
512
512
513 self.actionSaveToolbar.setEnabled(True)
513 self.actionSaveToolbar.setEnabled(True)
514 self.actionStarToolbar.setEnabled(True)
514 self.actionStarToolbar.setEnabled(True)
515
515
516 self.actionSave.setEnabled(True)
516 self.actionSave.setEnabled(True)
517 self.actionStart.setEnabled(True)
517 self.actionStart.setEnabled(True)
518
518
519 self.console.clear()
519 self.console.clear()
520 self.console.append("The project parameters were validated")
520 self.console.append("The project parameters were validated")
521
521
522 return 1
522 return 1
523
523
524 @pyqtSignature("")
524 @pyqtSignature("")
525 def on_proClear_clicked(self):
525 def on_proClear_clicked(self):
526
526
527 self.console.clear()
527 self.console.clear()
528
528
529 @pyqtSignature("int")
529 @pyqtSignature("int")
530 def on_volOpCebChannels_stateChanged(self, p0):
530 def on_volOpCebChannels_stateChanged(self, p0):
531 """
531 """
532 Check Box habilita operaciones de SelecciοΏ½n de Canales
532 Check Box habilita operaciones de SelecciοΏ½n de Canales
533 """
533 """
534 if p0 == 2:
534 if p0 == 2:
535 self.volOpComChannels.setEnabled(True)
535 self.volOpComChannels.setEnabled(True)
536 self.volOpChannel.setEnabled(True)
536 self.volOpChannel.setEnabled(True)
537
537
538 if p0 == 0:
538 if p0 == 0:
539 self.volOpComChannels.setEnabled(False)
539 self.volOpComChannels.setEnabled(False)
540 self.volOpChannel.setEnabled(False)
540 self.volOpChannel.setEnabled(False)
541 self.volOpChannel.clear()
541 self.volOpChannel.clear()
542
542
543 @pyqtSignature("int")
543 @pyqtSignature("int")
544 def on_volOpCebHeights_stateChanged(self, p0):
544 def on_volOpCebHeights_stateChanged(self, p0):
545 """
545 """
546 Check Box habilita operaciones de SelecciοΏ½n de Alturas
546 Check Box habilita operaciones de SelecciοΏ½n de Alturas
547 """
547 """
548 if p0 == 2:
548 if p0 == 2:
549 self.volOpHeights.setEnabled(True)
549 self.volOpHeights.setEnabled(True)
550 self.volOpComHeights.setEnabled(True)
550 self.volOpComHeights.setEnabled(True)
551
551
552 if p0 == 0:
552 if p0 == 0:
553 self.volOpHeights.setEnabled(False)
553 self.volOpHeights.setEnabled(False)
554 self.volOpHeights.clear()
554 self.volOpHeights.clear()
555 self.volOpComHeights.setEnabled(False)
555 self.volOpComHeights.setEnabled(False)
556
556
557 @pyqtSignature("int")
557 @pyqtSignature("int")
558 def on_volOpCebFilter_stateChanged(self, p0):
558 def on_volOpCebFilter_stateChanged(self, p0):
559 """
559 """
560 Name='Decoder', optype='other'
560 Name='Decoder', optype='other'
561 """
561 """
562 if p0 == 2:
562 if p0 == 2:
563 self.volOpFilter.setEnabled(True)
563 self.volOpFilter.setEnabled(True)
564
564
565 if p0 == 0:
565 if p0 == 0:
566 self.volOpFilter.setEnabled(False)
566 self.volOpFilter.setEnabled(False)
567 self.volOpFilter.clear()
567 self.volOpFilter.clear()
568
568
569 @pyqtSignature("int")
569 @pyqtSignature("int")
570 def on_volOpCebProfile_stateChanged(self, p0):
570 def on_volOpCebProfile_stateChanged(self, p0):
571 """
571 """
572 Check Box habilita ingreso del rango de Perfiles
572 Check Box habilita ingreso del rango de Perfiles
573 """
573 """
574 if p0 == 2:
574 if p0 == 2:
575 self.volOpComProfile.setEnabled(True)
575 self.volOpComProfile.setEnabled(True)
576 self.volOpProfile.setEnabled(True)
576 self.volOpProfile.setEnabled(True)
577
577
578 if p0 == 0:
578 if p0 == 0:
579 self.volOpComProfile.setEnabled(False)
579 self.volOpComProfile.setEnabled(False)
580 self.volOpProfile.setEnabled(False)
580 self.volOpProfile.setEnabled(False)
581 self.volOpProfile.clear()
581 self.volOpProfile.clear()
582
582
583 @pyqtSignature("int")
583 @pyqtSignature("int")
584 def on_volOpComProfile_activated(self, index):
584 def on_volOpComProfile_activated(self, index):
585 """
585 """
586 Check Box habilita ingreso del rango de Perfiles
586 Check Box habilita ingreso del rango de Perfiles
587 """
587 """
588 #Profile List
588 #Profile List
589 if index == 0:
589 if index == 0:
590 self.volOpProfile.setToolTip('List of selected profiles. Example: 0, 1, 2, 3, 4, 5, 6, 7')
590 self.volOpProfile.setToolTip('List of selected profiles. Example: 0, 1, 2, 3, 4, 5, 6, 7')
591
591
592 #Profile Range
592 #Profile Range
593 if index == 1:
593 if index == 1:
594 self.volOpProfile.setToolTip('Minimum and maximum profile index. Example: 0, 7')
594 self.volOpProfile.setToolTip('Minimum and maximum profile index. Example: 0, 7')
595
595
596 #Profile Range List
596 #Profile Range List
597 if index == 2:
597 if index == 2:
598 self.volOpProfile.setToolTip('List of profile ranges. Example: (0, 7), (12, 19), (100, 200)')
598 self.volOpProfile.setToolTip('List of profile ranges. Example: (0, 7), (12, 19), (100, 200)')
599
599
600 @pyqtSignature("int")
600 @pyqtSignature("int")
601 def on_volOpCebDecodification_stateChanged(self, p0):
601 def on_volOpCebDecodification_stateChanged(self, p0):
602 """
602 """
603 Check Box habilita
603 Check Box habilita
604 """
604 """
605 if p0 == 2:
605 if p0 == 2:
606 self.volOpComCode.setEnabled(True)
606 self.volOpComCode.setEnabled(True)
607 self.volOpComMode.setEnabled(True)
607 self.volOpComMode.setEnabled(True)
608 if p0 == 0:
608 if p0 == 0:
609 self.volOpComCode.setEnabled(False)
609 self.volOpComCode.setEnabled(False)
610 self.volOpComMode.setEnabled(False)
610 self.volOpComMode.setEnabled(False)
611
611
612 @pyqtSignature("int")
612 @pyqtSignature("int")
613 def on_volOpComCode_activated(self, index):
613 def on_volOpComCode_activated(self, index):
614 """
614 """
615 Check Box habilita ingreso
615 Check Box habilita ingreso
616 """
616 """
617 if index == 13:
617 if index == 13:
618 self.volOpCode.setEnabled(True)
618 self.volOpCode.setEnabled(True)
619 else:
619 else:
620 self.volOpCode.setEnabled(False)
620 self.volOpCode.setEnabled(False)
621
621
622 if index == 0:
622 if index == 0:
623 code = ''
623 code = ''
624 self.volOpCode.setText(str(code))
624 self.volOpCode.setText(str(code))
625 return
625 return
626
626
627 if index == 1:
627 if index == 1:
628 code = '(1,1,-1)'
628 code = '(1,1,-1)'
629 nCode = '1'
629 nCode = '1'
630 nBaud = '3'
630 nBaud = '3'
631 if index == 2:
631 if index == 2:
632 code = '(1,1,-1,1)'
632 code = '(1,1,-1,1)'
633 nCode = '1'
633 nCode = '1'
634 nBaud = '4'
634 nBaud = '4'
635 if index == 3:
635 if index == 3:
636 code = '(1,1,1,-1,1)'
636 code = '(1,1,1,-1,1)'
637 nCode = '1'
637 nCode = '1'
638 nBaud = '5'
638 nBaud = '5'
639 if index == 4:
639 if index == 4:
640 code = '(1,1,1,-1,-1,1,-1)'
640 code = '(1,1,1,-1,-1,1,-1)'
641 nCode = '1'
641 nCode = '1'
642 nBaud = '7'
642 nBaud = '7'
643 if index == 5:
643 if index == 5:
644 code = '(1,1,1,-1,-1,-1,1,-1,-1,1,-1)'
644 code = '(1,1,1,-1,-1,-1,1,-1,-1,1,-1)'
645 nCode = '1'
645 nCode = '1'
646 nBaud = '11'
646 nBaud = '11'
647 if index == 6:
647 if index == 6:
648 code = '(1,1,1,1,1,-1,-1,1,1,-1,1,-1,1)'
648 code = '(1,1,1,1,1,-1,-1,1,1,-1,1,-1,1)'
649 nCode = '1'
649 nCode = '1'
650 nBaud = '13'
650 nBaud = '13'
651 if index == 7:
651 if index == 7:
652 code = '(1,1,-1,-1,-1,1)'
652 code = '(1,1,-1,-1,-1,1)'
653 nCode = '2'
653 nCode = '2'
654 nBaud = '3'
654 nBaud = '3'
655 if index == 8:
655 if index == 8:
656 code = '(1,1,-1,1,-1,-1,1,-1)'
656 code = '(1,1,-1,1,-1,-1,1,-1)'
657 nCode = '2'
657 nCode = '2'
658 nBaud = '4'
658 nBaud = '4'
659 if index == 9:
659 if index == 9:
660 code = '(1,1,1,-1,1,-1,-1,-1,1,-1)'
660 code = '(1,1,1,-1,1,-1,-1,-1,1,-1)'
661 nCode = '2'
661 nCode = '2'
662 nBaud = '5'
662 nBaud = '5'
663 if index == 10:
663 if index == 10:
664 code = '(1,1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1)'
664 code = '(1,1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1)'
665 nCode = '2'
665 nCode = '2'
666 nBaud = '7'
666 nBaud = '7'
667 if index == 11:
667 if index == 11:
668 code = '(1,1,1,-1,-1,-1,1,-1,-1,1,-1,-1 ,-1 ,-1 ,1 ,1,1,-1 ,1 ,1 ,-1 ,1)'
668 code = '(1,1,1,-1,-1,-1,1,-1,-1,1,-1,-1 ,-1 ,-1 ,1 ,1,1,-1 ,1 ,1 ,-1 ,1)'
669 nCode = '2'
669 nCode = '2'
670 nBaud = '11'
670 nBaud = '11'
671 if index == 12:
671 if index == 12:
672 code = '(1,1,1,1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1)'
672 code = '(1,1,1,1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1)'
673 nCode = '2'
673 nCode = '2'
674 nBaud = '13'
674 nBaud = '13'
675
675
676 code = ast.literal_eval(code)
676 code = ast.literal_eval(code)
677 nCode = int(nCode)
677 nCode = int(nCode)
678 nBaud = int(nBaud)
678 nBaud = int(nBaud)
679
679
680 code = numpy.asarray(code).reshape((nCode, nBaud)).tolist()
680 code = numpy.asarray(code).reshape((nCode, nBaud)).tolist()
681
681
682 self.volOpCode.setText(str(code))
682 self.volOpCode.setText(str(code))
683
683
684 @pyqtSignature("int")
684 @pyqtSignature("int")
685 def on_volOpCebFlip_stateChanged(self, p0):
685 def on_volOpCebFlip_stateChanged(self, p0):
686 """
686 """
687 Check Box habilita ingresode del numero de Integraciones a realizar
687 Check Box habilita ingresode del numero de Integraciones a realizar
688 """
688 """
689 if p0 == 2:
689 if p0 == 2:
690 self.volOpFlip.setEnabled(True)
690 self.volOpFlip.setEnabled(True)
691 if p0 == 0:
691 if p0 == 0:
692 self.volOpFlip.setEnabled(False)
692 self.volOpFlip.setEnabled(False)
693 self.volOpFlip.clear()
693 self.volOpFlip.clear()
694
694
695 @pyqtSignature("int")
695 @pyqtSignature("int")
696 def on_volOpCebCohInt_stateChanged(self, p0):
696 def on_volOpCebCohInt_stateChanged(self, p0):
697 """
697 """
698 Check Box habilita ingresode del numero de Integraciones a realizar
698 Check Box habilita ingresode del numero de Integraciones a realizar
699 """
699 """
700 if p0 == 2:
700 if p0 == 2:
701 self.volOpCohInt.setEnabled(True)
701 self.volOpCohInt.setEnabled(True)
702 if p0 == 0:
702 if p0 == 0:
703 self.volOpCohInt.setEnabled(False)
703 self.volOpCohInt.setEnabled(False)
704 self.volOpCohInt.clear()
704 self.volOpCohInt.clear()
705
705
706 @pyqtSignature("int")
706 @pyqtSignature("int")
707 def on_volOpCebRadarfrequency_stateChanged(self, p0):
707 def on_volOpCebRadarfrequency_stateChanged(self, p0):
708 """
708 """
709 Check Box habilita ingresode del numero de Integraciones a realizar
709 Check Box habilita ingresode del numero de Integraciones a realizar
710 """
710 """
711 if p0 == 2:
711 if p0 == 2:
712 self.volOpRadarfrequency.setEnabled(True)
712 self.volOpRadarfrequency.setEnabled(True)
713 if p0 == 0:
713 if p0 == 0:
714 self.volOpRadarfrequency.clear()
714 self.volOpRadarfrequency.clear()
715 self.volOpRadarfrequency.setEnabled(False)
715 self.volOpRadarfrequency.setEnabled(False)
716
716
717 @pyqtSignature("")
717 @pyqtSignature("")
718 def on_volOutputToolPath_clicked(self):
718 def on_volOutputToolPath_clicked(self):
719 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
719 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
720 self.volOutputPath.setText(dirOutPath)
720 self.volOutputPath.setText(dirOutPath)
721
721
722 @pyqtSignature("")
722 @pyqtSignature("")
723 def on_specOutputToolPath_clicked(self):
723 def on_specOutputToolPath_clicked(self):
724 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
724 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
725 self.specOutputPath.setText(dirOutPath)
725 self.specOutputPath.setText(dirOutPath)
726
726
727 @pyqtSignature("")
727 @pyqtSignature("")
728 def on_specHeisOutputToolPath_clicked(self):
728 def on_specHeisOutputToolPath_clicked(self):
729 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
729 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
730 self.specHeisOutputPath.setText(dirOutPath)
730 self.specHeisOutputPath.setText(dirOutPath)
731
731
732 @pyqtSignature("")
732 @pyqtSignature("")
733 def on_specHeisOutputMetadaToolPath_clicked(self):
733 def on_specHeisOutputMetadaToolPath_clicked(self):
734
734
735 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.pathWorkSpace, self.tr("Text Files (*.xml)")))
735 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.pathWorkSpace, self.tr("Text Files (*.xml)")))
736 self.specHeisOutputMetada.setText(filename)
736 self.specHeisOutputMetada.setText(filename)
737
737
738 @pyqtSignature("")
738 @pyqtSignature("")
739 def on_volOpOk_clicked(self):
739 def on_volOpOk_clicked(self):
740 """
740 """
741 BUSCA EN LA LISTA DE OPERACIONES DEL TIPO VOLTAJE Y LES AοΏ½ADE EL PARAMETRO ADECUADO ESPERANDO LA ACEPTACION DEL USUARIO
741 BUSCA EN LA LISTA DE OPERACIONES DEL TIPO VOLTAJE Y LES AοΏ½ADE EL PARAMETRO ADECUADO ESPERANDO LA ACEPTACION DEL USUARIO
742 PARA AGREGARLO AL ARCHIVO DE CONFIGURACION XML
742 PARA AGREGARLO AL ARCHIVO DE CONFIGURACION XML
743 """
743 """
744
744
745 checkPath = False
745 checkPath = False
746
746
747 self.actionSaveToolbar.setEnabled(False)
747 self.actionSaveToolbar.setEnabled(False)
748 self.actionStarToolbar.setEnabled(False)
748 self.actionStarToolbar.setEnabled(False)
749
749
750 self.actionSave.setEnabled(False)
750 self.actionSave.setEnabled(False)
751 self.actionStart.setEnabled(False)
751 self.actionStart.setEnabled(False)
752
752
753 self.console.clear()
753 self.console.clear()
754 self.console.append("Checking input parameters ...")
754 self.console.append("Checking input parameters ...")
755
755
756 puObj = self.getSelectedItemObj()
756 puObj = self.getSelectedItemObj()
757 puObj.removeOperations()
757 puObj.removeOperations()
758
758
759 if self.volOpCebRadarfrequency.isChecked():
759 if self.volOpCebRadarfrequency.isChecked():
760 value = str(self.volOpRadarfrequency.text())
760 value = str(self.volOpRadarfrequency.text())
761 format = 'float'
761 format = 'float'
762 name_operation = 'setRadarFrequency'
762 name_operation = 'setRadarFrequency'
763 name_parameter = 'frequency'
763 name_parameter = 'frequency'
764 if not value == "":
764 if not value == "":
765 try:
765 try:
766 radarfreq = float(self.volOpRadarfrequency.text())*1e6
766 radarfreq = float(self.volOpRadarfrequency.text())*1e6
767 except:
767 except:
768 self.console.clear()
768 self.console.clear()
769 self.console.append("Invalid value '%s' for Radar Frequency" %value)
769 self.console.append("Invalid value '%s' for Radar Frequency" %value)
770 return 0
770 return 0
771
771
772 opObj = puObj.addOperation(name=name_operation)
772 opObj = puObj.addOperation(name=name_operation)
773 if not opObj.addParameter(name=name_parameter, value=radarfreq, format=format):
773 if not opObj.addParameter(name=name_parameter, value=radarfreq, format=format):
774 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
774 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
775 return 0
775 return 0
776
776
777 if self.volOpCebChannels.isChecked():
777 if self.volOpCebChannels.isChecked():
778 value = str(self.volOpChannel.text())
778 value = str(self.volOpChannel.text())
779
779
780 if value == "":
780 if value == "":
781 print "Please fill channel list"
781 print "Please fill channel list"
782 return 0
782 return 0
783
783
784 format = 'intlist'
784 format = 'intlist'
785 if self.volOpComChannels.currentIndex() == 0:
785 if self.volOpComChannels.currentIndex() == 0:
786 name_operation = "selectChannels"
786 name_operation = "selectChannels"
787 name_parameter = 'channelList'
787 name_parameter = 'channelList'
788 else:
788 else:
789 name_operation = "selectChannelsByIndex"
789 name_operation = "selectChannelsByIndex"
790 name_parameter = 'channelIndexList'
790 name_parameter = 'channelIndexList'
791
791
792 opObj = puObj.addOperation(name=name_operation)
792 opObj = puObj.addOperation(name=name_operation)
793 if not opObj.addParameter(name=name_parameter, value=value, format=format):
793 if not opObj.addParameter(name=name_parameter, value=value, format=format):
794 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
794 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
795 return 0
795 return 0
796
796
797 if self.volOpCebHeights.isChecked():
797 if self.volOpCebHeights.isChecked():
798 value = str(self.volOpHeights.text())
798 value = str(self.volOpHeights.text())
799
799
800 if value == "":
800 if value == "":
801 print "Please fill height range"
801 print "Please fill height range"
802 return 0
802 return 0
803
803
804 valueList = value.split(',')
804 valueList = value.split(',')
805
805
806 if self.volOpComHeights.currentIndex() == 0:
806 if self.volOpComHeights.currentIndex() == 0:
807 format = 'float'
807 format = 'float'
808 name_operation = 'selectHeights'
808 name_operation = 'selectHeights'
809 name_parameter1 = 'minHei'
809 name_parameter1 = 'minHei'
810 name_parameter2 = 'maxHei'
810 name_parameter2 = 'maxHei'
811 else:
811 else:
812 format = 'int'
812 format = 'int'
813 name_operation = 'selectHeightsByIndex'
813 name_operation = 'selectHeightsByIndex'
814 name_parameter1 = 'minIndex'
814 name_parameter1 = 'minIndex'
815 name_parameter2 = 'maxIndex'
815 name_parameter2 = 'maxIndex'
816
816
817 opObj = puObj.addOperation(name=name_operation)
817 opObj = puObj.addOperation(name=name_operation)
818 opObj.addParameter(name=name_parameter1, value=valueList[0], format=format)
818 opObj.addParameter(name=name_parameter1, value=valueList[0], format=format)
819 opObj.addParameter(name=name_parameter2, value=valueList[1], format=format)
819 opObj.addParameter(name=name_parameter2, value=valueList[1], format=format)
820
820
821 if self.volOpCebFilter.isChecked():
821 if self.volOpCebFilter.isChecked():
822 value = str(self.volOpFilter.text())
822 value = str(self.volOpFilter.text())
823 if value == "":
823 if value == "":
824 print "Please fill filter value"
824 print "Please fill filter value"
825 return 0
825 return 0
826
826
827 format = 'int'
827 format = 'int'
828 name_operation = 'filterByHeights'
828 name_operation = 'filterByHeights'
829 name_parameter = 'window'
829 name_parameter = 'window'
830 opObj = puObj.addOperation(name=name_operation)
830 opObj = puObj.addOperation(name=name_operation)
831 if not opObj.addParameter(name=name_parameter, value=value, format=format):
831 if not opObj.addParameter(name=name_parameter, value=value, format=format):
832 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
832 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
833 return 0
833 return 0
834
834
835 if self.volOpCebProfile.isChecked():
835 if self.volOpCebProfile.isChecked():
836 value = str(self.volOpProfile.text())
836 value = str(self.volOpProfile.text())
837
837
838 if value == "":
838 if value == "":
839 print "Please fill profile value"
839 print "Please fill profile value"
840 return 0
840 return 0
841
841
842 format = 'intlist'
842 format = 'intlist'
843 optype = 'other'
843 optype = 'other'
844 name_operation = 'ProfileSelector'
844 name_operation = 'ProfileSelector'
845 if self.volOpComProfile.currentIndex() == 0:
845 if self.volOpComProfile.currentIndex() == 0:
846 name_parameter = 'profileList'
846 name_parameter = 'profileList'
847 if self.volOpComProfile.currentIndex() == 1:
847 if self.volOpComProfile.currentIndex() == 1:
848 name_parameter = 'profileRangeList'
848 name_parameter = 'profileRangeList'
849 if self.volOpComProfile.currentIndex() == 2:
849 if self.volOpComProfile.currentIndex() == 2:
850 name_parameter = 'rangeList'
850 name_parameter = 'rangeList'
851
851
852 opObj = puObj.addOperation(name='ProfileSelector', optype='other')
852 opObj = puObj.addOperation(name='ProfileSelector', optype='other')
853 if not opObj.addParameter(name=name_parameter, value=value, format=format):
853 if not opObj.addParameter(name=name_parameter, value=value, format=format):
854 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
854 self.console.append("Invalid value '%s' for %s" %(value,name_parameter))
855 return 0
855 return 0
856
856
857 if self.volOpCebDecodification.isChecked():
857 if self.volOpCebDecodification.isChecked():
858 name_operation = 'Decoder'
858 name_operation = 'Decoder'
859 opObj = puObj.addOperation(name=name_operation, optype='other')
859 opObj = puObj.addOperation(name=name_operation, optype='other')
860
860
861 #User defined
861 #User defined
862 nBaud = None
862 nBaud = None
863 nCode = None
863 nCode = None
864
864
865 code = str(self.volOpCode.text())
865 code = str(self.volOpCode.text())
866 try:
866 try:
867 code_tmp = ast.literal_eval(code)
867 code_tmp = ast.literal_eval(code)
868 except:
868 except:
869 code_tmp = []
869 code_tmp = []
870
870
871 if len(code_tmp) > 0:
871 if len(code_tmp) > 0:
872
872
873 if type(code_tmp) not in (tuple, list):
873 if type(code_tmp) not in (tuple, list):
874 self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])")
874 self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])")
875 return 0
875 return 0
876
876
877 if len(code_tmp) > 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1], [1,1,-1] ]
877 if len(code_tmp) > 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1], [1,1,-1] ]
878 nBaud = len(code_tmp[0])
878 nBaud = len(code_tmp[0])
879 nCode = len(code_tmp)
879 nCode = len(code_tmp)
880 elif len(code_tmp) == 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1] ]
880 elif len(code_tmp) == 1 and type(code_tmp[0]) in (tuple, list): #[ [1,-1,1] ]
881 nBaud = len(code_tmp[0])
881 nBaud = len(code_tmp[0])
882 nCode = 1
882 nCode = 1
883 elif type(code_tmp[0]) in (int, float): #[1,-1,1] or (1,-1,1)
883 elif type(code_tmp[0]) in (int, float): #[1,-1,1] or (1,-1,1)
884 nBaud = len(code_tmp)
884 nBaud = len(code_tmp)
885 nCode = 1
885 nCode = 1
886 else:
886 else:
887 self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])")
887 self.console.append("Please write a right value for Code (Exmaple: [1,1,-1], [1,-1,1])")
888 return 0
888 return 0
889
889
890 if not nBaud or not nCode:
890 if not nBaud or not nCode:
891 self.console.append("Please write a right value for Code")
891 self.console.append("Please write a right value for Code")
892 return 0
892 return 0
893
893
894 code = code.replace("(", "")
894 code = code.replace("(", "")
895 code = code.replace(")", "")
895 code = code.replace(")", "")
896 code = code.replace("[", "")
896 code = code.replace("[", "")
897 code = code.replace("]", "")
897 code = code.replace("]", "")
898
898
899 if not opObj.addParameter(name='code', value=code, format='intlist'):
899 if not opObj.addParameter(name='code', value=code, format='intlist'):
900 self.console.append("Please write a right value for Code")
900 self.console.append("Please write a right value for Code")
901 return 0
901 return 0
902 if not opObj.addParameter(name='nCode', value=nCode, format='int'):
902 if not opObj.addParameter(name='nCode', value=nCode, format='int'):
903 self.console.append("Please write a right value for Code")
903 self.console.append("Please write a right value for Code")
904 return 0
904 return 0
905 if not opObj.addParameter(name='nBaud', value=nBaud, format='int'):
905 if not opObj.addParameter(name='nBaud', value=nBaud, format='int'):
906 self.console.append("Please write a right value for Code")
906 self.console.append("Please write a right value for Code")
907 return 0
907 return 0
908
908
909 name_parameter = 'mode'
909 name_parameter = 'mode'
910 format = 'int'
910 format = 'int'
911
911
912 value = str(self.volOpComMode.currentIndex())
912 value = str(self.volOpComMode.currentIndex())
913
913
914 if not opObj.addParameter(name=name_parameter, value=value, format=format):
914 if not opObj.addParameter(name=name_parameter, value=value, format=format):
915 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
915 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
916 return 0
916 return 0
917
917
918
918
919 if self.volOpCebFlip.isChecked():
919 if self.volOpCebFlip.isChecked():
920 name_operation = 'deFlip'
920 name_operation = 'deFlip'
921 optype = 'self'
921 optype = 'self'
922
922
923 opObj = puObj.addOperation(name=name_operation, optype=optype)
923 opObj = puObj.addOperation(name=name_operation, optype=optype)
924
924
925 name_parameter = 'channelList'
925 name_parameter = 'channelList'
926 format = 'intlist'
926 format = 'intlist'
927 value = str(self.volOpFlip.text())
927 value = str(self.volOpFlip.text())
928
928
929 if value != "":
929 if value != "":
930 if not opObj.addParameter(name=name_parameter, value=value, format=format):
930 if not opObj.addParameter(name=name_parameter, value=value, format=format):
931 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
931 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
932 return 0
932 return 0
933
933
934 if self.volOpCebCohInt.isChecked():
934 if self.volOpCebCohInt.isChecked():
935 name_operation = 'CohInt'
935 name_operation = 'CohInt'
936 optype = 'other'
936 optype = 'other'
937 value = str(self.volOpCohInt.text())
937 value = str(self.volOpCohInt.text())
938
938
939 if value == "":
939 if value == "":
940 print "Please fill number of coherent integrations"
940 print "Please fill number of coherent integrations"
941 return 0
941 return 0
942
942
943 name_parameter = 'n'
943 name_parameter = 'n'
944 format = 'int'
944 format = 'int'
945
945
946 opObj = puObj.addOperation(name=name_operation, optype=optype)
946 opObj = puObj.addOperation(name=name_operation, optype=optype)
947
947
948 if not opObj.addParameter(name=name_parameter, value=value, format=format):
948 if not opObj.addParameter(name=name_parameter, value=value, format=format):
949 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
949 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
950 return 0
950 return 0
951
951
952 if self.volGraphCebshow.isChecked():
952 if self.volGraphCebshow.isChecked():
953 name_operation = 'Scope'
953 name_operation = 'Scope'
954 optype = 'other'
954 optype = 'other'
955 name_parameter = 'type'
955 name_parameter = 'type'
956 value = 'Scope'
956 value = 'Scope'
957 if self.idImagscope == 0:
957 if self.idImagscope == 0:
958 self.idImagscope = 100
958 self.idImagscope = 100
959 else:
959 else:
960 self.idImagscope = self.idImagscope + 1
960 self.idImagscope = self.idImagscope + 1
961
961
962 name_parameter1 = 'id'
962 name_parameter1 = 'id'
963 value1 = int(self.idImagscope)
963 value1 = int(self.idImagscope)
964 format1 = 'int'
964 format1 = 'int'
965 format = 'str'
965 format = 'str'
966
966
967 opObj = puObj.addOperation(name=name_operation, optype=optype)
967 opObj = puObj.addOperation(name=name_operation, optype=optype)
968 # opObj.addParameter(name=name_parameter, value=value, format=format)
968 # opObj.addParameter(name=name_parameter, value=value, format=format)
969 opObj.addParameter(name=name_parameter1, value=opObj.id, format=format1)
969 opObj.addParameter(name=name_parameter1, value=opObj.id, format=format1)
970
970
971 channelList = str(self.volGraphChannelList.text()).replace(" ","")
971 channelList = str(self.volGraphChannelList.text()).replace(" ","")
972 xvalue = str(self.volGraphfreqrange.text()).replace(" ","")
972 xvalue = str(self.volGraphfreqrange.text()).replace(" ","")
973 yvalue = str(self.volGraphHeightrange.text()).replace(" ","")
973 yvalue = str(self.volGraphHeightrange.text()).replace(" ","")
974
974
975 if channelList:
975 if channelList:
976 opObj.addParameter(name='channelList', value=channelList, format='intlist')
976 opObj.addParameter(name='channelList', value=channelList, format='intlist')
977
977
978 if xvalue:
978 if xvalue:
979 xvalueList = xvalue.split(',')
979 xvalueList = xvalue.split(',')
980 try:
980 try:
981 value0 = float(xvalueList[0])
981 value0 = float(xvalueList[0])
982 value1 = float(xvalueList[1])
982 value1 = float(xvalueList[1])
983 except:
983 except:
984 return 0
984 return 0
985 opObj.addParameter(name='xmin', value=value0, format='float')
985 opObj.addParameter(name='xmin', value=value0, format='float')
986 opObj.addParameter(name='xmax', value=value1, format='float')
986 opObj.addParameter(name='xmax', value=value1, format='float')
987
987
988
988
989 if not yvalue == "":
989 if not yvalue == "":
990 yvalueList = yvalue.split(",")
990 yvalueList = yvalue.split(",")
991 try:
991 try:
992 value0 = int(yvalueList[0])
992 value0 = int(yvalueList[0])
993 value1 = int(yvalueList[1])
993 value1 = int(yvalueList[1])
994 except:
994 except:
995 return 0
995 return 0
996
996
997 opObj.addParameter(name='ymin', value=value0, format='int')
997 opObj.addParameter(name='ymin', value=value0, format='int')
998 opObj.addParameter(name='ymax', value=value1, format='int')
998 opObj.addParameter(name='ymax', value=value1, format='int')
999
999
1000 if self.volGraphCebSave.isChecked():
1000 if self.volGraphCebSave.isChecked():
1001 checkPath = True
1001 checkPath = True
1002 opObj.addParameter(name='save', value='1', format='int')
1002 opObj.addParameter(name='save', value='1', format='int')
1003 opObj.addParameter(name='figpath', value=str(self.volGraphPath.text()), format='str')
1003 opObj.addParameter(name='figpath', value=str(self.volGraphPath.text()), format='str')
1004 value = str(self.volGraphPrefix.text()).replace(" ","")
1004 value = str(self.volGraphPrefix.text()).replace(" ","")
1005 if value:
1005 if value:
1006 opObj.addParameter(name='figfile', value=value, format='str')
1006 opObj.addParameter(name='figfile', value=value, format='str')
1007
1007
1008 localfolder = None
1008 localfolder = None
1009 if checkPath:
1009 if checkPath:
1010 localfolder = str(self.volGraphPath.text())
1010 localfolder = str(self.volGraphPath.text())
1011 if localfolder == '':
1011 if localfolder == '':
1012 self.console.clear()
1012 self.console.clear()
1013 self.console.append("Graphic path should be defined")
1013 self.console.append("Graphic path should be defined")
1014 return 0
1014 return 0
1015
1015
1016 # if something happend
1016 # if something happend
1017 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Voltage')
1017 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Voltage')
1018 if parms_ok:
1018 if parms_ok:
1019 name_operation = 'VoltageWriter'
1019 name_operation = 'VoltageWriter'
1020 optype = 'other'
1020 optype = 'other'
1021 name_parameter1 = 'path'
1021 name_parameter1 = 'path'
1022 name_parameter2 = 'blocksPerFile'
1022 name_parameter2 = 'blocksPerFile'
1023 name_parameter3 = 'profilesPerBlock'
1023 name_parameter3 = 'profilesPerBlock'
1024 value1 = output_path
1024 value1 = output_path
1025 value2 = blocksperfile
1025 value2 = blocksperfile
1026 value3 = profilesperblock
1026 value3 = profilesperblock
1027 format = "int"
1027 format = "int"
1028 opObj = puObj.addOperation(name=name_operation, optype=optype)
1028 opObj = puObj.addOperation(name=name_operation, optype=optype)
1029 opObj.addParameter(name=name_parameter1, value=value1)
1029 opObj.addParameter(name=name_parameter1, value=value1)
1030 opObj.addParameter(name=name_parameter2, value=value2, format=format)
1030 opObj.addParameter(name=name_parameter2, value=value2, format=format)
1031 opObj.addParameter(name=name_parameter3, value=value3, format=format)
1031 opObj.addParameter(name=name_parameter3, value=value3, format=format)
1032
1032
1033 self.console.clear()
1033 self.console.clear()
1034 try:
1034 try:
1035 self.refreshPUProperties(puObj)
1035 self.refreshPUProperties(puObj)
1036 except:
1036 except:
1037 self.console.append("An error reading input parameters was found ...Check them!")
1037 self.console.append("An error reading input parameters was found ...Check them!")
1038 return 0
1038 return 0
1039
1039
1040 self.console.append("Save your project and press Play button to start signal processing")
1040 self.console.append("Save your project and press Play button to start signal processing")
1041
1041
1042 self.actionSaveToolbar.setEnabled(True)
1042 self.actionSaveToolbar.setEnabled(True)
1043 self.actionStarToolbar.setEnabled(True)
1043 self.actionStarToolbar.setEnabled(True)
1044
1044
1045 self.actionSave.setEnabled(True)
1045 self.actionSave.setEnabled(True)
1046 self.actionStart.setEnabled(True)
1046 self.actionStart.setEnabled(True)
1047
1047
1048 return 1
1048 return 1
1049
1049
1050 """
1050 """
1051 Voltage Graph
1051 Voltage Graph
1052 """
1052 """
1053 @pyqtSignature("int")
1053 @pyqtSignature("int")
1054 def on_volGraphCebSave_stateChanged(self, p0):
1054 def on_volGraphCebSave_stateChanged(self, p0):
1055 """
1055 """
1056 Check Box habilita ingresode del numero de Integraciones a realizar
1056 Check Box habilita ingresode del numero de Integraciones a realizar
1057 """
1057 """
1058 if p0 == 2:
1058 if p0 == 2:
1059 self.volGraphPath.setEnabled(True)
1059 self.volGraphPath.setEnabled(True)
1060 self.volGraphPrefix.setEnabled(True)
1060 self.volGraphPrefix.setEnabled(True)
1061 self.volGraphToolPath.setEnabled(True)
1061 self.volGraphToolPath.setEnabled(True)
1062
1062
1063 if p0 == 0:
1063 if p0 == 0:
1064 self.volGraphPath.setEnabled(False)
1064 self.volGraphPath.setEnabled(False)
1065 self.volGraphPrefix.setEnabled(False)
1065 self.volGraphPrefix.setEnabled(False)
1066 self.volGraphToolPath.setEnabled(False)
1066 self.volGraphToolPath.setEnabled(False)
1067
1067
1068 @pyqtSignature("")
1068 @pyqtSignature("")
1069 def on_volGraphToolPath_clicked(self):
1069 def on_volGraphToolPath_clicked(self):
1070 """
1070 """
1071 Donde se guardan los DATOS
1071 Donde se guardan los DATOS
1072 """
1072 """
1073 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
1073 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
1074 self.volGraphPath.setText(save_path)
1074 self.volGraphPath.setText(save_path)
1075
1075
1076 if not os.path.exists(save_path):
1076 if not os.path.exists(save_path):
1077 self.console.clear()
1077 self.console.clear()
1078 self.console.append("Set a valid path")
1078 self.console.append("Set a valid path")
1079 self.volGraphOk.setEnabled(False)
1079 self.volGraphOk.setEnabled(False)
1080 return
1080 return
1081
1081
1082 @pyqtSignature("int")
1082 @pyqtSignature("int")
1083 def on_volGraphCebshow_stateChanged(self, p0):
1083 def on_volGraphCebshow_stateChanged(self, p0):
1084 """
1084 """
1085 Check Box habilita ingresode del numero de Integraciones a realizar
1085 Check Box habilita ingresode del numero de Integraciones a realizar
1086 """
1086 """
1087 if p0 == 0:
1087 if p0 == 0:
1088
1088
1089 self.volGraphChannelList.setEnabled(False)
1089 self.volGraphChannelList.setEnabled(False)
1090 self.volGraphfreqrange.setEnabled(False)
1090 self.volGraphfreqrange.setEnabled(False)
1091 self.volGraphHeightrange.setEnabled(False)
1091 self.volGraphHeightrange.setEnabled(False)
1092 if p0 == 2:
1092 if p0 == 2:
1093
1093
1094 self.volGraphChannelList.setEnabled(True)
1094 self.volGraphChannelList.setEnabled(True)
1095 self.volGraphfreqrange.setEnabled(True)
1095 self.volGraphfreqrange.setEnabled(True)
1096 self.volGraphHeightrange.setEnabled(True)
1096 self.volGraphHeightrange.setEnabled(True)
1097
1097
1098 """
1098 """
1099 Spectra operation
1099 Spectra operation
1100 """
1100 """
1101 @pyqtSignature("int")
1101 @pyqtSignature("int")
1102 def on_specOpCebRadarfrequency_stateChanged(self, p0):
1102 def on_specOpCebRadarfrequency_stateChanged(self, p0):
1103 """
1103 """
1104 Check Box habilita ingresode del numero de Integraciones a realizar
1104 Check Box habilita ingresode del numero de Integraciones a realizar
1105 """
1105 """
1106 if p0 == 2:
1106 if p0 == 2:
1107 self.specOpRadarfrequency.setEnabled(True)
1107 self.specOpRadarfrequency.setEnabled(True)
1108 if p0 == 0:
1108 if p0 == 0:
1109 self.specOpRadarfrequency.clear()
1109 self.specOpRadarfrequency.clear()
1110 self.specOpRadarfrequency.setEnabled(False)
1110 self.specOpRadarfrequency.setEnabled(False)
1111
1111
1112
1112
1113 @pyqtSignature("int")
1113 @pyqtSignature("int")
1114 def on_specOpCebCrossSpectra_stateChanged(self, p0):
1114 def on_specOpCebCrossSpectra_stateChanged(self, p0):
1115 """
1115 """
1116 Habilita la opcion de aοΏ½adir el parοΏ½metro CrossSpectra a la Unidad de Procesamiento .
1116 Habilita la opcion de aοΏ½adir el parοΏ½metro CrossSpectra a la Unidad de Procesamiento .
1117 """
1117 """
1118 if p0 == 2:
1118 if p0 == 2:
1119 # self.specOpnFFTpoints.setEnabled(True)
1119 # self.specOpnFFTpoints.setEnabled(True)
1120 self.specOppairsList.setEnabled(True)
1120 self.specOppairsList.setEnabled(True)
1121 if p0 == 0:
1121 if p0 == 0:
1122 # self.specOpnFFTpoints.setEnabled(False)
1122 # self.specOpnFFTpoints.setEnabled(False)
1123 self.specOppairsList.setEnabled(False)
1123 self.specOppairsList.setEnabled(False)
1124
1124
1125 @pyqtSignature("int")
1125 @pyqtSignature("int")
1126 def on_specOpCebChannel_stateChanged(self, p0):
1126 def on_specOpCebChannel_stateChanged(self, p0):
1127 """
1127 """
1128 Habilita la opcion de aοΏ½adir el parοΏ½metro numero de Canales a la Unidad de Procesamiento .
1128 Habilita la opcion de aοΏ½adir el parοΏ½metro numero de Canales a la Unidad de Procesamiento .
1129 """
1129 """
1130 if p0 == 2:
1130 if p0 == 2:
1131 self.specOpChannel.setEnabled(True)
1131 self.specOpChannel.setEnabled(True)
1132 self.specOpComChannel.setEnabled(True)
1132 self.specOpComChannel.setEnabled(True)
1133 if p0 == 0:
1133 if p0 == 0:
1134 self.specOpChannel.setEnabled(False)
1134 self.specOpChannel.setEnabled(False)
1135 self.specOpComChannel.setEnabled(False)
1135 self.specOpComChannel.setEnabled(False)
1136
1136
1137 @pyqtSignature("int")
1137 @pyqtSignature("int")
1138 def on_specOpCebHeights_stateChanged(self, p0):
1138 def on_specOpCebHeights_stateChanged(self, p0):
1139 """
1139 """
1140 Habilita la opcion de aοΏ½adir el parοΏ½metro de alturas a la Unidad de Procesamiento .
1140 Habilita la opcion de aοΏ½adir el parοΏ½metro de alturas a la Unidad de Procesamiento .
1141 """
1141 """
1142 if p0 == 2:
1142 if p0 == 2:
1143 self.specOpComHeights.setEnabled(True)
1143 self.specOpComHeights.setEnabled(True)
1144 self.specOpHeights.setEnabled(True)
1144 self.specOpHeights.setEnabled(True)
1145 if p0 == 0:
1145 if p0 == 0:
1146 self.specOpComHeights.setEnabled(False)
1146 self.specOpComHeights.setEnabled(False)
1147 self.specOpHeights.setEnabled(False)
1147 self.specOpHeights.setEnabled(False)
1148
1148
1149
1149
1150 @pyqtSignature("int")
1150 @pyqtSignature("int")
1151 def on_specOpCebIncoherent_stateChanged(self, p0):
1151 def on_specOpCebIncoherent_stateChanged(self, p0):
1152 """
1152 """
1153 Habilita la opcion de aοΏ½adir el parοΏ½metro integraciones incoherentes a la Unidad de Procesamiento .
1153 Habilita la opcion de aοΏ½adir el parοΏ½metro integraciones incoherentes a la Unidad de Procesamiento .
1154 """
1154 """
1155 if p0 == 2:
1155 if p0 == 2:
1156 self.specOpIncoherent.setEnabled(True)
1156 self.specOpIncoherent.setEnabled(True)
1157 if p0 == 0:
1157 if p0 == 0:
1158 self.specOpIncoherent.setEnabled(False)
1158 self.specOpIncoherent.setEnabled(False)
1159
1159
1160 @pyqtSignature("int")
1160 @pyqtSignature("int")
1161 def on_specOpCebRemoveDC_stateChanged(self, p0):
1161 def on_specOpCebRemoveDC_stateChanged(self, p0):
1162 """
1162 """
1163 Habilita la opcion de aοΏ½adir el parοΏ½metro remover DC a la Unidad de Procesamiento .
1163 Habilita la opcion de aοΏ½adir el parοΏ½metro remover DC a la Unidad de Procesamiento .
1164 """
1164 """
1165 if p0 == 2:
1165 if p0 == 2:
1166 self.specOpComRemoveDC.setEnabled(True)
1166 self.specOpComRemoveDC.setEnabled(True)
1167 if p0 == 0:
1167 if p0 == 0:
1168 self.specOpComRemoveDC.setEnabled(False)
1168 self.specOpComRemoveDC.setEnabled(False)
1169
1169
1170 @pyqtSignature("int")
1170 @pyqtSignature("int")
1171 def on_specOpCebgetNoise_stateChanged(self, p0):
1171 def on_specOpCebgetNoise_stateChanged(self, p0):
1172 """
1172 """
1173 Habilita la opcion de aοΏ½adir la estimacion de ruido a la Unidad de Procesamiento .
1173 Habilita la opcion de aοΏ½adir la estimacion de ruido a la Unidad de Procesamiento .
1174 """
1174 """
1175 if p0 == 2:
1175 if p0 == 2:
1176 self.specOpgetNoise.setEnabled(True)
1176 self.specOpgetNoise.setEnabled(True)
1177
1177
1178 if p0 == 0:
1178 if p0 == 0:
1179 self.specOpgetNoise.setEnabled(False)
1179 self.specOpgetNoise.setEnabled(False)
1180
1180
1181 @pyqtSignature("")
1181 @pyqtSignature("")
1182 def on_specOpOk_clicked(self):
1182 def on_specOpOk_clicked(self):
1183 """
1183 """
1184 AΓ‘ADE OPERACION SPECTRA
1184 AΓ‘ADE OPERACION SPECTRA
1185 """
1185 """
1186
1186
1187 addFTP = False
1187 addFTP = False
1188 checkPath = False
1188 checkPath = False
1189
1189
1190 self.actionSaveToolbar.setEnabled(False)
1190 self.actionSaveToolbar.setEnabled(False)
1191 self.actionStarToolbar.setEnabled(False)
1191 self.actionStarToolbar.setEnabled(False)
1192
1192
1193 self.actionSave.setEnabled(False)
1193 self.actionSave.setEnabled(False)
1194 self.actionStart.setEnabled(False)
1194 self.actionStart.setEnabled(False)
1195
1195
1196 self.console.clear()
1196 self.console.clear()
1197 self.console.append("Checking input parameters ...")
1197 self.console.append("Checking input parameters ...")
1198
1198
1199 projectObj = self.getSelectedProjectObj()
1199 projectObj = self.getSelectedProjectObj()
1200
1200
1201 if not projectObj:
1201 if not projectObj:
1202 self.console.append("Please select a project before update it")
1202 self.console.append("Please select a project before update it")
1203 return
1203 return
1204
1204
1205 puObj = self.getSelectedItemObj()
1205 puObj = self.getSelectedItemObj()
1206
1206
1207 puObj.removeOperations()
1207 puObj.removeOperations()
1208
1208
1209 if self.specOpCebRadarfrequency.isChecked():
1209 if self.specOpCebRadarfrequency.isChecked():
1210 value = str(self.specOpRadarfrequency.text())
1210 value = str(self.specOpRadarfrequency.text())
1211 format = 'float'
1211 format = 'float'
1212 name_operation = 'setRadarFrequency'
1212 name_operation = 'setRadarFrequency'
1213 name_parameter = 'frequency'
1213 name_parameter = 'frequency'
1214
1214
1215 if not isFloat(value):
1215 if not isFloat(value):
1216 self.console.clear()
1216 self.console.clear()
1217 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1217 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1218 return 0
1218 return 0
1219
1219
1220 radarfreq = float(value)*1e6
1220 radarfreq = float(value)*1e6
1221 opObj = puObj.addOperation(name=name_operation)
1221 opObj = puObj.addOperation(name=name_operation)
1222 opObj.addParameter(name=name_parameter, value=radarfreq, format=format)
1222 opObj.addParameter(name=name_parameter, value=radarfreq, format=format)
1223
1223
1224 inputId = puObj.getInputId()
1224 inputId = puObj.getInputId()
1225 inputPuObj = projectObj.getProcUnitObj(inputId)
1225 inputPuObj = projectObj.getProcUnitObj(inputId)
1226
1226
1227 if inputPuObj.datatype == 'Voltage' or inputPuObj.datatype == 'USRP':
1227 if inputPuObj.datatype == 'Voltage' or inputPuObj.datatype == 'USRP':
1228
1228
1229 value = str(self.specOpnFFTpoints.text())
1229 value = str(self.specOpnFFTpoints.text())
1230
1230
1231 if not isInt(value):
1231 if not isInt(value):
1232 self.console.append("Invalid value '%s' for '%s'" %(value, 'nFFTPoints'))
1232 self.console.append("Invalid value '%s' for '%s'" %(value, 'nFFTPoints'))
1233 return 0
1233 return 0
1234
1234
1235 puObj.addParameter(name='nFFTPoints', value=value, format='int')
1235 puObj.addParameter(name='nFFTPoints', value=value, format='int')
1236
1236
1237 value = str(self.specOpProfiles.text())
1237 value = str(self.specOpProfiles.text())
1238 if not isInt(value):
1238 if not isInt(value):
1239 self.console.append("Please write a value on Profiles field")
1239 self.console.append("Please write a value on Profiles field")
1240 else:
1240 else:
1241 puObj.addParameter(name='nProfiles', value=value, format='int')
1241 puObj.addParameter(name='nProfiles', value=value, format='int')
1242
1242
1243 value = str(self.specOpippFactor.text())
1243 value = str(self.specOpippFactor.text())
1244 if not isInt(value):
1244 if not isInt(value):
1245 self.console.append("Please write a value on IppFactor field")
1245 self.console.append("Please write a value on IppFactor field")
1246 else:
1246 else:
1247 puObj.addParameter(name='ippFactor' , value=value , format='int')
1247 puObj.addParameter(name='ippFactor' , value=value , format='int')
1248
1248
1249 if self.specOpCebCrossSpectra.isChecked():
1249 if self.specOpCebCrossSpectra.isChecked():
1250 name_parameter = 'pairsList'
1250 name_parameter = 'pairsList'
1251 format = 'pairslist'
1251 format = 'pairslist'
1252 value = str(self.specOppairsList.text())
1252 value = str(self.specOppairsList.text())
1253
1253
1254 if value == "":
1254 if value == "":
1255 print "Please fill the pairs list field"
1255 print "Please fill the pairs list field"
1256 return 0
1256 return 0
1257
1257
1258 if not opObj.addParameter(name=name_parameter, value=value, format=format):
1258 if not opObj.addParameter(name=name_parameter, value=value, format=format):
1259 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
1259 self.console.append("Invalid value '%s' for '%s'" %(value,name_parameter))
1260 return 0
1260 return 0
1261
1261
1262 if self.specOpCebHeights.isChecked():
1262 if self.specOpCebHeights.isChecked():
1263 value = str(self.specOpHeights.text())
1263 value = str(self.specOpHeights.text())
1264
1264
1265 if value == "":
1265 if value == "":
1266 self.console.append("Empty value for '%s'" %(value, "Height range"))
1266 self.console.append("Empty value for '%s'" %(value, "Height range"))
1267 return 0
1267 return 0
1268
1268
1269 valueList = value.split(',')
1269 valueList = value.split(',')
1270 format = 'float'
1270 format = 'float'
1271 value0 = valueList[0]
1271 value0 = valueList[0]
1272 value1 = valueList[1]
1272 value1 = valueList[1]
1273
1273
1274 if not isFloat(value0) or not isFloat(value1):
1274 if not isFloat(value0) or not isFloat(value1):
1275 self.console.append("Invalid value '%s' for '%s'" %(value, "Height range"))
1275 self.console.append("Invalid value '%s' for '%s'" %(value, "Height range"))
1276 return 0
1276 return 0
1277
1277
1278 if self.specOpComHeights.currentIndex() == 0:
1278 if self.specOpComHeights.currentIndex() == 0:
1279 name_operation = 'selectHeights'
1279 name_operation = 'selectHeights'
1280 name_parameter1 = 'minHei'
1280 name_parameter1 = 'minHei'
1281 name_parameter2 = 'maxHei'
1281 name_parameter2 = 'maxHei'
1282 else:
1282 else:
1283 name_operation = 'selectHeightsByIndex'
1283 name_operation = 'selectHeightsByIndex'
1284 name_parameter1 = 'minIndex'
1284 name_parameter1 = 'minIndex'
1285 name_parameter2 = 'maxIndex'
1285 name_parameter2 = 'maxIndex'
1286
1286
1287 opObj = puObj.addOperation(name=name_operation)
1287 opObj = puObj.addOperation(name=name_operation)
1288 opObj.addParameter(name=name_parameter1, value=value0, format=format)
1288 opObj.addParameter(name=name_parameter1, value=value0, format=format)
1289 opObj.addParameter(name=name_parameter2, value=value1, format=format)
1289 opObj.addParameter(name=name_parameter2, value=value1, format=format)
1290
1290
1291 if self.specOpCebChannel.isChecked():
1291 if self.specOpCebChannel.isChecked():
1292
1292
1293 if self.specOpComChannel.currentIndex() == 0:
1293 if self.specOpComChannel.currentIndex() == 0:
1294 name_operation = "selectChannels"
1294 name_operation = "selectChannels"
1295 name_parameter = 'channelList'
1295 name_parameter = 'channelList'
1296 else:
1296 else:
1297 name_operation = "selectChannelsByIndex"
1297 name_operation = "selectChannelsByIndex"
1298 name_parameter = 'channelIndexList'
1298 name_parameter = 'channelIndexList'
1299
1299
1300 format = 'intlist'
1300 format = 'intlist'
1301 value = str(self.specOpChannel.text())
1301 value = str(self.specOpChannel.text())
1302
1302
1303 if value == "":
1303 if value == "":
1304 print "Please fill channel list"
1304 print "Please fill channel list"
1305 return 0
1305 return 0
1306
1306
1307 if not isList(value):
1307 if not isList(value):
1308 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1308 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1309 return 0
1309 return 0
1310
1310
1311 opObj = puObj.addOperation(name=name_operation)
1311 opObj = puObj.addOperation(name=name_operation)
1312 opObj.addParameter(name=name_parameter, value=value, format=format)
1312 opObj.addParameter(name=name_parameter, value=value, format=format)
1313
1313
1314 if self.specOpCebIncoherent.isChecked():
1314 if self.specOpCebIncoherent.isChecked():
1315
1315
1316 name_operation = 'IncohInt'
1316 name_operation = 'IncohInt'
1317 optype = 'other'
1317 optype = 'other'
1318
1318
1319 if self.specOpCobIncInt.currentIndex() == 0:
1319 if self.specOpCobIncInt.currentIndex() == 0:
1320 name_parameter = 'timeInterval'
1320 name_parameter = 'timeInterval'
1321 format = 'float'
1321 format = 'float'
1322 else:
1322 else:
1323 name_parameter = 'n'
1323 name_parameter = 'n'
1324 format = 'int'
1324 format = 'int'
1325
1325
1326 value = str(self.specOpIncoherent.text())
1326 value = str(self.specOpIncoherent.text())
1327
1327
1328 if value == "":
1328 if value == "":
1329 print "Please fill Incoherent integration value"
1329 print "Please fill Incoherent integration value"
1330 return 0
1330 return 0
1331
1331
1332 if not isFloat(value):
1332 if not isFloat(value):
1333 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1333 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
1334 return 0
1334 return 0
1335
1335
1336 opObj = puObj.addOperation(name=name_operation, optype=optype)
1336 opObj = puObj.addOperation(name=name_operation, optype=optype)
1337 opObj.addParameter(name=name_parameter, value=value, format=format)
1337 opObj.addParameter(name=name_parameter, value=value, format=format)
1338
1338
1339 if self.specOpCebRemoveDC.isChecked():
1339 if self.specOpCebRemoveDC.isChecked():
1340 name_operation = 'removeDC'
1340 name_operation = 'removeDC'
1341 name_parameter = 'mode'
1341 name_parameter = 'mode'
1342 format = 'int'
1342 format = 'int'
1343 if self.specOpComRemoveDC.currentIndex() == 0:
1343 if self.specOpComRemoveDC.currentIndex() == 0:
1344 value = 1
1344 value = 1
1345 else:
1345 else:
1346 value = 2
1346 value = 2
1347 opObj = puObj.addOperation(name=name_operation)
1347 opObj = puObj.addOperation(name=name_operation)
1348 opObj.addParameter(name=name_parameter, value=value, format=format)
1348 opObj.addParameter(name=name_parameter, value=value, format=format)
1349
1349
1350 if self.specOpCebRemoveInt.isChecked():
1350 if self.specOpCebRemoveInt.isChecked():
1351 name_operation = 'removeInterference'
1351 name_operation = 'removeInterference'
1352 opObj = puObj.addOperation(name=name_operation)
1352 opObj = puObj.addOperation(name=name_operation)
1353
1353
1354
1354
1355 if self.specOpCebgetNoise.isChecked():
1355 if self.specOpCebgetNoise.isChecked():
1356 value = str(self.specOpgetNoise.text())
1356 value = str(self.specOpgetNoise.text())
1357 valueList = value.split(',')
1357 valueList = value.split(',')
1358 format = 'float'
1358 format = 'float'
1359 name_operation = "getNoise"
1359 name_operation = "getNoise"
1360 opObj = puObj.addOperation(name=name_operation)
1360 opObj = puObj.addOperation(name=name_operation)
1361
1361
1362 if not value == '':
1362 if not value == '':
1363 valueList = value.split(',')
1363 valueList = value.split(',')
1364 length = len(valueList)
1364 length = len(valueList)
1365 if length == 1:
1365 if length == 1:
1366 try:
1366 try:
1367 value1 = float(valueList[0])
1367 value1 = float(valueList[0])
1368 except:
1368 except:
1369 self.console.clear()
1369 self.console.clear()
1370 self.console.append("Please Write correct parameter Get Noise")
1370 self.console.append("Please Write correct parameter Get Noise")
1371 return 0
1371 return 0
1372 name1 = 'minHei'
1372 name1 = 'minHei'
1373 opObj.addParameter(name=name1, value=value1, format=format)
1373 opObj.addParameter(name=name1, value=value1, format=format)
1374 elif length == 2:
1374 elif length == 2:
1375 try:
1375 try:
1376 value1 = float(valueList[0])
1376 value1 = float(valueList[0])
1377 value2 = float(valueList[1])
1377 value2 = float(valueList[1])
1378 except:
1378 except:
1379 self.console.clear()
1379 self.console.clear()
1380 self.console.append("Please Write corrects parameter Get Noise")
1380 self.console.append("Please Write corrects parameter Get Noise")
1381 return 0
1381 return 0
1382 name1 = 'minHei'
1382 name1 = 'minHei'
1383 name2 = 'maxHei'
1383 name2 = 'maxHei'
1384 opObj.addParameter(name=name1, value=value1, format=format)
1384 opObj.addParameter(name=name1, value=value1, format=format)
1385 opObj.addParameter(name=name2, value=value2, format=format)
1385 opObj.addParameter(name=name2, value=value2, format=format)
1386
1386
1387 elif length == 3:
1387 elif length == 3:
1388 try:
1388 try:
1389 value1 = float(valueList[0])
1389 value1 = float(valueList[0])
1390 value2 = float(valueList[1])
1390 value2 = float(valueList[1])
1391 value3 = float(valueList[2])
1391 value3 = float(valueList[2])
1392 except:
1392 except:
1393 self.console.clear()
1393 self.console.clear()
1394 self.console.append("Please Write corrects parameter Get Noise")
1394 self.console.append("Please Write corrects parameter Get Noise")
1395 return 0
1395 return 0
1396 name1 = 'minHei'
1396 name1 = 'minHei'
1397 name2 = 'maxHei'
1397 name2 = 'maxHei'
1398 name3 = 'minVel'
1398 name3 = 'minVel'
1399 opObj.addParameter(name=name1, value=value1, format=format)
1399 opObj.addParameter(name=name1, value=value1, format=format)
1400 opObj.addParameter(name=name2, value=value2, format=format)
1400 opObj.addParameter(name=name2, value=value2, format=format)
1401 opObj.addParameter(name=name3, value=value3, format=format)
1401 opObj.addParameter(name=name3, value=value3, format=format)
1402
1402
1403 elif length == 4:
1403 elif length == 4:
1404 try:
1404 try:
1405 value1 = float(valueList[0])
1405 value1 = float(valueList[0])
1406 value2 = float(valueList[1])
1406 value2 = float(valueList[1])
1407 value3 = float(valueList[2])
1407 value3 = float(valueList[2])
1408 value4 = float(valueList[3])
1408 value4 = float(valueList[3])
1409 except:
1409 except:
1410 self.console.clear()
1410 self.console.clear()
1411 self.console.append("Please Write corrects parameter Get Noise")
1411 self.console.append("Please Write corrects parameter Get Noise")
1412 return 0
1412 return 0
1413 name1 = 'minHei'
1413 name1 = 'minHei'
1414 name2 = 'maxHei'
1414 name2 = 'maxHei'
1415 name3 = 'minVel'
1415 name3 = 'minVel'
1416 name4 = 'maxVel'
1416 name4 = 'maxVel'
1417 opObj.addParameter(name=name1, value=value1, format=format)
1417 opObj.addParameter(name=name1, value=value1, format=format)
1418 opObj.addParameter(name=name2, value=value2, format=format)
1418 opObj.addParameter(name=name2, value=value2, format=format)
1419 opObj.addParameter(name=name3, value=value3, format=format)
1419 opObj.addParameter(name=name3, value=value3, format=format)
1420 opObj.addParameter(name=name4, value=value4, format=format)
1420 opObj.addParameter(name=name4, value=value4, format=format)
1421
1421
1422 elif length > 4:
1422 elif length > 4:
1423 self.console.clear()
1423 self.console.clear()
1424 self.console.append("Get Noise Operation only accepts 4 parameters")
1424 self.console.append("Get Noise Operation only accepts 4 parameters")
1425 return 0
1425 return 0
1426
1426
1427 channelList = str(self.specGgraphChannelList.text()).replace(" ","")
1427 channelList = str(self.specGgraphChannelList.text()).replace(" ","")
1428 vel_range = str(self.specGgraphFreq.text()).replace(" ","")
1428 vel_range = str(self.specGgraphFreq.text()).replace(" ","")
1429 hei_range = str(self.specGgraphHeight.text()).replace(" ","")
1429 hei_range = str(self.specGgraphHeight.text()).replace(" ","")
1430 db_range = str(self.specGgraphDbsrange.text()).replace(" ","")
1430 db_range = str(self.specGgraphDbsrange.text()).replace(" ","")
1431
1431
1432 trange = str(self.specGgraphTminTmax.text()).replace(" ","")
1432 trange = str(self.specGgraphTminTmax.text()).replace(" ","")
1433 magrange = str(self.specGgraphmagnitud.text()).replace(" ","")
1433 magrange = str(self.specGgraphmagnitud.text()).replace(" ","")
1434 phaserange = str(self.specGgraphPhase.text()).replace(" ","")
1434 phaserange = str(self.specGgraphPhase.text()).replace(" ","")
1435 # timerange = str(self.specGgraphTimeRange.text()).replace(" ","")
1435 # timerange = str(self.specGgraphTimeRange.text()).replace(" ","")
1436
1436
1437 figpath = str(self.specGraphPath.text())
1437 figpath = str(self.specGraphPath.text())
1438 figfile = str(self.specGraphPrefix.text()).replace(" ","")
1438 figfile = str(self.specGraphPrefix.text()).replace(" ","")
1439 try:
1439 try:
1440 wrperiod = int(str(self.specGgraphftpratio.text()).replace(" ",""))
1440 wrperiod = int(str(self.specGgraphftpratio.text()).replace(" ",""))
1441 except:
1441 except:
1442 wrperiod = None
1442 wrperiod = None
1443
1443
1444 #-----Spectra Plot-----
1444 #-----Spectra Plot-----
1445 if self.specGraphCebSpectraplot.isChecked():
1445 if self.specGraphCebSpectraplot.isChecked():
1446
1446
1447 opObj = puObj.addOperation(name='SpectraPlot', optype='other')
1447 opObj = puObj.addOperation(name='SpectraPlot', optype='other')
1448 opObj.addParameter(name='id', value=opObj.id, format='int')
1448 opObj.addParameter(name='id', value=opObj.id, format='int')
1449
1449
1450 if not channelList == '':
1450 if not channelList == '':
1451
1451
1452 if not isList(channelList):
1452 if not isList(channelList):
1453 self.console.append("Invalid channelList")
1453 self.console.append("Invalid channelList")
1454 return 0
1454 return 0
1455
1455
1456 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1456 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1457
1457
1458 if not vel_range == '':
1458 if not vel_range == '':
1459 xvalueList = vel_range.split(',')
1459 xvalueList = vel_range.split(',')
1460 try:
1460 try:
1461 value1 = float(xvalueList[0])
1461 value1 = float(xvalueList[0])
1462 value2 = float(xvalueList[1])
1462 value2 = float(xvalueList[1])
1463 except:
1463 except:
1464 self.console.clear()
1464 self.console.clear()
1465 self.console.append("Invalid velocity/frequency range")
1465 self.console.append("Invalid velocity/frequency range")
1466 return 0
1466 return 0
1467
1467
1468 opObj.addParameter(name='xmin', value=value1, format='float')
1468 opObj.addParameter(name='xmin', value=value1, format='float')
1469 opObj.addParameter(name='xmax', value=value2, format='float')
1469 opObj.addParameter(name='xmax', value=value2, format='float')
1470
1470
1471 if not hei_range == '':
1471 if not hei_range == '':
1472 yvalueList = hei_range.split(",")
1472 yvalueList = hei_range.split(",")
1473 try:
1473 try:
1474 value1 = float(yvalueList[0])
1474 value1 = float(yvalueList[0])
1475 value2 = float(yvalueList[1])
1475 value2 = float(yvalueList[1])
1476 except:
1476 except:
1477 self.console.clear()
1477 self.console.clear()
1478 self.console.append("Invalid height range")
1478 self.console.append("Invalid height range")
1479 return 0
1479 return 0
1480
1480
1481 opObj.addParameter(name='ymin', value=value1, format='float')
1481 opObj.addParameter(name='ymin', value=value1, format='float')
1482 opObj.addParameter(name='ymax', value=value2, format='float')
1482 opObj.addParameter(name='ymax', value=value2, format='float')
1483
1483
1484 if not db_range == '':
1484 if not db_range == '':
1485 zvalueList = db_range.split(",")
1485 zvalueList = db_range.split(",")
1486 try:
1486 try:
1487 value1 = float(zvalueList[0])
1487 value1 = float(zvalueList[0])
1488 value2 = float(zvalueList[1])
1488 value2 = float(zvalueList[1])
1489 except:
1489 except:
1490 self.console.clear()
1490 self.console.clear()
1491 self.console.append("Invalid db range")
1491 self.console.append("Invalid db range")
1492 return 0
1492 return 0
1493
1493
1494 opObj.addParameter(name='zmin', value=value1, format='float')
1494 opObj.addParameter(name='zmin', value=value1, format='float')
1495 opObj.addParameter(name='zmax', value=value2, format='float')
1495 opObj.addParameter(name='zmax', value=value2, format='float')
1496
1496
1497 if self.specGraphSaveSpectra.isChecked():
1497 if self.specGraphSaveSpectra.isChecked():
1498 checkPath = True
1498 checkPath = True
1499 opObj.addParameter(name='save', value=1 , format='bool')
1499 opObj.addParameter(name='save', value=1 , format='bool')
1500 opObj.addParameter(name='figpath', value=figpath, format='str')
1500 opObj.addParameter(name='figpath', value=figpath, format='str')
1501 if figfile:
1501 if figfile:
1502 opObj.addParameter(name='figfile', value=figfile, format='str')
1502 opObj.addParameter(name='figfile', value=figfile, format='str')
1503 if wrperiod:
1503 if wrperiod:
1504 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1504 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1505
1505
1506 if self.specGraphftpSpectra.isChecked():
1506 if self.specGraphftpSpectra.isChecked():
1507 opObj.addParameter(name='ftp', value='1', format='int')
1507 opObj.addParameter(name='ftp', value='1', format='int')
1508 self.addFTPConf2Operation(puObj, opObj)
1508 self.addFTPConf2Operation(puObj, opObj)
1509 addFTP = True
1509 addFTP = True
1510
1510
1511 if self.specGraphCebCrossSpectraplot.isChecked():
1511 if self.specGraphCebCrossSpectraplot.isChecked():
1512
1512
1513 opObj = puObj.addOperation(name='CrossSpectraPlot', optype='other')
1513 opObj = puObj.addOperation(name='CrossSpectraPlot', optype='other')
1514 # opObj.addParameter(name='power_cmap', value='jet', format='str')
1514 # opObj.addParameter(name='power_cmap', value='jet', format='str')
1515 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1515 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1516 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1516 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1517 opObj.addParameter(name='id', value=opObj.id, format='int')
1517 opObj.addParameter(name='id', value=opObj.id, format='int')
1518
1518
1519 if not vel_range == '':
1519 if not vel_range == '':
1520 xvalueList = vel_range.split(',')
1520 xvalueList = vel_range.split(',')
1521 try:
1521 try:
1522 value1 = float(xvalueList[0])
1522 value1 = float(xvalueList[0])
1523 value2 = float(xvalueList[1])
1523 value2 = float(xvalueList[1])
1524 except:
1524 except:
1525 self.console.clear()
1525 self.console.clear()
1526 self.console.append("Invalid velocity/frequency range")
1526 self.console.append("Invalid velocity/frequency range")
1527 return 0
1527 return 0
1528
1528
1529 opObj.addParameter(name='xmin', value=value1, format='float')
1529 opObj.addParameter(name='xmin', value=value1, format='float')
1530 opObj.addParameter(name='xmax', value=value2, format='float')
1530 opObj.addParameter(name='xmax', value=value2, format='float')
1531
1531
1532 if not hei_range == '':
1532 if not hei_range == '':
1533 yvalueList = hei_range.split(",")
1533 yvalueList = hei_range.split(",")
1534 try:
1534 try:
1535 value1 = float(yvalueList[0])
1535 value1 = float(yvalueList[0])
1536 value2 = float(yvalueList[1])
1536 value2 = float(yvalueList[1])
1537 except:
1537 except:
1538 self.console.clear()
1538 self.console.clear()
1539 self.console.append("Invalid height range")
1539 self.console.append("Invalid height range")
1540 return 0
1540 return 0
1541
1541
1542 opObj.addParameter(name='ymin', value=value1, format='float')
1542 opObj.addParameter(name='ymin', value=value1, format='float')
1543 opObj.addParameter(name='ymax', value=value2, format='float')
1543 opObj.addParameter(name='ymax', value=value2, format='float')
1544
1544
1545 if not db_range == '':
1545 if not db_range == '':
1546 zvalueList = db_range.split(",")
1546 zvalueList = db_range.split(",")
1547 try:
1547 try:
1548 value1 = float(zvalueList[0])
1548 value1 = float(zvalueList[0])
1549 value2 = float(zvalueList[1])
1549 value2 = float(zvalueList[1])
1550 except:
1550 except:
1551 self.console.clear()
1551 self.console.clear()
1552 self.console.append("Invalid db range")
1552 self.console.append("Invalid db range")
1553 return 0
1553 return 0
1554
1554
1555 opObj.addParameter(name='zmin', value=value1, format='float')
1555 opObj.addParameter(name='zmin', value=value1, format='float')
1556 opObj.addParameter(name='zmax', value=value2, format='float')
1556 opObj.addParameter(name='zmax', value=value2, format='float')
1557
1557
1558 if not magrange == '':
1558 if not magrange == '':
1559 zvalueList = magrange.split(",")
1559 zvalueList = magrange.split(",")
1560 try:
1560 try:
1561 value1 = float(zvalueList[0])
1561 value1 = float(zvalueList[0])
1562 value2 = float(zvalueList[1])
1562 value2 = float(zvalueList[1])
1563 except:
1563 except:
1564 self.console.clear()
1564 self.console.clear()
1565 self.console.append("Invalid magnitude range")
1565 self.console.append("Invalid magnitude range")
1566 return 0
1566 return 0
1567
1567
1568 opObj.addParameter(name='coh_min', value=value1, format='float')
1568 opObj.addParameter(name='coh_min', value=value1, format='float')
1569 opObj.addParameter(name='coh_max', value=value2, format='float')
1569 opObj.addParameter(name='coh_max', value=value2, format='float')
1570
1570
1571 if not phaserange == '':
1571 if not phaserange == '':
1572 zvalueList = phaserange.split(",")
1572 zvalueList = phaserange.split(",")
1573 try:
1573 try:
1574 value1 = float(zvalueList[0])
1574 value1 = float(zvalueList[0])
1575 value2 = float(zvalueList[1])
1575 value2 = float(zvalueList[1])
1576 except:
1576 except:
1577 self.console.clear()
1577 self.console.clear()
1578 self.console.append("Invalid phase range")
1578 self.console.append("Invalid phase range")
1579 return 0
1579 return 0
1580
1580
1581 opObj.addParameter(name='phase_min', value=value1, format='float')
1581 opObj.addParameter(name='phase_min', value=value1, format='float')
1582 opObj.addParameter(name='phase_max', value=value2, format='float')
1582 opObj.addParameter(name='phase_max', value=value2, format='float')
1583
1583
1584 if self.specGraphSaveCross.isChecked():
1584 if self.specGraphSaveCross.isChecked():
1585 checkPath = True
1585 checkPath = True
1586 opObj.addParameter(name='save', value='1', format='bool')
1586 opObj.addParameter(name='save', value='1', format='bool')
1587 opObj.addParameter(name='figpath', value=figpath, format='str')
1587 opObj.addParameter(name='figpath', value=figpath, format='str')
1588 if figfile:
1588 if figfile:
1589 opObj.addParameter(name='figfile', value=figfile, format='str')
1589 opObj.addParameter(name='figfile', value=figfile, format='str')
1590 if wrperiod:
1590 if wrperiod:
1591 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1591 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1592
1592
1593 if self.specGraphftpCross.isChecked():
1593 if self.specGraphftpCross.isChecked():
1594 opObj.addParameter(name='ftp', value='1', format='int')
1594 opObj.addParameter(name='ftp', value='1', format='int')
1595 self.addFTPConf2Operation(puObj, opObj)
1595 self.addFTPConf2Operation(puObj, opObj)
1596 addFTP = True
1596 addFTP = True
1597
1597
1598 if self.specGraphCebRTIplot.isChecked():
1598 if self.specGraphCebRTIplot.isChecked():
1599
1599
1600 opObj = puObj.addOperation(name='RTIPlot', optype='other')
1600 opObj = puObj.addOperation(name='RTIPlot', optype='other')
1601 opObj.addParameter(name='id', value=opObj.id, format='int')
1601 opObj.addParameter(name='id', value=opObj.id, format='int')
1602
1602
1603 if not channelList == '':
1603 if not channelList == '':
1604 if not isList(channelList):
1604 if not isList(channelList):
1605 self.console.append("Invalid channelList")
1605 self.console.append("Invalid channelList")
1606 return 0
1606 return 0
1607 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1607 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1608
1608
1609 if not trange == '':
1609 if not trange == '':
1610 xvalueList = trange.split(',')
1610 xvalueList = trange.split(',')
1611 try:
1611 try:
1612 value1 = float(xvalueList[0])
1612 value1 = float(xvalueList[0])
1613 value2 = float(xvalueList[1])
1613 value2 = float(xvalueList[1])
1614 except:
1614 except:
1615 self.console.clear()
1615 self.console.clear()
1616 self.console.append("Invalid time range")
1616 self.console.append("Invalid time range")
1617 return 0
1617 return 0
1618
1618
1619 opObj.addParameter(name='xmin', value=value1, format='float')
1619 opObj.addParameter(name='xmin', value=value1, format='float')
1620 opObj.addParameter(name='xmax', value=value2, format='float')
1620 opObj.addParameter(name='xmax', value=value2, format='float')
1621
1621
1622 # if not timerange == '':
1622 # if not timerange == '':
1623 # try:
1623 # try:
1624 # timerange = float(timerange)
1624 # timerange = float(timerange)
1625 # except:
1625 # except:
1626 # self.console.clear()
1626 # self.console.clear()
1627 # self.console.append("Invalid time range")
1627 # self.console.append("Invalid time range")
1628 # return 0
1628 # return 0
1629 #
1629 #
1630 # opObj.addParameter(name='timerange', value=timerange, format='float')
1630 # opObj.addParameter(name='timerange', value=timerange, format='float')
1631
1631
1632 if not hei_range == '':
1632 if not hei_range == '':
1633 yvalueList = hei_range.split(",")
1633 yvalueList = hei_range.split(",")
1634 try:
1634 try:
1635 value1 = float(yvalueList[0])
1635 value1 = float(yvalueList[0])
1636 value2 = float(yvalueList[1])
1636 value2 = float(yvalueList[1])
1637 except:
1637 except:
1638 self.console.clear()
1638 self.console.clear()
1639 self.console.append("Invalid height range")
1639 self.console.append("Invalid height range")
1640 return 0
1640 return 0
1641
1641
1642 opObj.addParameter(name='ymin', value=value1, format='float')
1642 opObj.addParameter(name='ymin', value=value1, format='float')
1643 opObj.addParameter(name='ymax', value=value2, format='float')
1643 opObj.addParameter(name='ymax', value=value2, format='float')
1644
1644
1645 if not db_range == '':
1645 if not db_range == '':
1646 zvalueList = db_range.split(",")
1646 zvalueList = db_range.split(",")
1647 try:
1647 try:
1648 value1 = float(zvalueList[0])
1648 value1 = float(zvalueList[0])
1649 value2 = float(zvalueList[1])
1649 value2 = float(zvalueList[1])
1650 except:
1650 except:
1651 self.console.clear()
1651 self.console.clear()
1652 self.console.append("Invalid db range")
1652 self.console.append("Invalid db range")
1653 return 0
1653 return 0
1654
1654
1655 opObj.addParameter(name='zmin', value=value1, format='float')
1655 opObj.addParameter(name='zmin', value=value1, format='float')
1656 opObj.addParameter(name='zmax', value=value2, format='float')
1656 opObj.addParameter(name='zmax', value=value2, format='float')
1657
1657
1658 if self.specGraphSaveRTIplot.isChecked():
1658 if self.specGraphSaveRTIplot.isChecked():
1659 checkPath = True
1659 checkPath = True
1660 opObj.addParameter(name='save', value='1', format='bool')
1660 opObj.addParameter(name='save', value='1', format='bool')
1661 opObj.addParameter(name='figpath', value=figpath, format='str')
1661 opObj.addParameter(name='figpath', value=figpath, format='str')
1662 if figfile:
1662 if figfile:
1663 opObj.addParameter(name='figfile', value=value, format='str')
1663 opObj.addParameter(name='figfile', value=value, format='str')
1664 if wrperiod:
1664 if wrperiod:
1665 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1665 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1666
1666
1667 if self.specGraphftpRTIplot.isChecked():
1667 if self.specGraphftpRTIplot.isChecked():
1668 opObj.addParameter(name='ftp', value='1', format='int')
1668 opObj.addParameter(name='ftp', value='1', format='int')
1669 self.addFTPConf2Operation(puObj, opObj)
1669 self.addFTPConf2Operation(puObj, opObj)
1670 addFTP = True
1670 addFTP = True
1671
1671
1672 if self.specGraphCebCoherencmap.isChecked():
1672 if self.specGraphCebCoherencmap.isChecked():
1673
1673
1674 opObj = puObj.addOperation(name='CoherenceMap', optype='other')
1674 opObj = puObj.addOperation(name='CoherenceMap', optype='other')
1675 # opObj.addParameter(name=name_parameter, value=value, format=format)
1675 # opObj.addParameter(name=name_parameter, value=value, format=format)
1676 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1676 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1677 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1677 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1678 opObj.addParameter(name='id', value=opObj.id, format='int')
1678 opObj.addParameter(name='id', value=opObj.id, format='int')
1679
1679
1680 # if not timerange == '':
1680 # if not timerange == '':
1681 # try:
1681 # try:
1682 # timerange = int(timerange)
1682 # timerange = int(timerange)
1683 # except:
1683 # except:
1684 # self.console.clear()
1684 # self.console.clear()
1685 # self.console.append("Invalid time range")
1685 # self.console.append("Invalid time range")
1686 # return 0
1686 # return 0
1687 #
1687 #
1688 # opObj.addParameter(name='timerange', value=timerange, format='int')
1688 # opObj.addParameter(name='timerange', value=timerange, format='int')
1689
1689
1690 if not trange == '':
1690 if not trange == '':
1691 xvalueList = trange.split(',')
1691 xvalueList = trange.split(',')
1692 try:
1692 try:
1693 value1 = float(xvalueList[0])
1693 value1 = float(xvalueList[0])
1694 value2 = float(xvalueList[1])
1694 value2 = float(xvalueList[1])
1695 except:
1695 except:
1696 self.console.clear()
1696 self.console.clear()
1697 self.console.append("Invalid time range")
1697 self.console.append("Invalid time range")
1698 return 0
1698 return 0
1699
1699
1700 opObj.addParameter(name='xmin', value=value1, format='float')
1700 opObj.addParameter(name='xmin', value=value1, format='float')
1701 opObj.addParameter(name='xmax', value=value2, format='float')
1701 opObj.addParameter(name='xmax', value=value2, format='float')
1702
1702
1703 if not hei_range == '':
1703 if not hei_range == '':
1704 yvalueList = hei_range.split(",")
1704 yvalueList = hei_range.split(",")
1705 try:
1705 try:
1706 value1 = float(yvalueList[0])
1706 value1 = float(yvalueList[0])
1707 value2 = float(yvalueList[1])
1707 value2 = float(yvalueList[1])
1708 except:
1708 except:
1709 self.console.clear()
1709 self.console.clear()
1710 self.console.append("Invalid height range")
1710 self.console.append("Invalid height range")
1711 return 0
1711 return 0
1712
1712
1713 opObj.addParameter(name='ymin', value=value1, format='float')
1713 opObj.addParameter(name='ymin', value=value1, format='float')
1714 opObj.addParameter(name='ymax', value=value2, format='float')
1714 opObj.addParameter(name='ymax', value=value2, format='float')
1715
1715
1716 if not magrange == '':
1716 if not magrange == '':
1717 zvalueList = magrange.split(",")
1717 zvalueList = magrange.split(",")
1718 try:
1718 try:
1719 value1 = float(zvalueList[0])
1719 value1 = float(zvalueList[0])
1720 value2 = float(zvalueList[1])
1720 value2 = float(zvalueList[1])
1721 except:
1721 except:
1722 self.console.clear()
1722 self.console.clear()
1723 self.console.append("Invalid magnitude range")
1723 self.console.append("Invalid magnitude range")
1724 return 0
1724 return 0
1725
1725
1726 opObj.addParameter(name='zmin', value=value1, format='float')
1726 opObj.addParameter(name='zmin', value=value1, format='float')
1727 opObj.addParameter(name='zmax', value=value2, format='float')
1727 opObj.addParameter(name='zmax', value=value2, format='float')
1728
1728
1729 if not phaserange == '':
1729 if not phaserange == '':
1730 zvalueList = phaserange.split(",")
1730 zvalueList = phaserange.split(",")
1731 try:
1731 try:
1732 value1 = float(zvalueList[0])
1732 value1 = float(zvalueList[0])
1733 value2 = float(zvalueList[1])
1733 value2 = float(zvalueList[1])
1734 except:
1734 except:
1735 self.console.clear()
1735 self.console.clear()
1736 self.console.append("Invalid phase range")
1736 self.console.append("Invalid phase range")
1737 return 0
1737 return 0
1738
1738
1739 opObj.addParameter(name='phase_min', value=value1, format='float')
1739 opObj.addParameter(name='phase_min', value=value1, format='float')
1740 opObj.addParameter(name='phase_max', value=value2, format='float')
1740 opObj.addParameter(name='phase_max', value=value2, format='float')
1741
1741
1742 if self.specGraphSaveCoherencemap.isChecked():
1742 if self.specGraphSaveCoherencemap.isChecked():
1743 checkPath = True
1743 checkPath = True
1744 opObj.addParameter(name='save', value='1', format='bool')
1744 opObj.addParameter(name='save', value='1', format='bool')
1745 opObj.addParameter(name='figpath', value=figpath, format='str')
1745 opObj.addParameter(name='figpath', value=figpath, format='str')
1746 if figfile:
1746 if figfile:
1747 opObj.addParameter(name='figfile', value=value, format='str')
1747 opObj.addParameter(name='figfile', value=value, format='str')
1748 if wrperiod:
1748 if wrperiod:
1749 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1749 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1750
1750
1751 if self.specGraphftpCoherencemap.isChecked():
1751 if self.specGraphftpCoherencemap.isChecked():
1752 opObj.addParameter(name='ftp', value='1', format='int')
1752 opObj.addParameter(name='ftp', value='1', format='int')
1753 self.addFTPConf2Operation(puObj, opObj)
1753 self.addFTPConf2Operation(puObj, opObj)
1754 addFTP = True
1754 addFTP = True
1755
1755
1756 if self.specGraphPowerprofile.isChecked():
1756 if self.specGraphPowerprofile.isChecked():
1757
1757
1758 opObj = puObj.addOperation(name='PowerProfilePlot', optype='other')
1758 opObj = puObj.addOperation(name='PowerProfilePlot', optype='other')
1759 opObj.addParameter(name='id', value=opObj.id, format='int')
1759 opObj.addParameter(name='id', value=opObj.id, format='int')
1760
1760
1761 if not channelList == '':
1761 if not channelList == '':
1762 if not isList(channelList):
1762 if not isList(channelList):
1763 self.console.append("Invalid channelList")
1763 self.console.append("Invalid channelList")
1764 return 0
1764 return 0
1765
1765
1766 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1766 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1767
1767
1768 if not db_range == '':
1768 if not db_range == '':
1769 xvalueList = db_range.split(',')
1769 xvalueList = db_range.split(',')
1770 try:
1770 try:
1771 value1 = float(xvalueList[0])
1771 value1 = float(xvalueList[0])
1772 value2 = float(xvalueList[1])
1772 value2 = float(xvalueList[1])
1773 except:
1773 except:
1774 self.console.clear()
1774 self.console.clear()
1775 self.console.append("Invalid db range")
1775 self.console.append("Invalid db range")
1776 return 0
1776 return 0
1777
1777
1778 opObj.addParameter(name='xmin', value=value1, format='float')
1778 opObj.addParameter(name='xmin', value=value1, format='float')
1779 opObj.addParameter(name='xmax', value=value2, format='float')
1779 opObj.addParameter(name='xmax', value=value2, format='float')
1780
1780
1781 if not hei_range == '':
1781 if not hei_range == '':
1782 yvalueList = hei_range.split(",")
1782 yvalueList = hei_range.split(",")
1783 try:
1783 try:
1784 value1 = float(yvalueList[0])
1784 value1 = float(yvalueList[0])
1785 value2 = float(yvalueList[1])
1785 value2 = float(yvalueList[1])
1786 except:
1786 except:
1787 self.console.clear()
1787 self.console.clear()
1788 self.console.append("Invalid height range")
1788 self.console.append("Invalid height range")
1789 return 0
1789 return 0
1790
1790
1791 opObj.addParameter(name='ymin', value=value1, format='float')
1791 opObj.addParameter(name='ymin', value=value1, format='float')
1792 opObj.addParameter(name='ymax', value=value2, format='float')
1792 opObj.addParameter(name='ymax', value=value2, format='float')
1793
1793
1794 if self.specGraphSavePowerprofile.isChecked():
1794 if self.specGraphSavePowerprofile.isChecked():
1795 checkPath = True
1795 checkPath = True
1796 opObj.addParameter(name='save', value='1', format='bool')
1796 opObj.addParameter(name='save', value='1', format='bool')
1797 opObj.addParameter(name='figpath', value=figpath, format='str')
1797 opObj.addParameter(name='figpath', value=figpath, format='str')
1798 if figfile:
1798 if figfile:
1799 opObj.addParameter(name='figfile', value=value, format='str')
1799 opObj.addParameter(name='figfile', value=value, format='str')
1800 if wrperiod:
1800 if wrperiod:
1801 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1801 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1802
1802
1803 if self.specGraphftpPowerprofile.isChecked():
1803 if self.specGraphftpPowerprofile.isChecked():
1804 opObj.addParameter(name='ftp', value='1', format='int')
1804 opObj.addParameter(name='ftp', value='1', format='int')
1805 self.addFTPConf2Operation(puObj, opObj)
1805 self.addFTPConf2Operation(puObj, opObj)
1806 addFTP = True
1806 addFTP = True
1807 # rti noise
1807 # rti noise
1808
1808
1809 if self.specGraphCebRTInoise.isChecked():
1809 if self.specGraphCebRTInoise.isChecked():
1810
1810
1811 opObj = puObj.addOperation(name='Noise', optype='other')
1811 opObj = puObj.addOperation(name='Noise', optype='other')
1812 opObj.addParameter(name='id', value=opObj.id, format='int')
1812 opObj.addParameter(name='id', value=opObj.id, format='int')
1813
1813
1814 if not channelList == '':
1814 if not channelList == '':
1815 if not isList(channelList):
1815 if not isList(channelList):
1816 self.console.append("Invalid channelList")
1816 self.console.append("Invalid channelList")
1817 return 0
1817 return 0
1818 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1818 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1819
1819
1820 # if not timerange == '':
1820 # if not timerange == '':
1821 # try:
1821 # try:
1822 # timerange = float(timerange)
1822 # timerange = float(timerange)
1823 # except:
1823 # except:
1824 # self.console.clear()
1824 # self.console.clear()
1825 # self.console.append("Invalid time range")
1825 # self.console.append("Invalid time range")
1826 # return 0
1826 # return 0
1827 #
1827 #
1828 # opObj.addParameter(name='timerange', value=timerange, format='float')
1828 # opObj.addParameter(name='timerange', value=timerange, format='float')
1829
1829
1830 if not trange == '':
1830 if not trange == '':
1831 xvalueList = trange.split(',')
1831 xvalueList = trange.split(',')
1832 try:
1832 try:
1833 value1 = float(xvalueList[0])
1833 value1 = float(xvalueList[0])
1834 value2 = float(xvalueList[1])
1834 value2 = float(xvalueList[1])
1835 except:
1835 except:
1836 self.console.clear()
1836 self.console.clear()
1837 self.console.append("Invalid time range")
1837 self.console.append("Invalid time range")
1838 return 0
1838 return 0
1839
1839
1840 opObj.addParameter(name='xmin', value=value1, format='float')
1840 opObj.addParameter(name='xmin', value=value1, format='float')
1841 opObj.addParameter(name='xmax', value=value2, format='float')
1841 opObj.addParameter(name='xmax', value=value2, format='float')
1842
1842
1843 if not db_range == '':
1843 if not db_range == '':
1844 yvalueList = db_range.split(",")
1844 yvalueList = db_range.split(",")
1845 try:
1845 try:
1846 value1 = float(yvalueList[0])
1846 value1 = float(yvalueList[0])
1847 value2 = float(yvalueList[1])
1847 value2 = float(yvalueList[1])
1848 except:
1848 except:
1849 self.console.clear()
1849 self.console.clear()
1850 self.console.append("Invalid db range")
1850 self.console.append("Invalid db range")
1851 return 0
1851 return 0
1852
1852
1853 opObj.addParameter(name='ymin', value=value1, format='float')
1853 opObj.addParameter(name='ymin', value=value1, format='float')
1854 opObj.addParameter(name='ymax', value=value2, format='float')
1854 opObj.addParameter(name='ymax', value=value2, format='float')
1855
1855
1856 if self.specGraphSaveRTInoise.isChecked():
1856 if self.specGraphSaveRTInoise.isChecked():
1857 checkPath = True
1857 checkPath = True
1858 opObj.addParameter(name='save', value='1', format='bool')
1858 opObj.addParameter(name='save', value='1', format='bool')
1859 opObj.addParameter(name='figpath', value=figpath, format='str')
1859 opObj.addParameter(name='figpath', value=figpath, format='str')
1860 if figfile:
1860 if figfile:
1861 opObj.addParameter(name='figfile', value=value, format='str')
1861 opObj.addParameter(name='figfile', value=value, format='str')
1862 if wrperiod:
1862 if wrperiod:
1863 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1863 opObj.addParameter(name='wr_period', value=wrperiod,format='int')
1864
1864
1865 # test_ftp
1865 # test_ftp
1866 if self.specGraphftpRTInoise.isChecked():
1866 if self.specGraphftpRTInoise.isChecked():
1867 opObj.addParameter(name='ftp', value='1', format='int')
1867 opObj.addParameter(name='ftp', value='1', format='int')
1868 self.addFTPConf2Operation(puObj, opObj)
1868 self.addFTPConf2Operation(puObj, opObj)
1869 addFTP = True
1869 addFTP = True
1870
1870
1871 if checkPath:
1871 if checkPath:
1872 if not figpath:
1872 if not figpath:
1873 self.console.clear()
1873 self.console.clear()
1874 self.console.append("Graphic path should be defined")
1874 self.console.append("Graphic path should be defined")
1875 return 0
1875 return 0
1876
1876
1877 if addFTP and not figpath:
1877 if addFTP and not figpath:
1878 self.console.clear()
1878 self.console.clear()
1879 self.console.append("You have to save the plots before sending them to FTP Server")
1879 self.console.append("You have to save the plots before sending them to FTP Server")
1880 return 0
1880 return 0
1881
1881
1882 # if something happend
1882 # if something happend
1883 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Spectra')
1883 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Spectra')
1884 if parms_ok:
1884 if parms_ok:
1885 opObj = puObj.addOperation(name='SpectraWriter', optype='other')
1885 opObj = puObj.addOperation(name='SpectraWriter', optype='other')
1886 opObj.addParameter(name='path', value=output_path)
1886 opObj.addParameter(name='path', value=output_path)
1887 opObj.addParameter(name='blocksPerFile', value=blocksperfile, format='int')
1887 opObj.addParameter(name='blocksPerFile', value=blocksperfile, format='int')
1888
1888
1889 self.console.clear()
1889 self.console.clear()
1890 try:
1890 try:
1891 self.refreshPUProperties(puObj)
1891 self.refreshPUProperties(puObj)
1892 except:
1892 except:
1893 self.console.append("An error reading input parameters was found ... Check them!")
1893 self.console.append("An error reading input parameters was found ... Check them!")
1894 return 0
1894 return 0
1895
1895
1896 self.console.append("Save your project and press Play button to start signal processing")
1896 self.console.append("Save your project and press Play button to start signal processing")
1897
1897
1898 self.actionSaveToolbar.setEnabled(True)
1898 self.actionSaveToolbar.setEnabled(True)
1899 self.actionStarToolbar.setEnabled(True)
1899 self.actionStarToolbar.setEnabled(True)
1900
1900
1901 self.actionSave.setEnabled(True)
1901 self.actionSave.setEnabled(True)
1902 self.actionStart.setEnabled(True)
1902 self.actionStart.setEnabled(True)
1903
1903
1904 return 1
1904 return 1
1905
1905
1906 """
1906 """
1907 Spectra Graph
1907 Spectra Graph
1908 """
1908 """
1909 @pyqtSignature("int")
1909 @pyqtSignature("int")
1910 def on_specGraphCebSpectraplot_stateChanged(self, p0):
1910 def on_specGraphCebSpectraplot_stateChanged(self, p0):
1911
1911
1912 self.__checkSpecGraphFilters()
1912 self.__checkSpecGraphFilters()
1913
1913
1914
1914
1915 @pyqtSignature("int")
1915 @pyqtSignature("int")
1916 def on_specGraphCebCrossSpectraplot_stateChanged(self, p0):
1916 def on_specGraphCebCrossSpectraplot_stateChanged(self, p0):
1917
1917
1918 self.__checkSpecGraphFilters()
1918 self.__checkSpecGraphFilters()
1919
1919
1920 @pyqtSignature("int")
1920 @pyqtSignature("int")
1921 def on_specGraphCebRTIplot_stateChanged(self, p0):
1921 def on_specGraphCebRTIplot_stateChanged(self, p0):
1922
1922
1923 self.__checkSpecGraphFilters()
1923 self.__checkSpecGraphFilters()
1924
1924
1925
1925
1926 @pyqtSignature("int")
1926 @pyqtSignature("int")
1927 def on_specGraphCebRTInoise_stateChanged(self, p0):
1927 def on_specGraphCebRTInoise_stateChanged(self, p0):
1928
1928
1929 self.__checkSpecGraphFilters()
1929 self.__checkSpecGraphFilters()
1930
1930
1931
1931
1932 @pyqtSignature("int")
1932 @pyqtSignature("int")
1933 def on_specGraphCebCoherencmap_stateChanged(self, p0):
1933 def on_specGraphCebCoherencmap_stateChanged(self, p0):
1934
1934
1935 self.__checkSpecGraphFilters()
1935 self.__checkSpecGraphFilters()
1936
1936
1937 @pyqtSignature("int")
1937 @pyqtSignature("int")
1938 def on_specGraphPowerprofile_stateChanged(self, p0):
1938 def on_specGraphPowerprofile_stateChanged(self, p0):
1939
1939
1940 self.__checkSpecGraphFilters()
1940 self.__checkSpecGraphFilters()
1941
1941
1942 @pyqtSignature("int")
1942 @pyqtSignature("int")
1943 def on_specGraphPhase_stateChanged(self, p0):
1943 def on_specGraphPhase_stateChanged(self, p0):
1944
1944
1945 self.__checkSpecGraphFilters()
1945 self.__checkSpecGraphFilters()
1946
1946
1947 @pyqtSignature("int")
1947 @pyqtSignature("int")
1948 def on_specGraphSaveSpectra_stateChanged(self, p0):
1948 def on_specGraphSaveSpectra_stateChanged(self, p0):
1949 """
1949 """
1950 """
1950 """
1951 self.__checkSpecGraphSaving()
1951 self.__checkSpecGraphSaving()
1952
1952
1953 @pyqtSignature("int")
1953 @pyqtSignature("int")
1954 def on_specGraphSaveCross_stateChanged(self, p0):
1954 def on_specGraphSaveCross_stateChanged(self, p0):
1955
1955
1956 self.__checkSpecGraphSaving()
1956 self.__checkSpecGraphSaving()
1957
1957
1958 @pyqtSignature("int")
1958 @pyqtSignature("int")
1959 def on_specGraphSaveRTIplot_stateChanged(self, p0):
1959 def on_specGraphSaveRTIplot_stateChanged(self, p0):
1960
1960
1961 self.__checkSpecGraphSaving()
1961 self.__checkSpecGraphSaving()
1962
1962
1963 @pyqtSignature("int")
1963 @pyqtSignature("int")
1964 def on_specGraphSaveRTInoise_stateChanged(self, p0):
1964 def on_specGraphSaveRTInoise_stateChanged(self, p0):
1965
1965
1966 self.__checkSpecGraphSaving()
1966 self.__checkSpecGraphSaving()
1967
1967
1968 @pyqtSignature("int")
1968 @pyqtSignature("int")
1969 def on_specGraphSaveCoherencemap_stateChanged(self, p0):
1969 def on_specGraphSaveCoherencemap_stateChanged(self, p0):
1970
1970
1971 self.__checkSpecGraphSaving()
1971 self.__checkSpecGraphSaving()
1972
1972
1973 @pyqtSignature("int")
1973 @pyqtSignature("int")
1974 def on_specGraphSavePowerprofile_stateChanged(self, p0):
1974 def on_specGraphSavePowerprofile_stateChanged(self, p0):
1975
1975
1976 self.__checkSpecGraphSaving()
1976 self.__checkSpecGraphSaving()
1977
1977
1978 @pyqtSignature("int")
1978 @pyqtSignature("int")
1979 def on_specGraphftpSpectra_stateChanged(self, p0):
1979 def on_specGraphftpSpectra_stateChanged(self, p0):
1980 """
1980 """
1981 """
1981 """
1982 self.__checkSpecGraphFTP()
1982 self.__checkSpecGraphFTP()
1983
1983
1984
1984
1985 @pyqtSignature("int")
1985 @pyqtSignature("int")
1986 def on_specGraphftpCross_stateChanged(self, p0):
1986 def on_specGraphftpCross_stateChanged(self, p0):
1987
1987
1988 self.__checkSpecGraphFTP()
1988 self.__checkSpecGraphFTP()
1989
1989
1990 @pyqtSignature("int")
1990 @pyqtSignature("int")
1991 def on_specGraphftpRTIplot_stateChanged(self, p0):
1991 def on_specGraphftpRTIplot_stateChanged(self, p0):
1992
1992
1993 self.__checkSpecGraphFTP()
1993 self.__checkSpecGraphFTP()
1994
1994
1995 @pyqtSignature("int")
1995 @pyqtSignature("int")
1996 def on_specGraphftpRTInoise_stateChanged(self, p0):
1996 def on_specGraphftpRTInoise_stateChanged(self, p0):
1997
1997
1998 self.__checkSpecGraphFTP()
1998 self.__checkSpecGraphFTP()
1999
1999
2000 @pyqtSignature("int")
2000 @pyqtSignature("int")
2001 def on_specGraphftpCoherencemap_stateChanged(self, p0):
2001 def on_specGraphftpCoherencemap_stateChanged(self, p0):
2002
2002
2003 self.__checkSpecGraphFTP()
2003 self.__checkSpecGraphFTP()
2004
2004
2005 @pyqtSignature("int")
2005 @pyqtSignature("int")
2006 def on_specGraphftpPowerprofile_stateChanged(self, p0):
2006 def on_specGraphftpPowerprofile_stateChanged(self, p0):
2007
2007
2008 self.__checkSpecGraphFTP()
2008 self.__checkSpecGraphFTP()
2009
2009
2010 @pyqtSignature("")
2010 @pyqtSignature("")
2011 def on_specGraphToolPath_clicked(self):
2011 def on_specGraphToolPath_clicked(self):
2012 """
2012 """
2013 """
2013 """
2014 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
2014 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
2015 self.specGraphPath.setText(save_path)
2015 self.specGraphPath.setText(save_path)
2016 if not os.path.exists(save_path):
2016 if not os.path.exists(save_path):
2017 self.console.clear()
2017 self.console.clear()
2018 self.console.append("Write a valid path")
2018 self.console.append("Write a valid path")
2019 return
2019 return
2020
2020
2021 @pyqtSignature("")
2021 @pyqtSignature("")
2022 def on_specGraphClear_clicked(self):
2022 def on_specGraphClear_clicked(self):
2023 return
2023 return
2024
2024
2025 @pyqtSignature("")
2025 @pyqtSignature("")
2026 def on_specHeisGraphToolPath_clicked(self):
2026 def on_specHeisGraphToolPath_clicked(self):
2027 """
2027 """
2028 """
2028 """
2029 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
2029 save_path = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
2030 self.specHeisGraphPath.setText(save_path)
2030 self.specHeisGraphPath.setText(save_path)
2031 if not os.path.exists(save_path):
2031 if not os.path.exists(save_path):
2032 self.console.clear()
2032 self.console.clear()
2033 self.console.append("Write a valid path")
2033 self.console.append("Write a valid path")
2034 return
2034 return
2035
2035
2036 @pyqtSignature("int")
2036 @pyqtSignature("int")
2037 def on_specHeisOpCebIncoherent_stateChanged(self, p0):
2037 def on_specHeisOpCebIncoherent_stateChanged(self, p0):
2038 """
2038 """
2039 Habilita la opcion de aοΏ½adir el parοΏ½metro integraciones incoherentes a la Unidad de Procesamiento .
2039 Habilita la opcion de aοΏ½adir el parοΏ½metro integraciones incoherentes a la Unidad de Procesamiento .
2040 """
2040 """
2041 if p0 == 2:
2041 if p0 == 2:
2042 self.specHeisOpIncoherent.setEnabled(True)
2042 self.specHeisOpIncoherent.setEnabled(True)
2043 self.specHeisOpCobIncInt.setEnabled(True)
2043 self.specHeisOpCobIncInt.setEnabled(True)
2044 if p0 == 0:
2044 if p0 == 0:
2045 self.specHeisOpIncoherent.setEnabled(False)
2045 self.specHeisOpIncoherent.setEnabled(False)
2046 self.specHeisOpCobIncInt.setEnabled(False)
2046 self.specHeisOpCobIncInt.setEnabled(False)
2047
2047
2048 @pyqtSignature("")
2048 @pyqtSignature("")
2049 def on_specHeisOpOk_clicked(self):
2049 def on_specHeisOpOk_clicked(self):
2050 """
2050 """
2051 AΓ‘ADE OPERACION SPECTRAHEIS
2051 AΓ‘ADE OPERACION SPECTRAHEIS
2052 """
2052 """
2053 addFTP = False
2053 addFTP = False
2054 checkPath = False
2054 checkPath = False
2055
2055
2056 self.actionSaveToolbar.setEnabled(False)
2056 self.actionSaveToolbar.setEnabled(False)
2057 self.actionStarToolbar.setEnabled(False)
2057 self.actionStarToolbar.setEnabled(False)
2058
2058
2059 self.actionSave.setEnabled(False)
2059 self.actionSave.setEnabled(False)
2060 self.actionStart.setEnabled(False)
2060 self.actionStart.setEnabled(False)
2061
2061
2062 self.console.clear()
2062 self.console.clear()
2063 self.console.append("Checking input parameters ...")
2063 self.console.append("Checking input parameters ...")
2064
2064
2065 puObj = self.getSelectedItemObj()
2065 puObj = self.getSelectedItemObj()
2066 puObj.removeOperations()
2066 puObj.removeOperations()
2067
2067
2068 if self.specHeisOpCebIncoherent.isChecked():
2068 if self.specHeisOpCebIncoherent.isChecked():
2069 value = str(self.specHeisOpIncoherent.text())
2069 value = str(self.specHeisOpIncoherent.text())
2070 name_operation = 'IncohInt4SpectraHeis'
2070 name_operation = 'IncohInt4SpectraHeis'
2071 optype = 'other'
2071 optype = 'other'
2072
2072
2073 name_parameter = 'timeInterval'
2073 name_parameter = 'timeInterval'
2074 format = 'float'
2074 format = 'float'
2075
2075
2076 if self.specOpCobIncInt.currentIndex() == 0:
2076 if self.specOpCobIncInt.currentIndex() == 0:
2077 name_parameter = 'timeInterval'
2077 name_parameter = 'timeInterval'
2078 format = 'float'
2078 format = 'float'
2079
2079
2080 if not isFloat(value):
2080 if not isFloat(value):
2081 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2081 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2082 return 0
2082 return 0
2083
2083
2084 opObj = puObj.addOperation(name=name_operation, optype=optype)
2084 opObj = puObj.addOperation(name=name_operation, optype=optype)
2085
2085
2086 if not opObj.addParameter(name=name_parameter, value=value, format=format):
2086 if not opObj.addParameter(name=name_parameter, value=value, format=format):
2087 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2087 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2088 return 0
2088 return 0
2089
2089
2090 channelList = str(self.specHeisGgraphChannelList.text())
2090 channelList = str(self.specHeisGgraphChannelList.text())
2091 freq_range = str(self.specHeisGgraphXminXmax.text())
2091 freq_range = str(self.specHeisGgraphXminXmax.text())
2092 power_range = str(self.specHeisGgraphYminYmax.text())
2092 power_range = str(self.specHeisGgraphYminYmax.text())
2093 time_range = str(self.specHeisGgraphTminTmax.text())
2093 time_range = str(self.specHeisGgraphTminTmax.text())
2094 timerange = str(self.specHeisGgraphTimeRange.text())
2094 timerange = str(self.specHeisGgraphTimeRange.text())
2095
2095
2096 # ---- Spectra Plot-----
2096 # ---- Spectra Plot-----
2097 if self.specHeisGraphCebSpectraplot.isChecked():
2097 if self.specHeisGraphCebSpectraplot.isChecked():
2098
2098
2099 name_operation = 'SpectraHeisScope'
2099 name_operation = 'SpectraHeisScope'
2100 optype = 'other'
2100 optype = 'other'
2101 opObj = puObj.addOperation(name=name_operation, optype=optype)
2101 opObj = puObj.addOperation(name=name_operation, optype=optype)
2102
2102
2103 name_parameter = 'id'
2103 name_parameter = 'id'
2104 format = 'int'
2104 format = 'int'
2105 value = opObj.id
2105 value = opObj.id
2106
2106
2107 if not opObj.addParameter(name=name_parameter, value=value, format=format):
2107 if not opObj.addParameter(name=name_parameter, value=value, format=format):
2108 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2108 self.console.append("Invalid value '%s' for '%s'" %(value, name_parameter))
2109 return 0
2109 return 0
2110
2110
2111 if not (channelList == ''):
2111 if not (channelList == ''):
2112 name_parameter = 'channelList'
2112 name_parameter = 'channelList'
2113 format = 'intlist'
2113 format = 'intlist'
2114
2114
2115 if not isList(channelList):
2115 if not isList(channelList):
2116 self.console.append("Invalid value '%s' for '%s'" %(channelList, name_parameter))
2116 self.console.append("Invalid value '%s' for '%s'" %(channelList, name_parameter))
2117 return 0
2117 return 0
2118
2118
2119 opObj.addParameter(name=name_parameter, value=channelList, format=format)
2119 opObj.addParameter(name=name_parameter, value=channelList, format=format)
2120
2120
2121 if not freq_range == '':
2121 if not freq_range == '':
2122 xvalueList = freq_range.split(',')
2122 xvalueList = freq_range.split(',')
2123
2123
2124 if len(xvalueList) != 2:
2124 if len(xvalueList) != 2:
2125 self.console.append("Invalid value '%s' for '%s'" %(freq_range, "xrange"))
2125 self.console.append("Invalid value '%s' for '%s'" %(freq_range, "xrange"))
2126 return 0
2126 return 0
2127
2127
2128 value1 = xvalueList[0]
2128 value1 = xvalueList[0]
2129 value2 = xvalueList[1]
2129 value2 = xvalueList[1]
2130
2130
2131 if not isFloat(value1) or not isFloat(value2):
2131 if not isFloat(value1) or not isFloat(value2):
2132 self.console.append("Invalid value '%s' for '%s'" %(freq_range, "xrange"))
2132 self.console.append("Invalid value '%s' for '%s'" %(freq_range, "xrange"))
2133 return 0
2133 return 0
2134
2134
2135 name1 = 'xmin'
2135 name1 = 'xmin'
2136 name2 = 'xmax'
2136 name2 = 'xmax'
2137 format = 'float'
2137 format = 'float'
2138
2138
2139 opObj.addParameter(name=name1, value=value1, format=format)
2139 opObj.addParameter(name=name1, value=value1, format=format)
2140 opObj.addParameter(name=name2, value=value2, format=format)
2140 opObj.addParameter(name=name2, value=value2, format=format)
2141
2141
2142 #------specHeisGgraphYmin-Ymax---
2142 #------specHeisGgraphYmin-Ymax---
2143 if not power_range == '':
2143 if not power_range == '':
2144 yvalueList = power_range.split(",")
2144 yvalueList = power_range.split(",")
2145
2145
2146 if len(yvalueList) != 2:
2146 if len(yvalueList) != 2:
2147 self.console.append("Invalid value '%s' for '%s'" %(power_range, "xrange"))
2147 self.console.append("Invalid value '%s' for '%s'" %(power_range, "xrange"))
2148 return 0
2148 return 0
2149
2149
2150 value1 = yvalueList[0]
2150 value1 = yvalueList[0]
2151 value2 = yvalueList[1]
2151 value2 = yvalueList[1]
2152
2152
2153 if not isFloat(value1) or not isFloat(value2):
2153 if not isFloat(value1) or not isFloat(value2):
2154 self.console.append("Invalid value '%s' for '%s'" %(power_range, "yrange"))
2154 self.console.append("Invalid value '%s' for '%s'" %(power_range, "yrange"))
2155 return 0
2155 return 0
2156
2156
2157 name1 = 'ymin'
2157 name1 = 'ymin'
2158 name2 = 'ymax'
2158 name2 = 'ymax'
2159 format = 'float'
2159 format = 'float'
2160 opObj.addParameter(name=name1, value=value1, format=format)
2160 opObj.addParameter(name=name1, value=value1, format=format)
2161 opObj.addParameter(name=name2, value=value2, format=format)
2161 opObj.addParameter(name=name2, value=value2, format=format)
2162
2162
2163 if self.specHeisGraphSaveSpectra.isChecked():
2163 if self.specHeisGraphSaveSpectra.isChecked():
2164 checkPath = True
2164 checkPath = True
2165 name_parameter1 = 'save'
2165 name_parameter1 = 'save'
2166 name_parameter2 = 'figpath'
2166 name_parameter2 = 'figpath'
2167 name_parameter3 = 'figfile'
2167 name_parameter3 = 'figfile'
2168 value1 = '1'
2168 value1 = '1'
2169 value2 = str(self.specHeisGraphPath.text())
2169 value2 = str(self.specHeisGraphPath.text())
2170 value3 = str(self.specHeisGraphPrefix.text())
2170 value3 = str(self.specHeisGraphPrefix.text())
2171 format1 = 'bool'
2171 format1 = 'bool'
2172 format2 = 'str'
2172 format2 = 'str'
2173 opObj.addParameter(name=name_parameter1, value=value1 , format=format1)
2173 opObj.addParameter(name=name_parameter1, value=value1 , format=format1)
2174 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2174 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2175 if not value3 == "":
2175 if not value3 == "":
2176 try:
2176 try:
2177 value3 = str(self.specHeisGraphPrefix.text())
2177 value3 = str(self.specHeisGraphPrefix.text())
2178 except:
2178 except:
2179 self.console.clear()
2179 self.console.clear()
2180 self.console.append("Please Write prefix")
2180 self.console.append("Please Write prefix")
2181 return 0
2181 return 0
2182 opObj.addParameter(name='figfile', value=str(self.specHeisGraphPrefix.text()), format='str')
2182 opObj.addParameter(name='figfile', value=str(self.specHeisGraphPrefix.text()), format='str')
2183
2183
2184 # opObj.addParameter(name=name_parameter3, value=value3, format=format2)
2184 # opObj.addParameter(name=name_parameter3, value=value3, format=format2)
2185 # opObj.addParameter(name='wr_period', value='5',format='int')
2185 # opObj.addParameter(name='wr_period', value='5',format='int')
2186
2186
2187 if self.specHeisGraphftpSpectra.isChecked():
2187 if self.specHeisGraphftpSpectra.isChecked():
2188 opObj.addParameter(name='ftp', value='1', format='int')
2188 opObj.addParameter(name='ftp', value='1', format='int')
2189 self.addFTPConf2Operation(puObj, opObj)
2189 self.addFTPConf2Operation(puObj, opObj)
2190 addFTP = True
2190 addFTP = True
2191
2191
2192 if self.specHeisGraphCebRTIplot.isChecked():
2192 if self.specHeisGraphCebRTIplot.isChecked():
2193 name_operation = 'RTIfromSpectraHeis'
2193 name_operation = 'RTIfromSpectraHeis'
2194 optype = 'other'
2194 optype = 'other'
2195
2195
2196 name_parameter = 'id'
2196 name_parameter = 'id'
2197 format = 'int'
2197 format = 'int'
2198
2198
2199 opObj = puObj.addOperation(name=name_operation, optype=optype)
2199 opObj = puObj.addOperation(name=name_operation, optype=optype)
2200 value = opObj.id
2200 value = opObj.id
2201 opObj.addParameter(name=name_parameter, value=value, format=format)
2201 opObj.addParameter(name=name_parameter, value=value, format=format)
2202
2202
2203 if not channelList == '':
2203 if not channelList == '':
2204 opObj.addParameter(name='channelList', value=channelList, format='intlist')
2204 opObj.addParameter(name='channelList', value=channelList, format='intlist')
2205
2205
2206 if not time_range == '':
2206 if not time_range == '':
2207 xvalueList = time_range.split(',')
2207 xvalueList = time_range.split(',')
2208 try:
2208 try:
2209 value = float(xvalueList[0])
2209 value = float(xvalueList[0])
2210 value = float(xvalueList[1])
2210 value = float(xvalueList[1])
2211 except:
2211 except:
2212 return 0
2212 return 0
2213 format = 'float'
2213 format = 'float'
2214 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
2214 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
2215 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
2215 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
2216
2216
2217 if not timerange == '':
2217 if not timerange == '':
2218 format = 'int'
2218 format = 'int'
2219 try:
2219 try:
2220 timerange = int(timerange)
2220 timerange = int(timerange)
2221 except:
2221 except:
2222 return 0
2222 return 0
2223 opObj.addParameter(name='timerange', value=timerange, format=format)
2223 opObj.addParameter(name='timerange', value=timerange, format=format)
2224
2224
2225
2225
2226 if not power_range == '':
2226 if not power_range == '':
2227 yvalueList = power_range.split(",")
2227 yvalueList = power_range.split(",")
2228 try:
2228 try:
2229 value = float(yvalueList[0])
2229 value = float(yvalueList[0])
2230 value = float(yvalueList[1])
2230 value = float(yvalueList[1])
2231 except:
2231 except:
2232 return 0
2232 return 0
2233
2233
2234 format = 'float'
2234 format = 'float'
2235 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
2235 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
2236 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
2236 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
2237
2237
2238 if self.specHeisGraphSaveRTIplot.isChecked():
2238 if self.specHeisGraphSaveRTIplot.isChecked():
2239 checkPath = True
2239 checkPath = True
2240 opObj.addParameter(name='save', value='1', format='bool')
2240 opObj.addParameter(name='save', value='1', format='bool')
2241 opObj.addParameter(name='figpath', value=str(self.specHeisGraphPath.text()), format='str')
2241 opObj.addParameter(name='figpath', value=str(self.specHeisGraphPath.text()), format='str')
2242 value = str(self.specHeisGraphPrefix.text())
2242 value = str(self.specHeisGraphPrefix.text())
2243 if not value == "":
2243 if not value == "":
2244 try:
2244 try:
2245 value = str(self.specHeisGraphPrefix.text())
2245 value = str(self.specHeisGraphPrefix.text())
2246 except:
2246 except:
2247 self.console.clear()
2247 self.console.clear()
2248 self.console.append("Please Write prefix")
2248 self.console.append("Please Write prefix")
2249 return 0
2249 return 0
2250 opObj.addParameter(name='figfile', value=value, format='str')
2250 opObj.addParameter(name='figfile', value=value, format='str')
2251
2251
2252 # test_ftp
2252 # test_ftp
2253 if self.specHeisGraphftpRTIplot.isChecked():
2253 if self.specHeisGraphftpRTIplot.isChecked():
2254 opObj.addParameter(name='ftp', value='1', format='int')
2254 opObj.addParameter(name='ftp', value='1', format='int')
2255 self.addFTPConf2Operation(puObj, opObj)
2255 self.addFTPConf2Operation(puObj, opObj)
2256 addFTP = True
2256 addFTP = True
2257
2257
2258 localfolder = None
2258 localfolder = None
2259 if checkPath:
2259 if checkPath:
2260 localfolder = str(self.specHeisGraphPath.text())
2260 localfolder = str(self.specHeisGraphPath.text())
2261 if localfolder == '':
2261 if localfolder == '':
2262 self.console.clear()
2262 self.console.clear()
2263 self.console.append("Graphic path should be defined")
2263 self.console.append("Graphic path should be defined")
2264 return 0
2264 return 0
2265
2265
2266 if addFTP and not localfolder:
2266 if addFTP and not localfolder:
2267 self.console.clear()
2267 self.console.clear()
2268 self.console.append("You should save plots before send them to FTP Server")
2268 self.console.append("You should save plots before send them to FTP Server")
2269 return 0
2269 return 0
2270
2270
2271 # if something happened
2271 # if something happened
2272 parms_ok, output_path, blocksperfile, metadata_file = self.checkInputsPUSave(datatype='SpectraHeis')
2272 parms_ok, output_path, blocksperfile, metadata_file = self.checkInputsPUSave(datatype='SpectraHeis')
2273 if parms_ok:
2273 if parms_ok:
2274 name_operation = 'FitsWriter'
2274 name_operation = 'FitsWriter'
2275 optype = 'other'
2275 optype = 'other'
2276 name_parameter1 = 'path'
2276 name_parameter1 = 'path'
2277 name_parameter2 = 'dataBlocksPerFile'
2277 name_parameter2 = 'dataBlocksPerFile'
2278 name_parameter3 = 'metadatafile'
2278 name_parameter3 = 'metadatafile'
2279 value1 = output_path
2279 value1 = output_path
2280 value2 = blocksperfile
2280 value2 = blocksperfile
2281 value3 = metadata_file
2281 value3 = metadata_file
2282 format2 = "int"
2282 format2 = "int"
2283 format3 = "str"
2283 format3 = "str"
2284 opObj = puObj.addOperation(name=name_operation, optype=optype)
2284 opObj = puObj.addOperation(name=name_operation, optype=optype)
2285
2285
2286 opObj.addParameter(name=name_parameter1, value=value1)
2286 opObj.addParameter(name=name_parameter1, value=value1)
2287
2287
2288 if blocksperfile:
2288 if blocksperfile:
2289 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2289 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2290
2290
2291 if metadata_file:
2291 if metadata_file:
2292 opObj.addParameter(name=name_parameter3, value=value3, format=format3)
2292 opObj.addParameter(name=name_parameter3, value=value3, format=format3)
2293
2293
2294 self.console.clear()
2294 self.console.clear()
2295 try:
2295 try:
2296 self.refreshPUProperties(puObj)
2296 self.refreshPUProperties(puObj)
2297 except:
2297 except:
2298 self.console.append("An error reading input parameters was found ... Check them!")
2298 self.console.append("An error reading input parameters was found ... Check them!")
2299 return 0
2299 return 0
2300
2300
2301 self.console.append("Save your project and press Play button to start signal processing")
2301 self.console.append("Save your project and press Play button to start signal processing")
2302
2302
2303 self.actionSaveToolbar.setEnabled(True)
2303 self.actionSaveToolbar.setEnabled(True)
2304 self.actionStarToolbar.setEnabled(True)
2304 self.actionStarToolbar.setEnabled(True)
2305
2305
2306 self.actionSave.setEnabled(True)
2306 self.actionSave.setEnabled(True)
2307 self.actionStart.setEnabled(True)
2307 self.actionStart.setEnabled(True)
2308
2308
2309 return 1
2309 return 1
2310 @pyqtSignature("int")
2310 @pyqtSignature("int")
2311 def on_specHeisGraphCebSpectraplot_stateChanged(self, p0):
2311 def on_specHeisGraphCebSpectraplot_stateChanged(self, p0):
2312
2312
2313 if p0 == 2:
2313 if p0 == 2:
2314 self.specHeisGgraphChannelList.setEnabled(True)
2314 self.specHeisGgraphChannelList.setEnabled(True)
2315 self.specHeisGgraphXminXmax.setEnabled(True)
2315 self.specHeisGgraphXminXmax.setEnabled(True)
2316 self.specHeisGgraphYminYmax.setEnabled(True)
2316 self.specHeisGgraphYminYmax.setEnabled(True)
2317 if p0 == 0:
2317 if p0 == 0:
2318 self.specHeisGgraphXminXmax.setEnabled(False)
2318 self.specHeisGgraphXminXmax.setEnabled(False)
2319 self.specHeisGgraphYminYmax.setEnabled(False)
2319 self.specHeisGgraphYminYmax.setEnabled(False)
2320
2320
2321 @pyqtSignature("int")
2321 @pyqtSignature("int")
2322 def on_specHeisGraphCebRTIplot_stateChanged(self, p0):
2322 def on_specHeisGraphCebRTIplot_stateChanged(self, p0):
2323
2323
2324 if p0 == 2:
2324 if p0 == 2:
2325 self.specHeisGgraphChannelList.setEnabled(True)
2325 self.specHeisGgraphChannelList.setEnabled(True)
2326 self.specHeisGgraphTminTmax.setEnabled(True)
2326 self.specHeisGgraphTminTmax.setEnabled(True)
2327 self.specHeisGgraphYminYmax.setEnabled(True)
2327 self.specHeisGgraphYminYmax.setEnabled(True)
2328 self.specHeisGgraphTimeRange.setEnabled(True)
2328 self.specHeisGgraphTimeRange.setEnabled(True)
2329
2329
2330 if p0 == 0:
2330 if p0 == 0:
2331 self.specHeisGgraphTminTmax.setEnabled(False)
2331 self.specHeisGgraphTminTmax.setEnabled(False)
2332 self.specHeisGgraphYminYmax.setEnabled(False)
2332 self.specHeisGgraphYminYmax.setEnabled(False)
2333 self.specHeisGgraphTimeRange.setEnabled(False)
2333 self.specHeisGgraphTimeRange.setEnabled(False)
2334
2334
2335 @pyqtSignature("int")
2335 @pyqtSignature("int")
2336 def on_specHeisGraphSaveSpectra_stateChanged(self, p0):
2336 def on_specHeisGraphSaveSpectra_stateChanged(self, p0):
2337 """
2337 """
2338 """
2338 """
2339 if p0 == 2:
2339 if p0 == 2:
2340 self.specHeisGraphPath.setEnabled(True)
2340 self.specHeisGraphPath.setEnabled(True)
2341 self.specHeisGraphPrefix.setEnabled(True)
2341 self.specHeisGraphPrefix.setEnabled(True)
2342 self.specHeisGraphToolPath.setEnabled(True)
2342 self.specHeisGraphToolPath.setEnabled(True)
2343 if p0 == 0:
2343 if p0 == 0:
2344 self.specHeisGraphPath.setEnabled(False)
2344 self.specHeisGraphPath.setEnabled(False)
2345 self.specHeisGraphPrefix.setEnabled(False)
2345 self.specHeisGraphPrefix.setEnabled(False)
2346 self.specHeisGraphToolPath.setEnabled(False)
2346 self.specHeisGraphToolPath.setEnabled(False)
2347
2347
2348 @pyqtSignature("int")
2348 @pyqtSignature("int")
2349 def on_specHeisGraphSaveRTIplot_stateChanged(self, p0):
2349 def on_specHeisGraphSaveRTIplot_stateChanged(self, p0):
2350 if p0 == 2:
2350 if p0 == 2:
2351 self.specHeisGraphPath.setEnabled(True)
2351 self.specHeisGraphPath.setEnabled(True)
2352 self.specHeisGraphPrefix.setEnabled(True)
2352 self.specHeisGraphPrefix.setEnabled(True)
2353 self.specHeisGraphToolPath.setEnabled(True)
2353 self.specHeisGraphToolPath.setEnabled(True)
2354
2354
2355 @pyqtSignature("int")
2355 @pyqtSignature("int")
2356 def on_specHeisGraphftpSpectra_stateChanged(self, p0):
2356 def on_specHeisGraphftpSpectra_stateChanged(self, p0):
2357 """
2357 """
2358 """
2358 """
2359 if p0 == 2:
2359 if p0 == 2:
2360 self.specHeisGgraphftpratio.setEnabled(True)
2360 self.specHeisGgraphftpratio.setEnabled(True)
2361
2361
2362 if p0 == 0:
2362 if p0 == 0:
2363 self.specHeisGgraphftpratio.setEnabled(False)
2363 self.specHeisGgraphftpratio.setEnabled(False)
2364
2364
2365 @pyqtSignature("int")
2365 @pyqtSignature("int")
2366 def on_specHeisGraphftpRTIplot_stateChanged(self, p0):
2366 def on_specHeisGraphftpRTIplot_stateChanged(self, p0):
2367 if p0 == 2:
2367 if p0 == 2:
2368 self.specHeisGgraphftpratio.setEnabled(True)
2368 self.specHeisGgraphftpratio.setEnabled(True)
2369
2369
2370 @pyqtSignature("")
2370 @pyqtSignature("")
2371 def on_specHeisGraphClear_clicked(self):
2371 def on_specHeisGraphClear_clicked(self):
2372 pass
2372 pass
2373
2373
2374 def __checkSpecGraphSaving(self):
2374 def __checkSpecGraphSaving(self):
2375
2375
2376 enable = False
2376 enable = False
2377
2377
2378 if self.specGraphSaveSpectra.checkState():
2378 if self.specGraphSaveSpectra.checkState():
2379 enable = True
2379 enable = True
2380
2380
2381 if self.specGraphSaveCross.checkState():
2381 if self.specGraphSaveCross.checkState():
2382 enable = True
2382 enable = True
2383
2383
2384 if self.specGraphSaveRTIplot.checkState():
2384 if self.specGraphSaveRTIplot.checkState():
2385 enable = True
2385 enable = True
2386
2386
2387 if self.specGraphSaveCoherencemap.checkState():
2387 if self.specGraphSaveCoherencemap.checkState():
2388 enable = True
2388 enable = True
2389
2389
2390 if self.specGraphSavePowerprofile.checkState():
2390 if self.specGraphSavePowerprofile.checkState():
2391 enable = True
2391 enable = True
2392
2392
2393 if self.specGraphSaveRTInoise.checkState():
2393 if self.specGraphSaveRTInoise.checkState():
2394 enable = True
2394 enable = True
2395
2395
2396 self.specGraphPath.setEnabled(enable)
2396 self.specGraphPath.setEnabled(enable)
2397 self.specGraphPrefix.setEnabled(enable)
2397 self.specGraphPrefix.setEnabled(enable)
2398 self.specGraphToolPath.setEnabled(enable)
2398 self.specGraphToolPath.setEnabled(enable)
2399
2399
2400 self.specGgraphftpratio.setEnabled(enable)
2400 self.specGgraphftpratio.setEnabled(enable)
2401
2401
2402 def __checkSpecGraphFTP(self):
2402 def __checkSpecGraphFTP(self):
2403
2403
2404 enable = False
2404 enable = False
2405
2405
2406 if self.specGraphftpSpectra.checkState():
2406 if self.specGraphftpSpectra.checkState():
2407 enable = True
2407 enable = True
2408
2408
2409 if self.specGraphftpCross.checkState():
2409 if self.specGraphftpCross.checkState():
2410 enable = True
2410 enable = True
2411
2411
2412 if self.specGraphftpRTIplot.checkState():
2412 if self.specGraphftpRTIplot.checkState():
2413 enable = True
2413 enable = True
2414
2414
2415 if self.specGraphftpCoherencemap.checkState():
2415 if self.specGraphftpCoherencemap.checkState():
2416 enable = True
2416 enable = True
2417
2417
2418 if self.specGraphftpPowerprofile.checkState():
2418 if self.specGraphftpPowerprofile.checkState():
2419 enable = True
2419 enable = True
2420
2420
2421 if self.specGraphftpRTInoise.checkState():
2421 if self.specGraphftpRTInoise.checkState():
2422 enable = True
2422 enable = True
2423
2423
2424 # self.specGgraphftpratio.setEnabled(enable)
2424 # self.specGgraphftpratio.setEnabled(enable)
2425
2425
2426 def __checkSpecGraphFilters(self):
2426 def __checkSpecGraphFilters(self):
2427
2427
2428 freq = False
2428 freq = False
2429 height = False
2429 height = False
2430 db = False
2430 db = False
2431 time = False
2431 time = False
2432 magnitud = False
2432 magnitud = False
2433 phase = False
2433 phase = False
2434 channelList = False
2434 channelList = False
2435
2435
2436 if self.specGraphCebSpectraplot.checkState():
2436 if self.specGraphCebSpectraplot.checkState():
2437 freq = True
2437 freq = True
2438 height = True
2438 height = True
2439 db = True
2439 db = True
2440 channelList = True
2440 channelList = True
2441
2441
2442 if self.specGraphCebCrossSpectraplot.checkState():
2442 if self.specGraphCebCrossSpectraplot.checkState():
2443 freq = True
2443 freq = True
2444 height = True
2444 height = True
2445 db = True
2445 db = True
2446 magnitud = True
2446 magnitud = True
2447 phase = True
2447 phase = True
2448
2448
2449 if self.specGraphCebRTIplot.checkState():
2449 if self.specGraphCebRTIplot.checkState():
2450 height = True
2450 height = True
2451 db = True
2451 db = True
2452 time = True
2452 time = True
2453 channelList = True
2453 channelList = True
2454
2454
2455 if self.specGraphCebCoherencmap.checkState():
2455 if self.specGraphCebCoherencmap.checkState():
2456 height = True
2456 height = True
2457 time = True
2457 time = True
2458 magnitud = True
2458 magnitud = True
2459 phase = True
2459 phase = True
2460
2460
2461 if self.specGraphPowerprofile.checkState():
2461 if self.specGraphPowerprofile.checkState():
2462 height = True
2462 height = True
2463 db = True
2463 db = True
2464 channelList = True
2464 channelList = True
2465
2465
2466 if self.specGraphCebRTInoise.checkState():
2466 if self.specGraphCebRTInoise.checkState():
2467 db = True
2467 db = True
2468 time = True
2468 time = True
2469 channelList = True
2469 channelList = True
2470
2470
2471
2471
2472 self.specGgraphFreq.setEnabled(freq)
2472 self.specGgraphFreq.setEnabled(freq)
2473 self.specGgraphHeight.setEnabled(height)
2473 self.specGgraphHeight.setEnabled(height)
2474 self.specGgraphDbsrange.setEnabled(db)
2474 self.specGgraphDbsrange.setEnabled(db)
2475 self.specGgraphTminTmax.setEnabled(time)
2475 self.specGgraphTminTmax.setEnabled(time)
2476
2476
2477 self.specGgraphmagnitud.setEnabled(magnitud)
2477 self.specGgraphmagnitud.setEnabled(magnitud)
2478 self.specGgraphPhase.setEnabled(phase)
2478 self.specGgraphPhase.setEnabled(phase)
2479 self.specGgraphChannelList.setEnabled(channelList)
2479 self.specGgraphChannelList.setEnabled(channelList)
2480
2480
2481 def __getParmsFromProjectWindow(self):
2481 def __getParmsFromProjectWindow(self):
2482 """
2482 """
2483 Check Inputs Project:
2483 Check Inputs Project:
2484 - project_name
2484 - project_name
2485 - datatype
2485 - datatype
2486 - ext
2486 - ext
2487 - data_path
2487 - data_path
2488 - readmode
2488 - readmode
2489 - delay
2489 - delay
2490 - set
2490 - set
2491 - walk
2491 - walk
2492 """
2492 """
2493 parms_ok = True
2493 parms_ok = True
2494
2494
2495 project_name = str(self.proName.text())
2495 project_name = str(self.proName.text())
2496
2496
2497 if project_name == '' or project_name == None:
2497 if project_name == '' or project_name == None:
2498 outputstr = "Enter a project Name"
2498 outputstr = "Enter a project Name"
2499 self.console.append(outputstr)
2499 self.console.append(outputstr)
2500 parms_ok = False
2500 parms_ok = False
2501 project_name = None
2501 project_name = None
2502
2502
2503 description = str(self.proDescription.toPlainText())
2503 description = str(self.proDescription.toPlainText())
2504
2504
2505 datatype = str(self.proComDataType.currentText())
2505 datatype = str(self.proComDataType.currentText())
2506
2506
2507 ext = str(self.proDataType.text())
2507 ext = str(self.proDataType.text())
2508
2508
2509 dpath = str(self.proDataPath.text())
2509 dpath = str(self.proDataPath.text())
2510
2510
2511 if dpath == '':
2511 if dpath == '':
2512 outputstr = 'Datapath is empty'
2512 outputstr = 'Datapath is empty'
2513 self.console.append(outputstr)
2513 self.console.append(outputstr)
2514 parms_ok = False
2514 parms_ok = False
2515 dpath = None
2515 dpath = None
2516
2516
2517 if dpath != None:
2517 if dpath != None:
2518 if not os.path.isdir(dpath):
2518 if not os.path.isdir(dpath):
2519 outputstr = 'Datapath (%s) does not exist' % dpath
2519 outputstr = 'Datapath (%s) does not exist' % dpath
2520 self.console.append(outputstr)
2520 self.console.append(outputstr)
2521 parms_ok = False
2521 parms_ok = False
2522 dpath = None
2522 dpath = None
2523
2523
2524 online = int(self.proComReadMode.currentIndex())
2524 online = int(self.proComReadMode.currentIndex())
2525
2525
2526 delay = None
2526 delay = None
2527 if online==1:
2527 if online==1:
2528 try:
2528 try:
2529 delay = int(str(self.proDelay.text()))
2529 delay = int(str(self.proDelay.text()))
2530 except:
2530 except:
2531 outputstr = 'Delay value (%s) must be a integer number' %str(self.proDelay.text())
2531 outputstr = 'Delay value (%s) must be a integer number' %str(self.proDelay.text())
2532 self.console.append(outputstr)
2532 self.console.append(outputstr)
2533 parms_ok = False
2533 parms_ok = False
2534
2534
2535
2535
2536 set = None
2536 set = None
2537 value = str(self.proSet.text())
2537 value = str(self.proSet.text())
2538 try:
2538 try:
2539 set = int(value)
2539 set = int(value)
2540 except:
2540 except:
2541 pass
2541 pass
2542
2542
2543 ippKm = None
2543 ippKm = None
2544
2544
2545 value = str(self.proIPPKm.text())
2545 value = str(self.proIPPKm.text())
2546
2546
2547 try:
2547 try:
2548 ippKm = float(value)
2548 ippKm = float(value)
2549 except:
2549 except:
2550 if datatype=="USRP":
2550 if datatype=="USRP":
2551 outputstr = 'IPP value "%s" must be a float number' % str(self.proIPPKm.text())
2551 outputstr = 'IPP value "%s" must be a float number' % str(self.proIPPKm.text())
2552 self.console.append(outputstr)
2552 self.console.append(outputstr)
2553 parms_ok = False
2553 parms_ok = False
2554
2554
2555 walk = int(self.proComWalk.currentIndex())
2555 walk = int(self.proComWalk.currentIndex())
2556 expLabel = str(self.proExpLabel.text())
2556 expLabel = str(self.proExpLabel.text())
2557
2557
2558 startDate = str(self.proComStartDate.currentText())
2558 startDate = str(self.proComStartDate.currentText())
2559 endDate = str(self.proComEndDate.currentText())
2559 endDate = str(self.proComEndDate.currentText())
2560
2560
2561 # startDateList = startDate.split("/")
2561 # startDateList = startDate.split("/")
2562 # endDateList = endDate.split("/")
2562 # endDateList = endDate.split("/")
2563 #
2563 #
2564 # startDate = datetime.date(int(startDateList[0]), int(startDateList[1]), int(startDateList[2]))
2564 # startDate = datetime.date(int(startDateList[0]), int(startDateList[1]), int(startDateList[2]))
2565 # endDate = datetime.date(int(endDateList[0]), int(endDateList[1]), int(endDateList[2]))
2565 # endDate = datetime.date(int(endDateList[0]), int(endDateList[1]), int(endDateList[2]))
2566
2566
2567 startTime = self.proStartTime.time()
2567 startTime = self.proStartTime.time()
2568 endTime = self.proEndTime.time()
2568 endTime = self.proEndTime.time()
2569
2569
2570 startTime = str(startTime.toString("H:m:s"))
2570 startTime = str(startTime.toString("H:m:s"))
2571 endTime = str(endTime.toString("H:m:s"))
2571 endTime = str(endTime.toString("H:m:s"))
2572
2572
2573 projectParms = ProjectParms()
2573 projectParms = ProjectParms()
2574
2574
2575 projectParms.name = project_name
2575 projectParms.name = project_name
2576 projectParms.description = description
2576 projectParms.description = description
2577 projectParms.datatype = datatype
2577 projectParms.datatype = datatype
2578 projectParms.ext = ext
2578 projectParms.ext = ext
2579 projectParms.dpath = dpath
2579 projectParms.dpath = dpath
2580 projectParms.online = online
2580 projectParms.online = online
2581 projectParms.startDate = startDate
2581 projectParms.startDate = startDate
2582 projectParms.endDate = endDate
2582 projectParms.endDate = endDate
2583 projectParms.startTime = startTime
2583 projectParms.startTime = startTime
2584 projectParms.endTime = endTime
2584 projectParms.endTime = endTime
2585 projectParms.delay = delay
2585 projectParms.delay = delay
2586 projectParms.walk = walk
2586 projectParms.walk = walk
2587 projectParms.expLabel = expLabel
2587 projectParms.expLabel = expLabel
2588 projectParms.set = set
2588 projectParms.set = set
2589 projectParms.ippKm = ippKm
2589 projectParms.ippKm = ippKm
2590 projectParms.parmsOk = parms_ok
2590 projectParms.parmsOk = parms_ok
2591
2591
2592 return projectParms
2592 return projectParms
2593
2593
2594
2594
2595 def __getParmsFromProjectObj(self, projectObjView):
2595 def __getParmsFromProjectObj(self, projectObjView):
2596
2596
2597 parms_ok = True
2597 parms_ok = True
2598
2598
2599 project_name, description = projectObjView.name, projectObjView.description
2599 project_name, description = projectObjView.name, projectObjView.description
2600
2600
2601 readUnitObj = projectObjView.getReadUnitObj()
2601 readUnitObj = projectObjView.getReadUnitObj()
2602 datatype = readUnitObj.datatype
2602 datatype = readUnitObj.datatype
2603
2603
2604 operationObj = readUnitObj.getOperationObj(name='run')
2604 operationObj = readUnitObj.getOperationObj(name='run')
2605
2605
2606 dpath = operationObj.getParameterValue(parameterName='path')
2606 dpath = operationObj.getParameterValue(parameterName='path')
2607 startDate = operationObj.getParameterValue(parameterName='startDate')
2607 startDate = operationObj.getParameterValue(parameterName='startDate')
2608 endDate = operationObj.getParameterValue(parameterName='endDate')
2608 endDate = operationObj.getParameterValue(parameterName='endDate')
2609
2609
2610 startDate = startDate.strftime("%Y/%m/%d")
2610 startDate = startDate.strftime("%Y/%m/%d")
2611 endDate = endDate.strftime("%Y/%m/%d")
2611 endDate = endDate.strftime("%Y/%m/%d")
2612
2612
2613 startTime = operationObj.getParameterValue(parameterName='startTime')
2613 startTime = operationObj.getParameterValue(parameterName='startTime')
2614 endTime = operationObj.getParameterValue(parameterName='endTime')
2614 endTime = operationObj.getParameterValue(parameterName='endTime')
2615
2615
2616 startTime = startTime.strftime("%H:%M:%S")
2616 startTime = startTime.strftime("%H:%M:%S")
2617 endTime = endTime.strftime("%H:%M:%S")
2617 endTime = endTime.strftime("%H:%M:%S")
2618
2618
2619 online = 0
2619 online = 0
2620 try:
2620 try:
2621 online = operationObj.getParameterValue(parameterName='online')
2621 online = operationObj.getParameterValue(parameterName='online')
2622 except:
2622 except:
2623 pass
2623 pass
2624
2624
2625 delay = ''
2625 delay = ''
2626 try:
2626 try:
2627 delay = operationObj.getParameterValue(parameterName='delay')
2627 delay = operationObj.getParameterValue(parameterName='delay')
2628 except:
2628 except:
2629 pass
2629 pass
2630
2630
2631 walk = 0
2631 walk = 0
2632 try:
2632 try:
2633 walk = operationObj.getParameterValue(parameterName='walk')
2633 walk = operationObj.getParameterValue(parameterName='walk')
2634 except:
2634 except:
2635 pass
2635 pass
2636
2636
2637 set = ''
2637 set = ''
2638 try:
2638 try:
2639 set = operationObj.getParameterValue(parameterName='set')
2639 set = operationObj.getParameterValue(parameterName='set')
2640 except:
2640 except:
2641 pass
2641 pass
2642
2642
2643 expLabel = ''
2643 expLabel = ''
2644 try:
2644 try:
2645 expLabel = operationObj.getParameterValue(parameterName='expLabel')
2645 expLabel = operationObj.getParameterValue(parameterName='expLabel')
2646 except:
2646 except:
2647 pass
2647 pass
2648
2648
2649 ippKm = ''
2649 ippKm = ''
2650 if datatype.lower() == 'usrp':
2650 if datatype.lower() == 'usrp':
2651 try:
2651 try:
2652 ippKm = operationObj.getParameterValue(parameterName='ippKm')
2652 ippKm = operationObj.getParameterValue(parameterName='ippKm')
2653 except:
2653 except:
2654 pass
2654 pass
2655
2655
2656 projectParms = ProjectParms()
2656 projectParms = ProjectParms()
2657
2657
2658 projectParms.name = project_name
2658 projectParms.name = project_name
2659 projectParms.description = description
2659 projectParms.description = description
2660 projectParms.datatype = datatype
2660 projectParms.datatype = datatype
2661 projectParms.ext = None
2661 projectParms.ext = None
2662 projectParms.dpath = dpath
2662 projectParms.dpath = dpath
2663 projectParms.online = online
2663 projectParms.online = online
2664 projectParms.startDate = startDate
2664 projectParms.startDate = startDate
2665 projectParms.endDate = endDate
2665 projectParms.endDate = endDate
2666 projectParms.startTime = startTime
2666 projectParms.startTime = startTime
2667 projectParms.endTime = endTime
2667 projectParms.endTime = endTime
2668 projectParms.delay=delay
2668 projectParms.delay=delay
2669 projectParms.walk=walk
2669 projectParms.walk=walk
2670 projectParms.set=set
2670 projectParms.set=set
2671 projectParms.ippKm=ippKm
2671 projectParms.ippKm=ippKm
2672 projectParms.expLabel = expLabel
2672 projectParms.expLabel = expLabel
2673 projectParms.parmsOk=parms_ok
2673 projectParms.parmsOk=parms_ok
2674
2674
2675 return projectParms
2675 return projectParms
2676
2676
2677 def refreshProjectWindow(self, projectObjView):
2677 def refreshProjectWindow(self, projectObjView):
2678
2678
2679 projectParms = self.__getParmsFromProjectObj(projectObjView)
2679 projectParms = self.__getParmsFromProjectObj(projectObjView)
2680
2680
2681 index = projectParms.getDatatypeIndex()
2681 index = projectParms.getDatatypeIndex()
2682
2682
2683 self.proName.setText(projectParms.name)
2683 self.proName.setText(projectParms.name)
2684 self.proDescription.clear()
2684 self.proDescription.clear()
2685 self.proDescription.append(projectParms.description)
2685 self.proDescription.append(projectParms.description)
2686
2686
2687 self.on_proComDataType_activated(index=index)
2687 self.on_proComDataType_activated(index=index)
2688 self.proDataPath.setText(projectParms.dpath)
2688 self.proDataPath.setText(projectParms.dpath)
2689 self.proComDataType.setCurrentIndex(index)
2689 self.proComDataType.setCurrentIndex(index)
2690 self.proComReadMode.setCurrentIndex(projectParms.online)
2690 self.proComReadMode.setCurrentIndex(projectParms.online)
2691 self.proDelay.setText(str(projectParms.delay))
2691 self.proDelay.setText(str(projectParms.delay))
2692 self.proSet.setText(str(projectParms.set))
2692 self.proSet.setText(str(projectParms.set))
2693 self.proIPPKm.setText(str(projectParms.ippKm))
2693 self.proIPPKm.setText(str(projectParms.ippKm))
2694 self.proComWalk.setCurrentIndex(projectParms.walk)
2694 self.proComWalk.setCurrentIndex(projectParms.walk)
2695 self.proExpLabel.setText(str(projectParms.expLabel).strip())
2695 self.proExpLabel.setText(str(projectParms.expLabel).strip())
2696
2696
2697 dateList = self.loadDays(data_path = projectParms.dpath,
2697 dateList = self.loadDays(data_path = projectParms.dpath,
2698 ext = projectParms.getExt(),
2698 ext = projectParms.getExt(),
2699 walk = projectParms.walk,
2699 walk = projectParms.walk,
2700 expLabel = projectParms.expLabel)
2700 expLabel = projectParms.expLabel)
2701
2701
2702 try:
2702 try:
2703 startDateIndex = dateList.index(projectParms.startDate)
2703 startDateIndex = dateList.index(projectParms.startDate)
2704 except:
2704 except:
2705 startDateIndex = 0
2705 startDateIndex = 0
2706
2706
2707 try:
2707 try:
2708 endDateIndex = dateList.index(projectParms.endDate)
2708 endDateIndex = dateList.index(projectParms.endDate)
2709 except:
2709 except:
2710 endDateIndex = int(self.proComEndDate.count()-1)
2710 endDateIndex = int(self.proComEndDate.count()-1)
2711
2711
2712 self.proComStartDate.setCurrentIndex(startDateIndex)
2712 self.proComStartDate.setCurrentIndex(startDateIndex)
2713 self.proComEndDate.setCurrentIndex(endDateIndex)
2713 self.proComEndDate.setCurrentIndex(endDateIndex)
2714
2714
2715 startlist = projectParms.startTime.split(":")
2715 startlist = projectParms.startTime.split(":")
2716 endlist = projectParms.endTime.split(":")
2716 endlist = projectParms.endTime.split(":")
2717
2717
2718 self.time.setHMS(int(startlist[0]), int(startlist[1]), int(startlist[2]))
2718 self.time.setHMS(int(startlist[0]), int(startlist[1]), int(startlist[2]))
2719 self.proStartTime.setTime(self.time)
2719 self.proStartTime.setTime(self.time)
2720
2720
2721 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
2721 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
2722 self.proEndTime.setTime(self.time)
2722 self.proEndTime.setTime(self.time)
2723
2723
2724
2724
2725 def __refreshVoltageWindow(self, puObj):
2725 def __refreshVoltageWindow(self, puObj):
2726
2726
2727 opObj = puObj.getOperationObj(name='setRadarFrequency')
2727 opObj = puObj.getOperationObj(name='setRadarFrequency')
2728 if opObj == None:
2728 if opObj == None:
2729 self.volOpRadarfrequency.clear()
2729 self.volOpRadarfrequency.clear()
2730 self.volOpCebRadarfrequency.setCheckState(0)
2730 self.volOpCebRadarfrequency.setCheckState(0)
2731 else:
2731 else:
2732 value = opObj.getParameterValue(parameterName='frequency')
2732 value = opObj.getParameterValue(parameterName='frequency')
2733 value = str(float(value)/1e6)
2733 value = str(float(value)/1e6)
2734 self.volOpRadarfrequency.setText(value)
2734 self.volOpRadarfrequency.setText(value)
2735 self.volOpRadarfrequency.setEnabled(True)
2735 self.volOpRadarfrequency.setEnabled(True)
2736 self.volOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
2736 self.volOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
2737
2737
2738 opObj = puObj.getOperationObj(name="selectChannels")
2738 opObj = puObj.getOperationObj(name="selectChannels")
2739
2739
2740 if opObj == None:
2740 if opObj == None:
2741 opObj = puObj.getOperationObj(name="selectChannelsByIndex")
2741 opObj = puObj.getOperationObj(name="selectChannelsByIndex")
2742
2742
2743 if opObj == None:
2743 if opObj == None:
2744 self.volOpChannel.clear()
2744 self.volOpChannel.clear()
2745 self.volOpCebChannels.setCheckState(0)
2745 self.volOpCebChannels.setCheckState(0)
2746 else:
2746 else:
2747 channelEnabled = False
2747 channelEnabled = False
2748 try:
2748 try:
2749 value = opObj.getParameterValue(parameterName='channelList')
2749 value = opObj.getParameterValue(parameterName='channelList')
2750 value = str(value)[1:-1]
2750 value = str(value)[1:-1]
2751 channelEnabled = True
2751 channelEnabled = True
2752 channelMode = 0
2752 channelMode = 0
2753 except:
2753 except:
2754 pass
2754 pass
2755 try:
2755 try:
2756 value = opObj.getParameterValue(parameterName='channelIndexList')
2756 value = opObj.getParameterValue(parameterName='channelIndexList')
2757 value = str(value)[1:-1]
2757 value = str(value)[1:-1]
2758 channelEnabled = True
2758 channelEnabled = True
2759 channelMode = 1
2759 channelMode = 1
2760 except:
2760 except:
2761 pass
2761 pass
2762
2762
2763 if channelEnabled:
2763 if channelEnabled:
2764 self.volOpChannel.setText(value)
2764 self.volOpChannel.setText(value)
2765 self.volOpChannel.setEnabled(True)
2765 self.volOpChannel.setEnabled(True)
2766 self.volOpCebChannels.setCheckState(QtCore.Qt.Checked)
2766 self.volOpCebChannels.setCheckState(QtCore.Qt.Checked)
2767 self.volOpComChannels.setCurrentIndex(channelMode)
2767 self.volOpComChannels.setCurrentIndex(channelMode)
2768
2768
2769 opObj = puObj.getOperationObj(name="selectHeights")
2769 opObj = puObj.getOperationObj(name="selectHeights")
2770 if opObj == None:
2770 if opObj == None:
2771 self.volOpHeights.clear()
2771 self.volOpHeights.clear()
2772 self.volOpCebHeights.setCheckState(0)
2772 self.volOpCebHeights.setCheckState(0)
2773 else:
2773 else:
2774 value1 = str(opObj.getParameterValue(parameterName='minHei'))
2774 value1 = str(opObj.getParameterValue(parameterName='minHei'))
2775 value2 = str(opObj.getParameterValue(parameterName='maxHei'))
2775 value2 = str(opObj.getParameterValue(parameterName='maxHei'))
2776 value = value1 + "," + value2
2776 value = value1 + "," + value2
2777 self.volOpHeights.setText(value)
2777 self.volOpHeights.setText(value)
2778 self.volOpHeights.setEnabled(True)
2778 self.volOpHeights.setEnabled(True)
2779 self.volOpCebHeights.setCheckState(QtCore.Qt.Checked)
2779 self.volOpCebHeights.setCheckState(QtCore.Qt.Checked)
2780
2780
2781 opObj = puObj.getOperationObj(name="filterByHeights")
2781 opObj = puObj.getOperationObj(name="filterByHeights")
2782 if opObj == None:
2782 if opObj == None:
2783 self.volOpFilter.clear()
2783 self.volOpFilter.clear()
2784 self.volOpCebFilter.setCheckState(0)
2784 self.volOpCebFilter.setCheckState(0)
2785 else:
2785 else:
2786 value = opObj.getParameterValue(parameterName='window')
2786 value = opObj.getParameterValue(parameterName='window')
2787 value = str(value)
2787 value = str(value)
2788 self.volOpFilter.setText(value)
2788 self.volOpFilter.setText(value)
2789 self.volOpFilter.setEnabled(True)
2789 self.volOpFilter.setEnabled(True)
2790 self.volOpCebFilter.setCheckState(QtCore.Qt.Checked)
2790 self.volOpCebFilter.setCheckState(QtCore.Qt.Checked)
2791
2791
2792 opObj = puObj.getOperationObj(name="ProfileSelector")
2792 opObj = puObj.getOperationObj(name="ProfileSelector")
2793 if opObj == None:
2793 if opObj == None:
2794 self.volOpProfile.clear()
2794 self.volOpProfile.clear()
2795 self.volOpCebProfile.setCheckState(0)
2795 self.volOpCebProfile.setCheckState(0)
2796 else:
2796 else:
2797 for parmObj in opObj.getParameterObjList():
2797 for parmObj in opObj.getParameterObjList():
2798
2798
2799 if parmObj.name == "profileList":
2799 if parmObj.name == "profileList":
2800 value = parmObj.getValue()
2800 value = parmObj.getValue()
2801 value = str(value)[1:-1]
2801 value = str(value)[1:-1]
2802 self.volOpProfile.setText(value)
2802 self.volOpProfile.setText(value)
2803 self.volOpProfile.setEnabled(True)
2803 self.volOpProfile.setEnabled(True)
2804 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2804 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2805 self.volOpComProfile.setCurrentIndex(0)
2805 self.volOpComProfile.setCurrentIndex(0)
2806
2806
2807 if parmObj.name == "profileRangeList":
2807 if parmObj.name == "profileRangeList":
2808 value = parmObj.getValue()
2808 value = parmObj.getValue()
2809 value = str(value)[1:-1]
2809 value = str(value)[1:-1]
2810 self.volOpProfile.setText(value)
2810 self.volOpProfile.setText(value)
2811 self.volOpProfile.setEnabled(True)
2811 self.volOpProfile.setEnabled(True)
2812 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2812 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2813 self.volOpComProfile.setCurrentIndex(1)
2813 self.volOpComProfile.setCurrentIndex(1)
2814
2814
2815 if parmObj.name == "rangeList":
2815 if parmObj.name == "rangeList":
2816 value = parmObj.getValue()
2816 value = parmObj.getValue()
2817 value = str(value)[1:-1]
2817 value = str(value)[1:-1]
2818 self.volOpProfile.setText(value)
2818 self.volOpProfile.setText(value)
2819 self.volOpProfile.setEnabled(True)
2819 self.volOpProfile.setEnabled(True)
2820 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2820 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2821 self.volOpComProfile.setCurrentIndex(2)
2821 self.volOpComProfile.setCurrentIndex(2)
2822
2822
2823 opObj = puObj.getOperationObj(name="Decoder")
2823 opObj = puObj.getOperationObj(name="Decoder")
2824 self.volOpCode.setText("")
2824 self.volOpCode.setText("")
2825 if opObj == None:
2825 if opObj == None:
2826 self.volOpCebDecodification.setCheckState(0)
2826 self.volOpCebDecodification.setCheckState(0)
2827 else:
2827 else:
2828 self.volOpCebDecodification.setCheckState(QtCore.Qt.Checked)
2828 self.volOpCebDecodification.setCheckState(QtCore.Qt.Checked)
2829
2829
2830 parmObj = opObj.getParameterObj('code')
2830 parmObj = opObj.getParameterObj('code')
2831
2831
2832 if parmObj == None:
2832 if parmObj == None:
2833 self.volOpComCode.setCurrentIndex(0)
2833 self.volOpComCode.setCurrentIndex(0)
2834 else:
2834 else:
2835
2835
2836 parmObj1 = opObj.getParameterObj('nCode')
2836 parmObj1 = opObj.getParameterObj('nCode')
2837 parmObj2 = opObj.getParameterObj('nBaud')
2837 parmObj2 = opObj.getParameterObj('nBaud')
2838
2838
2839 if parmObj1 == None or parmObj2 == None:
2839 if parmObj1 == None or parmObj2 == None:
2840 self.volOpComCode.setCurrentIndex(0)
2840 self.volOpComCode.setCurrentIndex(0)
2841 else:
2841 else:
2842 code = ast.literal_eval(str(parmObj.getValue()))
2842 code = ast.literal_eval(str(parmObj.getValue()))
2843 nCode = parmObj1.getValue()
2843 nCode = parmObj1.getValue()
2844 nBaud = parmObj2.getValue()
2844 nBaud = parmObj2.getValue()
2845
2845
2846 code = numpy.asarray(code).reshape((nCode, nBaud)).tolist()
2846 code = numpy.asarray(code).reshape((nCode, nBaud)).tolist()
2847
2847
2848 #User defined by default
2848 #User defined by default
2849 self.volOpComCode.setCurrentIndex(13)
2849 self.volOpComCode.setCurrentIndex(13)
2850 self.volOpCode.setText(str(code))
2850 self.volOpCode.setText(str(code))
2851
2851
2852 if nCode == 1:
2852 if nCode == 1:
2853 if nBaud == 3:
2853 if nBaud == 3:
2854 self.volOpComCode.setCurrentIndex(1)
2854 self.volOpComCode.setCurrentIndex(1)
2855 if nBaud == 4:
2855 if nBaud == 4:
2856 self.volOpComCode.setCurrentIndex(2)
2856 self.volOpComCode.setCurrentIndex(2)
2857 if nBaud == 5:
2857 if nBaud == 5:
2858 self.volOpComCode.setCurrentIndex(3)
2858 self.volOpComCode.setCurrentIndex(3)
2859 if nBaud == 7:
2859 if nBaud == 7:
2860 self.volOpComCode.setCurrentIndex(4)
2860 self.volOpComCode.setCurrentIndex(4)
2861 if nBaud == 11:
2861 if nBaud == 11:
2862 self.volOpComCode.setCurrentIndex(5)
2862 self.volOpComCode.setCurrentIndex(5)
2863 if nBaud == 13:
2863 if nBaud == 13:
2864 self.volOpComCode.setCurrentIndex(6)
2864 self.volOpComCode.setCurrentIndex(6)
2865
2865
2866 if nCode == 2:
2866 if nCode == 2:
2867 if nBaud == 3:
2867 if nBaud == 3:
2868 self.volOpComCode.setCurrentIndex(7)
2868 self.volOpComCode.setCurrentIndex(7)
2869 if nBaud == 4:
2869 if nBaud == 4:
2870 self.volOpComCode.setCurrentIndex(8)
2870 self.volOpComCode.setCurrentIndex(8)
2871 if nBaud == 5:
2871 if nBaud == 5:
2872 self.volOpComCode.setCurrentIndex(9)
2872 self.volOpComCode.setCurrentIndex(9)
2873 if nBaud == 7:
2873 if nBaud == 7:
2874 self.volOpComCode.setCurrentIndex(10)
2874 self.volOpComCode.setCurrentIndex(10)
2875 if nBaud == 11:
2875 if nBaud == 11:
2876 self.volOpComCode.setCurrentIndex(11)
2876 self.volOpComCode.setCurrentIndex(11)
2877 if nBaud == 13:
2877 if nBaud == 13:
2878 self.volOpComCode.setCurrentIndex(12)
2878 self.volOpComCode.setCurrentIndex(12)
2879
2879
2880
2880
2881 opObj = puObj.getOperationObj(name="deFlip")
2881 opObj = puObj.getOperationObj(name="deFlip")
2882 if opObj == None:
2882 if opObj == None:
2883 self.volOpFlip.clear()
2883 self.volOpFlip.clear()
2884 self.volOpFlip.setEnabled(False)
2884 self.volOpFlip.setEnabled(False)
2885 self.volOpCebFlip.setCheckState(0)
2885 self.volOpCebFlip.setCheckState(0)
2886 else:
2886 else:
2887 try:
2887 try:
2888 value = opObj.getParameterValue(parameterName='channelList')
2888 value = opObj.getParameterValue(parameterName='channelList')
2889 value = str(value)[1:-1]
2889 value = str(value)[1:-1]
2890 except:
2890 except:
2891 value = ""
2891 value = ""
2892
2892
2893 self.volOpFlip.setText(value)
2893 self.volOpFlip.setText(value)
2894 self.volOpFlip.setEnabled(True)
2894 self.volOpFlip.setEnabled(True)
2895 self.volOpCebFlip.setCheckState(QtCore.Qt.Checked)
2895 self.volOpCebFlip.setCheckState(QtCore.Qt.Checked)
2896
2896
2897 opObj = puObj.getOperationObj(name="CohInt")
2897 opObj = puObj.getOperationObj(name="CohInt")
2898 if opObj == None:
2898 if opObj == None:
2899 self.volOpCohInt.clear()
2899 self.volOpCohInt.clear()
2900 self.volOpCebCohInt.setCheckState(0)
2900 self.volOpCebCohInt.setCheckState(0)
2901 else:
2901 else:
2902 value = opObj.getParameterValue(parameterName='n')
2902 value = opObj.getParameterValue(parameterName='n')
2903 self.volOpCohInt.setText(str(value))
2903 self.volOpCohInt.setText(str(value))
2904 self.volOpCohInt.setEnabled(True)
2904 self.volOpCohInt.setEnabled(True)
2905 self.volOpCebCohInt.setCheckState(QtCore.Qt.Checked)
2905 self.volOpCebCohInt.setCheckState(QtCore.Qt.Checked)
2906
2906
2907 opObj = puObj.getOperationObj(name='Scope')
2907 opObj = puObj.getOperationObj(name='Scope')
2908 if opObj == None:
2908 if opObj == None:
2909 self.volGraphCebshow.setCheckState(0)
2909 self.volGraphCebshow.setCheckState(0)
2910 else:
2910 else:
2911 self.volGraphCebshow.setCheckState(QtCore.Qt.Checked)
2911 self.volGraphCebshow.setCheckState(QtCore.Qt.Checked)
2912
2912
2913 parmObj = opObj.getParameterObj(parameterName='channelList')
2913 parmObj = opObj.getParameterObj(parameterName='channelList')
2914
2914
2915 if parmObj == None:
2915 if parmObj == None:
2916 self.volGraphChannelList.clear()
2916 self.volGraphChannelList.clear()
2917 else:
2917 else:
2918 value = parmObj.getValue()
2918 value = parmObj.getValue()
2919 value = str(value)
2919 value = str(value)
2920 self.volGraphChannelList.setText(value)
2920 self.volGraphChannelList.setText(value)
2921 self.volOpProfile.setEnabled(True)
2921 self.volOpProfile.setEnabled(True)
2922
2922
2923 parmObj1 = opObj.getParameterObj(parameterName='xmin')
2923 parmObj1 = opObj.getParameterObj(parameterName='xmin')
2924 parmObj2 = opObj.getParameterObj(parameterName='xmax')
2924 parmObj2 = opObj.getParameterObj(parameterName='xmax')
2925
2925
2926 if parmObj1 == None or parmObj2 ==None:
2926 if parmObj1 == None or parmObj2 ==None:
2927 self.volGraphfreqrange.clear()
2927 self.volGraphfreqrange.clear()
2928 else:
2928 else:
2929 value1 = parmObj1.getValue()
2929 value1 = parmObj1.getValue()
2930 value1 = str(value1)
2930 value1 = str(value1)
2931 value2 = parmObj2.getValue()
2931 value2 = parmObj2.getValue()
2932 value2 = str(value2)
2932 value2 = str(value2)
2933 value = value1 + "," + value2
2933 value = value1 + "," + value2
2934 self.volGraphfreqrange.setText(value)
2934 self.volGraphfreqrange.setText(value)
2935
2935
2936 parmObj1 = opObj.getParameterObj(parameterName='ymin')
2936 parmObj1 = opObj.getParameterObj(parameterName='ymin')
2937 parmObj2 = opObj.getParameterObj(parameterName='ymax')
2937 parmObj2 = opObj.getParameterObj(parameterName='ymax')
2938
2938
2939 if parmObj1 == None or parmObj2 ==None:
2939 if parmObj1 == None or parmObj2 ==None:
2940 self.volGraphHeightrange.clear()
2940 self.volGraphHeightrange.clear()
2941 else:
2941 else:
2942 value1 = parmObj1.getValue()
2942 value1 = parmObj1.getValue()
2943 value1 = str(value1)
2943 value1 = str(value1)
2944 value2 = parmObj2.getValue()
2944 value2 = parmObj2.getValue()
2945 value2 = str(value2)
2945 value2 = str(value2)
2946 value = value1 + "," + value2
2946 value = value1 + "," + value2
2947 value2 = str(value2)
2947 value2 = str(value2)
2948 self.volGraphHeightrange.setText(value)
2948 self.volGraphHeightrange.setText(value)
2949
2949
2950 parmObj = opObj.getParameterObj(parameterName='save')
2950 parmObj = opObj.getParameterObj(parameterName='save')
2951
2951
2952 if parmObj == None:
2952 if parmObj == None:
2953 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2953 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2954 else:
2954 else:
2955 value = parmObj.getValue()
2955 value = parmObj.getValue()
2956 if int(value):
2956 if value:
2957 self.volGraphCebSave.setCheckState(QtCore.Qt.Checked)
2957 self.volGraphCebSave.setCheckState(QtCore.Qt.Checked)
2958 else:
2958 else:
2959 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2959 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2960
2960
2961 parmObj = opObj.getParameterObj(parameterName='figpath')
2961 parmObj = opObj.getParameterObj(parameterName='figpath')
2962 if parmObj == None:
2962 if parmObj == None:
2963 self.volGraphPath.clear()
2963 self.volGraphPath.clear()
2964 else:
2964 else:
2965 value = parmObj.getValue()
2965 value = parmObj.getValue()
2966 path = str(value)
2966 path = str(value)
2967 self.volGraphPath.setText(path)
2967 self.volGraphPath.setText(path)
2968
2968
2969 parmObj = opObj.getParameterObj(parameterName='figfile')
2969 parmObj = opObj.getParameterObj(parameterName='figfile')
2970 if parmObj == None:
2970 if parmObj == None:
2971 self.volGraphPrefix.clear()
2971 self.volGraphPrefix.clear()
2972 else:
2972 else:
2973 value = parmObj.getValue()
2973 value = parmObj.getValue()
2974 figfile = str(value)
2974 figfile = str(value)
2975 self.volGraphPrefix.setText(figfile)
2975 self.volGraphPrefix.setText(figfile)
2976
2976
2977 # outputVoltageWrite
2977 # outputVoltageWrite
2978 opObj = puObj.getOperationObj(name='VoltageWriter')
2978 opObj = puObj.getOperationObj(name='VoltageWriter')
2979
2979
2980 if opObj == None:
2980 if opObj == None:
2981 self.volOutputPath.clear()
2981 self.volOutputPath.clear()
2982 self.volOutputblocksperfile.clear()
2982 self.volOutputblocksperfile.clear()
2983 self.volOutputprofilesperblock.clear()
2983 self.volOutputprofilesperblock.clear()
2984 else:
2984 else:
2985 parmObj = opObj.getParameterObj(parameterName='path')
2985 parmObj = opObj.getParameterObj(parameterName='path')
2986 if parmObj == None:
2986 if parmObj == None:
2987 self.volOutputPath.clear()
2987 self.volOutputPath.clear()
2988 else:
2988 else:
2989 value = parmObj.getValue()
2989 value = parmObj.getValue()
2990 path = str(value)
2990 path = str(value)
2991 self.volOutputPath.setText(path)
2991 self.volOutputPath.setText(path)
2992
2992
2993 parmObj = opObj.getParameterObj(parameterName='blocksPerFile')
2993 parmObj = opObj.getParameterObj(parameterName='blocksPerFile')
2994 if parmObj == None:
2994 if parmObj == None:
2995 self.volOutputblocksperfile.clear()
2995 self.volOutputblocksperfile.clear()
2996 else:
2996 else:
2997 value = parmObj.getValue()
2997 value = parmObj.getValue()
2998 blocksperfile = str(value)
2998 blocksperfile = str(value)
2999 self.volOutputblocksperfile.setText(blocksperfile)
2999 self.volOutputblocksperfile.setText(blocksperfile)
3000
3000
3001 parmObj = opObj.getParameterObj(parameterName='profilesPerBlock')
3001 parmObj = opObj.getParameterObj(parameterName='profilesPerBlock')
3002 if parmObj == None:
3002 if parmObj == None:
3003 self.volOutputprofilesperblock.clear()
3003 self.volOutputprofilesperblock.clear()
3004 else:
3004 else:
3005 value = parmObj.getValue()
3005 value = parmObj.getValue()
3006 profilesPerBlock = str(value)
3006 profilesPerBlock = str(value)
3007 self.volOutputprofilesperblock.setText(profilesPerBlock)
3007 self.volOutputprofilesperblock.setText(profilesPerBlock)
3008
3008
3009 return
3009 return
3010
3010
3011 def __refreshSpectraWindow(self, puObj):
3011 def __refreshSpectraWindow(self, puObj):
3012
3012
3013 inputId = puObj.getInputId()
3013 inputId = puObj.getInputId()
3014 inputPUObj = self.__puObjDict[inputId]
3014 inputPUObj = self.__puObjDict[inputId]
3015
3015
3016 if inputPUObj.datatype == 'Voltage':
3016 if inputPUObj.datatype == 'Voltage':
3017 self.specOpnFFTpoints.setEnabled(True)
3017 self.specOpnFFTpoints.setEnabled(True)
3018 self.specOpProfiles.setEnabled(True)
3018 self.specOpProfiles.setEnabled(True)
3019 self.specOpippFactor.setEnabled(True)
3019 self.specOpippFactor.setEnabled(True)
3020 else:
3020 else:
3021 self.specOpnFFTpoints.setEnabled(False)
3021 self.specOpnFFTpoints.setEnabled(False)
3022 self.specOpProfiles.setEnabled(False)
3022 self.specOpProfiles.setEnabled(False)
3023 self.specOpippFactor.setEnabled(False)
3023 self.specOpippFactor.setEnabled(False)
3024
3024
3025 opObj = puObj.getOperationObj(name='setRadarFrequency')
3025 opObj = puObj.getOperationObj(name='setRadarFrequency')
3026 if opObj == None:
3026 if opObj == None:
3027 self.specOpRadarfrequency.clear()
3027 self.specOpRadarfrequency.clear()
3028 self.specOpCebRadarfrequency.setCheckState(0)
3028 self.specOpCebRadarfrequency.setCheckState(0)
3029 else:
3029 else:
3030 value = opObj.getParameterValue(parameterName='frequency')
3030 value = opObj.getParameterValue(parameterName='frequency')
3031 value = str(float(value)/1e6)
3031 value = str(float(value)/1e6)
3032 self.specOpRadarfrequency.setText(value)
3032 self.specOpRadarfrequency.setText(value)
3033 self.specOpRadarfrequency.setEnabled(True)
3033 self.specOpRadarfrequency.setEnabled(True)
3034 self.specOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
3034 self.specOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
3035
3035
3036 opObj = puObj.getOperationObj(name="run")
3036 opObj = puObj.getOperationObj(name="run")
3037 if opObj == None:
3037 if opObj == None:
3038 self.specOpnFFTpoints.clear()
3038 self.specOpnFFTpoints.clear()
3039 self.specOpProfiles.clear()
3039 self.specOpProfiles.clear()
3040 self.specOpippFactor.clear()
3040 self.specOpippFactor.clear()
3041 else:
3041 else:
3042 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
3042 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
3043 if parmObj == None:
3043 if parmObj == None:
3044 self.specOpnFFTpoints.clear()
3044 self.specOpnFFTpoints.clear()
3045 else:
3045 else:
3046 self.specOpnFFTpoints.setEnabled(True)
3046 self.specOpnFFTpoints.setEnabled(True)
3047 value = opObj.getParameterValue(parameterName='nFFTPoints')
3047 value = opObj.getParameterValue(parameterName='nFFTPoints')
3048 self.specOpnFFTpoints.setText(str(value))
3048 self.specOpnFFTpoints.setText(str(value))
3049
3049
3050 parmObj = opObj.getParameterObj(parameterName='nProfiles')
3050 parmObj = opObj.getParameterObj(parameterName='nProfiles')
3051 if parmObj == None:
3051 if parmObj == None:
3052 self.specOpProfiles.clear()
3052 self.specOpProfiles.clear()
3053 else:
3053 else:
3054 self.specOpProfiles.setEnabled(True)
3054 self.specOpProfiles.setEnabled(True)
3055 value = opObj.getParameterValue(parameterName='nProfiles')
3055 value = opObj.getParameterValue(parameterName='nProfiles')
3056 self.specOpProfiles.setText(str(value))
3056 self.specOpProfiles.setText(str(value))
3057
3057
3058 parmObj = opObj.getParameterObj(parameterName='ippFactor')
3058 parmObj = opObj.getParameterObj(parameterName='ippFactor')
3059 if parmObj == None:
3059 if parmObj == None:
3060 self.specOpippFactor.clear()
3060 self.specOpippFactor.clear()
3061 else:
3061 else:
3062 self.specOpippFactor.setEnabled(True)
3062 self.specOpippFactor.setEnabled(True)
3063 value = opObj.getParameterValue(parameterName='ippFactor')
3063 value = opObj.getParameterValue(parameterName='ippFactor')
3064 self.specOpippFactor.setText(str(value))
3064 self.specOpippFactor.setText(str(value))
3065
3065
3066 opObj = puObj.getOperationObj(name="run")
3066 opObj = puObj.getOperationObj(name="run")
3067 if opObj == None:
3067 if opObj == None:
3068 self.specOppairsList.clear()
3068 self.specOppairsList.clear()
3069 self.specOpCebCrossSpectra.setCheckState(0)
3069 self.specOpCebCrossSpectra.setCheckState(0)
3070 else:
3070 else:
3071 parmObj = opObj.getParameterObj(parameterName='pairsList')
3071 parmObj = opObj.getParameterObj(parameterName='pairsList')
3072 if parmObj == None:
3072 if parmObj == None:
3073 self.specOppairsList.clear()
3073 self.specOppairsList.clear()
3074 self.specOpCebCrossSpectra.setCheckState(0)
3074 self.specOpCebCrossSpectra.setCheckState(0)
3075 else:
3075 else:
3076 value = opObj.getParameterValue(parameterName='pairsList')
3076 value = opObj.getParameterValue(parameterName='pairsList')
3077 value = str(value)[1:-1]
3077 value = str(value)[1:-1]
3078 self.specOppairsList.setText(str(value))
3078 self.specOppairsList.setText(str(value))
3079 self.specOppairsList.setEnabled(True)
3079 self.specOppairsList.setEnabled(True)
3080 self.specOpCebCrossSpectra.setCheckState(QtCore.Qt.Checked)
3080 self.specOpCebCrossSpectra.setCheckState(QtCore.Qt.Checked)
3081
3081
3082 opObj = puObj.getOperationObj(name="selectChannels")
3082 opObj = puObj.getOperationObj(name="selectChannels")
3083
3083
3084 if opObj == None:
3084 if opObj == None:
3085 opObj = puObj.getOperationObj(name="selectChannelsByIndex")
3085 opObj = puObj.getOperationObj(name="selectChannelsByIndex")
3086
3086
3087 if opObj == None:
3087 if opObj == None:
3088 self.specOpChannel.clear()
3088 self.specOpChannel.clear()
3089 self.specOpCebChannel.setCheckState(0)
3089 self.specOpCebChannel.setCheckState(0)
3090 else:
3090 else:
3091 channelEnabled = False
3091 channelEnabled = False
3092 try:
3092 try:
3093 value = opObj.getParameterValue(parameterName='channelList')
3093 value = opObj.getParameterValue(parameterName='channelList')
3094 value = str(value)[1:-1]
3094 value = str(value)[1:-1]
3095 channelEnabled = True
3095 channelEnabled = True
3096 channelMode = 0
3096 channelMode = 0
3097 except:
3097 except:
3098 pass
3098 pass
3099 try:
3099 try:
3100 value = opObj.getParameterValue(parameterName='channelIndexList')
3100 value = opObj.getParameterValue(parameterName='channelIndexList')
3101 value = str(value)[1:-1]
3101 value = str(value)[1:-1]
3102 channelEnabled = True
3102 channelEnabled = True
3103 channelMode = 1
3103 channelMode = 1
3104 except:
3104 except:
3105 pass
3105 pass
3106
3106
3107 if channelEnabled:
3107 if channelEnabled:
3108 self.specOpChannel.setText(value)
3108 self.specOpChannel.setText(value)
3109 self.specOpChannel.setEnabled(True)
3109 self.specOpChannel.setEnabled(True)
3110 self.specOpCebChannel.setCheckState(QtCore.Qt.Checked)
3110 self.specOpCebChannel.setCheckState(QtCore.Qt.Checked)
3111 self.specOpComChannel.setCurrentIndex(channelMode)
3111 self.specOpComChannel.setCurrentIndex(channelMode)
3112
3112
3113 opObj = puObj.getOperationObj(name="selectHeights")
3113 opObj = puObj.getOperationObj(name="selectHeights")
3114 if opObj == None:
3114 if opObj == None:
3115 self.specOpHeights.clear()
3115 self.specOpHeights.clear()
3116 self.specOpCebHeights.setCheckState(0)
3116 self.specOpCebHeights.setCheckState(0)
3117 else:
3117 else:
3118 value1 = int(opObj.getParameterValue(parameterName='minHei'))
3118 value1 = int(opObj.getParameterValue(parameterName='minHei'))
3119 value1 = str(value1)
3119 value1 = str(value1)
3120 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
3120 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
3121 value2 = str(value2)
3121 value2 = str(value2)
3122 value = value1 + "," + value2
3122 value = value1 + "," + value2
3123 self.specOpHeights.setText(value)
3123 self.specOpHeights.setText(value)
3124 self.specOpHeights.setEnabled(True)
3124 self.specOpHeights.setEnabled(True)
3125 self.specOpCebHeights.setCheckState(QtCore.Qt.Checked)
3125 self.specOpCebHeights.setCheckState(QtCore.Qt.Checked)
3126
3126
3127 opObj = puObj.getOperationObj(name="IncohInt")
3127 opObj = puObj.getOperationObj(name="IncohInt")
3128 if opObj == None:
3128 if opObj == None:
3129 self.specOpIncoherent.clear()
3129 self.specOpIncoherent.clear()
3130 self.specOpCebIncoherent.setCheckState(0)
3130 self.specOpCebIncoherent.setCheckState(0)
3131 else:
3131 else:
3132 for parmObj in opObj.getParameterObjList():
3132 for parmObj in opObj.getParameterObjList():
3133 if parmObj.name == 'timeInterval':
3133 if parmObj.name == 'timeInterval':
3134 value = opObj.getParameterValue(parameterName='timeInterval')
3134 value = opObj.getParameterValue(parameterName='timeInterval')
3135 value = float(value)
3136 self.specOpIncoherent.setText(str(value))
3135 self.specOpIncoherent.setText(str(value))
3137 self.specOpIncoherent.setEnabled(True)
3136 self.specOpIncoherent.setEnabled(True)
3138 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3137 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3139 self.specOpCobIncInt.setCurrentIndex(0)
3138 self.specOpCobIncInt.setCurrentIndex(0)
3140
3139
3141 if parmObj.name == 'n':
3140 if parmObj.name == 'n':
3142 value = opObj.getParameterValue(parameterName='n')
3141 value = opObj.getParameterValue(parameterName='n')
3143 value = float(value)
3144 self.specOpIncoherent.setText(str(value))
3142 self.specOpIncoherent.setText(str(value))
3145 self.specOpIncoherent.setEnabled(True)
3143 self.specOpIncoherent.setEnabled(True)
3146 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3144 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3147 self.specOpCobIncInt.setCurrentIndex(1)
3145 self.specOpCobIncInt.setCurrentIndex(1)
3148
3146
3149 opObj = puObj.getOperationObj(name="removeDC")
3147 opObj = puObj.getOperationObj(name="removeDC")
3150 if opObj == None:
3148 if opObj == None:
3151 self.specOpCebRemoveDC.setCheckState(0)
3149 self.specOpCebRemoveDC.setCheckState(0)
3152 else:
3150 else:
3153 self.specOpCebRemoveDC.setCheckState(QtCore.Qt.Checked)
3151 self.specOpCebRemoveDC.setCheckState(QtCore.Qt.Checked)
3154 value = opObj.getParameterValue(parameterName='mode')
3152 value = opObj.getParameterValue(parameterName='mode')
3155 if value == 1:
3153 if value == 1:
3156 self.specOpComRemoveDC.setCurrentIndex(0)
3154 self.specOpComRemoveDC.setCurrentIndex(0)
3157 elif value == 2:
3155 elif value == 2:
3158 self.specOpComRemoveDC.setCurrentIndex(1)
3156 self.specOpComRemoveDC.setCurrentIndex(1)
3159
3157
3160 opObj = puObj.getOperationObj(name="removeInterference")
3158 opObj = puObj.getOperationObj(name="removeInterference")
3161 if opObj == None:
3159 if opObj == None:
3162 self.specOpCebRemoveInt.setCheckState(0)
3160 self.specOpCebRemoveInt.setCheckState(0)
3163 else:
3161 else:
3164 self.specOpCebRemoveInt.setCheckState(QtCore.Qt.Checked)
3162 self.specOpCebRemoveInt.setCheckState(QtCore.Qt.Checked)
3165
3163
3166 opObj = puObj.getOperationObj(name='getNoise')
3164 opObj = puObj.getOperationObj(name='getNoise')
3167 if opObj == None:
3165 if opObj == None:
3168 self.specOpCebgetNoise.setCheckState(0)
3166 self.specOpCebgetNoise.setCheckState(0)
3169 self.specOpgetNoise.clear()
3167 self.specOpgetNoise.clear()
3170 else:
3168 else:
3171 self.specOpCebgetNoise.setCheckState(QtCore.Qt.Checked)
3169 self.specOpCebgetNoise.setCheckState(QtCore.Qt.Checked)
3172 parmObj = opObj.getParameterObj(parameterName='minHei')
3170 parmObj = opObj.getParameterObj(parameterName='minHei')
3173 if parmObj == None:
3171 if parmObj == None:
3174 self.specOpgetNoise.clear()
3172 self.specOpgetNoise.clear()
3175 value1 = None
3173 value1 = None
3176 else:
3174 else:
3177 value1 = opObj.getParameterValue(parameterName='minHei')
3175 value1 = opObj.getParameterValue(parameterName='minHei')
3178 value1 = str(value1)
3176 value1 = str(value1)
3179 parmObj = opObj.getParameterObj(parameterName='maxHei')
3177 parmObj = opObj.getParameterObj(parameterName='maxHei')
3180 if parmObj == None:
3178 if parmObj == None:
3181 value2 = None
3179 value2 = None
3182 value = value1
3180 value = value1
3183 self.specOpgetNoise.setText(value)
3181 self.specOpgetNoise.setText(value)
3184 self.specOpgetNoise.setEnabled(True)
3182 self.specOpgetNoise.setEnabled(True)
3185 else:
3183 else:
3186 value2 = opObj.getParameterValue(parameterName='maxHei')
3184 value2 = opObj.getParameterValue(parameterName='maxHei')
3187 value2 = str(value2)
3185 value2 = str(value2)
3188 parmObj = opObj.getParameterObj(parameterName='minVel')
3186 parmObj = opObj.getParameterObj(parameterName='minVel')
3189 if parmObj == None:
3187 if parmObj == None:
3190 value3 = None
3188 value3 = None
3191 value = value1 + "," + value2
3189 value = value1 + "," + value2
3192 self.specOpgetNoise.setText(value)
3190 self.specOpgetNoise.setText(value)
3193 self.specOpgetNoise.setEnabled(True)
3191 self.specOpgetNoise.setEnabled(True)
3194 else:
3192 else:
3195 value3 = opObj.getParameterValue(parameterName='minVel')
3193 value3 = opObj.getParameterValue(parameterName='minVel')
3196 value3 = str(value3)
3194 value3 = str(value3)
3197 parmObj = opObj.getParameterObj(parameterName='maxVel')
3195 parmObj = opObj.getParameterObj(parameterName='maxVel')
3198 if parmObj == None:
3196 if parmObj == None:
3199 value4 = None
3197 value4 = None
3200 value = value1 + "," + value2 + "," + value3
3198 value = value1 + "," + value2 + "," + value3
3201 self.specOpgetNoise.setText(value)
3199 self.specOpgetNoise.setText(value)
3202 self.specOpgetNoise.setEnabled(True)
3200 self.specOpgetNoise.setEnabled(True)
3203 else:
3201 else:
3204 value4 = opObj.getParameterValue(parameterName='maxVel')
3202 value4 = opObj.getParameterValue(parameterName='maxVel')
3205 value4 = str(value4)
3203 value4 = str(value4)
3206 value = value1 + "," + value2 + "," + value3 + ',' + value4
3204 value = value1 + "," + value2 + "," + value3 + ',' + value4
3207 self.specOpgetNoise.setText(value)
3205 self.specOpgetNoise.setText(value)
3208 self.specOpgetNoise.setEnabled(True)
3206 self.specOpgetNoise.setEnabled(True)
3209
3207
3210 self.specGraphPath.clear()
3208 self.specGraphPath.clear()
3211 self.specGraphPrefix.clear()
3209 self.specGraphPrefix.clear()
3212 self.specGgraphFreq.clear()
3210 self.specGgraphFreq.clear()
3213 self.specGgraphHeight.clear()
3211 self.specGgraphHeight.clear()
3214 self.specGgraphDbsrange.clear()
3212 self.specGgraphDbsrange.clear()
3215 self.specGgraphmagnitud.clear()
3213 self.specGgraphmagnitud.clear()
3216 self.specGgraphPhase.clear()
3214 self.specGgraphPhase.clear()
3217 self.specGgraphChannelList.clear()
3215 self.specGgraphChannelList.clear()
3218 self.specGgraphTminTmax.clear()
3216 self.specGgraphTminTmax.clear()
3219 self.specGgraphTimeRange.clear()
3217 self.specGgraphTimeRange.clear()
3220 self.specGgraphftpratio.clear()
3218 self.specGgraphftpratio.clear()
3221
3219
3222 opObj = puObj.getOperationObj(name='SpectraPlot')
3220 opObj = puObj.getOperationObj(name='SpectraPlot')
3223
3221
3224 if opObj == None:
3222 if opObj == None:
3225 self.specGraphCebSpectraplot.setCheckState(0)
3223 self.specGraphCebSpectraplot.setCheckState(0)
3226 self.specGraphSaveSpectra.setCheckState(0)
3224 self.specGraphSaveSpectra.setCheckState(0)
3227 self.specGraphftpSpectra.setCheckState(0)
3225 self.specGraphftpSpectra.setCheckState(0)
3228 else:
3226 else:
3229 operationSpectraPlot = "Enable"
3227 operationSpectraPlot = "Enable"
3230 self.specGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3228 self.specGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3231 parmObj = opObj.getParameterObj(parameterName='channelList')
3229 parmObj = opObj.getParameterObj(parameterName='channelList')
3232 if parmObj == None:
3230 if parmObj == None:
3233 self.specGgraphChannelList.clear()
3231 self.specGgraphChannelList.clear()
3234 else:
3232 else:
3235 value = opObj.getParameterValue(parameterName='channelList')
3233 value = opObj.getParameterValue(parameterName='channelList')
3236 channelListSpectraPlot = str(value)[1:-1]
3234 channelListSpectraPlot = str(value)[1:-1]
3237 self.specGgraphChannelList.setText(channelListSpectraPlot)
3235 self.specGgraphChannelList.setText(channelListSpectraPlot)
3238 self.specGgraphChannelList.setEnabled(True)
3236 self.specGgraphChannelList.setEnabled(True)
3239
3237
3240 parmObj = opObj.getParameterObj(parameterName='xmin')
3238 parmObj = opObj.getParameterObj(parameterName='xmin')
3241 if parmObj == None:
3239 if parmObj == None:
3242 self.specGgraphFreq.clear()
3240 self.specGgraphFreq.clear()
3243 else:
3241 else:
3244 value1 = opObj.getParameterValue(parameterName='xmin')
3242 value1 = opObj.getParameterValue(parameterName='xmin')
3245 value1 = str(value1)
3243 value1 = str(value1)
3246 value2 = opObj.getParameterValue(parameterName='xmax')
3244 value2 = opObj.getParameterValue(parameterName='xmax')
3247 value2 = str(value2)
3245 value2 = str(value2)
3248 value = value1 + "," + value2
3246 value = value1 + "," + value2
3249 self.specGgraphFreq.setText(value)
3247 self.specGgraphFreq.setText(value)
3250 self.specGgraphFreq.setEnabled(True)
3248 self.specGgraphFreq.setEnabled(True)
3251
3249
3252 parmObj = opObj.getParameterObj(parameterName='ymin')
3250 parmObj = opObj.getParameterObj(parameterName='ymin')
3253 if parmObj == None:
3251 if parmObj == None:
3254 self.specGgraphHeight.clear()
3252 self.specGgraphHeight.clear()
3255 else:
3253 else:
3256 value1 = opObj.getParameterValue(parameterName='ymin')
3254 value1 = opObj.getParameterValue(parameterName='ymin')
3257 value1 = str(value1)
3255 value1 = str(value1)
3258 value2 = opObj.getParameterValue(parameterName='ymax')
3256 value2 = opObj.getParameterValue(parameterName='ymax')
3259 value2 = str(value2)
3257 value2 = str(value2)
3260 value = value1 + "," + value2
3258 value = value1 + "," + value2
3261 self.specGgraphHeight.setText(value)
3259 self.specGgraphHeight.setText(value)
3262 self.specGgraphHeight.setEnabled(True)
3260 self.specGgraphHeight.setEnabled(True)
3263
3261
3264 parmObj = opObj.getParameterObj(parameterName='zmin')
3262 parmObj = opObj.getParameterObj(parameterName='zmin')
3265 if parmObj == None:
3263 if parmObj == None:
3266 self.specGgraphDbsrange.clear()
3264 self.specGgraphDbsrange.clear()
3267 else:
3265 else:
3268 value1 = opObj.getParameterValue(parameterName='zmin')
3266 value1 = opObj.getParameterValue(parameterName='zmin')
3269 value1 = str(value1)
3267 value1 = str(value1)
3270 value2 = opObj.getParameterValue(parameterName='zmax')
3268 value2 = opObj.getParameterValue(parameterName='zmax')
3271 value2 = str(value2)
3269 value2 = str(value2)
3272 value = value1 + "," + value2
3270 value = value1 + "," + value2
3273 self.specGgraphDbsrange.setText(value)
3271 self.specGgraphDbsrange.setText(value)
3274 self.specGgraphDbsrange.setEnabled(True)
3272 self.specGgraphDbsrange.setEnabled(True)
3275
3273
3276 parmObj = opObj.getParameterObj(parameterName="save")
3274 parmObj = opObj.getParameterObj(parameterName="save")
3277 if parmObj == None:
3275 if parmObj == None:
3278 self.specGraphSaveSpectra.setCheckState(0)
3276 self.specGraphSaveSpectra.setCheckState(0)
3279 else:
3277 else:
3280 self.specGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3278 self.specGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3281
3279
3282 parmObj = opObj.getParameterObj(parameterName="ftp")
3280 parmObj = opObj.getParameterObj(parameterName="ftp")
3283 if parmObj == None:
3281 if parmObj == None:
3284 self.specGraphftpSpectra.setCheckState(0)
3282 self.specGraphftpSpectra.setCheckState(0)
3285 else:
3283 else:
3286 self.specGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3284 self.specGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3287
3285
3288 parmObj = opObj.getParameterObj(parameterName="figpath")
3286 parmObj = opObj.getParameterObj(parameterName="figpath")
3289 if parmObj:
3287 if parmObj:
3290 value = parmObj.getValue()
3288 value = parmObj.getValue()
3291 self.specGraphPath.setText(value)
3289 self.specGraphPath.setText(value)
3292
3290
3293 parmObj = opObj.getParameterObj(parameterName="wr_period")
3291 parmObj = opObj.getParameterObj(parameterName="wr_period")
3294 if parmObj:
3292 if parmObj:
3295 value = parmObj.getValue()
3293 value = parmObj.getValue()
3296 self.specGgraphftpratio.setText(str(value))
3294 self.specGgraphftpratio.setText(str(value))
3297
3295
3298 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
3296 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
3299
3297
3300 if opObj == None:
3298 if opObj == None:
3301 self.specGraphCebCrossSpectraplot.setCheckState(0)
3299 self.specGraphCebCrossSpectraplot.setCheckState(0)
3302 self.specGraphSaveCross.setCheckState(0)
3300 self.specGraphSaveCross.setCheckState(0)
3303 self.specGraphftpCross.setCheckState(0)
3301 self.specGraphftpCross.setCheckState(0)
3304 else:
3302 else:
3305 operationCrossSpectraPlot = "Enable"
3303 operationCrossSpectraPlot = "Enable"
3306 self.specGraphCebCrossSpectraplot.setCheckState(QtCore.Qt.Checked)
3304 self.specGraphCebCrossSpectraplot.setCheckState(QtCore.Qt.Checked)
3307 parmObj = opObj.getParameterObj(parameterName='xmin')
3305 parmObj = opObj.getParameterObj(parameterName='xmin')
3308 if parmObj == None:
3306 if parmObj == None:
3309 self.specGgraphFreq.clear()
3307 self.specGgraphFreq.clear()
3310 else:
3308 else:
3311 value1 = opObj.getParameterValue(parameterName='xmin')
3309 value1 = opObj.getParameterValue(parameterName='xmin')
3312 value1 = str(value1)
3310 value1 = str(value1)
3313 value2 = opObj.getParameterValue(parameterName='xmax')
3311 value2 = opObj.getParameterValue(parameterName='xmax')
3314 value2 = str(value2)
3312 value2 = str(value2)
3315 value = value1 + "," + value2
3313 value = value1 + "," + value2
3316 self.specGgraphFreq.setText(value)
3314 self.specGgraphFreq.setText(value)
3317 self.specGgraphFreq.setEnabled(True)
3315 self.specGgraphFreq.setEnabled(True)
3318
3316
3319 parmObj = opObj.getParameterObj(parameterName='ymin')
3317 parmObj = opObj.getParameterObj(parameterName='ymin')
3320 if parmObj == None:
3318 if parmObj == None:
3321 self.specGgraphHeight.clear()
3319 self.specGgraphHeight.clear()
3322 else:
3320 else:
3323 value1 = opObj.getParameterValue(parameterName='ymin')
3321 value1 = opObj.getParameterValue(parameterName='ymin')
3324 value1 = str(value1)
3322 value1 = str(value1)
3325 value2 = opObj.getParameterValue(parameterName='ymax')
3323 value2 = opObj.getParameterValue(parameterName='ymax')
3326 value2 = str(value2)
3324 value2 = str(value2)
3327 value = value1 + "," + value2
3325 value = value1 + "," + value2
3328 self.specGgraphHeight.setText(value)
3326 self.specGgraphHeight.setText(value)
3329 self.specGgraphHeight.setEnabled(True)
3327 self.specGgraphHeight.setEnabled(True)
3330
3328
3331 parmObj = opObj.getParameterObj(parameterName='zmin')
3329 parmObj = opObj.getParameterObj(parameterName='zmin')
3332 if parmObj == None:
3330 if parmObj == None:
3333 self.specGgraphDbsrange.clear()
3331 self.specGgraphDbsrange.clear()
3334 else:
3332 else:
3335 value1 = opObj.getParameterValue(parameterName='zmin')
3333 value1 = opObj.getParameterValue(parameterName='zmin')
3336 value1 = str(value1)
3334 value1 = str(value1)
3337 value2 = opObj.getParameterValue(parameterName='zmax')
3335 value2 = opObj.getParameterValue(parameterName='zmax')
3338 value2 = str(value2)
3336 value2 = str(value2)
3339 value = value1 + "," + value2
3337 value = value1 + "," + value2
3340 self.specGgraphDbsrange.setText(value)
3338 self.specGgraphDbsrange.setText(value)
3341 self.specGgraphDbsrange.setEnabled(True)
3339 self.specGgraphDbsrange.setEnabled(True)
3342
3340
3343 parmObj = opObj.getParameterObj(parameterName='coh_min')
3341 parmObj = opObj.getParameterObj(parameterName='coh_min')
3344 if parmObj == None:
3342 if parmObj == None:
3345 self.specGgraphmagnitud.clear()
3343 self.specGgraphmagnitud.clear()
3346 else:
3344 else:
3347 value1 = opObj.getParameterValue(parameterName='coh_min')
3345 value1 = opObj.getParameterValue(parameterName='coh_min')
3348 value1 = str(value1)
3346 value1 = str(value1)
3349 value2 = opObj.getParameterValue(parameterName='coh_max')
3347 value2 = opObj.getParameterValue(parameterName='coh_max')
3350 value2 = str(value2)
3348 value2 = str(value2)
3351 value = value1 + "," + value2
3349 value = value1 + "," + value2
3352 self.specGgraphmagnitud.setText(value)
3350 self.specGgraphmagnitud.setText(value)
3353 self.specGgraphmagnitud.setEnabled(True)
3351 self.specGgraphmagnitud.setEnabled(True)
3354
3352
3355 parmObj = opObj.getParameterObj(parameterName='phase_min')
3353 parmObj = opObj.getParameterObj(parameterName='phase_min')
3356 if parmObj == None:
3354 if parmObj == None:
3357 self.specGgraphPhase.clear()
3355 self.specGgraphPhase.clear()
3358 else:
3356 else:
3359 value1 = opObj.getParameterValue(parameterName='phase_min')
3357 value1 = opObj.getParameterValue(parameterName='phase_min')
3360 value1 = str(value1)
3358 value1 = str(value1)
3361 value2 = opObj.getParameterValue(parameterName='phase_max')
3359 value2 = opObj.getParameterValue(parameterName='phase_max')
3362 value2 = str(value2)
3360 value2 = str(value2)
3363 value = value1 + "," + value2
3361 value = value1 + "," + value2
3364 self.specGgraphPhase.setText(value)
3362 self.specGgraphPhase.setText(value)
3365 self.specGgraphPhase.setEnabled(True)
3363 self.specGgraphPhase.setEnabled(True)
3366
3364
3367 parmObj = opObj.getParameterObj(parameterName="save")
3365 parmObj = opObj.getParameterObj(parameterName="save")
3368 if parmObj == None:
3366 if parmObj == None:
3369 self.specGraphSaveCross.setCheckState(0)
3367 self.specGraphSaveCross.setCheckState(0)
3370 else:
3368 else:
3371 self.specGraphSaveCross.setCheckState(QtCore.Qt.Checked)
3369 self.specGraphSaveCross.setCheckState(QtCore.Qt.Checked)
3372
3370
3373 parmObj = opObj.getParameterObj(parameterName="ftp")
3371 parmObj = opObj.getParameterObj(parameterName="ftp")
3374 if parmObj == None:
3372 if parmObj == None:
3375 self.specGraphftpCross.setCheckState(0)
3373 self.specGraphftpCross.setCheckState(0)
3376 else:
3374 else:
3377 self.specGraphftpCross.setCheckState(QtCore.Qt.Checked)
3375 self.specGraphftpCross.setCheckState(QtCore.Qt.Checked)
3378
3376
3379 parmObj = opObj.getParameterObj(parameterName="figpath")
3377 parmObj = opObj.getParameterObj(parameterName="figpath")
3380 if parmObj:
3378 if parmObj:
3381 value = parmObj.getValue()
3379 value = parmObj.getValue()
3382 self.specGraphPath.setText(value)
3380 self.specGraphPath.setText(value)
3383
3381
3384 parmObj = opObj.getParameterObj(parameterName="wr_period")
3382 parmObj = opObj.getParameterObj(parameterName="wr_period")
3385 if parmObj:
3383 if parmObj:
3386 value = parmObj.getValue()
3384 value = parmObj.getValue()
3387 self.specGgraphftpratio.setText(str(value))
3385 self.specGgraphftpratio.setText(str(value))
3388
3386
3389 opObj = puObj.getOperationObj(name='RTIPlot')
3387 opObj = puObj.getOperationObj(name='RTIPlot')
3390
3388
3391 if opObj == None:
3389 if opObj == None:
3392 self.specGraphCebRTIplot.setCheckState(0)
3390 self.specGraphCebRTIplot.setCheckState(0)
3393 self.specGraphSaveRTIplot.setCheckState(0)
3391 self.specGraphSaveRTIplot.setCheckState(0)
3394 self.specGraphftpRTIplot.setCheckState(0)
3392 self.specGraphftpRTIplot.setCheckState(0)
3395 else:
3393 else:
3396 self.specGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3394 self.specGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3397 parmObj = opObj.getParameterObj(parameterName='channelList')
3395 parmObj = opObj.getParameterObj(parameterName='channelList')
3398 if parmObj == None:
3396 if parmObj == None:
3399 self.specGgraphChannelList.clear()
3397 self.specGgraphChannelList.clear()
3400 else:
3398 else:
3401 value = opObj.getParameterValue(parameterName='channelList')
3399 value = opObj.getParameterValue(parameterName='channelList')
3402 channelListRTIPlot = str(value)[1:-1]
3400 channelListRTIPlot = str(value)[1:-1]
3403 self.specGgraphChannelList.setText(channelListRTIPlot)
3401 self.specGgraphChannelList.setText(channelListRTIPlot)
3404 self.specGgraphChannelList.setEnabled(True)
3402 self.specGgraphChannelList.setEnabled(True)
3405
3403
3406 parmObj = opObj.getParameterObj(parameterName='xmin')
3404 parmObj = opObj.getParameterObj(parameterName='xmin')
3407 if parmObj == None:
3405 if parmObj == None:
3408 self.specGgraphTminTmax.clear()
3406 self.specGgraphTminTmax.clear()
3409 else:
3407 else:
3410 value1 = opObj.getParameterValue(parameterName='xmin')
3408 value1 = opObj.getParameterValue(parameterName='xmin')
3411 value1 = str(value1)
3409 value1 = str(value1)
3412 value2 = opObj.getParameterValue(parameterName='xmax')
3410 value2 = opObj.getParameterValue(parameterName='xmax')
3413 value2 = str(value2)
3411 value2 = str(value2)
3414 value = value1 + "," + value2
3412 value = value1 + "," + value2
3415 self.specGgraphTminTmax.setText(value)
3413 self.specGgraphTminTmax.setText(value)
3416 self.specGgraphTminTmax.setEnabled(True)
3414 self.specGgraphTminTmax.setEnabled(True)
3417
3415
3418 parmObj = opObj.getParameterObj(parameterName='timerange')
3416 parmObj = opObj.getParameterObj(parameterName='timerange')
3419 if parmObj == None:
3417 if parmObj == None:
3420 self.specGgraphTimeRange.clear()
3418 self.specGgraphTimeRange.clear()
3421 else:
3419 else:
3422 value1 = opObj.getParameterValue(parameterName='timerange')
3420 value1 = opObj.getParameterValue(parameterName='timerange')
3423 value1 = str(value1)
3421 value1 = str(value1)
3424 self.specGgraphTimeRange.setText(value1)
3422 self.specGgraphTimeRange.setText(value1)
3425 self.specGgraphTimeRange.setEnabled(True)
3423 self.specGgraphTimeRange.setEnabled(True)
3426
3424
3427 parmObj = opObj.getParameterObj(parameterName='ymin')
3425 parmObj = opObj.getParameterObj(parameterName='ymin')
3428 if parmObj == None:
3426 if parmObj == None:
3429 self.specGgraphHeight.clear()
3427 self.specGgraphHeight.clear()
3430 else:
3428 else:
3431 value1 = opObj.getParameterValue(parameterName='ymin')
3429 value1 = opObj.getParameterValue(parameterName='ymin')
3432 value1 = str(value1)
3430 value1 = str(value1)
3433 value2 = opObj.getParameterValue(parameterName='ymax')
3431 value2 = opObj.getParameterValue(parameterName='ymax')
3434 value2 = str(value2)
3432 value2 = str(value2)
3435 value = value1 + "," + value2
3433 value = value1 + "," + value2
3436 self.specGgraphHeight.setText(value)
3434 self.specGgraphHeight.setText(value)
3437 self.specGgraphHeight.setEnabled(True)
3435 self.specGgraphHeight.setEnabled(True)
3438
3436
3439 parmObj = opObj.getParameterObj(parameterName='zmin')
3437 parmObj = opObj.getParameterObj(parameterName='zmin')
3440 if parmObj == None:
3438 if parmObj == None:
3441 self.specGgraphDbsrange.clear()
3439 self.specGgraphDbsrange.clear()
3442 else:
3440 else:
3443 value1 = opObj.getParameterValue(parameterName='zmin')
3441 value1 = opObj.getParameterValue(parameterName='zmin')
3444 value1 = str(value1)
3442 value1 = str(value1)
3445 value2 = opObj.getParameterValue(parameterName='zmax')
3443 value2 = opObj.getParameterValue(parameterName='zmax')
3446 value2 = str(value2)
3444 value2 = str(value2)
3447 value = value1 + "," + value2
3445 value = value1 + "," + value2
3448 self.specGgraphDbsrange.setText(value)
3446 self.specGgraphDbsrange.setText(value)
3449 self.specGgraphDbsrange.setEnabled(True)
3447 self.specGgraphDbsrange.setEnabled(True)
3450
3448
3451 parmObj = opObj.getParameterObj(parameterName="save")
3449 parmObj = opObj.getParameterObj(parameterName="save")
3452 if parmObj == None:
3450 if parmObj == None:
3453 self.specGraphSaveRTIplot.setCheckState(0)
3451 self.specGraphSaveRTIplot.setCheckState(0)
3454 else:
3452 else:
3455 self.specGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3453 self.specGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3456
3454
3457 parmObj = opObj.getParameterObj(parameterName="ftp")
3455 parmObj = opObj.getParameterObj(parameterName="ftp")
3458 if parmObj == None:
3456 if parmObj == None:
3459 self.specGraphftpRTIplot.setCheckState(0)
3457 self.specGraphftpRTIplot.setCheckState(0)
3460 else:
3458 else:
3461 self.specGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3459 self.specGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3462
3460
3463 parmObj = opObj.getParameterObj(parameterName="figpath")
3461 parmObj = opObj.getParameterObj(parameterName="figpath")
3464 if parmObj:
3462 if parmObj:
3465 value = parmObj.getValue()
3463 value = parmObj.getValue()
3466 self.specGraphPath.setText(value)
3464 self.specGraphPath.setText(value)
3467
3465
3468 parmObj = opObj.getParameterObj(parameterName="wr_period")
3466 parmObj = opObj.getParameterObj(parameterName="wr_period")
3469 if parmObj:
3467 if parmObj:
3470 value = parmObj.getValue()
3468 value = parmObj.getValue()
3471 self.specGgraphftpratio.setText(str(value))
3469 self.specGgraphftpratio.setText(str(value))
3472
3470
3473 opObj = puObj.getOperationObj(name='CoherenceMap')
3471 opObj = puObj.getOperationObj(name='CoherenceMap')
3474
3472
3475 if opObj == None:
3473 if opObj == None:
3476 self.specGraphCebCoherencmap.setCheckState(0)
3474 self.specGraphCebCoherencmap.setCheckState(0)
3477 self.specGraphSaveCoherencemap.setCheckState(0)
3475 self.specGraphSaveCoherencemap.setCheckState(0)
3478 self.specGraphftpCoherencemap.setCheckState(0)
3476 self.specGraphftpCoherencemap.setCheckState(0)
3479 else:
3477 else:
3480 operationCoherenceMap = "Enable"
3478 operationCoherenceMap = "Enable"
3481 self.specGraphCebCoherencmap.setCheckState(QtCore.Qt.Checked)
3479 self.specGraphCebCoherencmap.setCheckState(QtCore.Qt.Checked)
3482 parmObj = opObj.getParameterObj(parameterName='xmin')
3480 parmObj = opObj.getParameterObj(parameterName='xmin')
3483 if parmObj == None:
3481 if parmObj == None:
3484 self.specGgraphTminTmax.clear()
3482 self.specGgraphTminTmax.clear()
3485 else:
3483 else:
3486 value1 = opObj.getParameterValue(parameterName='xmin')
3484 value1 = opObj.getParameterValue(parameterName='xmin')
3487 value1 = str(value1)
3485 value1 = str(value1)
3488 value2 = opObj.getParameterValue(parameterName='xmax')
3486 value2 = opObj.getParameterValue(parameterName='xmax')
3489 value2 = str(value2)
3487 value2 = str(value2)
3490 value = value1 + "," + value2
3488 value = value1 + "," + value2
3491 self.specGgraphTminTmax.setText(value)
3489 self.specGgraphTminTmax.setText(value)
3492 self.specGgraphTminTmax.setEnabled(True)
3490 self.specGgraphTminTmax.setEnabled(True)
3493
3491
3494 parmObj = opObj.getParameterObj(parameterName='timerange')
3492 parmObj = opObj.getParameterObj(parameterName='timerange')
3495 if parmObj == None:
3493 if parmObj == None:
3496 self.specGgraphTimeRange.clear()
3494 self.specGgraphTimeRange.clear()
3497 else:
3495 else:
3498 value1 = opObj.getParameterValue(parameterName='timerange')
3496 value1 = opObj.getParameterValue(parameterName='timerange')
3499 value1 = str(value1)
3497 value1 = str(value1)
3500 self.specGgraphTimeRange.setText(value1)
3498 self.specGgraphTimeRange.setText(value1)
3501 self.specGgraphTimeRange.setEnabled(True)
3499 self.specGgraphTimeRange.setEnabled(True)
3502
3500
3503 parmObj = opObj.getParameterObj(parameterName='ymin')
3501 parmObj = opObj.getParameterObj(parameterName='ymin')
3504 if parmObj == None:
3502 if parmObj == None:
3505 self.specGgraphHeight.clear()
3503 self.specGgraphHeight.clear()
3506 else:
3504 else:
3507 value1 = opObj.getParameterValue(parameterName='ymin')
3505 value1 = opObj.getParameterValue(parameterName='ymin')
3508 value1 = str(value1)
3506 value1 = str(value1)
3509 value2 = opObj.getParameterValue(parameterName='ymax')
3507 value2 = opObj.getParameterValue(parameterName='ymax')
3510 value2 = str(value2)
3508 value2 = str(value2)
3511 value = value1 + "," + value2
3509 value = value1 + "," + value2
3512 self.specGgraphHeight.setText(value)
3510 self.specGgraphHeight.setText(value)
3513 self.specGgraphHeight.setEnabled(True)
3511 self.specGgraphHeight.setEnabled(True)
3514
3512
3515 parmObj = opObj.getParameterObj(parameterName='zmin')
3513 parmObj = opObj.getParameterObj(parameterName='zmin')
3516 if parmObj == None:
3514 if parmObj == None:
3517 self.specGgraphmagnitud.clear()
3515 self.specGgraphmagnitud.clear()
3518 else:
3516 else:
3519 value1 = opObj.getParameterValue(parameterName='zmin')
3517 value1 = opObj.getParameterValue(parameterName='zmin')
3520 value1 = str(value1)
3518 value1 = str(value1)
3521 value2 = opObj.getParameterValue(parameterName='zmax')
3519 value2 = opObj.getParameterValue(parameterName='zmax')
3522 value2 = str(value2)
3520 value2 = str(value2)
3523 value = value1 + "," + value2
3521 value = value1 + "," + value2
3524 self.specGgraphmagnitud.setText(value)
3522 self.specGgraphmagnitud.setText(value)
3525 self.specGgraphmagnitud.setEnabled(True)
3523 self.specGgraphmagnitud.setEnabled(True)
3526
3524
3527 parmObj = opObj.getParameterObj(parameterName='coh_min')
3525 parmObj = opObj.getParameterObj(parameterName='coh_min')
3528 if parmObj == None:
3526 if parmObj == None:
3529 self.specGgraphmagnitud.clear()
3527 self.specGgraphmagnitud.clear()
3530 else:
3528 else:
3531 value1 = opObj.getParameterValue(parameterName='coh_min')
3529 value1 = opObj.getParameterValue(parameterName='coh_min')
3532 value1 = str(value1)
3530 value1 = str(value1)
3533 value2 = opObj.getParameterValue(parameterName='coh_max')
3531 value2 = opObj.getParameterValue(parameterName='coh_max')
3534 value2 = str(value2)
3532 value2 = str(value2)
3535 value = value1 + "," + value2
3533 value = value1 + "," + value2
3536 self.specGgraphmagnitud.setText(value)
3534 self.specGgraphmagnitud.setText(value)
3537 self.specGgraphmagnitud.setEnabled(True)
3535 self.specGgraphmagnitud.setEnabled(True)
3538
3536
3539 parmObj = opObj.getParameterObj(parameterName='phase_min')
3537 parmObj = opObj.getParameterObj(parameterName='phase_min')
3540 if parmObj == None:
3538 if parmObj == None:
3541 self.specGgraphPhase.clear()
3539 self.specGgraphPhase.clear()
3542 else:
3540 else:
3543 value1 = opObj.getParameterValue(parameterName='phase_min')
3541 value1 = opObj.getParameterValue(parameterName='phase_min')
3544 value1 = str(value1)
3542 value1 = str(value1)
3545 value2 = opObj.getParameterValue(parameterName='phase_max')
3543 value2 = opObj.getParameterValue(parameterName='phase_max')
3546 value2 = str(value2)
3544 value2 = str(value2)
3547 value = value1 + "," + value2
3545 value = value1 + "," + value2
3548 self.specGgraphPhase.setText(value)
3546 self.specGgraphPhase.setText(value)
3549 self.specGgraphPhase.setEnabled(True)
3547 self.specGgraphPhase.setEnabled(True)
3550
3548
3551 parmObj = opObj.getParameterObj(parameterName="save")
3549 parmObj = opObj.getParameterObj(parameterName="save")
3552 if parmObj == None:
3550 if parmObj == None:
3553 self.specGraphSaveCoherencemap.setCheckState(0)
3551 self.specGraphSaveCoherencemap.setCheckState(0)
3554 else:
3552 else:
3555 self.specGraphSaveCoherencemap.setCheckState(QtCore.Qt.Checked)
3553 self.specGraphSaveCoherencemap.setCheckState(QtCore.Qt.Checked)
3556
3554
3557 parmObj = opObj.getParameterObj(parameterName="ftp")
3555 parmObj = opObj.getParameterObj(parameterName="ftp")
3558 if parmObj == None:
3556 if parmObj == None:
3559 self.specGraphftpCoherencemap.setCheckState(0)
3557 self.specGraphftpCoherencemap.setCheckState(0)
3560 else:
3558 else:
3561 self.specGraphftpCoherencemap.setCheckState(QtCore.Qt.Checked)
3559 self.specGraphftpCoherencemap.setCheckState(QtCore.Qt.Checked)
3562
3560
3563 parmObj = opObj.getParameterObj(parameterName="figpath")
3561 parmObj = opObj.getParameterObj(parameterName="figpath")
3564 if parmObj:
3562 if parmObj:
3565 value = parmObj.getValue()
3563 value = parmObj.getValue()
3566 self.specGraphPath.setText(value)
3564 self.specGraphPath.setText(value)
3567
3565
3568 parmObj = opObj.getParameterObj(parameterName="wr_period")
3566 parmObj = opObj.getParameterObj(parameterName="wr_period")
3569 if parmObj:
3567 if parmObj:
3570 value = parmObj.getValue()
3568 value = parmObj.getValue()
3571 self.specGgraphftpratio.setText(str(value))
3569 self.specGgraphftpratio.setText(str(value))
3572
3570
3573 opObj = puObj.getOperationObj(name='PowerProfilePlot')
3571 opObj = puObj.getOperationObj(name='PowerProfilePlot')
3574
3572
3575 if opObj == None:
3573 if opObj == None:
3576 self.specGraphPowerprofile.setCheckState(0)
3574 self.specGraphPowerprofile.setCheckState(0)
3577 self.specGraphSavePowerprofile.setCheckState(0)
3575 self.specGraphSavePowerprofile.setCheckState(0)
3578 self.specGraphftpPowerprofile.setCheckState(0)
3576 self.specGraphftpPowerprofile.setCheckState(0)
3579 operationPowerProfilePlot = "Disabled"
3577 operationPowerProfilePlot = "Disabled"
3580 channelList = None
3578 channelList = None
3581 freq_vel = None
3579 freq_vel = None
3582 heightsrange = None
3580 heightsrange = None
3583 else:
3581 else:
3584 operationPowerProfilePlot = "Enable"
3582 operationPowerProfilePlot = "Enable"
3585 self.specGraphPowerprofile.setCheckState(QtCore.Qt.Checked)
3583 self.specGraphPowerprofile.setCheckState(QtCore.Qt.Checked)
3586 parmObj = opObj.getParameterObj(parameterName='xmin')
3584 parmObj = opObj.getParameterObj(parameterName='xmin')
3587 if parmObj == None:
3585 if parmObj == None:
3588 self.specGgraphDbsrange.clear()
3586 self.specGgraphDbsrange.clear()
3589 else:
3587 else:
3590 value1 = opObj.getParameterValue(parameterName='xmin')
3588 value1 = opObj.getParameterValue(parameterName='xmin')
3591 value1 = str(value1)
3589 value1 = str(value1)
3592 value2 = opObj.getParameterValue(parameterName='xmax')
3590 value2 = opObj.getParameterValue(parameterName='xmax')
3593 value2 = str(value2)
3591 value2 = str(value2)
3594 value = value1 + "," + value2
3592 value = value1 + "," + value2
3595 self.specGgraphDbsrange.setText(value)
3593 self.specGgraphDbsrange.setText(value)
3596 self.specGgraphDbsrange.setEnabled(True)
3594 self.specGgraphDbsrange.setEnabled(True)
3597
3595
3598 parmObj = opObj.getParameterObj(parameterName='ymin')
3596 parmObj = opObj.getParameterObj(parameterName='ymin')
3599 if parmObj == None:
3597 if parmObj == None:
3600 self.specGgraphHeight.clear()
3598 self.specGgraphHeight.clear()
3601 else:
3599 else:
3602 value1 = opObj.getParameterValue(parameterName='ymin')
3600 value1 = opObj.getParameterValue(parameterName='ymin')
3603 value1 = str(value1)
3601 value1 = str(value1)
3604 value2 = opObj.getParameterValue(parameterName='ymax')
3602 value2 = opObj.getParameterValue(parameterName='ymax')
3605 value2 = str(value2)
3603 value2 = str(value2)
3606 value = value1 + "," + value2
3604 value = value1 + "," + value2
3607 self.specGgraphHeight.setText(value)
3605 self.specGgraphHeight.setText(value)
3608 self.specGgraphHeight.setEnabled(True)
3606 self.specGgraphHeight.setEnabled(True)
3609
3607
3610 parmObj = opObj.getParameterObj(parameterName="save")
3608 parmObj = opObj.getParameterObj(parameterName="save")
3611 if parmObj == None:
3609 if parmObj == None:
3612 self.specGraphSavePowerprofile.setCheckState(0)
3610 self.specGraphSavePowerprofile.setCheckState(0)
3613 else:
3611 else:
3614 self.specGraphSavePowerprofile.setCheckState(QtCore.Qt.Checked)
3612 self.specGraphSavePowerprofile.setCheckState(QtCore.Qt.Checked)
3615
3613
3616 parmObj = opObj.getParameterObj(parameterName="ftp")
3614 parmObj = opObj.getParameterObj(parameterName="ftp")
3617 if parmObj == None:
3615 if parmObj == None:
3618 self.specGraphftpPowerprofile.setCheckState(0)
3616 self.specGraphftpPowerprofile.setCheckState(0)
3619 else:
3617 else:
3620 self.specGraphftpPowerprofile.setCheckState(QtCore.Qt.Checked)
3618 self.specGraphftpPowerprofile.setCheckState(QtCore.Qt.Checked)
3621
3619
3622 parmObj = opObj.getParameterObj(parameterName="figpath")
3620 parmObj = opObj.getParameterObj(parameterName="figpath")
3623 if parmObj:
3621 if parmObj:
3624 value = parmObj.getValue()
3622 value = parmObj.getValue()
3625 self.specGraphPath.setText(value)
3623 self.specGraphPath.setText(value)
3626
3624
3627 parmObj = opObj.getParameterObj(parameterName="wr_period")
3625 parmObj = opObj.getParameterObj(parameterName="wr_period")
3628 if parmObj:
3626 if parmObj:
3629 value = parmObj.getValue()
3627 value = parmObj.getValue()
3630 self.specGgraphftpratio.setText(str(value))
3628 self.specGgraphftpratio.setText(str(value))
3631
3629
3632 opObj = puObj.getOperationObj(name='Noise')
3630 opObj = puObj.getOperationObj(name='Noise')
3633
3631
3634 if opObj == None:
3632 if opObj == None:
3635 self.specGraphCebRTInoise.setCheckState(0)
3633 self.specGraphCebRTInoise.setCheckState(0)
3636 self.specGraphSaveRTInoise.setCheckState(0)
3634 self.specGraphSaveRTInoise.setCheckState(0)
3637 self.specGraphftpRTInoise.setCheckState(0)
3635 self.specGraphftpRTInoise.setCheckState(0)
3638 else:
3636 else:
3639 self.specGraphCebRTInoise.setCheckState(QtCore.Qt.Checked)
3637 self.specGraphCebRTInoise.setCheckState(QtCore.Qt.Checked)
3640 parmObj = opObj.getParameterObj(parameterName='channelList')
3638 parmObj = opObj.getParameterObj(parameterName='channelList')
3641 if parmObj == None:
3639 if parmObj == None:
3642 self.specGgraphChannelList.clear()
3640 self.specGgraphChannelList.clear()
3643 else:
3641 else:
3644 value = opObj.getParameterValue(parameterName='channelList')
3642 value = opObj.getParameterValue(parameterName='channelList')
3645 channelListRTINoise = str(value)[1:-1]
3643 channelListRTINoise = str(value)[1:-1]
3646 self.specGgraphChannelList.setText(channelListRTINoise)
3644 self.specGgraphChannelList.setText(channelListRTINoise)
3647 self.specGgraphChannelList.setEnabled(True)
3645 self.specGgraphChannelList.setEnabled(True)
3648
3646
3649 parmObj = opObj.getParameterObj(parameterName='xmin')
3647 parmObj = opObj.getParameterObj(parameterName='xmin')
3650 if parmObj == None:
3648 if parmObj == None:
3651 self.specGgraphTminTmax.clear()
3649 self.specGgraphTminTmax.clear()
3652 else:
3650 else:
3653 value1 = opObj.getParameterValue(parameterName='xmin')
3651 value1 = opObj.getParameterValue(parameterName='xmin')
3654 value1 = str(value1)
3652 value1 = str(value1)
3655 value2 = opObj.getParameterValue(parameterName='xmax')
3653 value2 = opObj.getParameterValue(parameterName='xmax')
3656 value2 = str(value2)
3654 value2 = str(value2)
3657 value = value1 + "," + value2
3655 value = value1 + "," + value2
3658 self.specGgraphTminTmax.setText(value)
3656 self.specGgraphTminTmax.setText(value)
3659 self.specGgraphTminTmax.setEnabled(True)
3657 self.specGgraphTminTmax.setEnabled(True)
3660
3658
3661 parmObj = opObj.getParameterObj(parameterName='timerange')
3659 parmObj = opObj.getParameterObj(parameterName='timerange')
3662 if parmObj == None:
3660 if parmObj == None:
3663 self.specGgraphTimeRange.clear()
3661 self.specGgraphTimeRange.clear()
3664 else:
3662 else:
3665 value1 = opObj.getParameterValue(parameterName='timerange')
3663 value1 = opObj.getParameterValue(parameterName='timerange')
3666 value1 = str(value1)
3664 value1 = str(value1)
3667 self.specGgraphTimeRange.setText(value1)
3665 self.specGgraphTimeRange.setText(value1)
3668 self.specGgraphTimeRange.setEnabled(True)
3666 self.specGgraphTimeRange.setEnabled(True)
3669
3667
3670
3668
3671 parmObj = opObj.getParameterObj(parameterName='ymin')
3669 parmObj = opObj.getParameterObj(parameterName='ymin')
3672 if parmObj == None:
3670 if parmObj == None:
3673 self.specGgraphDbsrange.clear()
3671 self.specGgraphDbsrange.clear()
3674 else:
3672 else:
3675 value1 = opObj.getParameterValue(parameterName='ymin')
3673 value1 = opObj.getParameterValue(parameterName='ymin')
3676 value1 = str(value1)
3674 value1 = str(value1)
3677 value2 = opObj.getParameterValue(parameterName='ymax')
3675 value2 = opObj.getParameterValue(parameterName='ymax')
3678 value2 = str(value2)
3676 value2 = str(value2)
3679 value = value1 + "," + value2
3677 value = value1 + "," + value2
3680 self.specGgraphDbsrange.setText(value)
3678 self.specGgraphDbsrange.setText(value)
3681 self.specGgraphDbsrange.setEnabled(True)
3679 self.specGgraphDbsrange.setEnabled(True)
3682
3680
3683 parmObj = opObj.getParameterObj(parameterName="save")
3681 parmObj = opObj.getParameterObj(parameterName="save")
3684 if parmObj == None:
3682 if parmObj == None:
3685 self.specGraphSaveRTInoise.setCheckState(0)
3683 self.specGraphSaveRTInoise.setCheckState(0)
3686 else:
3684 else:
3687 self.specGraphSaveRTInoise.setCheckState(QtCore.Qt.Checked)
3685 self.specGraphSaveRTInoise.setCheckState(QtCore.Qt.Checked)
3688
3686
3689 parmObj = opObj.getParameterObj(parameterName="ftp")
3687 parmObj = opObj.getParameterObj(parameterName="ftp")
3690 if parmObj == None:
3688 if parmObj == None:
3691 self.specGraphftpRTInoise.setCheckState(0)
3689 self.specGraphftpRTInoise.setCheckState(0)
3692 else:
3690 else:
3693 self.specGraphftpRTInoise.setCheckState(QtCore.Qt.Checked)
3691 self.specGraphftpRTInoise.setCheckState(QtCore.Qt.Checked)
3694
3692
3695 parmObj = opObj.getParameterObj(parameterName="figpath")
3693 parmObj = opObj.getParameterObj(parameterName="figpath")
3696 if parmObj:
3694 if parmObj:
3697 value = parmObj.getValue()
3695 value = parmObj.getValue()
3698 self.specGraphPath.setText(value)
3696 self.specGraphPath.setText(value)
3699
3697
3700 parmObj = opObj.getParameterObj(parameterName="wr_period")
3698 parmObj = opObj.getParameterObj(parameterName="wr_period")
3701 if parmObj:
3699 if parmObj:
3702 value = parmObj.getValue()
3700 value = parmObj.getValue()
3703 self.specGgraphftpratio.setText(str(value))
3701 self.specGgraphftpratio.setText(str(value))
3704
3702
3705 opObj = puObj.getOperationObj(name='SpectraWriter')
3703 opObj = puObj.getOperationObj(name='SpectraWriter')
3706 if opObj == None:
3704 if opObj == None:
3707 self.specOutputPath.clear()
3705 self.specOutputPath.clear()
3708 self.specOutputblocksperfile.clear()
3706 self.specOutputblocksperfile.clear()
3709 else:
3707 else:
3710 value = opObj.getParameterObj(parameterName='path')
3708 value = opObj.getParameterObj(parameterName='path')
3711 if value == None:
3709 if value == None:
3712 self.specOutputPath.clear()
3710 self.specOutputPath.clear()
3713 else:
3711 else:
3714 value = opObj.getParameterValue(parameterName='path')
3712 value = opObj.getParameterValue(parameterName='path')
3715 path = str(value)
3713 path = str(value)
3716 self.specOutputPath.setText(path)
3714 self.specOutputPath.setText(path)
3717 value = opObj.getParameterObj(parameterName='blocksPerFile')
3715 value = opObj.getParameterObj(parameterName='blocksPerFile')
3718 if value == None:
3716 if value == None:
3719 self.specOutputblocksperfile.clear()
3717 self.specOutputblocksperfile.clear()
3720 else:
3718 else:
3721 value = opObj.getParameterValue(parameterName='blocksPerFile')
3719 value = opObj.getParameterValue(parameterName='blocksPerFile')
3722 blocksperfile = str(value)
3720 blocksperfile = str(value)
3723 self.specOutputblocksperfile.setText(blocksperfile)
3721 self.specOutputblocksperfile.setText(blocksperfile)
3724
3722
3725 return
3723 return
3726
3724
3727 def __refreshSpectraHeisWindow(self, puObj):
3725 def __refreshSpectraHeisWindow(self, puObj):
3728
3726
3729 opObj = puObj.getOperationObj(name="IncohInt4SpectraHeis")
3727 opObj = puObj.getOperationObj(name="IncohInt4SpectraHeis")
3730 if opObj == None:
3728 if opObj == None:
3731 self.specHeisOpIncoherent.clear()
3729 self.specHeisOpIncoherent.clear()
3732 self.specHeisOpCebIncoherent.setCheckState(0)
3730 self.specHeisOpCebIncoherent.setCheckState(0)
3733 else:
3731 else:
3734 for parmObj in opObj.getParameterObjList():
3732 for parmObj in opObj.getParameterObjList():
3735 if parmObj.name == 'timeInterval':
3733 if parmObj.name == 'timeInterval':
3736 value = opObj.getParameterValue(parameterName='timeInterval')
3734 value = opObj.getParameterValue(parameterName='timeInterval')
3737 value = float(value)
3738 self.specHeisOpIncoherent.setText(str(value))
3735 self.specHeisOpIncoherent.setText(str(value))
3739 self.specHeisOpIncoherent.setEnabled(True)
3736 self.specHeisOpIncoherent.setEnabled(True)
3740 self.specHeisOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3737 self.specHeisOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3741 self.specHeisOpCobIncInt.setCurrentIndex(0)
3738 self.specHeisOpCobIncInt.setCurrentIndex(0)
3742
3739
3743 # SpectraHeis Graph
3740 # SpectraHeis Graph
3744
3741
3745 self.specHeisGgraphXminXmax.clear()
3742 self.specHeisGgraphXminXmax.clear()
3746 self.specHeisGgraphYminYmax.clear()
3743 self.specHeisGgraphYminYmax.clear()
3747
3744
3748 self.specHeisGgraphChannelList.clear()
3745 self.specHeisGgraphChannelList.clear()
3749 self.specHeisGgraphTminTmax.clear()
3746 self.specHeisGgraphTminTmax.clear()
3750 self.specHeisGgraphTimeRange.clear()
3747 self.specHeisGgraphTimeRange.clear()
3751 self.specHeisGgraphftpratio.clear()
3748 self.specHeisGgraphftpratio.clear()
3752
3749
3753 opObj = puObj.getOperationObj(name='SpectraHeisScope')
3750 opObj = puObj.getOperationObj(name='SpectraHeisScope')
3754 if opObj == None:
3751 if opObj == None:
3755 self.specHeisGraphCebSpectraplot.setCheckState(0)
3752 self.specHeisGraphCebSpectraplot.setCheckState(0)
3756 self.specHeisGraphSaveSpectra.setCheckState(0)
3753 self.specHeisGraphSaveSpectra.setCheckState(0)
3757 self.specHeisGraphftpSpectra.setCheckState(0)
3754 self.specHeisGraphftpSpectra.setCheckState(0)
3758 else:
3755 else:
3759 operationSpectraHeisScope = "Enable"
3756 operationSpectraHeisScope = "Enable"
3760 self.specHeisGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3757 self.specHeisGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3761
3758
3762 parmObj = opObj.getParameterObj(parameterName='channelList')
3759 parmObj = opObj.getParameterObj(parameterName='channelList')
3763 if parmObj == None:
3760 if parmObj == None:
3764 self.specHeisGgraphChannelList.clear()
3761 self.specHeisGgraphChannelList.clear()
3765 else:
3762 else:
3766 value = opObj.getParameterValue(parameterName='channelList')
3763 value = opObj.getParameterValue(parameterName='channelList')
3767 channelListSpectraHeisScope = str(value)[1:-1]
3764 channelListSpectraHeisScope = str(value)[1:-1]
3768 self.specHeisGgraphChannelList.setText(channelListSpectraHeisScope)
3765 self.specHeisGgraphChannelList.setText(channelListSpectraHeisScope)
3769 self.specHeisGgraphChannelList.setEnabled(True)
3766 self.specHeisGgraphChannelList.setEnabled(True)
3770
3767
3771 parmObj = opObj.getParameterObj(parameterName='xmin')
3768 parmObj = opObj.getParameterObj(parameterName='xmin')
3772 if parmObj == None:
3769 if parmObj == None:
3773 self.specHeisGgraphXminXmax.clear()
3770 self.specHeisGgraphXminXmax.clear()
3774 else:
3771 else:
3775 value1 = opObj.getParameterValue(parameterName='xmin')
3772 value1 = opObj.getParameterValue(parameterName='xmin')
3776 value1 = str(value1)
3773 value1 = str(value1)
3777 value2 = opObj.getParameterValue(parameterName='xmax')
3774 value2 = opObj.getParameterValue(parameterName='xmax')
3778 value2 = str(value2)
3775 value2 = str(value2)
3779 value = value1 + "," + value2
3776 value = value1 + "," + value2
3780 self.specHeisGgraphXminXmax.setText(value)
3777 self.specHeisGgraphXminXmax.setText(value)
3781 self.specHeisGgraphXminXmax.setEnabled(True)
3778 self.specHeisGgraphXminXmax.setEnabled(True)
3782
3779
3783 parmObj = opObj.getParameterObj(parameterName='ymin')
3780 parmObj = opObj.getParameterObj(parameterName='ymin')
3784 if parmObj == None:
3781 if parmObj == None:
3785 self.specHeisGgraphYminYmax.clear()
3782 self.specHeisGgraphYminYmax.clear()
3786 else:
3783 else:
3787 value1 = opObj.getParameterValue(parameterName='ymin')
3784 value1 = opObj.getParameterValue(parameterName='ymin')
3788 value1 = str(value1)
3785 value1 = str(value1)
3789 value2 = opObj.getParameterValue(parameterName='ymax')
3786 value2 = opObj.getParameterValue(parameterName='ymax')
3790 value2 = str(value2)
3787 value2 = str(value2)
3791 value = value1 + "," + value2
3788 value = value1 + "," + value2
3792 self.specHeisGgraphYminYmax.setText(value)
3789 self.specHeisGgraphYminYmax.setText(value)
3793 self.specHeisGgraphYminYmax.setEnabled(True)
3790 self.specHeisGgraphYminYmax.setEnabled(True)
3794
3791
3795 parmObj = opObj.getParameterObj(parameterName="save")
3792 parmObj = opObj.getParameterObj(parameterName="save")
3796 if parmObj == None:
3793 if parmObj == None:
3797 self.specHeisGraphSaveSpectra.setCheckState(0)
3794 self.specHeisGraphSaveSpectra.setCheckState(0)
3798 else:
3795 else:
3799 self.specHeisGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3796 self.specHeisGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3800
3797
3801 parmObj = opObj.getParameterObj(parameterName="ftp")
3798 parmObj = opObj.getParameterObj(parameterName="ftp")
3802 if parmObj == None:
3799 if parmObj == None:
3803 self.specHeisGraphftpSpectra.setCheckState(0)
3800 self.specHeisGraphftpSpectra.setCheckState(0)
3804 else:
3801 else:
3805 self.specHeisGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3802 self.specHeisGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3806
3803
3807 parmObj = opObj.getParameterObj(parameterName="figpath")
3804 parmObj = opObj.getParameterObj(parameterName="figpath")
3808 if parmObj:
3805 if parmObj:
3809 value = parmObj.getValue()
3806 value = parmObj.getValue()
3810 self.specHeisGraphPath.setText(value)
3807 self.specHeisGraphPath.setText(value)
3811
3808
3812 parmObj = opObj.getParameterObj(parameterName="wr_period")
3809 parmObj = opObj.getParameterObj(parameterName="wr_period")
3813 if parmObj:
3810 if parmObj:
3814 value = parmObj.getValue()
3811 value = parmObj.getValue()
3815 self.specHeisGgraphftpratio.setText(str(value))
3812 self.specHeisGgraphftpratio.setText(str(value))
3816
3813
3817 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
3814 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
3818
3815
3819 if opObj == None:
3816 if opObj == None:
3820 self.specHeisGraphCebRTIplot.setCheckState(0)
3817 self.specHeisGraphCebRTIplot.setCheckState(0)
3821 self.specHeisGraphSaveRTIplot.setCheckState(0)
3818 self.specHeisGraphSaveRTIplot.setCheckState(0)
3822 self.specHeisGraphftpRTIplot.setCheckState(0)
3819 self.specHeisGraphftpRTIplot.setCheckState(0)
3823 else:
3820 else:
3824 self.specHeisGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3821 self.specHeisGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3825 parmObj = opObj.getParameterObj(parameterName='channelList')
3822 parmObj = opObj.getParameterObj(parameterName='channelList')
3826 if parmObj == None:
3823 if parmObj == None:
3827 self.specHeisGgraphChannelList.clear()
3824 self.specHeisGgraphChannelList.clear()
3828 else:
3825 else:
3829 value = opObj.getParameterValue(parameterName='channelList')
3826 value = opObj.getParameterValue(parameterName='channelList')
3830 channelListRTIPlot = str(value)[1:-1]
3827 channelListRTIPlot = str(value)[1:-1]
3831 self.specGgraphChannelList.setText(channelListRTIPlot)
3828 self.specGgraphChannelList.setText(channelListRTIPlot)
3832 self.specGgraphChannelList.setEnabled(True)
3829 self.specGgraphChannelList.setEnabled(True)
3833
3830
3834 parmObj = opObj.getParameterObj(parameterName='xmin')
3831 parmObj = opObj.getParameterObj(parameterName='xmin')
3835 if parmObj == None:
3832 if parmObj == None:
3836 self.specHeisGgraphTminTmax.clear()
3833 self.specHeisGgraphTminTmax.clear()
3837 else:
3834 else:
3838 value1 = opObj.getParameterValue(parameterName='xmin')
3835 value1 = opObj.getParameterValue(parameterName='xmin')
3839 value1 = str(value1)
3836 value1 = str(value1)
3840 value2 = opObj.getParameterValue(parameterName='xmax')
3837 value2 = opObj.getParameterValue(parameterName='xmax')
3841 value2 = str(value2)
3838 value2 = str(value2)
3842 value = value1 + "," + value2
3839 value = value1 + "," + value2
3843 self.specHeisGgraphTminTmax.setText(value)
3840 self.specHeisGgraphTminTmax.setText(value)
3844 self.specHeisGgraphTminTmax.setEnabled(True)
3841 self.specHeisGgraphTminTmax.setEnabled(True)
3845
3842
3846 parmObj = opObj.getParameterObj(parameterName='timerange')
3843 parmObj = opObj.getParameterObj(parameterName='timerange')
3847 if parmObj == None:
3844 if parmObj == None:
3848 self.specGgraphTimeRange.clear()
3845 self.specGgraphTimeRange.clear()
3849 else:
3846 else:
3850 value1 = opObj.getParameterValue(parameterName='timerange')
3847 value1 = opObj.getParameterValue(parameterName='timerange')
3851 value1 = str(value1)
3848 value1 = str(value1)
3852 self.specHeisGgraphTimeRange.setText(value1)
3849 self.specHeisGgraphTimeRange.setText(value1)
3853 self.specHeisGgraphTimeRange.setEnabled(True)
3850 self.specHeisGgraphTimeRange.setEnabled(True)
3854
3851
3855 parmObj = opObj.getParameterObj(parameterName='ymin')
3852 parmObj = opObj.getParameterObj(parameterName='ymin')
3856 if parmObj == None:
3853 if parmObj == None:
3857 self.specHeisGgraphYminYmax.clear()
3854 self.specHeisGgraphYminYmax.clear()
3858 else:
3855 else:
3859 value1 = opObj.getParameterValue(parameterName='ymin')
3856 value1 = opObj.getParameterValue(parameterName='ymin')
3860 value1 = str(value1)
3857 value1 = str(value1)
3861 value2 = opObj.getParameterValue(parameterName='ymax')
3858 value2 = opObj.getParameterValue(parameterName='ymax')
3862 value2 = str(value2)
3859 value2 = str(value2)
3863 value = value1 + "," + value2
3860 value = value1 + "," + value2
3864 self.specHeisGgraphYminYmax.setText(value)
3861 self.specHeisGgraphYminYmax.setText(value)
3865 self.specHeisGgraphYminYmax.setEnabled(True)
3862 self.specHeisGgraphYminYmax.setEnabled(True)
3866
3863
3867 parmObj = opObj.getParameterObj(parameterName="save")
3864 parmObj = opObj.getParameterObj(parameterName="save")
3868 if parmObj == None:
3865 if parmObj == None:
3869 self.specHeisGraphSaveRTIplot.setCheckState(0)
3866 self.specHeisGraphSaveRTIplot.setCheckState(0)
3870 else:
3867 else:
3871 self.specHeisGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3868 self.specHeisGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3872
3869
3873 parmObj = opObj.getParameterObj(parameterName="ftp")
3870 parmObj = opObj.getParameterObj(parameterName="ftp")
3874 if parmObj == None:
3871 if parmObj == None:
3875 self.specHeisGraphftpRTIplot.setCheckState(0)
3872 self.specHeisGraphftpRTIplot.setCheckState(0)
3876 else:
3873 else:
3877 self.specHeisGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3874 self.specHeisGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3878
3875
3879 parmObj = opObj.getParameterObj(parameterName="figpath")
3876 parmObj = opObj.getParameterObj(parameterName="figpath")
3880 if parmObj:
3877 if parmObj:
3881 value = parmObj.getValue()
3878 value = parmObj.getValue()
3882 self.specHeisGraphPath.setText(value)
3879 self.specHeisGraphPath.setText(value)
3883
3880
3884 parmObj = opObj.getParameterObj(parameterName="wr_period")
3881 parmObj = opObj.getParameterObj(parameterName="wr_period")
3885 if parmObj:
3882 if parmObj:
3886 value = parmObj.getValue()
3883 value = parmObj.getValue()
3887 self.specHeisGgraphftpratio.setText(str(value))
3884 self.specHeisGgraphftpratio.setText(str(value))
3888
3885
3889 # outputSpectraHeisWrite
3886 # outputSpectraHeisWrite
3890 opObj = puObj.getOperationObj(name='FitsWriter')
3887 opObj = puObj.getOperationObj(name='FitsWriter')
3891 if opObj == None:
3888 if opObj == None:
3892 self.specHeisOutputPath.clear()
3889 self.specHeisOutputPath.clear()
3893 self.specHeisOutputblocksperfile.clear()
3890 self.specHeisOutputblocksperfile.clear()
3894 self.specHeisOutputMetada.clear()
3891 self.specHeisOutputMetada.clear()
3895 else:
3892 else:
3896 value = opObj.getParameterObj(parameterName='path')
3893 value = opObj.getParameterObj(parameterName='path')
3897 if value == None:
3894 if value == None:
3898 self.specHeisOutputPath.clear()
3895 self.specHeisOutputPath.clear()
3899 else:
3896 else:
3900 value = opObj.getParameterValue(parameterName='path')
3897 value = opObj.getParameterValue(parameterName='path')
3901 path = str(value)
3898 path = str(value)
3902 self.specHeisOutputPath.setText(path)
3899 self.specHeisOutputPath.setText(path)
3903 value = opObj.getParameterObj(parameterName='dataBlocksPerFile')
3900 value = opObj.getParameterObj(parameterName='dataBlocksPerFile')
3904 if value == None:
3901 if value == None:
3905 self.specHeisOutputblocksperfile.clear()
3902 self.specHeisOutputblocksperfile.clear()
3906 else:
3903 else:
3907 value = opObj.getParameterValue(parameterName='dataBlocksPerFile')
3904 value = opObj.getParameterValue(parameterName='dataBlocksPerFile')
3908 blocksperfile = str(value)
3905 blocksperfile = str(value)
3909 self.specHeisOutputblocksperfile.setText(blocksperfile)
3906 self.specHeisOutputblocksperfile.setText(blocksperfile)
3910 value = opObj.getParameterObj(parameterName='metadatafile')
3907 value = opObj.getParameterObj(parameterName='metadatafile')
3911 if value == None:
3908 if value == None:
3912 self.specHeisOutputMetada.clear()
3909 self.specHeisOutputMetada.clear()
3913 else:
3910 else:
3914 value = opObj.getParameterValue(parameterName='metadatafile')
3911 value = opObj.getParameterValue(parameterName='metadatafile')
3915 metadata_file = str(value)
3912 metadata_file = str(value)
3916 self.specHeisOutputMetada.setText(metadata_file)
3913 self.specHeisOutputMetada.setText(metadata_file)
3917
3914
3918 return
3915 return
3919
3916
3920 def __refreshCorrelationWindow(self, puObj):
3917 def __refreshCorrelationWindow(self, puObj):
3921 pass
3918 pass
3922
3919
3923 def refreshPUWindow(self, puObj):
3920 def refreshPUWindow(self, puObj):
3924
3921
3925 if puObj.datatype == 'Voltage':
3922 if puObj.datatype == 'Voltage':
3926 self.__refreshVoltageWindow(puObj)
3923 self.__refreshVoltageWindow(puObj)
3927
3924
3928 if puObj.datatype == 'Spectra':
3925 if puObj.datatype == 'Spectra':
3929 self.__refreshSpectraWindow(puObj)
3926 self.__refreshSpectraWindow(puObj)
3930
3927
3931 if puObj.datatype == 'SpectraHeis':
3928 if puObj.datatype == 'SpectraHeis':
3932 self.__refreshSpectraHeisWindow(puObj)
3929 self.__refreshSpectraHeisWindow(puObj)
3933
3930
3934 def refreshProjectProperties(self, projectObjView):
3931 def refreshProjectProperties(self, projectObjView):
3935
3932
3936 propertyBuffObj = PropertyBuffer()
3933 propertyBuffObj = PropertyBuffer()
3937 name = projectObjView.name
3934 name = projectObjView.name
3938
3935
3939 propertyBuffObj.append("Properties", "Name", projectObjView.name),
3936 propertyBuffObj.append("Properties", "Name", projectObjView.name),
3940 propertyBuffObj.append("Properties", "Description", projectObjView.description)
3937 propertyBuffObj.append("Properties", "Description", projectObjView.description)
3941 propertyBuffObj.append("Properties", "Workspace", self.pathWorkSpace)
3938 propertyBuffObj.append("Properties", "Workspace", self.pathWorkSpace)
3942
3939
3943 readUnitObj = projectObjView.getReadUnitObj()
3940 readUnitObj = projectObjView.getReadUnitObj()
3944 runOperationObj = readUnitObj.getOperationObj(name='run')
3941 runOperationObj = readUnitObj.getOperationObj(name='run')
3945
3942
3946 for thisParmObj in runOperationObj.getParameterObjList():
3943 for thisParmObj in runOperationObj.getParameterObjList():
3947 propertyBuffObj.append("Reading parms", thisParmObj.name, str(thisParmObj.getValue()))
3944 propertyBuffObj.append("Reading parms", thisParmObj.name, str(thisParmObj.getValue()))
3948
3945
3949 propertiesModel = propertyBuffObj.getPropertyModel()
3946 propertiesModel = propertyBuffObj.getPropertyModel()
3950
3947
3951 self.treeProjectProperties.setModel(propertiesModel)
3948 self.treeProjectProperties.setModel(propertiesModel)
3952 self.treeProjectProperties.expandAll()
3949 self.treeProjectProperties.expandAll()
3953 self.treeProjectProperties.resizeColumnToContents(0)
3950 self.treeProjectProperties.resizeColumnToContents(0)
3954 self.treeProjectProperties.resizeColumnToContents(1)
3951 self.treeProjectProperties.resizeColumnToContents(1)
3955
3952
3956 def refreshPUProperties(self, puObjView):
3953 def refreshPUProperties(self, puObjView):
3957
3954
3958 ############ FTP CONFIG ################################
3955 ############ FTP CONFIG ################################
3959 #Deleting FTP Conf. This processing unit have not got any
3956 #Deleting FTP Conf. This processing unit have not got any
3960 #FTP configuration by default
3957 #FTP configuration by default
3961 if puObjView.id in self.__puLocalFolder2FTP.keys():
3958 if puObjView.id in self.__puLocalFolder2FTP.keys():
3962 self.__puLocalFolder2FTP.pop(puObjView.id)
3959 self.__puLocalFolder2FTP.pop(puObjView.id)
3963 ########################################################
3960 ########################################################
3964
3961
3965 propertyBuffObj = PropertyBuffer()
3962 propertyBuffObj = PropertyBuffer()
3966
3963
3967 for thisOp in puObjView.getOperationObjList():
3964 for thisOp in puObjView.getOperationObjList():
3968
3965
3969 operationName = thisOp.name
3966 operationName = thisOp.name
3970
3967
3971 if operationName == 'run':
3968 if operationName == 'run':
3972 operationName = 'Properties'
3969 operationName = 'Properties'
3973
3970
3974 else:
3971 else:
3975 if not thisOp.getParameterObjList():
3972 if not thisOp.getParameterObjList():
3976 propertyBuffObj.append(operationName, '--', '--')
3973 propertyBuffObj.append(operationName, '--', '--')
3977 continue
3974 continue
3978
3975
3979 for thisParmObj in thisOp.getParameterObjList():
3976 for thisParmObj in thisOp.getParameterObjList():
3980 propertyBuffObj.append(operationName, thisParmObj.name, str(thisParmObj.getValue()))
3977 propertyBuffObj.append(operationName, thisParmObj.name, str(thisParmObj.getValue()))
3981
3978
3982 ############ FTP CONFIG ################################
3979 ############ FTP CONFIG ################################
3983 if thisParmObj.name == "ftp_wei" and thisParmObj.getValue():
3980 if thisParmObj.name == "ftp_wei" and thisParmObj.getValue():
3984 value = thisParmObj.getValue()
3981 value = thisParmObj.getValue()
3985 self.temporalFTP.ftp_wei = value
3982 self.temporalFTP.ftp_wei = value
3986
3983
3987 if thisParmObj.name == "exp_code" and thisParmObj.getValue():
3984 if thisParmObj.name == "exp_code" and thisParmObj.getValue():
3988 value = thisParmObj.getValue()
3985 value = thisParmObj.getValue()
3989 self.temporalFTP.exp_code = value
3986 self.temporalFTP.exp_code = value
3990
3987
3991 if thisParmObj.name == "sub_exp_code" and thisParmObj.getValue():
3988 if thisParmObj.name == "sub_exp_code" and thisParmObj.getValue():
3992 value = thisParmObj.getValue()
3989 value = thisParmObj.getValue()
3993 self.temporalFTP.sub_exp_code = value
3990 self.temporalFTP.sub_exp_code = value
3994
3991
3995 if thisParmObj.name == "plot_pos" and thisParmObj.getValue():
3992 if thisParmObj.name == "plot_pos" and thisParmObj.getValue():
3996 value = thisParmObj.getValue()
3993 value = thisParmObj.getValue()
3997 self.temporalFTP.plot_pos = value
3994 self.temporalFTP.plot_pos = value
3998
3995
3999 if thisParmObj.name == 'ftp' and thisParmObj.getValue():
3996 if thisParmObj.name == 'ftp' and thisParmObj.getValue():
4000 figpathObj = thisOp.getParameterObj('figpath')
3997 figpathObj = thisOp.getParameterObj('figpath')
4001 if figpathObj:
3998 if figpathObj:
4002 self.__puLocalFolder2FTP[puObjView.id] = figpathObj.getValue()
3999 self.__puLocalFolder2FTP[puObjView.id] = figpathObj.getValue()
4003
4000
4004 ########################################################
4001 ########################################################
4005
4002
4006 propertiesModel = propertyBuffObj.getPropertyModel()
4003 propertiesModel = propertyBuffObj.getPropertyModel()
4007
4004
4008 self.treeProjectProperties.setModel(propertiesModel)
4005 self.treeProjectProperties.setModel(propertiesModel)
4009 self.treeProjectProperties.expandAll()
4006 self.treeProjectProperties.expandAll()
4010 self.treeProjectProperties.resizeColumnToContents(0)
4007 self.treeProjectProperties.resizeColumnToContents(0)
4011 self.treeProjectProperties.resizeColumnToContents(1)
4008 self.treeProjectProperties.resizeColumnToContents(1)
4012
4009
4013 def refreshGraphicsId(self):
4010 def refreshGraphicsId(self):
4014
4011
4015 projectObj = self.getSelectedProjectObj()
4012 projectObj = self.getSelectedProjectObj()
4016
4013
4017 if not projectObj:
4014 if not projectObj:
4018 return
4015 return
4019
4016
4020 for idPU, puObj in projectObj.procUnitConfObjDict.items():
4017 for idPU, puObj in projectObj.procUnitConfObjDict.items():
4021
4018
4022 for opObj in puObj.getOperationObjList():
4019 for opObj in puObj.getOperationObjList():
4023
4020
4024 if opObj.name not in ('Scope', 'SpectraPlot', 'CrossSpectraPlot', 'RTIPlot', 'CoherenceMap', 'PowerProfilePlot', 'Noise', 'SpectraHeisScope', 'RTIfromSpectraHeis'):
4021 if opObj.name not in ('Scope', 'SpectraPlot', 'CrossSpectraPlot', 'RTIPlot', 'CoherenceMap', 'PowerProfilePlot', 'Noise', 'SpectraHeisScope', 'RTIfromSpectraHeis'):
4025 continue
4022 continue
4026
4023
4027 opObj.changeParameter(name='id', value=opObj.id, format='int')
4024 opObj.changeParameter(name='id', value=opObj.id, format='int')
4028
4025
4029 def on_click(self, index):
4026 def on_click(self, index):
4030
4027
4031 self.selectedItemTree = self.projectExplorerModel.itemFromIndex(index)
4028 self.selectedItemTree = self.projectExplorerModel.itemFromIndex(index)
4032
4029
4033 projectObjView = self.getSelectedProjectObj()
4030 projectObjView = self.getSelectedProjectObj()
4034
4031
4035 if not projectObjView:
4032 if not projectObjView:
4036 return
4033 return
4037
4034
4038 self.create = False
4035 self.create = False
4039 selectedObjView = self.getSelectedItemObj()
4036 selectedObjView = self.getSelectedItemObj()
4040
4037
4041 #A project has been selected
4038 #A project has been selected
4042 if projectObjView == selectedObjView:
4039 if projectObjView == selectedObjView:
4043
4040
4044 self.refreshProjectWindow(projectObjView)
4041 self.refreshProjectWindow(projectObjView)
4045 self.refreshProjectProperties(projectObjView)
4042 self.refreshProjectProperties(projectObjView)
4046
4043
4047 self.tabProject.setEnabled(True)
4044 self.tabProject.setEnabled(True)
4048 self.tabVoltage.setEnabled(False)
4045 self.tabVoltage.setEnabled(False)
4049 self.tabSpectra.setEnabled(False)
4046 self.tabSpectra.setEnabled(False)
4050 self.tabCorrelation.setEnabled(False)
4047 self.tabCorrelation.setEnabled(False)
4051 self.tabSpectraHeis.setEnabled(False)
4048 self.tabSpectraHeis.setEnabled(False)
4052 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4049 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4053
4050
4054 return
4051 return
4055
4052
4056 #A processing unit has been selected
4053 #A processing unit has been selected
4057 voltEnable = False
4054 voltEnable = False
4058 specEnable = False
4055 specEnable = False
4059 corrEnable = False
4056 corrEnable = False
4060 specHeisEnable = False
4057 specHeisEnable = False
4061 tabSelected = self.tabProject
4058 tabSelected = self.tabProject
4062
4059
4063 puObj = selectedObjView
4060 puObj = selectedObjView
4064
4061
4065 self.refreshPUWindow(puObj)
4062 self.refreshPUWindow(puObj)
4066 self.refreshPUProperties(puObj)
4063 self.refreshPUProperties(puObj)
4067 self.showtabPUCreated(puObj.datatype)
4064 self.showtabPUCreated(puObj.datatype)
4068
4065
4069 def on_right_click(self, pos):
4066 def on_right_click(self, pos):
4070
4067
4071 self.menu = QtGui.QMenu()
4068 self.menu = QtGui.QMenu()
4072 quitAction0 = self.menu.addAction("Create a New Project")
4069 quitAction0 = self.menu.addAction("Create a New Project")
4073 quitAction1 = self.menu.addAction("Create a New Processing Unit")
4070 quitAction1 = self.menu.addAction("Create a New Processing Unit")
4074 quitAction2 = self.menu.addAction("Delete Item")
4071 quitAction2 = self.menu.addAction("Delete Item")
4075 quitAction3 = self.menu.addAction("Quit")
4072 quitAction3 = self.menu.addAction("Quit")
4076
4073
4077 if len(self.__itemTreeDict) == 0:
4074 if len(self.__itemTreeDict) == 0:
4078 quitAction2.setEnabled(False)
4075 quitAction2.setEnabled(False)
4079 else:
4076 else:
4080 quitAction2.setEnabled(True)
4077 quitAction2.setEnabled(True)
4081
4078
4082 action = self.menu.exec_(self.mapToGlobal(pos))
4079 action = self.menu.exec_(self.mapToGlobal(pos))
4083
4080
4084 if action == quitAction0:
4081 if action == quitAction0:
4085 self. setInputsProject_View()
4082 self. setInputsProject_View()
4086 self.create = True
4083 self.create = True
4087
4084
4088 if action == quitAction1:
4085 if action == quitAction1:
4089 if len(self.__projectObjDict) == 0:
4086 if len(self.__projectObjDict) == 0:
4090 outputstr = "You need to create a Project before adding a Processing Unit"
4087 outputstr = "You need to create a Project before adding a Processing Unit"
4091 self.console.clear()
4088 self.console.clear()
4092 self.console.append(outputstr)
4089 self.console.append(outputstr)
4093 return 0
4090 return 0
4094 else:
4091 else:
4095 self.addPUWindow()
4092 self.addPUWindow()
4096 self.console.clear()
4093 self.console.clear()
4097 self.console.append("Please, Choose the type of Processing Unit")
4094 self.console.append("Please, Choose the type of Processing Unit")
4098 # self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
4095 # self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
4099 # self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
4096 # self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
4100 # self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
4097 # self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
4101
4098
4102 if action == quitAction2:
4099 if action == quitAction2:
4103 index = self.selectedItemTree
4100 index = self.selectedItemTree
4104 try:
4101 try:
4105 index.parent()
4102 index.parent()
4106 except:
4103 except:
4107 self.console.append('Please first select a Project or Processing Unit')
4104 self.console.append('Please first select a Project or Processing Unit')
4108 return 0
4105 return 0
4109 # print index.parent(),index
4106 # print index.parent(),index
4110 if index.parent() == None:
4107 if index.parent() == None:
4111 self.projectExplorerModel.removeRow(index.row())
4108 self.projectExplorerModel.removeRow(index.row())
4112 else:
4109 else:
4113 index.parent().removeRow(index.row())
4110 index.parent().removeRow(index.row())
4114 self.removeItemTreeFromProject()
4111 self.removeItemTreeFromProject()
4115 self.console.clear()
4112 self.console.clear()
4116 # for i in self.projectExplorerTree.selectionModel().selection().indexes():
4113 # for i in self.projectExplorerTree.selectionModel().selection().indexes():
4117 # print i.row()
4114 # print i.row()
4118
4115
4119 if action == quitAction3:
4116 if action == quitAction3:
4120 self.close()
4117 self.close()
4121 return 0
4118 return 0
4122
4119
4123 def createProjectView(self, id):
4120 def createProjectView(self, id):
4124
4121
4125 # project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4122 # project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4126 id = str(id)
4123 id = str(id)
4127 projectParms = self.__getParmsFromProjectWindow()
4124 projectParms = self.__getParmsFromProjectWindow()
4128
4125
4129 if not projectParms.isValid():
4126 if not projectParms.isValid():
4130 return None
4127 return None
4131
4128
4132 projectObjView = Project()
4129 projectObjView = Project()
4133 projectObjView.setup(id=id, name=projectParms.name, description=projectParms.description)
4130 projectObjView.setup(id=id, name=projectParms.name, description=projectParms.description)
4134
4131
4135 self.__projectObjDict[id] = projectObjView
4132 self.__projectObjDict[id] = projectObjView
4136 self.addProject2ProjectExplorer(id=id, name=projectObjView.name)
4133 self.addProject2ProjectExplorer(id=id, name=projectObjView.name)
4137
4134
4138 return projectObjView
4135 return projectObjView
4139
4136
4140 def updateProjectView(self):
4137 def updateProjectView(self):
4141
4138
4142 # project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4139 # project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4143
4140
4144 projectParms = self.__getParmsFromProjectWindow()
4141 projectParms = self.__getParmsFromProjectWindow()
4145
4142
4146 if not projectParms.isValid():
4143 if not projectParms.isValid():
4147 return None
4144 return None
4148
4145
4149 projectObjView = self.getSelectedProjectObj()
4146 projectObjView = self.getSelectedProjectObj()
4150
4147
4151 if not projectObjView:
4148 if not projectObjView:
4152 self.console.append("Please select a project before update it")
4149 self.console.append("Please select a project before update it")
4153 return None
4150 return None
4154
4151
4155 projectObjView.update(name=projectParms.name, description=projectParms.description)
4152 projectObjView.update(name=projectParms.name, description=projectParms.description)
4156
4153
4157 return projectObjView
4154 return projectObjView
4158
4155
4159 def createReadUnitView(self, projectObjView):
4156 def createReadUnitView(self, projectObjView):
4160
4157
4161 # project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4158 # project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
4162
4159
4163 projectParms = self.__getParmsFromProjectWindow()
4160 projectParms = self.__getParmsFromProjectWindow()
4164
4161
4165 if not projectParms.isValid():
4162 if not projectParms.isValid():
4166 return None
4163 return None
4167
4164
4168 if projectParms.datatype in ("Voltage", "Spectra", "Fits"):
4165 if projectParms.datatype in ("Voltage", "Spectra", "Fits"):
4169 readUnitConfObj = projectObjView.addReadUnit(datatype=projectParms.datatype,
4166 readUnitConfObj = projectObjView.addReadUnit(datatype=projectParms.datatype,
4170 path=projectParms.dpath,
4167 path=projectParms.dpath,
4171 startDate=projectParms.startDate,
4168 startDate=projectParms.startDate,
4172 endDate=projectParms.endDate,
4169 endDate=projectParms.endDate,
4173 startTime=projectParms.startTime,
4170 startTime=projectParms.startTime,
4174 endTime=projectParms.endTime,
4171 endTime=projectParms.endTime,
4175 online=projectParms.online,
4172 online=projectParms.online,
4176 walk=projectParms.walk
4173 walk=projectParms.walk
4177 )
4174 )
4178
4175
4179 if projectParms.set:
4176 if projectParms.set:
4180 readUnitConfObj.addParameter(name="set", value=projectParms.set, format="int")
4177 readUnitConfObj.addParameter(name="set", value=projectParms.set, format="int")
4181
4178
4182 if projectParms.delay:
4179 if projectParms.delay:
4183 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4180 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4184
4181
4185 if projectParms.expLabel:
4182 if projectParms.expLabel:
4186 readUnitConfObj.addParameter(name="expLabel", value=projectParms.expLabel)
4183 readUnitConfObj.addParameter(name="expLabel", value=projectParms.expLabel)
4187
4184
4188 readUnitConfObj.addOperation(name="printInfo")
4185 readUnitConfObj.addOperation(name="printInfo")
4189
4186
4190 if projectParms.datatype == "USRP":
4187 if projectParms.datatype == "USRP":
4191 readUnitConfObj = projectObjView.addReadUnit(datatype=projectParms.datatype,
4188 readUnitConfObj = projectObjView.addReadUnit(datatype=projectParms.datatype,
4192 path=projectParms.dpath,
4189 path=projectParms.dpath,
4193 startDate=projectParms.startDate,
4190 startDate=projectParms.startDate,
4194 endDate=projectParms.endDate,
4191 endDate=projectParms.endDate,
4195 startTime=projectParms.startTime,
4192 startTime=projectParms.startTime,
4196 endTime=projectParms.endTime,
4193 endTime=projectParms.endTime,
4197 online=projectParms.online,
4194 online=projectParms.online,
4198 ippKm=projectParms.ippKm
4195 ippKm=projectParms.ippKm
4199 )
4196 )
4200
4197
4201 if projectParms.delay:
4198 if projectParms.delay:
4202 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4199 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4203
4200
4204 return readUnitConfObj
4201 return readUnitConfObj
4205
4202
4206 def updateReadUnitView(self, projectObjView, idReadUnit):
4203 def updateReadUnitView(self, projectObjView, idReadUnit):
4207
4204
4208 # project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk , set = self.getParmsFromProjectWindow()
4205 # project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk , set = self.getParmsFromProjectWindow()
4209
4206
4210 readUnitConfObj = projectObjView.getProcUnitObj(idReadUnit)
4207 readUnitConfObj = projectObjView.getProcUnitObj(idReadUnit)
4211
4208
4212 projectParms = self.__getParmsFromProjectWindow()
4209 projectParms = self.__getParmsFromProjectWindow()
4213
4210
4214 if not projectParms.isValid():
4211 if not projectParms.isValid():
4215 return None
4212 return None
4216
4213
4217 if projectParms.datatype in ["Voltage", "Spectra", "Fits"]:
4214 if projectParms.datatype in ["Voltage", "Spectra", "Fits"]:
4218 readUnitConfObj.update(datatype=projectParms.datatype,
4215 readUnitConfObj.update(datatype=projectParms.datatype,
4219 path=projectParms.dpath,
4216 path=projectParms.dpath,
4220 startDate=projectParms.startDate,
4217 startDate=projectParms.startDate,
4221 endDate=projectParms.endDate,
4218 endDate=projectParms.endDate,
4222 startTime=projectParms.startTime,
4219 startTime=projectParms.startTime,
4223 endTime=projectParms.endTime,
4220 endTime=projectParms.endTime,
4224 online=projectParms.online,
4221 online=projectParms.online,
4225 walk=projectParms.walk
4222 walk=projectParms.walk
4226 )
4223 )
4227 if projectParms.set:
4224 if projectParms.set:
4228 readUnitConfObj.addParameter(name="set", value=projectParms.set, format="int")
4225 readUnitConfObj.addParameter(name="set", value=projectParms.set, format="int")
4229
4226
4230 if projectParms.delay:
4227 if projectParms.delay:
4231 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4228 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4232
4229
4233 if projectParms.expLabel:
4230 if projectParms.expLabel:
4234 readUnitConfObj.addParameter(name="expLabel", value=projectParms.expLabel)
4231 readUnitConfObj.addParameter(name="expLabel", value=projectParms.expLabel)
4235
4232
4236 readUnitConfObj.addOperation(name="printInfo")
4233 readUnitConfObj.addOperation(name="printInfo")
4237
4234
4238 if projectParms.datatype == "USRP":
4235 if projectParms.datatype == "USRP":
4239 readUnitConfObj.update(datatype=projectParms.datatype,
4236 readUnitConfObj.update(datatype=projectParms.datatype,
4240 path=projectParms.dpath,
4237 path=projectParms.dpath,
4241 startDate=projectParms.startDate,
4238 startDate=projectParms.startDate,
4242 endDate=projectParms.endDate,
4239 endDate=projectParms.endDate,
4243 startTime=projectParms.startTime,
4240 startTime=projectParms.startTime,
4244 endTime=projectParms.endTime,
4241 endTime=projectParms.endTime,
4245 online=projectParms.online,
4242 online=projectParms.online,
4246 ippKm=projectParms.ippKm
4243 ippKm=projectParms.ippKm
4247 )
4244 )
4248
4245
4249 if projectParms.delay:
4246 if projectParms.delay:
4250 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4247 readUnitConfObj.addParameter(name="delay", value=projectParms.delay, format="int")
4251
4248
4252 return readUnitConfObj
4249 return readUnitConfObj
4253
4250
4254 def createProcUnitView(self, projectObjView, datatype, inputId):
4251 def createProcUnitView(self, projectObjView, datatype, inputId):
4255
4252
4256 procUnitConfObj = projectObjView.addProcUnit(datatype=datatype, inputId=inputId)
4253 procUnitConfObj = projectObjView.addProcUnit(datatype=datatype, inputId=inputId)
4257
4254
4258 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
4255 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
4259
4256
4260 return procUnitConfObj
4257 return procUnitConfObj
4261
4258
4262 def updateProcUnitView(self, id):
4259 def updateProcUnitView(self, id):
4263
4260
4264 pass
4261 pass
4265
4262
4266 def addPUWindow(self):
4263 def addPUWindow(self):
4267
4264
4268 self.configUPWindowObj = UnitProcessWindow(self)
4265 self.configUPWindowObj = UnitProcessWindow(self)
4269 fatherObj = self.getSelectedItemObj()
4266 fatherObj = self.getSelectedItemObj()
4270 try:
4267 try:
4271 fatherObj.getElementName()
4268 fatherObj.getElementName()
4272 except:
4269 except:
4273 self.console.append("First left click on Project or Processing Unit")
4270 self.console.append("First left click on Project or Processing Unit")
4274 return 0
4271 return 0
4275
4272
4276 if fatherObj.getElementName() == 'Project':
4273 if fatherObj.getElementName() == 'Project':
4277 readUnitConfObj = fatherObj.getReadUnitObj()
4274 readUnitConfObj = fatherObj.getReadUnitObj()
4278 self.configUPWindowObj.dataTypeProject = str(readUnitConfObj.datatype)
4275 self.configUPWindowObj.dataTypeProject = str(readUnitConfObj.datatype)
4279
4276
4280 self.configUPWindowObj.getfromWindowList.append(fatherObj)
4277 self.configUPWindowObj.getfromWindowList.append(fatherObj)
4281 self.configUPWindowObj.loadTotalList()
4278 self.configUPWindowObj.loadTotalList()
4282 self.configUPWindowObj.show()
4279 self.configUPWindowObj.show()
4283 self.configUPWindowObj.closed.connect(self.createPUWindow)
4280 self.configUPWindowObj.closed.connect(self.createPUWindow)
4284
4281
4285 def createPUWindow(self):
4282 def createPUWindow(self):
4286
4283
4287 if not self.configUPWindowObj.create:
4284 if not self.configUPWindowObj.create:
4288 return
4285 return
4289
4286
4290 fatherObj = self.configUPWindowObj.getFromWindow
4287 fatherObj = self.configUPWindowObj.getFromWindow
4291 datatype = self.configUPWindowObj.typeofUP
4288 datatype = self.configUPWindowObj.typeofUP
4292
4289
4293 if fatherObj.getElementName() == 'Project':
4290 if fatherObj.getElementName() == 'Project':
4294 inputId = fatherObj.getReadUnitId()
4291 inputId = fatherObj.getReadUnitId()
4295 projectObjView = fatherObj
4292 projectObjView = fatherObj
4296 else:
4293 else:
4297 inputId = fatherObj.getId()
4294 inputId = fatherObj.getId()
4298 projectObjView = self.getSelectedProjectObj()
4295 projectObjView = self.getSelectedProjectObj()
4299
4296
4300 if not projectObjView:
4297 if not projectObjView:
4301 return
4298 return
4302
4299
4303 puObj = self.createProcUnitView(projectObjView, datatype, inputId)
4300 puObj = self.createProcUnitView(projectObjView, datatype, inputId)
4304
4301
4305 self.addPU2ProjectExplorer(puObj)
4302 self.addPU2ProjectExplorer(puObj)
4306
4303
4307 self.showtabPUCreated(datatype)
4304 self.showtabPUCreated(datatype)
4308
4305
4309 self.clearPUWindow(datatype)
4306 self.clearPUWindow(datatype)
4310
4307
4311 self.showPUinitView()
4308 self.showPUinitView()
4312
4309
4313 def addFTPConf2Operation(self, puObj, opObj):
4310 def addFTPConf2Operation(self, puObj, opObj):
4314
4311
4315 if not self.temporalFTP.create:
4312 if not self.temporalFTP.create:
4316 self.temporalFTP.setwithoutconfiguration()
4313 self.temporalFTP.setwithoutconfiguration()
4317
4314
4318 # opObj.addParameter(name='server', value=self.temporalFTP.server, format='str')
4315 # opObj.addParameter(name='server', value=self.temporalFTP.server, format='str')
4319 # opObj.addParameter(name='remotefolder', value=self.temporalFTP.remotefolder, format='str')
4316 # opObj.addParameter(name='remotefolder', value=self.temporalFTP.remotefolder, format='str')
4320 # opObj.addParameter(name='username', value=self.temporalFTP.username, format='str')
4317 # opObj.addParameter(name='username', value=self.temporalFTP.username, format='str')
4321 # opObj.addParameter(name='password', value=self.temporalFTP.password, format='str')
4318 # opObj.addParameter(name='password', value=self.temporalFTP.password, format='str')
4322
4319
4323 if self.temporalFTP.ftp_wei:
4320 if self.temporalFTP.ftp_wei:
4324 opObj.addParameter(name='ftp_wei', value=int(self.temporalFTP.ftp_wei), format='int')
4321 opObj.addParameter(name='ftp_wei', value=int(self.temporalFTP.ftp_wei), format='int')
4325 if self.temporalFTP.exp_code:
4322 if self.temporalFTP.exp_code:
4326 opObj.addParameter(name='exp_code', value=int(self.temporalFTP.exp_code), format='int')
4323 opObj.addParameter(name='exp_code', value=int(self.temporalFTP.exp_code), format='int')
4327 if self.temporalFTP.sub_exp_code:
4324 if self.temporalFTP.sub_exp_code:
4328 opObj.addParameter(name='sub_exp_code', value=int(self.temporalFTP.sub_exp_code), format='int')
4325 opObj.addParameter(name='sub_exp_code', value=int(self.temporalFTP.sub_exp_code), format='int')
4329 if self.temporalFTP.plot_pos:
4326 if self.temporalFTP.plot_pos:
4330 opObj.addParameter(name='plot_pos', value=int(self.temporalFTP.plot_pos), format='int')
4327 opObj.addParameter(name='plot_pos', value=int(self.temporalFTP.plot_pos), format='int')
4331
4328
4332 # def __checkFTPProcUnit(self, projectObj, localfolder):
4329 # def __checkFTPProcUnit(self, projectObj, localfolder):
4333 #
4330 #
4334 # puId = None
4331 # puId = None
4335 # puObj = None
4332 # puObj = None
4336 #
4333 #
4337 # for thisPuId, thisPuObj in projectObj.procUnitItems():
4334 # for thisPuId, thisPuObj in projectObj.procUnitItems():
4338 #
4335 #
4339 # if not thisPuObj.name == "SendToServer":
4336 # if not thisPuObj.name == "SendToServer":
4340 # continue
4337 # continue
4341 #
4338 #
4342 # opObj = thisPuObj.getOperationObj(name='run')
4339 # opObj = thisPuObj.getOperationObj(name='run')
4343 #
4340 #
4344 # parmObj = opObj.getParameterObj('localfolder')
4341 # parmObj = opObj.getParameterObj('localfolder')
4345 #
4342 #
4346 # #localfolder parameter should always be set, if it is not set then ProcUnit should be removed
4343 # #localfolder parameter should always be set, if it is not set then ProcUnit should be removed
4347 # if not parmObj:
4344 # if not parmObj:
4348 # projectObj.removeProcUnit(thisPuId)
4345 # projectObj.removeProcUnit(thisPuId)
4349 # continue
4346 # continue
4350 #
4347 #
4351 # thisLocalfolder = parmObj.getValue()
4348 # thisLocalfolder = parmObj.getValue()
4352 #
4349 #
4353 # if localfolder != thisLocalfolder:
4350 # if localfolder != thisLocalfolder:
4354 # continue
4351 # continue
4355 #
4352 #
4356 # puId = thisPuId
4353 # puId = thisPuId
4357 # puObj = thisPuObj
4354 # puObj = thisPuObj
4358 # break
4355 # break
4359 #
4356 #
4360 # return puObj
4357 # return puObj
4361
4358
4362 def createFTPProcUnitView(self):
4359 def createFTPProcUnitView(self):
4363
4360
4364 if not self.temporalFTP.create:
4361 if not self.temporalFTP.create:
4365 self.temporalFTP.setwithoutconfiguration()
4362 self.temporalFTP.setwithoutconfiguration()
4366
4363
4367 projectObj = self.getSelectedProjectObj()
4364 projectObj = self.getSelectedProjectObj()
4368
4365
4369 if not projectObj:
4366 if not projectObj:
4370 return
4367 return
4371
4368
4372 self.removeAllFTPProcUnitView(projectObj)
4369 self.removeAllFTPProcUnitView(projectObj)
4373
4370
4374 if not self.__puLocalFolder2FTP:
4371 if not self.__puLocalFolder2FTP:
4375 return
4372 return
4376
4373
4377 folderList = ",".join(self.__puLocalFolder2FTP.values())
4374 folderList = ",".join(self.__puLocalFolder2FTP.values())
4378
4375
4379 procUnitConfObj = projectObj.addProcUnit(name="SendToServer")
4376 procUnitConfObj = projectObj.addProcUnit(name="SendToServer")
4380
4377
4381 procUnitConfObj.addParameter(name='server', value=self.temporalFTP.server, format='str')
4378 procUnitConfObj.addParameter(name='server', value=self.temporalFTP.server, format='str')
4382 procUnitConfObj.addParameter(name='username', value=self.temporalFTP.username, format='str')
4379 procUnitConfObj.addParameter(name='username', value=self.temporalFTP.username, format='str')
4383 procUnitConfObj.addParameter(name='password', value=self.temporalFTP.password, format='str')
4380 procUnitConfObj.addParameter(name='password', value=self.temporalFTP.password, format='str')
4384 procUnitConfObj.addParameter(name='localfolder', value=folderList, format='list')
4381 procUnitConfObj.addParameter(name='localfolder', value=folderList, format='list')
4385 procUnitConfObj.addParameter(name='remotefolder', value=self.temporalFTP.remotefolder, format='str')
4382 procUnitConfObj.addParameter(name='remotefolder', value=self.temporalFTP.remotefolder, format='str')
4386 procUnitConfObj.addParameter(name='ext', value=self.temporalFTP.extension, format='str')
4383 procUnitConfObj.addParameter(name='ext', value=self.temporalFTP.extension, format='str')
4387 procUnitConfObj.addParameter(name='period', value=self.temporalFTP.period, format='int')
4384 procUnitConfObj.addParameter(name='period', value=self.temporalFTP.period, format='int')
4388 procUnitConfObj.addParameter(name='protocol', value=self.temporalFTP.protocol, format='str')
4385 procUnitConfObj.addParameter(name='protocol', value=self.temporalFTP.protocol, format='str')
4389
4386
4390 procUnitConfObj.addParameter(name='ftp_wei', value=self.temporalFTP.ftp_wei, format='int')
4387 procUnitConfObj.addParameter(name='ftp_wei', value=self.temporalFTP.ftp_wei, format='int')
4391 procUnitConfObj.addParameter(name='exp_code', value=self.temporalFTP.exp_code, format='int')
4388 procUnitConfObj.addParameter(name='exp_code', value=self.temporalFTP.exp_code, format='int')
4392 procUnitConfObj.addParameter(name='sub_exp_code', value=self.temporalFTP.sub_exp_code, format='int')
4389 procUnitConfObj.addParameter(name='sub_exp_code', value=self.temporalFTP.sub_exp_code, format='int')
4393 procUnitConfObj.addParameter(name='plot_pos', value=self.temporalFTP.plot_pos, format='int')
4390 procUnitConfObj.addParameter(name='plot_pos', value=self.temporalFTP.plot_pos, format='int')
4394
4391
4395 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
4392 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
4396
4393
4397 def removeAllFTPProcUnitView(self, projectObj):
4394 def removeAllFTPProcUnitView(self, projectObj):
4398
4395
4399 for thisPuId, thisPuObj in projectObj.procUnitItems():
4396 for thisPuId, thisPuObj in projectObj.procUnitItems():
4400
4397
4401 if not thisPuObj.name == "SendToServer":
4398 if not thisPuObj.name == "SendToServer":
4402 continue
4399 continue
4403
4400
4404 projectObj.removeProcUnit(thisPuId)
4401 projectObj.removeProcUnit(thisPuId)
4405
4402
4406 if thisPuId not in self.__puObjDict.keys():
4403 if thisPuId not in self.__puObjDict.keys():
4407 continue
4404 continue
4408
4405
4409 self.__puObjDict.pop(thisPuId)
4406 self.__puObjDict.pop(thisPuId)
4410
4407
4411 def showPUinitView(self):
4408 def showPUinitView(self):
4412
4409
4413 self.propertiesModel = TreeModel()
4410 self.propertiesModel = TreeModel()
4414 self.propertiesModel.initPUVoltageView()
4411 self.propertiesModel.initPUVoltageView()
4415 self.treeProjectProperties.setModel(self.propertiesModel)
4412 self.treeProjectProperties.setModel(self.propertiesModel)
4416 self.treeProjectProperties.expandAll()
4413 self.treeProjectProperties.expandAll()
4417 self.treeProjectProperties.allColumnsShowFocus()
4414 self.treeProjectProperties.allColumnsShowFocus()
4418 self.treeProjectProperties.resizeColumnToContents(1)
4415 self.treeProjectProperties.resizeColumnToContents(1)
4419
4416
4420 def saveFTPFromOpObj(self, operationObj):
4417 def saveFTPFromOpObj(self, operationObj):
4421
4418
4422 if operationObj.name != "SendByFTP":
4419 if operationObj.name != "SendByFTP":
4423 return
4420 return
4424
4421
4425 server = operationObj.getParameterValue("server")
4422 server = operationObj.getParameterValue("server")
4426 username = operationObj.getParameterValue("username")
4423 username = operationObj.getParameterValue("username")
4427 password = operationObj.getParameterValue("password")
4424 password = operationObj.getParameterValue("password")
4428 localfolder = operationObj.getParameterValue("localfolder")
4425 localfolder = operationObj.getParameterValue("localfolder")
4429 remotefolder = operationObj.getParameterValue("remotefolder")
4426 remotefolder = operationObj.getParameterValue("remotefolder")
4430 ext = operationObj.getParameterValue("ext")
4427 ext = operationObj.getParameterValue("ext")
4431 period = operationObj.getParameterValue("period")
4428 period = operationObj.getParameterValue("period")
4432
4429
4433 self.temporalFTP.save(server=server,
4430 self.temporalFTP.save(server=server,
4434 remotefolder=remotefolder,
4431 remotefolder=remotefolder,
4435 username=username,
4432 username=username,
4436 password=password,
4433 password=password,
4437 localfolder=localfolder,
4434 localfolder=localfolder,
4438 extension=ext)
4435 extension=ext)
4439
4436
4440 return
4437 return
4441
4438
4442 def saveFTPFromProcUnitObj(self, puObj):
4439 def saveFTPFromProcUnitObj(self, puObj):
4443
4440
4444 opObj = puObj.getOperationObj(name="run")
4441 opObj = puObj.getOperationObj(name="run")
4445
4442
4446 parmObj = opObj.getParameterObj(parameterName="server")
4443 parmObj = opObj.getParameterObj(parameterName="server")
4447 if parmObj == None:
4444 if parmObj == None:
4448 server = 'jro-app.igp.gob.pe'
4445 server = 'jro-app.igp.gob.pe'
4449 else:
4446 else:
4450 server = parmObj.getValue()
4447 server = parmObj.getValue()
4451
4448
4452 parmObj = opObj.getParameterObj(parameterName="remotefolder")
4449 parmObj = opObj.getParameterObj(parameterName="remotefolder")
4453 if parmObj == None:
4450 if parmObj == None:
4454 remotefolder = '/home/wmaster/graficos'
4451 remotefolder = '/home/wmaster/graficos'
4455 else:
4452 else:
4456 remotefolder = parmObj.getValue()
4453 remotefolder = parmObj.getValue()
4457
4454
4458 parmObj = opObj.getParameterObj(parameterName="username")
4455 parmObj = opObj.getParameterObj(parameterName="username")
4459 if parmObj == None:
4456 if parmObj == None:
4460 username = 'wmaster'
4457 username = 'wmaster'
4461 else:
4458 else:
4462 username = parmObj.getValue()
4459 username = parmObj.getValue()
4463
4460
4464 parmObj = opObj.getParameterObj(parameterName="password")
4461 parmObj = opObj.getParameterObj(parameterName="password")
4465 if parmObj == None:
4462 if parmObj == None:
4466 password = 'mst2010vhf'
4463 password = 'mst2010vhf'
4467 else:
4464 else:
4468 password = parmObj.getValue()
4465 password = parmObj.getValue()
4469
4466
4470 parmObj = opObj.getParameterObj(parameterName="ftp_wei")
4467 parmObj = opObj.getParameterObj(parameterName="ftp_wei")
4471 if parmObj == None:
4468 if parmObj == None:
4472 ftp_wei = 0
4469 ftp_wei = 0
4473 else:
4470 else:
4474 ftp_wei = parmObj.getValue()
4471 ftp_wei = parmObj.getValue()
4475
4472
4476 parmObj = opObj.getParameterObj(parameterName="exp_code")
4473 parmObj = opObj.getParameterObj(parameterName="exp_code")
4477 if parmObj == None:
4474 if parmObj == None:
4478 exp_code = 0
4475 exp_code = 0
4479 else:
4476 else:
4480 exp_code = parmObj.getValue()
4477 exp_code = parmObj.getValue()
4481
4478
4482 parmObj = opObj.getParameterObj(parameterName="sub_exp_code")
4479 parmObj = opObj.getParameterObj(parameterName="sub_exp_code")
4483 if parmObj == None:
4480 if parmObj == None:
4484 sub_exp_code = 0
4481 sub_exp_code = 0
4485 else:
4482 else:
4486 sub_exp_code = parmObj.getValue()
4483 sub_exp_code = parmObj.getValue()
4487
4484
4488 parmObj = opObj.getParameterObj(parameterName="plot_pos")
4485 parmObj = opObj.getParameterObj(parameterName="plot_pos")
4489 if parmObj == None:
4486 if parmObj == None:
4490 plot_pos = 0
4487 plot_pos = 0
4491 else:
4488 else:
4492 plot_pos = parmObj.getValue()
4489 plot_pos = parmObj.getValue()
4493
4490
4494 parmObj = opObj.getParameterObj(parameterName="localfolder")
4491 parmObj = opObj.getParameterObj(parameterName="localfolder")
4495 if parmObj == None:
4492 if parmObj == None:
4496 localfolder = None
4493 localfolder = None
4497 else:
4494 else:
4498 localfolder = parmObj.getValue()
4495 localfolder = parmObj.getValue()
4499
4496
4500 parmObj = opObj.getParameterObj(parameterName="ext")
4497 parmObj = opObj.getParameterObj(parameterName="ext")
4501 if parmObj == None:
4498 if parmObj == None:
4502 extension = '.png'
4499 extension = '.png'
4503 else:
4500 else:
4504 extension = parmObj.getValue()
4501 extension = parmObj.getValue()
4505
4502
4506 self.temporalFTP.save(server=server,
4503 self.temporalFTP.save(server=server,
4507 remotefolder=remotefolder,
4504 remotefolder=remotefolder,
4508 username=username,
4505 username=username,
4509 password=password,
4506 password=password,
4510 ftp_wei=ftp_wei,
4507 ftp_wei=ftp_wei,
4511 exp_code=exp_code,
4508 exp_code=exp_code,
4512 sub_exp_code=sub_exp_code,
4509 sub_exp_code=sub_exp_code,
4513 plot_pos=plot_pos,
4510 plot_pos=plot_pos,
4514 localfolder=localfolder,
4511 localfolder=localfolder,
4515 extension=extension)
4512 extension=extension)
4516
4513
4517 def addProject2ProjectExplorer(self, id, name):
4514 def addProject2ProjectExplorer(self, id, name):
4518
4515
4519 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4516 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4520
4517
4521 parentItem = self.projectExplorerModel.invisibleRootItem()
4518 parentItem = self.projectExplorerModel.invisibleRootItem()
4522 parentItem.appendRow(itemTree)
4519 parentItem.appendRow(itemTree)
4523
4520
4524 self.projectExplorerTree.setCurrentIndex(itemTree.index())
4521 self.projectExplorerTree.setCurrentIndex(itemTree.index())
4525
4522
4526 self.selectedItemTree = itemTree
4523 self.selectedItemTree = itemTree
4527
4524
4528 self.__itemTreeDict[id] = itemTree
4525 self.__itemTreeDict[id] = itemTree
4529
4526
4530 def addPU2ProjectExplorer(self, puObj):
4527 def addPU2ProjectExplorer(self, puObj):
4531
4528
4532 id, name = puObj.id, puObj.datatype
4529 id, name = puObj.id, puObj.datatype
4533
4530
4534 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4531 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4535
4532
4536 parentItem = self.selectedItemTree
4533 parentItem = self.selectedItemTree
4537 parentItem.appendRow(itemTree)
4534 parentItem.appendRow(itemTree)
4538 self.projectExplorerTree.expandAll()
4535 self.projectExplorerTree.expandAll()
4539
4536
4540 self.projectExplorerTree.setCurrentIndex(itemTree.index())
4537 self.projectExplorerTree.setCurrentIndex(itemTree.index())
4541
4538
4542 self.selectedItemTree = itemTree
4539 self.selectedItemTree = itemTree
4543
4540
4544 self.__itemTreeDict[id] = itemTree
4541 self.__itemTreeDict[id] = itemTree
4545
4542
4546 def addPU2PELoadXML(self, puObj):
4543 def addPU2PELoadXML(self, puObj):
4547
4544
4548 id, name, inputId = puObj.id, puObj.datatype, puObj.inputId
4545 id, name, inputId = puObj.id, puObj.datatype, puObj.inputId
4549
4546
4550 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4547 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
4551
4548
4552 if self.__itemTreeDict.has_key(inputId):
4549 if self.__itemTreeDict.has_key(inputId):
4553 parentItem = self.__itemTreeDict[inputId]
4550 parentItem = self.__itemTreeDict[inputId]
4554 else:
4551 else:
4555 #If parent is a Reader object
4552 #If parent is a Reader object
4556 parentItem = self.__itemTreeDict[id[:-1]]
4553 parentItem = self.__itemTreeDict[id[:-1]]
4557
4554
4558 parentItem.appendRow(itemTree)
4555 parentItem.appendRow(itemTree)
4559 self.projectExplorerTree.expandAll()
4556 self.projectExplorerTree.expandAll()
4560 parentItem = itemTree
4557 parentItem = itemTree
4561 self.projectExplorerTree.setCurrentIndex(parentItem.index())
4558 self.projectExplorerTree.setCurrentIndex(parentItem.index())
4562
4559
4563 self.__itemTreeDict[id] = itemTree
4560 self.__itemTreeDict[id] = itemTree
4564 self.selectedItemTree = itemTree
4561 self.selectedItemTree = itemTree
4565
4562
4566 def getSelectedProjectObj(self):
4563 def getSelectedProjectObj(self):
4567 """
4564 """
4568 Return the current project object selected. If a processing unit is
4565 Return the current project object selected. If a processing unit is
4569 actually selected this function returns associated project.
4566 actually selected this function returns associated project.
4570
4567
4571 None if any project or processing unit is selected
4568 None if any project or processing unit is selected
4572 """
4569 """
4573 for key in self.__itemTreeDict.keys():
4570 for key in self.__itemTreeDict.keys():
4574 if self.__itemTreeDict[key] != self.selectedItemTree:
4571 if self.__itemTreeDict[key] != self.selectedItemTree:
4575 continue
4572 continue
4576
4573
4577 if self.__projectObjDict.has_key(key):
4574 if self.__projectObjDict.has_key(key):
4578 projectObj = self.__projectObjDict[key]
4575 projectObj = self.__projectObjDict[key]
4579 return projectObj
4576 return projectObj
4580
4577
4581 puObj = self.__puObjDict[key]
4578 puObj = self.__puObjDict[key]
4582
4579
4583 if puObj.parentId == None:
4580 if puObj.parentId == None:
4584 projectId = puObj.getId()[0]
4581 projectId = puObj.getId()[0]
4585 else:
4582 else:
4586 projectId = puObj.parentId
4583 projectId = puObj.parentId
4587
4584
4588 projectObj = self.__projectObjDict[projectId]
4585 projectObj = self.__projectObjDict[projectId]
4589 return projectObj
4586 return projectObj
4590
4587
4591 return None
4588 return None
4592
4589
4593 def getSelectedItemObj(self):
4590 def getSelectedItemObj(self):
4594 """
4591 """
4595 Return the current project or processing unit object selected
4592 Return the current project or processing unit object selected
4596
4593
4597 None if any project or processing unit is selected
4594 None if any project or processing unit is selected
4598 """
4595 """
4599 for key in self.__itemTreeDict.keys():
4596 for key in self.__itemTreeDict.keys():
4600 if self.__itemTreeDict[key] != self.selectedItemTree:
4597 if self.__itemTreeDict[key] != self.selectedItemTree:
4601 continue
4598 continue
4602
4599
4603 if self.__projectObjDict.has_key(key) == True:
4600 if self.__projectObjDict.has_key(key) == True:
4604 fatherObj = self.__projectObjDict[key]
4601 fatherObj = self.__projectObjDict[key]
4605 else:
4602 else:
4606 fatherObj = self.__puObjDict[key]
4603 fatherObj = self.__puObjDict[key]
4607
4604
4608 return fatherObj
4605 return fatherObj
4609
4606
4610 return None
4607 return None
4611
4608
4612 def _WarningWindow(self, text, information):
4609 def _WarningWindow(self, text, information):
4613
4610
4614 msgBox = QtGui.QMessageBox()
4611 msgBox = QtGui.QMessageBox()
4615 msgBox.setText(text)
4612 msgBox.setText(text)
4616 msgBox.setInformativeText(information)
4613 msgBox.setInformativeText(information)
4617 msgBox.setStandardButtons(QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel)
4614 msgBox.setStandardButtons(QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel)
4618 msgBox.setDefaultButton(QtGui.QMessageBox.Ok)
4615 msgBox.setDefaultButton(QtGui.QMessageBox.Ok)
4619 ret = msgBox.exec_()
4616 ret = msgBox.exec_()
4620
4617
4621 answer = False
4618 answer = False
4622
4619
4623 if ret == QtGui.QMessageBox.Ok:
4620 if ret == QtGui.QMessageBox.Ok:
4624 answer = True
4621 answer = True
4625
4622
4626 return answer
4623 return answer
4627
4624
4628 def __getNewProjectId(self):
4625 def __getNewProjectId(self):
4629
4626
4630 loadProject = False
4627 loadProject = False
4631
4628
4632 for thisId in range(1,10):
4629 for thisId in range(1,10):
4633 newId = str(thisId)
4630 newId = str(thisId)
4634 if newId in self.__projectObjDict.keys():
4631 if newId in self.__projectObjDict.keys():
4635 continue
4632 continue
4636
4633
4637 loadProject = True
4634 loadProject = True
4638 projectId = newId
4635 projectId = newId
4639 break
4636 break
4640
4637
4641 if not loadProject:
4638 if not loadProject:
4642 self.console.clear()
4639 self.console.clear()
4643 self.console.append("The maximum number of projects has been loaded, a new project can not be loaded")
4640 self.console.append("The maximum number of projects has been loaded, a new project can not be loaded")
4644 return None
4641 return None
4645
4642
4646 return projectId
4643 return projectId
4647
4644
4648 def openProject(self):
4645 def openProject(self):
4649
4646
4650 self.actionStart.setEnabled(False)
4647 self.actionStart.setEnabled(False)
4651 self.actionStarToolbar.setEnabled(False)
4648 self.actionStarToolbar.setEnabled(False)
4652
4649
4653 self.frame_2.setEnabled(True)
4650 self.frame_2.setEnabled(True)
4654
4651
4655 # print self.dir
4652 # print self.dir
4656 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.pathWorkSpace, self.tr("Text Files (*.xml)")))
4653 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.pathWorkSpace, self.tr("Text Files (*.xml)")))
4657
4654
4658 projectObjLoad = Project()
4655 projectObjLoad = Project()
4659
4656
4660 try:
4657 try:
4661 projectObjLoad.readXml(filename)
4658 projectObjLoad.readXml(filename)
4662 except:
4659 except:
4663 self.console.clear()
4660 self.console.clear()
4664 self.console.append("The selected xml file could not be loaded ...")
4661 self.console.append("The selected xml file could not be loaded ...")
4665 return 0
4662 return 0
4666
4663
4667 self.create = False
4664 self.create = False
4668 self.refreshProjectWindow(projectObjLoad)
4665 self.refreshProjectWindow(projectObjLoad)
4669 self.refreshProjectProperties(projectObjLoad)
4666 self.refreshProjectProperties(projectObjLoad)
4670
4667
4671 projectId = projectObjLoad.id
4668 projectId = projectObjLoad.id
4672
4669
4673 if projectId in self.__projectObjDict.keys():
4670 if projectId in self.__projectObjDict.keys():
4674
4671
4675 # answer = self._WarningWindow("You already have a project loaded with the same Id",
4672 # answer = self._WarningWindow("You already have a project loaded with the same Id",
4676 # "Do you want to load the file anyway?")
4673 # "Do you want to load the file anyway?")
4677 # if not answer:
4674 # if not answer:
4678 # return
4675 # return
4679
4676
4680 projectId = self.__getNewProjectId()
4677 projectId = self.__getNewProjectId()
4681
4678
4682 if not projectId:
4679 if not projectId:
4683 return
4680 return
4684
4681
4685 projectObjLoad.updateId(projectId)
4682 projectObjLoad.updateId(projectId)
4686
4683
4687 self.__projectObjDict[projectId] = projectObjLoad
4684 self.__projectObjDict[projectId] = projectObjLoad
4688
4685
4689 self.addProject2ProjectExplorer(id=projectId, name=projectObjLoad.name)
4686 self.addProject2ProjectExplorer(id=projectId, name=projectObjLoad.name)
4690
4687
4691 self.tabWidgetProject.setEnabled(True)
4688 self.tabWidgetProject.setEnabled(True)
4692 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4689 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4693 # Disable tabProject after finish the creation
4690 # Disable tabProject after finish the creation
4694 self.tabProject.setEnabled(True)
4691 self.tabProject.setEnabled(True)
4695 puObjorderList = OrderedDict(sorted(projectObjLoad.procUnitConfObjDict.items(), key=lambda x: x[0]))
4692 puObjorderList = OrderedDict(sorted(projectObjLoad.procUnitConfObjDict.items(), key=lambda x: x[0]))
4696
4693
4697 for puId, puObj in puObjorderList.items():
4694 for puId, puObj in puObjorderList.items():
4698
4695
4699 self.__puObjDict[puId] = puObj
4696 self.__puObjDict[puId] = puObj
4700
4697
4701 if puObj.name == "SendToServer":
4698 if puObj.name == "SendToServer":
4702 self.saveFTPFromProcUnitObj(puObj)
4699 self.saveFTPFromProcUnitObj(puObj)
4703
4700
4704 ############## COMPATIBLE WITH OLD VERSIONS ################
4701 ############## COMPATIBLE WITH OLD VERSIONS ################
4705 operationObj = puObj.getOperationObj("SendByFTP")
4702 operationObj = puObj.getOperationObj("SendByFTP")
4706
4703
4707 if operationObj:
4704 if operationObj:
4708 self.saveFTPFromOpObj(operationObj)
4705 self.saveFTPFromOpObj(operationObj)
4709 ############################################################
4706 ############################################################
4710
4707
4711 if puObj.inputId == '0':
4708 if puObj.inputId == '0':
4712 continue
4709 continue
4713
4710
4714 self.addPU2PELoadXML(puObj)
4711 self.addPU2PELoadXML(puObj)
4715
4712
4716 self.refreshPUWindow(puObj)
4713 self.refreshPUWindow(puObj)
4717 self.refreshPUProperties(puObj)
4714 self.refreshPUProperties(puObj)
4718 self.showtabPUCreated(datatype=puObj.datatype)
4715 self.showtabPUCreated(datatype=puObj.datatype)
4719
4716
4720 self.console.clear()
4717 self.console.clear()
4721 self.console.append("The selected xml file has been loaded successfully")
4718 self.console.append("The selected xml file has been loaded successfully")
4722
4719
4723 self.actionStart.setEnabled(True)
4720 self.actionStart.setEnabled(True)
4724 self.actionStarToolbar.setEnabled(True)
4721 self.actionStarToolbar.setEnabled(True)
4725
4722
4726 def create_updating_timer(self):
4723 def create_updating_timer(self):
4727 self.comm_data_timer = QtCore.QTimer(self)
4724 self.comm_data_timer = QtCore.QTimer(self)
4728 self.comm_data_timer.timeout.connect(self.on_comm_updating_timer)
4725 self.comm_data_timer.timeout.connect(self.on_comm_updating_timer)
4729 self.comm_data_timer.start(1000)
4726 self.comm_data_timer.start(1000)
4730
4727
4731 def on_comm_updating_timer(self):
4728 def on_comm_updating_timer(self):
4732 # Verifica si algun proceso ha sido inicializado y sigue ejecutandose
4729 # Verifica si algun proceso ha sido inicializado y sigue ejecutandose
4733 # Si el proceso se ha parado actualizar el GUI (stopProject)
4730 # Si el proceso se ha parado actualizar el GUI (stopProject)
4734 if not self.threadStarted:
4731 if not self.threadStarted:
4735 return
4732 return
4736
4733
4737 if self.controllerThread.isFinished():
4734 if self.controllerThread.isFinished():
4738 self.stopProject()
4735 self.stopProject()
4739
4736
4740 def playProject(self, ext=".xml", save=1):
4737 def playProject(self, ext=".xml", save=1):
4741
4738
4742 projectObj = self.getSelectedProjectObj()
4739 projectObj = self.getSelectedProjectObj()
4743
4740
4744 if not projectObj:
4741 if not projectObj:
4745 self.console.append("Please select a project before pressing PLAY button")
4742 self.console.append("Please select a project before pressing PLAY button")
4746 return
4743 return
4747
4744
4748 if save:
4745 if save:
4749 filename = self.saveProject()
4746 filename = self.saveProject()
4750 if filename == None:
4747 if filename == None:
4751 self.console.append("Process did not initialize.")
4748 self.console.append("Process did not initialize.")
4752 return
4749 return
4753 else:
4750 else:
4754 filename = TEMPORAL_FILE
4751 filename = TEMPORAL_FILE
4755 projectObj.writeXml( os.path.join(self.pathWorkSpace,filename) )
4752 projectObj.writeXml( os.path.join(self.pathWorkSpace,filename) )
4756
4753
4757 self.actionStart.setEnabled(False)
4754 self.actionStart.setEnabled(False)
4758 self.actionPause.setEnabled(True)
4755 self.actionPause.setEnabled(True)
4759 self.actionStop.setEnabled(True)
4756 self.actionStop.setEnabled(True)
4760
4757
4761 self.actionStarToolbar.setEnabled(False)
4758 self.actionStarToolbar.setEnabled(False)
4762 self.actionPauseToolbar.setEnabled(True)
4759 self.actionPauseToolbar.setEnabled(True)
4763 self.actionStopToolbar.setEnabled(True)
4760 self.actionStopToolbar.setEnabled(True)
4764
4761
4765 self.console.append("Please Wait...")
4762 self.console.append("Please Wait...")
4766
4763
4767 self.controllerThread = ControllerThread(filename)
4764 self.controllerThread = ControllerThread(filename)
4768
4765
4769 # QObject.connect( self.controllerThread, SIGNAL( "jobFinished( PyQt_PyObject )" ), self.jobFinishedFromThread )
4766 # QObject.connect( self.controllerThread, SIGNAL( "jobFinished( PyQt_PyObject )" ), self.jobFinishedFromThread )
4770 # QObject.connect( self.controllerThread, SIGNAL( "jobStarted( PyQt_PyObject )" ), self.jobStartedFromThread )
4767 # QObject.connect( self.controllerThread, SIGNAL( "jobStarted( PyQt_PyObject )" ), self.jobStartedFromThread )
4771 self.console.clear()
4768 self.console.clear()
4772 self.controllerThread.start()
4769 self.controllerThread.start()
4773 sleep(0.5)
4770 sleep(0.5)
4774 self.threadStarted = True
4771 self.threadStarted = True
4775
4772
4776 self.changeStartIcon(started=True)
4773 self.changeStartIcon(started=True)
4777
4774
4778 def stopProject(self):
4775 def stopProject(self):
4779
4776
4780 # self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.STOP, True))
4777 # self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.STOP, True))
4781 self.controllerThread.stop()
4778 self.controllerThread.stop()
4782 self.threadStarted = False
4779 self.threadStarted = False
4783
4780
4784 while self.controllerThread.isRunning():
4781 while self.controllerThread.isRunning():
4785 sleep(0.5)
4782 sleep(0.5)
4786
4783
4787 self.actionStart.setEnabled(True)
4784 self.actionStart.setEnabled(True)
4788 self.actionPause.setEnabled(False)
4785 self.actionPause.setEnabled(False)
4789 self.actionStop.setEnabled(False)
4786 self.actionStop.setEnabled(False)
4790
4787
4791 self.actionStarToolbar.setEnabled(True)
4788 self.actionStarToolbar.setEnabled(True)
4792 self.actionPauseToolbar.setEnabled(False)
4789 self.actionPauseToolbar.setEnabled(False)
4793 self.actionStopToolbar.setEnabled(False)
4790 self.actionStopToolbar.setEnabled(False)
4794
4791
4795 self.restorePauseIcon()
4792 self.restorePauseIcon()
4796 self.restoreStartIcon()
4793 self.restoreStartIcon()
4797
4794
4798 def pauseProject(self):
4795 def pauseProject(self):
4799
4796
4800 # self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PAUSE, data=True))
4797 # self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PAUSE, data=True))
4801 paused = self.controllerThread.pause()
4798 paused = self.controllerThread.pause()
4802
4799
4803 self.actionStart.setEnabled(False)
4800 self.actionStart.setEnabled(False)
4804 self.actionPause.setEnabled(True)
4801 self.actionPause.setEnabled(True)
4805 self.actionStop.setEnabled(True)
4802 self.actionStop.setEnabled(True)
4806
4803
4807 self.actionStarToolbar.setEnabled(False)
4804 self.actionStarToolbar.setEnabled(False)
4808 self.actionPauseToolbar.setEnabled(True)
4805 self.actionPauseToolbar.setEnabled(True)
4809 self.actionStopToolbar.setEnabled(True)
4806 self.actionStopToolbar.setEnabled(True)
4810
4807
4811 self.changePauseIcon(paused)
4808 self.changePauseIcon(paused)
4812
4809
4813 def saveProject(self, filename=None):
4810 def saveProject(self, filename=None):
4814
4811
4815 self.actionStart.setEnabled(False)
4812 self.actionStart.setEnabled(False)
4816 self.actionStarToolbar.setEnabled(False)
4813 self.actionStarToolbar.setEnabled(False)
4817
4814
4818 projectObj = self.getSelectedProjectObj()
4815 projectObj = self.getSelectedProjectObj()
4819
4816
4820 if not projectObj:
4817 if not projectObj:
4821
4818
4822 if self.create:
4819 if self.create:
4823 self.console.append("Please press Ok before save it")
4820 self.console.append("Please press Ok before save it")
4824 else:
4821 else:
4825 self.console.append("Please select a project before save it")
4822 self.console.append("Please select a project before save it")
4826 return
4823 return
4827
4824
4828 self.refreshGraphicsId()
4825 self.refreshGraphicsId()
4829
4826
4830 sts = True
4827 sts = True
4831 selectedItemObj = self.getSelectedItemObj()
4828 selectedItemObj = self.getSelectedItemObj()
4832
4829
4833 #A Processing Unit has been selected
4830 #A Processing Unit has been selected
4834 if projectObj == selectedItemObj:
4831 if projectObj == selectedItemObj:
4835 if not self.on_proOk_clicked():
4832 if not self.on_proOk_clicked():
4836 return None
4833 return None
4837
4834
4838 #A Processing Unit has been selected
4835 #A Processing Unit has been selected
4839 if projectObj != selectedItemObj:
4836 if projectObj != selectedItemObj:
4840 puObj = selectedItemObj
4837 puObj = selectedItemObj
4841
4838
4842 if puObj.name == 'VoltageProc':
4839 if puObj.name == 'VoltageProc':
4843 sts = self.on_volOpOk_clicked()
4840 sts = self.on_volOpOk_clicked()
4844 if puObj.name == 'SpectraProc':
4841 if puObj.name == 'SpectraProc':
4845 sts = self.on_specOpOk_clicked()
4842 sts = self.on_specOpOk_clicked()
4846 if puObj.name == 'SpectraHeisProc':
4843 if puObj.name == 'SpectraHeisProc':
4847 sts = self.on_specHeisOpOk_clicked()
4844 sts = self.on_specHeisOpOk_clicked()
4848
4845
4849 if not sts:
4846 if not sts:
4850 return None
4847 return None
4851
4848
4852 self.createFTPProcUnitView()
4849 self.createFTPProcUnitView()
4853
4850
4854 if not filename:
4851 if not filename:
4855 filename = os.path.join( str(self.pathWorkSpace), "%s%s" %(str(projectObj.name), '.xml') )
4852 filename = os.path.join( str(self.pathWorkSpace), "%s%s" %(str(projectObj.name), '.xml') )
4856
4853
4857 projectObj.writeXml(filename)
4854 projectObj.writeXml(filename)
4858 self.console.clear()
4855 self.console.clear()
4859 self.console.append("Project saved")
4856 self.console.append("Project saved")
4860 self.console.append("Press Play button to start data processing ...")
4857 self.console.append("Press Play button to start data processing ...")
4861
4858
4862 self.actionSaveToolbar.setEnabled(False)
4859 self.actionSaveToolbar.setEnabled(False)
4863 self.actionStarToolbar.setEnabled(True)
4860 self.actionStarToolbar.setEnabled(True)
4864
4861
4865 self.actionSave.setEnabled(False)
4862 self.actionSave.setEnabled(False)
4866 self.actionStart.setEnabled(True)
4863 self.actionStart.setEnabled(True)
4867
4864
4868 return filename
4865 return filename
4869
4866
4870 def removeItemTreeFromProject(self):
4867 def removeItemTreeFromProject(self):
4871 """
4868 """
4872 Metodo para eliminar el proyecto en el dictionario de proyectos y en el dictionario de vista de arbol
4869 Metodo para eliminar el proyecto en el dictionario de proyectos y en el dictionario de vista de arbol
4873 """
4870 """
4874 for key in self.__itemTreeDict.keys():
4871 for key in self.__itemTreeDict.keys():
4875
4872
4876 #Check again because an item can delete multiple items (childs)
4873 #Check again because an item can delete multiple items (childs)
4877 if key not in self.__itemTreeDict.keys():
4874 if key not in self.__itemTreeDict.keys():
4878 continue
4875 continue
4879
4876
4880 if self.__itemTreeDict[key] != self.selectedItemTree:
4877 if self.__itemTreeDict[key] != self.selectedItemTree:
4881 continue
4878 continue
4882
4879
4883 if self.__projectObjDict.has_key(key) == True:
4880 if self.__projectObjDict.has_key(key) == True:
4884
4881
4885 del self.__projectObjDict[key]
4882 del self.__projectObjDict[key]
4886 del self.__itemTreeDict[key]
4883 del self.__itemTreeDict[key]
4887
4884
4888 else:
4885 else:
4889 puObj = self.__puObjDict[key]
4886 puObj = self.__puObjDict[key]
4890 idProjectParent = puObj.parentId
4887 idProjectParent = puObj.parentId
4891 projectObj = self.__projectObjDict[idProjectParent]
4888 projectObj = self.__projectObjDict[idProjectParent]
4892
4889
4893 del self.__puObjDict[key]
4890 del self.__puObjDict[key]
4894 del self.__itemTreeDict[key]
4891 del self.__itemTreeDict[key]
4895 del projectObj.procUnitConfObjDict[key]
4892 del projectObj.procUnitConfObjDict[key]
4896
4893
4897 for key in projectObj.procUnitConfObjDict.keys():
4894 for key in projectObj.procUnitConfObjDict.keys():
4898 if projectObj.procUnitConfObjDict[key].inputId != puObj.getId():
4895 if projectObj.procUnitConfObjDict[key].inputId != puObj.getId():
4899 continue
4896 continue
4900 del self.__puObjDict[projectObj.procUnitConfObjDict[key].getId()]
4897 del self.__puObjDict[projectObj.procUnitConfObjDict[key].getId()]
4901 del self.__itemTreeDict[projectObj.procUnitConfObjDict[key].getId()]
4898 del self.__itemTreeDict[projectObj.procUnitConfObjDict[key].getId()]
4902 del projectObj.procUnitConfObjDict[key]
4899 del projectObj.procUnitConfObjDict[key]
4903 # print projectObj.procUnitConfObjDict
4900 # print projectObj.procUnitConfObjDict
4904 # print self.__itemTreeDict,self.__projectObjDict,self.__puObjDict
4901 # print self.__itemTreeDict,self.__projectObjDict,self.__puObjDict
4905
4902
4906 def setInputsProject_View(self):
4903 def setInputsProject_View(self):
4907
4904
4908 self.tabWidgetProject.setEnabled(True)
4905 self.tabWidgetProject.setEnabled(True)
4909 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4906 self.tabWidgetProject.setCurrentWidget(self.tabProject)
4910 self.tabProject.setEnabled(True)
4907 self.tabProject.setEnabled(True)
4911 self.frame_2.setEnabled(False)
4908 self.frame_2.setEnabled(False)
4912 self.proName.clear()
4909 self.proName.clear()
4913 self.proName.setFocus()
4910 self.proName.setFocus()
4914 self.proName.setSelection(0, 0)
4911 self.proName.setSelection(0, 0)
4915 self.proName.setCursorPosition(0)
4912 self.proName.setCursorPosition(0)
4916 self.proDataType.setText('.r')
4913 self.proDataType.setText('.r')
4917 self.proDataPath.clear()
4914 self.proDataPath.clear()
4918 self.proComDataType.clear()
4915 self.proComDataType.clear()
4919 self.proComDataType.addItem("Voltage")
4916 self.proComDataType.addItem("Voltage")
4920 self.proComDataType.addItem("Spectra")
4917 self.proComDataType.addItem("Spectra")
4921 self.proComDataType.addItem("Fits")
4918 self.proComDataType.addItem("Fits")
4922 self.proComDataType.addItem("USRP")
4919 self.proComDataType.addItem("USRP")
4923
4920
4924 self.proComStartDate.clear()
4921 self.proComStartDate.clear()
4925 self.proComEndDate.clear()
4922 self.proComEndDate.clear()
4926
4923
4927 startTime = "00:00:00"
4924 startTime = "00:00:00"
4928 endTime = "23:59:59"
4925 endTime = "23:59:59"
4929 starlist = startTime.split(":")
4926 starlist = startTime.split(":")
4930 endlist = endTime.split(":")
4927 endlist = endTime.split(":")
4931 self.proDelay.setText("60")
4928 self.proDelay.setText("60")
4932 self.proSet.setText("")
4929 self.proSet.setText("")
4933
4930
4934 self.labelSet.show()
4931 self.labelSet.show()
4935 self.proSet.show()
4932 self.proSet.show()
4936
4933
4937 self.labelIPPKm.hide()
4934 self.labelIPPKm.hide()
4938 self.proIPPKm.hide()
4935 self.proIPPKm.hide()
4939
4936
4940 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
4937 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
4941 self.proStartTime.setTime(self.time)
4938 self.proStartTime.setTime(self.time)
4942 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
4939 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
4943 self.proEndTime.setTime(self.time)
4940 self.proEndTime.setTime(self.time)
4944 self.proDescription.clear()
4941 self.proDescription.clear()
4945 self.proOk.setEnabled(False)
4942 self.proOk.setEnabled(False)
4946 # self.console.append("Please, Write a name Project")
4943 # self.console.append("Please, Write a name Project")
4947 # self.console.append("Introduce Project Parameters")DC
4944 # self.console.append("Introduce Project Parameters")DC
4948 # self.console.append("Select data type Voltage( .rawdata) or Spectra(.pdata)")
4945 # self.console.append("Select data type Voltage( .rawdata) or Spectra(.pdata)")
4949
4946
4950 def clearPUWindow(self, datatype):
4947 def clearPUWindow(self, datatype):
4951
4948
4952 projectObjView = self.getSelectedProjectObj()
4949 projectObjView = self.getSelectedProjectObj()
4953
4950
4954 if not projectObjView:
4951 if not projectObjView:
4955 return
4952 return
4956
4953
4957 puObj = self.getSelectedItemObj()
4954 puObj = self.getSelectedItemObj()
4958 inputId = puObj.getInputId()
4955 inputId = puObj.getInputId()
4959 inputPUObj = projectObjView.getProcUnitObj(inputId)
4956 inputPUObj = projectObjView.getProcUnitObj(inputId)
4960
4957
4961 if datatype == 'Voltage':
4958 if datatype == 'Voltage':
4962 self.volOpComChannels.setEnabled(False)
4959 self.volOpComChannels.setEnabled(False)
4963 self.volOpComHeights.setEnabled(False)
4960 self.volOpComHeights.setEnabled(False)
4964 self.volOpFilter.setEnabled(False)
4961 self.volOpFilter.setEnabled(False)
4965 self.volOpComProfile.setEnabled(False)
4962 self.volOpComProfile.setEnabled(False)
4966 self.volOpComCode.setEnabled(False)
4963 self.volOpComCode.setEnabled(False)
4967 self.volOpCohInt.setEnabled(False)
4964 self.volOpCohInt.setEnabled(False)
4968 self.volOpChannel.setEnabled(False)
4965 self.volOpChannel.setEnabled(False)
4969 self.volOpHeights.setEnabled(False)
4966 self.volOpHeights.setEnabled(False)
4970 self.volOpProfile.setEnabled(False)
4967 self.volOpProfile.setEnabled(False)
4971 self.volOpRadarfrequency.setEnabled(False)
4968 self.volOpRadarfrequency.setEnabled(False)
4972 self.volOpCebChannels.setCheckState(0)
4969 self.volOpCebChannels.setCheckState(0)
4973 self.volOpCebRadarfrequency.setCheckState(0)
4970 self.volOpCebRadarfrequency.setCheckState(0)
4974 self.volOpCebHeights.setCheckState(0)
4971 self.volOpCebHeights.setCheckState(0)
4975 self.volOpCebFilter.setCheckState(0)
4972 self.volOpCebFilter.setCheckState(0)
4976 self.volOpCebProfile.setCheckState(0)
4973 self.volOpCebProfile.setCheckState(0)
4977 self.volOpCebDecodification.setCheckState(0)
4974 self.volOpCebDecodification.setCheckState(0)
4978 self.volOpCebCohInt.setCheckState(0)
4975 self.volOpCebCohInt.setCheckState(0)
4979
4976
4980 self.volOpChannel.clear()
4977 self.volOpChannel.clear()
4981 self.volOpHeights.clear()
4978 self.volOpHeights.clear()
4982 self.volOpProfile.clear()
4979 self.volOpProfile.clear()
4983 self.volOpFilter.clear()
4980 self.volOpFilter.clear()
4984 self.volOpCohInt.clear()
4981 self.volOpCohInt.clear()
4985 self.volOpRadarfrequency.clear()
4982 self.volOpRadarfrequency.clear()
4986
4983
4987 if datatype == 'Spectra':
4984 if datatype == 'Spectra':
4988
4985
4989 if inputPUObj.datatype == 'Spectra':
4986 if inputPUObj.datatype == 'Spectra':
4990 self.specOpnFFTpoints.setEnabled(False)
4987 self.specOpnFFTpoints.setEnabled(False)
4991 self.specOpProfiles.setEnabled(False)
4988 self.specOpProfiles.setEnabled(False)
4992 self.specOpippFactor.setEnabled(False)
4989 self.specOpippFactor.setEnabled(False)
4993 else:
4990 else:
4994 self.specOpnFFTpoints.setEnabled(True)
4991 self.specOpnFFTpoints.setEnabled(True)
4995 self.specOpProfiles.setEnabled(True)
4992 self.specOpProfiles.setEnabled(True)
4996 self.specOpippFactor.setEnabled(True)
4993 self.specOpippFactor.setEnabled(True)
4997
4994
4998 self.specOpCebCrossSpectra.setCheckState(0)
4995 self.specOpCebCrossSpectra.setCheckState(0)
4999 self.specOpCebChannel.setCheckState(0)
4996 self.specOpCebChannel.setCheckState(0)
5000 self.specOpCebHeights.setCheckState(0)
4997 self.specOpCebHeights.setCheckState(0)
5001 self.specOpCebIncoherent.setCheckState(0)
4998 self.specOpCebIncoherent.setCheckState(0)
5002 self.specOpCebRemoveDC.setCheckState(0)
4999 self.specOpCebRemoveDC.setCheckState(0)
5003 self.specOpCebRemoveInt.setCheckState(0)
5000 self.specOpCebRemoveInt.setCheckState(0)
5004 self.specOpCebgetNoise.setCheckState(0)
5001 self.specOpCebgetNoise.setCheckState(0)
5005 self.specOpCebRadarfrequency.setCheckState(0)
5002 self.specOpCebRadarfrequency.setCheckState(0)
5006
5003
5007 self.specOpRadarfrequency.setEnabled(False)
5004 self.specOpRadarfrequency.setEnabled(False)
5008 self.specOppairsList.setEnabled(False)
5005 self.specOppairsList.setEnabled(False)
5009 self.specOpChannel.setEnabled(False)
5006 self.specOpChannel.setEnabled(False)
5010 self.specOpHeights.setEnabled(False)
5007 self.specOpHeights.setEnabled(False)
5011 self.specOpIncoherent.setEnabled(False)
5008 self.specOpIncoherent.setEnabled(False)
5012 self.specOpgetNoise.setEnabled(False)
5009 self.specOpgetNoise.setEnabled(False)
5013
5010
5014 self.specOpRadarfrequency.clear()
5011 self.specOpRadarfrequency.clear()
5015 self.specOpnFFTpoints.clear()
5012 self.specOpnFFTpoints.clear()
5016 self.specOpProfiles.clear()
5013 self.specOpProfiles.clear()
5017 self.specOpippFactor.clear
5014 self.specOpippFactor.clear
5018 self.specOppairsList.clear()
5015 self.specOppairsList.clear()
5019 self.specOpChannel.clear()
5016 self.specOpChannel.clear()
5020 self.specOpHeights.clear()
5017 self.specOpHeights.clear()
5021 self.specOpIncoherent.clear()
5018 self.specOpIncoherent.clear()
5022 self.specOpgetNoise.clear()
5019 self.specOpgetNoise.clear()
5023
5020
5024 self.specGraphCebSpectraplot.setCheckState(0)
5021 self.specGraphCebSpectraplot.setCheckState(0)
5025 self.specGraphCebCrossSpectraplot.setCheckState(0)
5022 self.specGraphCebCrossSpectraplot.setCheckState(0)
5026 self.specGraphCebRTIplot.setCheckState(0)
5023 self.specGraphCebRTIplot.setCheckState(0)
5027 self.specGraphCebRTInoise.setCheckState(0)
5024 self.specGraphCebRTInoise.setCheckState(0)
5028 self.specGraphCebCoherencmap.setCheckState(0)
5025 self.specGraphCebCoherencmap.setCheckState(0)
5029 self.specGraphPowerprofile.setCheckState(0)
5026 self.specGraphPowerprofile.setCheckState(0)
5030
5027
5031 self.specGraphSaveSpectra.setCheckState(0)
5028 self.specGraphSaveSpectra.setCheckState(0)
5032 self.specGraphSaveCross.setCheckState(0)
5029 self.specGraphSaveCross.setCheckState(0)
5033 self.specGraphSaveRTIplot.setCheckState(0)
5030 self.specGraphSaveRTIplot.setCheckState(0)
5034 self.specGraphSaveRTInoise.setCheckState(0)
5031 self.specGraphSaveRTInoise.setCheckState(0)
5035 self.specGraphSaveCoherencemap.setCheckState(0)
5032 self.specGraphSaveCoherencemap.setCheckState(0)
5036 self.specGraphSavePowerprofile.setCheckState(0)
5033 self.specGraphSavePowerprofile.setCheckState(0)
5037
5034
5038 self.specGraphftpRTIplot.setCheckState(0)
5035 self.specGraphftpRTIplot.setCheckState(0)
5039 self.specGraphftpRTInoise.setCheckState(0)
5036 self.specGraphftpRTInoise.setCheckState(0)
5040 self.specGraphftpCoherencemap.setCheckState(0)
5037 self.specGraphftpCoherencemap.setCheckState(0)
5041
5038
5042 self.specGraphPath.clear()
5039 self.specGraphPath.clear()
5043 self.specGraphPrefix.clear()
5040 self.specGraphPrefix.clear()
5044
5041
5045 self.specGgraphftpratio.clear()
5042 self.specGgraphftpratio.clear()
5046
5043
5047 self.specGgraphChannelList.clear()
5044 self.specGgraphChannelList.clear()
5048 self.specGgraphFreq.clear()
5045 self.specGgraphFreq.clear()
5049 self.specGgraphHeight.clear()
5046 self.specGgraphHeight.clear()
5050 self.specGgraphDbsrange.clear()
5047 self.specGgraphDbsrange.clear()
5051 self.specGgraphmagnitud.clear()
5048 self.specGgraphmagnitud.clear()
5052 self.specGgraphTminTmax.clear()
5049 self.specGgraphTminTmax.clear()
5053 self.specGgraphTimeRange.clear()
5050 self.specGgraphTimeRange.clear()
5054
5051
5055 if datatype == 'SpectraHeis':
5052 if datatype == 'SpectraHeis':
5056 self.specHeisOpCebIncoherent.setCheckState(0)
5053 self.specHeisOpCebIncoherent.setCheckState(0)
5057 self.specHeisOpIncoherent.setEnabled(False)
5054 self.specHeisOpIncoherent.setEnabled(False)
5058 self.specHeisOpIncoherent.clear()
5055 self.specHeisOpIncoherent.clear()
5059
5056
5060 self.specHeisGraphCebSpectraplot.setCheckState(0)
5057 self.specHeisGraphCebSpectraplot.setCheckState(0)
5061 self.specHeisGraphCebRTIplot.setCheckState(0)
5058 self.specHeisGraphCebRTIplot.setCheckState(0)
5062
5059
5063 self.specHeisGraphSaveSpectra.setCheckState(0)
5060 self.specHeisGraphSaveSpectra.setCheckState(0)
5064 self.specHeisGraphSaveRTIplot.setCheckState(0)
5061 self.specHeisGraphSaveRTIplot.setCheckState(0)
5065
5062
5066 self.specHeisGraphftpSpectra.setCheckState(0)
5063 self.specHeisGraphftpSpectra.setCheckState(0)
5067 self.specHeisGraphftpRTIplot.setCheckState(0)
5064 self.specHeisGraphftpRTIplot.setCheckState(0)
5068
5065
5069 self.specHeisGraphPath.clear()
5066 self.specHeisGraphPath.clear()
5070 self.specHeisGraphPrefix.clear()
5067 self.specHeisGraphPrefix.clear()
5071 self.specHeisGgraphChannelList.clear()
5068 self.specHeisGgraphChannelList.clear()
5072 self.specHeisGgraphXminXmax.clear()
5069 self.specHeisGgraphXminXmax.clear()
5073 self.specHeisGgraphYminYmax.clear()
5070 self.specHeisGgraphYminYmax.clear()
5074 self.specHeisGgraphTminTmax.clear()
5071 self.specHeisGgraphTminTmax.clear()
5075 self.specHeisGgraphTimeRange.clear()
5072 self.specHeisGgraphTimeRange.clear()
5076 self.specHeisGgraphftpratio.clear()
5073 self.specHeisGgraphftpratio.clear()
5077
5074
5078 def showtabPUCreated(self, datatype):
5075 def showtabPUCreated(self, datatype):
5079
5076
5080 if datatype == "Voltage":
5077 if datatype == "Voltage":
5081 self.tabVoltage.setEnabled(True)
5078 self.tabVoltage.setEnabled(True)
5082 self.tabProject.setEnabled(False)
5079 self.tabProject.setEnabled(False)
5083 self.tabSpectra.setEnabled(False)
5080 self.tabSpectra.setEnabled(False)
5084 self.tabCorrelation.setEnabled(False)
5081 self.tabCorrelation.setEnabled(False)
5085 self.tabSpectraHeis.setEnabled(False)
5082 self.tabSpectraHeis.setEnabled(False)
5086 self.tabWidgetProject.setCurrentWidget(self.tabVoltage)
5083 self.tabWidgetProject.setCurrentWidget(self.tabVoltage)
5087
5084
5088 if datatype == "Spectra":
5085 if datatype == "Spectra":
5089 self.tabVoltage.setEnabled(False)
5086 self.tabVoltage.setEnabled(False)
5090 self.tabProject.setEnabled(False)
5087 self.tabProject.setEnabled(False)
5091 self.tabSpectra.setEnabled(True)
5088 self.tabSpectra.setEnabled(True)
5092 self.tabCorrelation.setEnabled(False)
5089 self.tabCorrelation.setEnabled(False)
5093 self.tabSpectraHeis.setEnabled(False)
5090 self.tabSpectraHeis.setEnabled(False)
5094 self.tabWidgetProject.setCurrentWidget(self.tabSpectra)
5091 self.tabWidgetProject.setCurrentWidget(self.tabSpectra)
5095
5092
5096 if datatype == "SpectraHeis":
5093 if datatype == "SpectraHeis":
5097 self.tabVoltage.setEnabled(False)
5094 self.tabVoltage.setEnabled(False)
5098 self.tabProject.setEnabled(False)
5095 self.tabProject.setEnabled(False)
5099 self.tabSpectra.setEnabled(False)
5096 self.tabSpectra.setEnabled(False)
5100 self.tabCorrelation.setEnabled(False)
5097 self.tabCorrelation.setEnabled(False)
5101 self.tabSpectraHeis.setEnabled(True)
5098 self.tabSpectraHeis.setEnabled(True)
5102 self.tabWidgetProject.setCurrentWidget(self.tabSpectraHeis)
5099 self.tabWidgetProject.setCurrentWidget(self.tabSpectraHeis)
5103
5100
5104 def checkInputsProject(self):
5101 def checkInputsProject(self):
5105 """
5102 """
5106 Check Inputs Project:
5103 Check Inputs Project:
5107 - project_name
5104 - project_name
5108 - datatype
5105 - datatype
5109 - ext
5106 - ext
5110 - data_path
5107 - data_path
5111 - readmode
5108 - readmode
5112 - delay
5109 - delay
5113 - set
5110 - set
5114 - walk
5111 - walk
5115 """
5112 """
5116 parms_ok = True
5113 parms_ok = True
5117 project_name = str(self.proName.text())
5114 project_name = str(self.proName.text())
5118 if project_name == '' or project_name == None:
5115 if project_name == '' or project_name == None:
5119 outputstr = "Enter the Project Name"
5116 outputstr = "Enter the Project Name"
5120 self.console.append(outputstr)
5117 self.console.append(outputstr)
5121 parms_ok = False
5118 parms_ok = False
5122 project_name = None
5119 project_name = None
5123
5120
5124 datatype = str(self.proComDataType.currentText())
5121 datatype = str(self.proComDataType.currentText())
5125 if not(datatype in ['Voltage', 'Spectra', 'Fits', 'USRP']):
5122 if not(datatype in ['Voltage', 'Spectra', 'Fits', 'USRP']):
5126 outputstr = 'datatype = %s, this must be either Voltage, Spectra, SpectraHeis or USRP' % datatype
5123 outputstr = 'datatype = %s, this must be either Voltage, Spectra, SpectraHeis or USRP' % datatype
5127 self.console.append(outputstr)
5124 self.console.append(outputstr)
5128 parms_ok = False
5125 parms_ok = False
5129 datatype = None
5126 datatype = None
5130
5127
5131 ext = str(self.proDataType.text())
5128 ext = str(self.proDataType.text())
5132 if not(ext in ['.r', '.pdata', '.fits', '.hdf5']):
5129 if not(ext in ['.r', '.pdata', '.fits', '.hdf5']):
5133 outputstr = "extension files must be .r , .pdata, .fits or .hdf5"
5130 outputstr = "extension files must be .r , .pdata, .fits or .hdf5"
5134 self.console.append(outputstr)
5131 self.console.append(outputstr)
5135 parms_ok = False
5132 parms_ok = False
5136 ext = None
5133 ext = None
5137
5134
5138 data_path = str(self.proDataPath.text())
5135 data_path = str(self.proDataPath.text())
5139
5136
5140 if data_path == '':
5137 if data_path == '':
5141 outputstr = 'Datapath is empty'
5138 outputstr = 'Datapath is empty'
5142 self.console.append(outputstr)
5139 self.console.append(outputstr)
5143 parms_ok = False
5140 parms_ok = False
5144 data_path = None
5141 data_path = None
5145
5142
5146 if data_path != None:
5143 if data_path != None:
5147 if not os.path.isdir(data_path):
5144 if not os.path.isdir(data_path):
5148 outputstr = 'Datapath:%s does not exists' % data_path
5145 outputstr = 'Datapath:%s does not exists' % data_path
5149 self.console.append(outputstr)
5146 self.console.append(outputstr)
5150 parms_ok = False
5147 parms_ok = False
5151 data_path = None
5148 data_path = None
5152
5149
5153 read_mode = str(self.proComReadMode.currentText())
5150 read_mode = str(self.proComReadMode.currentText())
5154 if not(read_mode in ['Online', 'Offline']):
5151 if not(read_mode in ['Online', 'Offline']):
5155 outputstr = 'Read Mode: %s, this must be either Online or Offline' % read_mode
5152 outputstr = 'Read Mode: %s, this must be either Online or Offline' % read_mode
5156 self.console.append(outputstr)
5153 self.console.append(outputstr)
5157 parms_ok = False
5154 parms_ok = False
5158 read_mode = None
5155 read_mode = None
5159
5156
5160 delay = None
5157 delay = None
5161 if read_mode == "Online":
5158 if read_mode == "Online":
5162 parms_ok = False
5159 parms_ok = False
5163 try:
5160 try:
5164 delay = int(str(self.proDelay.text()))
5161 delay = int(str(self.proDelay.text()))
5165 parms_ok = True
5162 parms_ok = True
5166 except:
5163 except:
5167 outputstr = 'Delay: %s, this must be a integer number' % str(self.proDelay.text())
5164 outputstr = 'Delay: %s, this must be a integer number' % str(self.proDelay.text())
5168 self.console.append(outputstr)
5165 self.console.append(outputstr)
5169
5166
5170 try:
5167 try:
5171 set = int(str(self.proSet.text()))
5168 set = int(str(self.proSet.text()))
5172 except:
5169 except:
5173 # outputstr = 'Set: %s, this must be a integer number' % str(self.proName.text())
5170 # outputstr = 'Set: %s, this must be a integer number' % str(self.proName.text())
5174 # self.console.append(outputstr)
5171 # self.console.append(outputstr)
5175 # parms_ok = False
5172 # parms_ok = False
5176 set = None
5173 set = None
5177
5174
5178 walk = int(self.proComWalk.currentIndex())
5175 walk = int(self.proComWalk.currentIndex())
5179 expLabel = str(self.proExpLabel.text())
5176 expLabel = str(self.proExpLabel.text())
5180
5177
5181 return parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set, expLabel
5178 return parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set, expLabel
5182
5179
5183 def checkInputsPUSave(self, datatype):
5180 def checkInputsPUSave(self, datatype):
5184 """
5181 """
5185 Check Inputs Spectra Save:
5182 Check Inputs Spectra Save:
5186 - path
5183 - path
5187 - blocks Per File
5184 - blocks Per File
5188 - sufix
5185 - sufix
5189 - dataformat
5186 - dataformat
5190 """
5187 """
5191 parms_ok = True
5188 parms_ok = True
5192
5189
5193 if datatype == "Voltage":
5190 if datatype == "Voltage":
5194 output_path = str(self.volOutputPath.text())
5191 output_path = str(self.volOutputPath.text())
5195 blocksperfile = str(self.volOutputblocksperfile.text())
5192 blocksperfile = str(self.volOutputblocksperfile.text())
5196 profilesperblock = str(self.volOutputprofilesperblock.text())
5193 profilesperblock = str(self.volOutputprofilesperblock.text())
5197
5194
5198 if datatype == "Spectra":
5195 if datatype == "Spectra":
5199 output_path = str(self.specOutputPath.text())
5196 output_path = str(self.specOutputPath.text())
5200 blocksperfile = str(self.specOutputblocksperfile.text())
5197 blocksperfile = str(self.specOutputblocksperfile.text())
5201 profilesperblock = 0
5198 profilesperblock = 0
5202
5199
5203 if datatype == "SpectraHeis":
5200 if datatype == "SpectraHeis":
5204 output_path = str(self.specHeisOutputPath.text())
5201 output_path = str(self.specHeisOutputPath.text())
5205 blocksperfile = str(self.specHeisOutputblocksperfile.text())
5202 blocksperfile = str(self.specHeisOutputblocksperfile.text())
5206 metadata_file = str(self.specHeisOutputMetada.text())
5203 metadata_file = str(self.specHeisOutputMetada.text())
5207
5204
5208 if output_path == '':
5205 if output_path == '':
5209 outputstr = 'Outputpath is empty'
5206 outputstr = 'Outputpath is empty'
5210 self.console.append(outputstr)
5207 self.console.append(outputstr)
5211 parms_ok = False
5208 parms_ok = False
5212
5209
5213 if not os.path.isdir(output_path):
5210 if not os.path.isdir(output_path):
5214 outputstr = 'OutputPath:%s does not exists' % output_path
5211 outputstr = 'OutputPath:%s does not exists' % output_path
5215 self.console.append(outputstr)
5212 self.console.append(outputstr)
5216 parms_ok = False
5213 parms_ok = False
5217
5214
5218 try:
5215 try:
5219 profilesperblock = int(profilesperblock)
5216 profilesperblock = int(profilesperblock)
5220 except:
5217 except:
5221 if datatype == "Voltage":
5218 if datatype == "Voltage":
5222 outputstr = 'Profilesperblock: %s, this must be a integer number' % str(self.volOutputprofilesperblock.text())
5219 outputstr = 'Profilesperblock: %s, this must be a integer number' % str(self.volOutputprofilesperblock.text())
5223 self.console.append(outputstr)
5220 self.console.append(outputstr)
5224 parms_ok = False
5221 parms_ok = False
5225 profilesperblock = None
5222 profilesperblock = None
5226
5223
5227 try:
5224 try:
5228 blocksperfile = int(blocksperfile)
5225 blocksperfile = int(blocksperfile)
5229 except:
5226 except:
5230 if datatype == "Voltage":
5227 if datatype == "Voltage":
5231 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.volOutputblocksperfile.text())
5228 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.volOutputblocksperfile.text())
5232 elif datatype == "Spectra":
5229 elif datatype == "Spectra":
5233 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specOutputblocksperfile.text())
5230 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specOutputblocksperfile.text())
5234 elif datatype == "SpectraHeis":
5231 elif datatype == "SpectraHeis":
5235 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specHeisOutputblocksperfile.text())
5232 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specHeisOutputblocksperfile.text())
5236
5233
5237 self.console.append(outputstr)
5234 self.console.append(outputstr)
5238 parms_ok = False
5235 parms_ok = False
5239 blocksperfile = None
5236 blocksperfile = None
5240
5237
5241 if datatype == "SpectraHeis":
5238 if datatype == "SpectraHeis":
5242 if metadata_file != '':
5239 if metadata_file != '':
5243 if not os.path.isfile(metadata_file):
5240 if not os.path.isfile(metadata_file):
5244 outputstr = 'Metadata file %s does not exist' % metadata_file
5241 outputstr = 'Metadata file %s does not exist' % metadata_file
5245 self.console.append(outputstr)
5242 self.console.append(outputstr)
5246 parms_ok = False
5243 parms_ok = False
5247
5244
5248 if datatype == "Voltage":
5245 if datatype == "Voltage":
5249 return parms_ok, output_path, blocksperfile, profilesperblock
5246 return parms_ok, output_path, blocksperfile, profilesperblock
5250
5247
5251
5248
5252 if datatype == "Spectra":
5249 if datatype == "Spectra":
5253 return parms_ok, output_path, blocksperfile, profilesperblock
5250 return parms_ok, output_path, blocksperfile, profilesperblock
5254
5251
5255
5252
5256 if datatype == "SpectraHeis":
5253 if datatype == "SpectraHeis":
5257 return parms_ok, output_path, blocksperfile, metadata_file
5254 return parms_ok, output_path, blocksperfile, metadata_file
5258
5255
5259 def findDatafiles(self, data_path, ext, walk, expLabel=''):
5256 def findDatafiles(self, data_path, ext, walk, expLabel=''):
5260
5257
5261 dateList = []
5258 dateList = []
5262 fileList = []
5259 fileList = []
5263
5260
5264 if ext == ".r":
5261 if ext == ".r":
5265 from schainpy.model.io.jroIO_base import JRODataReader
5262 from schainpy.model.io.jroIO_base import JRODataReader
5266
5263
5267 readerObj = JRODataReader()
5264 readerObj = JRODataReader()
5268 dateList = readerObj.findDatafiles(path=data_path,
5265 dateList = readerObj.findDatafiles(path=data_path,
5269 expLabel=expLabel,
5266 expLabel=expLabel,
5270 ext=ext,
5267 ext=ext,
5271 walk=walk)
5268 walk=walk)
5272
5269
5273 if ext == ".pdata":
5270 if ext == ".pdata":
5274 from schainpy.model.io.jroIO_base import JRODataReader
5271 from schainpy.model.io.jroIO_base import JRODataReader
5275
5272
5276 readerObj = JRODataReader()
5273 readerObj = JRODataReader()
5277 dateList = readerObj.findDatafiles(path=data_path,
5274 dateList = readerObj.findDatafiles(path=data_path,
5278 expLabel=expLabel,
5275 expLabel=expLabel,
5279 ext=ext,
5276 ext=ext,
5280 walk=walk)
5277 walk=walk)
5281
5278
5282 if ext == ".fits":
5279 if ext == ".fits":
5283 from schainpy.model.io.jroIO_base import JRODataReader
5280 from schainpy.model.io.jroIO_base import JRODataReader
5284
5281
5285 readerObj = JRODataReader()
5282 readerObj = JRODataReader()
5286 dateList = readerObj.findDatafiles(path=data_path,
5283 dateList = readerObj.findDatafiles(path=data_path,
5287 expLabel=expLabel,
5284 expLabel=expLabel,
5288 ext=ext,
5285 ext=ext,
5289 walk=walk)
5286 walk=walk)
5290
5287
5291 if ext == ".hdf5":
5288 if ext == ".hdf5":
5292 from schainpy.model.io.jroIO_usrp import USRPReader
5289 from schainpy.model.io.jroIO_usrp import USRPReader
5293
5290
5294 readerObj = USRPReader()
5291 readerObj = USRPReader()
5295 dateList = readerObj.findDatafiles(path=data_path)
5292 dateList = readerObj.findDatafiles(path=data_path)
5296
5293
5297 return dateList
5294 return dateList
5298
5295
5299 def loadDays(self, data_path, ext, walk, expLabel=''):
5296 def loadDays(self, data_path, ext, walk, expLabel=''):
5300 """
5297 """
5301 Method to loads day
5298 Method to loads day
5302 """
5299 """
5303 self.actionSaveToolbar.setEnabled(False)
5300 self.actionSaveToolbar.setEnabled(False)
5304 self.actionStarToolbar.setEnabled(False)
5301 self.actionStarToolbar.setEnabled(False)
5305
5302
5306 self.actionSave.setEnabled(False)
5303 self.actionSave.setEnabled(False)
5307 self.actionStart.setEnabled(False)
5304 self.actionStart.setEnabled(False)
5308
5305
5309 self.proOk.setEnabled(False)
5306 self.proOk.setEnabled(False)
5310 self.proComStartDate.clear()
5307 self.proComStartDate.clear()
5311 self.proComEndDate.clear()
5308 self.proComEndDate.clear()
5312
5309
5313 self.dateList = []
5310 self.dateList = []
5314
5311
5315 if not data_path:
5312 if not data_path:
5316 return []
5313 return []
5317
5314
5318 if not os.path.isdir(data_path):
5315 if not os.path.isdir(data_path):
5319 return []
5316 return []
5320
5317
5321 self.dataPath = data_path
5318 self.dataPath = data_path
5322
5319
5323 dateList = self.findDatafiles(data_path, ext=ext, walk=walk, expLabel=expLabel)
5320 dateList = self.findDatafiles(data_path, ext=ext, walk=walk, expLabel=expLabel)
5324
5321
5325 if not dateList:
5322 if not dateList:
5326 # self.console.clear()
5323 # self.console.clear()
5327 if walk:
5324 if walk:
5328 if expLabel:
5325 if expLabel:
5329 outputstr = "No files (*%s) were found on %s/DOYPATH/%s" % (ext, data_path, expLabel)
5326 outputstr = "No files (*%s) were found on %s/DOYPATH/%s" % (ext, data_path, expLabel)
5330 else:
5327 else:
5331 outputstr = "No files (*%s) were found on %s" % (ext, data_path)
5328 outputstr = "No files (*%s) were found on %s" % (ext, data_path)
5332 else:
5329 else:
5333 outputstr = "No files (*%s) were found on %s" % (ext, data_path)
5330 outputstr = "No files (*%s) were found on %s" % (ext, data_path)
5334
5331
5335 self.console.append(outputstr)
5332 self.console.append(outputstr)
5336 return []
5333 return []
5337
5334
5338 dateStrList = []
5335 dateStrList = []
5339 for thisDate in dateList:
5336 for thisDate in dateList:
5340 dateStr = thisDate.strftime("%Y/%m/%d")
5337 dateStr = thisDate.strftime("%Y/%m/%d")
5341
5338
5342 self.proComStartDate.addItem(dateStr)
5339 self.proComStartDate.addItem(dateStr)
5343 self.proComEndDate.addItem(dateStr)
5340 self.proComEndDate.addItem(dateStr)
5344 dateStrList.append(dateStr)
5341 dateStrList.append(dateStr)
5345
5342
5346 self.proComStartDate.setCurrentIndex(0)
5343 self.proComStartDate.setCurrentIndex(0)
5347 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - 1)
5344 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - 1)
5348
5345
5349 self.dateList = dateStrList
5346 self.dateList = dateStrList
5350
5347
5351 self.proOk.setEnabled(True)
5348 self.proOk.setEnabled(True)
5352
5349
5353 self.actionSaveToolbar.setEnabled(True)
5350 self.actionSaveToolbar.setEnabled(True)
5354 self.actionStarToolbar.setEnabled(True)
5351 self.actionStarToolbar.setEnabled(True)
5355
5352
5356 self.actionSave.setEnabled(True)
5353 self.actionSave.setEnabled(True)
5357 self.actionStart.setEnabled(True)
5354 self.actionStart.setEnabled(True)
5358
5355
5359 self.console.clear()
5356 self.console.clear()
5360 self.console.append("Successful load")
5357 self.console.append("Successful load")
5361
5358
5362 return self.dateList
5359 return self.dateList
5363
5360
5364 def setWorkSpaceGUI(self, pathWorkSpace=None):
5361 def setWorkSpaceGUI(self, pathWorkSpace=None):
5365
5362
5366 if pathWorkSpace == None:
5363 if pathWorkSpace == None:
5367 home = os.path.expanduser("~")
5364 home = os.path.expanduser("~")
5368 pathWorkSpace = os.path.join(home,'schain_workspace')
5365 pathWorkSpace = os.path.join(home,'schain_workspace')
5369
5366
5370 self.pathWorkSpace = pathWorkSpace
5367 self.pathWorkSpace = pathWorkSpace
5371
5368
5372 """
5369 """
5373 Comandos Usados en Console
5370 Comandos Usados en Console
5374 """
5371 """
5375 def __del__(self):
5372 def __del__(self):
5376 sys.stdout = sys.__stdout__
5373 sys.stdout = sys.__stdout__
5377 sys.stderr = sys.__stderr__
5374 sys.stderr = sys.__stderr__
5378
5375
5379 def normalOutputWritten(self, text):
5376 def normalOutputWritten(self, text):
5380 color_black = QtGui.QColor(0,0,0)
5377 color_black = QtGui.QColor(0,0,0)
5381 self.console.setTextColor(color_black)
5378 self.console.setTextColor(color_black)
5382 self.console.append(text)
5379 self.console.append(text)
5383
5380
5384 def errorOutputWritten(self, text):
5381 def errorOutputWritten(self, text):
5385 color_red = QtGui.QColor(255,0,0)
5382 color_red = QtGui.QColor(255,0,0)
5386 color_black = QtGui.QColor(0,0,0)
5383 color_black = QtGui.QColor(0,0,0)
5387
5384
5388 self.console.setTextColor(color_red)
5385 self.console.setTextColor(color_red)
5389 self.console.append(text)
5386 self.console.append(text)
5390 self.console.setTextColor(color_black)
5387 self.console.setTextColor(color_black)
5391
5388
5392 def setGUIStatus(self):
5389 def setGUIStatus(self):
5393
5390
5394 self.setWindowTitle("ROJ-Signal Chain")
5391 self.setWindowTitle("ROJ-Signal Chain")
5395 self.setWindowIcon(QtGui.QIcon( os.path.join(FIGURES_PATH,"logo.png") ))
5392 self.setWindowIcon(QtGui.QIcon( os.path.join(FIGURES_PATH,"logo.png") ))
5396
5393
5397 self.tabWidgetProject.setEnabled(False)
5394 self.tabWidgetProject.setEnabled(False)
5398 self.tabVoltage.setEnabled(False)
5395 self.tabVoltage.setEnabled(False)
5399 self.tabSpectra.setEnabled(False)
5396 self.tabSpectra.setEnabled(False)
5400 self.tabCorrelation.setEnabled(False)
5397 self.tabCorrelation.setEnabled(False)
5401 self.frame_2.setEnabled(False)
5398 self.frame_2.setEnabled(False)
5402
5399
5403 self.actionCreate.setShortcut('Ctrl+N')
5400 self.actionCreate.setShortcut('Ctrl+N')
5404 self.actionOpen.setShortcut('Ctrl+O')
5401 self.actionOpen.setShortcut('Ctrl+O')
5405 self.actionSave.setShortcut('Ctrl+S')
5402 self.actionSave.setShortcut('Ctrl+S')
5406 self.actionClose.setShortcut('Ctrl+X')
5403 self.actionClose.setShortcut('Ctrl+X')
5407
5404
5408 self.actionStart.setShortcut('Ctrl+1')
5405 self.actionStart.setShortcut('Ctrl+1')
5409 self.actionPause.setShortcut('Ctrl+2')
5406 self.actionPause.setShortcut('Ctrl+2')
5410 self.actionStop.setShortcut('Ctrl+3')
5407 self.actionStop.setShortcut('Ctrl+3')
5411
5408
5412 self.actionFTP.setShortcut('Ctrl+F')
5409 self.actionFTP.setShortcut('Ctrl+F')
5413
5410
5414 self.actionStart.setEnabled(False)
5411 self.actionStart.setEnabled(False)
5415 self.actionPause.setEnabled(False)
5412 self.actionPause.setEnabled(False)
5416 self.actionStop.setEnabled(False)
5413 self.actionStop.setEnabled(False)
5417
5414
5418 self.actionStarToolbar.setEnabled(False)
5415 self.actionStarToolbar.setEnabled(False)
5419 self.actionPauseToolbar.setEnabled(False)
5416 self.actionPauseToolbar.setEnabled(False)
5420 self.actionStopToolbar.setEnabled(False)
5417 self.actionStopToolbar.setEnabled(False)
5421
5418
5422 self.proName.clear()
5419 self.proName.clear()
5423 self.proDataPath.setText('')
5420 self.proDataPath.setText('')
5424 self.console.setReadOnly(True)
5421 self.console.setReadOnly(True)
5425 self.console.append("Welcome to Signal Chain\nOpen a project or Create a new one")
5422 self.console.append("Welcome to Signal Chain\nOpen a project or Create a new one")
5426 self.proStartTime.setDisplayFormat("hh:mm:ss")
5423 self.proStartTime.setDisplayFormat("hh:mm:ss")
5427 self.proDataType.setEnabled(False)
5424 self.proDataType.setEnabled(False)
5428 self.time = QtCore.QTime()
5425 self.time = QtCore.QTime()
5429 self.hour = 0
5426 self.hour = 0
5430 self.min = 0
5427 self.min = 0
5431 self.sec = 0
5428 self.sec = 0
5432 self.proEndTime.setDisplayFormat("hh:mm:ss")
5429 self.proEndTime.setDisplayFormat("hh:mm:ss")
5433 startTime = "00:00:00"
5430 startTime = "00:00:00"
5434 endTime = "23:59:59"
5431 endTime = "23:59:59"
5435 starlist = startTime.split(":")
5432 starlist = startTime.split(":")
5436 endlist = endTime.split(":")
5433 endlist = endTime.split(":")
5437 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
5434 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
5438 self.proStartTime.setTime(self.time)
5435 self.proStartTime.setTime(self.time)
5439 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
5436 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
5440 self.proEndTime.setTime(self.time)
5437 self.proEndTime.setTime(self.time)
5441 self.proOk.setEnabled(False)
5438 self.proOk.setEnabled(False)
5442 # set model Project Explorer
5439 # set model Project Explorer
5443 self.projectExplorerModel = QtGui.QStandardItemModel()
5440 self.projectExplorerModel = QtGui.QStandardItemModel()
5444 self.projectExplorerModel.setHorizontalHeaderLabels(("Project Explorer",))
5441 self.projectExplorerModel.setHorizontalHeaderLabels(("Project Explorer",))
5445 layout = QtGui.QVBoxLayout()
5442 layout = QtGui.QVBoxLayout()
5446 layout.addWidget(self.projectExplorerTree)
5443 layout.addWidget(self.projectExplorerTree)
5447 self.projectExplorerTree.setModel(self.projectExplorerModel)
5444 self.projectExplorerTree.setModel(self.projectExplorerModel)
5448 self.projectExplorerTree.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
5445 self.projectExplorerTree.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
5449 self.projectExplorerTree.customContextMenuRequested.connect(self.on_right_click)
5446 self.projectExplorerTree.customContextMenuRequested.connect(self.on_right_click)
5450 self.projectExplorerTree.clicked.connect(self.on_click)
5447 self.projectExplorerTree.clicked.connect(self.on_click)
5451 self.projectExplorerTree.expandAll()
5448 self.projectExplorerTree.expandAll()
5452 # set model Project Properties
5449 # set model Project Properties
5453
5450
5454 self.propertiesModel = TreeModel()
5451 self.propertiesModel = TreeModel()
5455 self.propertiesModel.initProjectView()
5452 self.propertiesModel.initProjectView()
5456 self.treeProjectProperties.setModel(self.propertiesModel)
5453 self.treeProjectProperties.setModel(self.propertiesModel)
5457 self.treeProjectProperties.expandAll()
5454 self.treeProjectProperties.expandAll()
5458 self.treeProjectProperties.allColumnsShowFocus()
5455 self.treeProjectProperties.allColumnsShowFocus()
5459 self.treeProjectProperties.resizeColumnToContents(1)
5456 self.treeProjectProperties.resizeColumnToContents(1)
5460
5457
5461 # set Project
5458 # set Project
5462 self.proExpLabel.setEnabled(True)
5459 self.proExpLabel.setEnabled(True)
5463 self.proDelay.setEnabled(False)
5460 self.proDelay.setEnabled(False)
5464 self.proSet.setEnabled(True)
5461 self.proSet.setEnabled(True)
5465 self.proDataType.setReadOnly(True)
5462 self.proDataType.setReadOnly(True)
5466
5463
5467 # set Operation Voltage
5464 # set Operation Voltage
5468 self.volOpComChannels.setEnabled(False)
5465 self.volOpComChannels.setEnabled(False)
5469 self.volOpComHeights.setEnabled(False)
5466 self.volOpComHeights.setEnabled(False)
5470 self.volOpFilter.setEnabled(False)
5467 self.volOpFilter.setEnabled(False)
5471 self.volOpComProfile.setEnabled(False)
5468 self.volOpComProfile.setEnabled(False)
5472 self.volOpComCode.setEnabled(False)
5469 self.volOpComCode.setEnabled(False)
5473 self.volOpFlip.setEnabled(False)
5470 self.volOpFlip.setEnabled(False)
5474 self.volOpCohInt.setEnabled(False)
5471 self.volOpCohInt.setEnabled(False)
5475 self.volOpRadarfrequency.setEnabled(False)
5472 self.volOpRadarfrequency.setEnabled(False)
5476
5473
5477 self.volOpChannel.setEnabled(False)
5474 self.volOpChannel.setEnabled(False)
5478 self.volOpHeights.setEnabled(False)
5475 self.volOpHeights.setEnabled(False)
5479 self.volOpProfile.setEnabled(False)
5476 self.volOpProfile.setEnabled(False)
5480 self.volOpComMode.setEnabled(False)
5477 self.volOpComMode.setEnabled(False)
5481
5478
5482 self.volGraphPath.setEnabled(False)
5479 self.volGraphPath.setEnabled(False)
5483 self.volGraphPrefix.setEnabled(False)
5480 self.volGraphPrefix.setEnabled(False)
5484 self.volGraphToolPath.setEnabled(False)
5481 self.volGraphToolPath.setEnabled(False)
5485
5482
5486 # set Graph Voltage
5483 # set Graph Voltage
5487 self.volGraphChannelList.setEnabled(False)
5484 self.volGraphChannelList.setEnabled(False)
5488 self.volGraphfreqrange.setEnabled(False)
5485 self.volGraphfreqrange.setEnabled(False)
5489 self.volGraphHeightrange.setEnabled(False)
5486 self.volGraphHeightrange.setEnabled(False)
5490
5487
5491 # set Operation Spectra
5488 # set Operation Spectra
5492 self.specOpnFFTpoints.setEnabled(False)
5489 self.specOpnFFTpoints.setEnabled(False)
5493 self.specOpProfiles.setEnabled(False)
5490 self.specOpProfiles.setEnabled(False)
5494 self.specOpippFactor.setEnabled(False)
5491 self.specOpippFactor.setEnabled(False)
5495 self.specOppairsList.setEnabled(False)
5492 self.specOppairsList.setEnabled(False)
5496 self.specOpComChannel.setEnabled(False)
5493 self.specOpComChannel.setEnabled(False)
5497 self.specOpComHeights.setEnabled(False)
5494 self.specOpComHeights.setEnabled(False)
5498 self.specOpIncoherent.setEnabled(False)
5495 self.specOpIncoherent.setEnabled(False)
5499 self.specOpgetNoise.setEnabled(False)
5496 self.specOpgetNoise.setEnabled(False)
5500 self.specOpRadarfrequency.setEnabled(False)
5497 self.specOpRadarfrequency.setEnabled(False)
5501
5498
5502
5499
5503 self.specOpChannel.setEnabled(False)
5500 self.specOpChannel.setEnabled(False)
5504 self.specOpHeights.setEnabled(False)
5501 self.specOpHeights.setEnabled(False)
5505 # set Graph Spectra
5502 # set Graph Spectra
5506 self.specGgraphChannelList.setEnabled(False)
5503 self.specGgraphChannelList.setEnabled(False)
5507 self.specGgraphFreq.setEnabled(False)
5504 self.specGgraphFreq.setEnabled(False)
5508 self.specGgraphHeight.setEnabled(False)
5505 self.specGgraphHeight.setEnabled(False)
5509 self.specGgraphDbsrange.setEnabled(False)
5506 self.specGgraphDbsrange.setEnabled(False)
5510 self.specGgraphmagnitud.setEnabled(False)
5507 self.specGgraphmagnitud.setEnabled(False)
5511 self.specGgraphTminTmax.setEnabled(False)
5508 self.specGgraphTminTmax.setEnabled(False)
5512 self.specGgraphTimeRange.setEnabled(False)
5509 self.specGgraphTimeRange.setEnabled(False)
5513 self.specGraphPath.setEnabled(False)
5510 self.specGraphPath.setEnabled(False)
5514 self.specGraphToolPath.setEnabled(False)
5511 self.specGraphToolPath.setEnabled(False)
5515 self.specGraphPrefix.setEnabled(False)
5512 self.specGraphPrefix.setEnabled(False)
5516
5513
5517 self.specGgraphftpratio.setEnabled(False)
5514 self.specGgraphftpratio.setEnabled(False)
5518 # set Operation SpectraHeis
5515 # set Operation SpectraHeis
5519 self.specHeisOpIncoherent.setEnabled(False)
5516 self.specHeisOpIncoherent.setEnabled(False)
5520 self.specHeisOpCobIncInt.setEnabled(False)
5517 self.specHeisOpCobIncInt.setEnabled(False)
5521 # set Graph SpectraHeis
5518 # set Graph SpectraHeis
5522 self.specHeisGgraphChannelList.setEnabled(False)
5519 self.specHeisGgraphChannelList.setEnabled(False)
5523 self.specHeisGgraphXminXmax.setEnabled(False)
5520 self.specHeisGgraphXminXmax.setEnabled(False)
5524 self.specHeisGgraphYminYmax.setEnabled(False)
5521 self.specHeisGgraphYminYmax.setEnabled(False)
5525 self.specHeisGgraphTminTmax.setEnabled(False)
5522 self.specHeisGgraphTminTmax.setEnabled(False)
5526 self.specHeisGgraphTimeRange.setEnabled(False)
5523 self.specHeisGgraphTimeRange.setEnabled(False)
5527 self.specHeisGgraphftpratio.setEnabled(False)
5524 self.specHeisGgraphftpratio.setEnabled(False)
5528 self.specHeisGraphPath.setEnabled(False)
5525 self.specHeisGraphPath.setEnabled(False)
5529 self.specHeisGraphPrefix.setEnabled(False)
5526 self.specHeisGraphPrefix.setEnabled(False)
5530 self.specHeisGraphToolPath.setEnabled(False)
5527 self.specHeisGraphToolPath.setEnabled(False)
5531
5528
5532
5529
5533 # tool tip gui
5530 # tool tip gui
5534 QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10))
5531 QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10))
5535 self.projectExplorerTree.setToolTip('Right clik to add Project or Unit Process')
5532 self.projectExplorerTree.setToolTip('Right clik to add Project or Unit Process')
5536 # tool tip gui project
5533 # tool tip gui project
5537 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>')
5534 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>')
5538 self.proComWalk.setCurrentIndex(0)
5535 self.proComWalk.setCurrentIndex(0)
5539 # tool tip gui volOp
5536 # tool tip gui volOp
5540 self.volOpChannel.setToolTip('Example: 1,2,3,4,5')
5537 self.volOpChannel.setToolTip('Example: 1,2,3,4,5')
5541 self.volOpHeights.setToolTip('Example: 90,180')
5538 self.volOpHeights.setToolTip('Example: 90,180')
5542 self.volOpFilter.setToolTip('Example: 2')
5539 self.volOpFilter.setToolTip('Example: 2')
5543 self.volOpProfile.setToolTip('Example:0,127')
5540 self.volOpProfile.setToolTip('Example:0,127')
5544 self.volOpCohInt.setToolTip('Example: 128')
5541 self.volOpCohInt.setToolTip('Example: 128')
5545 self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3')
5542 self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3')
5546 self.volOpOk.setToolTip('If you have finished, please Ok ')
5543 self.volOpOk.setToolTip('If you have finished, please Ok ')
5547 # tool tip gui volGraph
5544 # tool tip gui volGraph
5548 self.volGraphfreqrange.setToolTip('Height range. Example: 50,100')
5545 self.volGraphfreqrange.setToolTip('Height range. Example: 50,100')
5549 self.volGraphHeightrange.setToolTip('Amplitude. Example: 0,10000')
5546 self.volGraphHeightrange.setToolTip('Amplitude. Example: 0,10000')
5550 # tool tip gui specOp
5547 # tool tip gui specOp
5551 self.specOpnFFTpoints.setToolTip('Example: 128')
5548 self.specOpnFFTpoints.setToolTip('Example: 128')
5552 self.specOpProfiles.setToolTip('Example: 128')
5549 self.specOpProfiles.setToolTip('Example: 128')
5553 self.specOpippFactor.setToolTip('Example:1.0')
5550 self.specOpippFactor.setToolTip('Example:1.0')
5554 self.specOpIncoherent.setToolTip('Example: 10')
5551 self.specOpIncoherent.setToolTip('Example: 10')
5555 self.specOpgetNoise.setToolTip('Example:20,180,30,120 (minHei,maxHei,minVel,maxVel)')
5552 self.specOpgetNoise.setToolTip('Example:20,180,30,120 (minHei,maxHei,minVel,maxVel)')
5556
5553
5557 self.specOpChannel.setToolTip('Example: 0,1,2,3')
5554 self.specOpChannel.setToolTip('Example: 0,1,2,3')
5558 self.specOpHeights.setToolTip('Example: 90,180')
5555 self.specOpHeights.setToolTip('Example: 90,180')
5559 self.specOppairsList.setToolTip('Example: (0,1),(2,3)')
5556 self.specOppairsList.setToolTip('Example: (0,1),(2,3)')
5560 # tool tip gui specGraph
5557 # tool tip gui specGraph
5561
5558
5562 self.specGgraphChannelList.setToolTip('Example: 0,3,4')
5559 self.specGgraphChannelList.setToolTip('Example: 0,3,4')
5563 self.specGgraphFreq.setToolTip('Example: -20,20')
5560 self.specGgraphFreq.setToolTip('Example: -20,20')
5564 self.specGgraphHeight.setToolTip('Example: 100,400')
5561 self.specGgraphHeight.setToolTip('Example: 100,400')
5565 self.specGgraphDbsrange.setToolTip('Example: 30,170')
5562 self.specGgraphDbsrange.setToolTip('Example: 30,170')
5566
5563
5567 self.specGraphPrefix.setToolTip('Example: EXPERIMENT_NAME')
5564 self.specGraphPrefix.setToolTip('Example: EXPERIMENT_NAME')
5568
5565
5569
5566
5570 self.specHeisOpIncoherent.setToolTip('Example: 10')
5567 self.specHeisOpIncoherent.setToolTip('Example: 10')
5571
5568
5572 self.specHeisGgraphChannelList.setToolTip('Example: 0,2,3')
5569 self.specHeisGgraphChannelList.setToolTip('Example: 0,2,3')
5573 self.specHeisGgraphXminXmax.setToolTip('Example (Hz): -1000, 1000')
5570 self.specHeisGgraphXminXmax.setToolTip('Example (Hz): -1000, 1000')
5574 self.specHeisGgraphYminYmax.setToolTip('Example (dB): 5, 35')
5571 self.specHeisGgraphYminYmax.setToolTip('Example (dB): 5, 35')
5575 self.specHeisGgraphTminTmax.setToolTip('Example (hours): 0, 24')
5572 self.specHeisGgraphTminTmax.setToolTip('Example (hours): 0, 24')
5576 self.specHeisGgraphTimeRange.setToolTip('Example (hours): 8')
5573 self.specHeisGgraphTimeRange.setToolTip('Example (hours): 8')
5577
5574
5578 self.labelSet.show()
5575 self.labelSet.show()
5579 self.proSet.show()
5576 self.proSet.show()
5580
5577
5581 self.labelIPPKm.hide()
5578 self.labelIPPKm.hide()
5582 self.proIPPKm.hide()
5579 self.proIPPKm.hide()
5583
5580
5584 sys.stdout = ShowMeConsole(textWritten=self.normalOutputWritten)
5581 sys.stdout = ShowMeConsole(textWritten=self.normalOutputWritten)
5585 # sys.stderr = ShowMeConsole(textWritten=self.errorOutputWritten)
5582 # sys.stderr = ShowMeConsole(textWritten=self.errorOutputWritten)
5586
5583
5587
5584
5588 class UnitProcessWindow(QMainWindow, Ui_UnitProcess):
5585 class UnitProcessWindow(QMainWindow, Ui_UnitProcess):
5589 """
5586 """
5590 Class documentation goes here.
5587 Class documentation goes here.
5591 """
5588 """
5592 closed = pyqtSignal()
5589 closed = pyqtSignal()
5593 create = False
5590 create = False
5594
5591
5595 def __init__(self, parent=None):
5592 def __init__(self, parent=None):
5596 """
5593 """
5597 Constructor
5594 Constructor
5598 """
5595 """
5599 QMainWindow.__init__(self, parent)
5596 QMainWindow.__init__(self, parent)
5600 self.setupUi(self)
5597 self.setupUi(self)
5601 self.getFromWindow = None
5598 self.getFromWindow = None
5602 self.getfromWindowList = []
5599 self.getfromWindowList = []
5603 self.dataTypeProject = None
5600 self.dataTypeProject = None
5604
5601
5605 self.listUP = None
5602 self.listUP = None
5606
5603
5607 @pyqtSignature("")
5604 @pyqtSignature("")
5608 def on_unitPokbut_clicked(self):
5605 def on_unitPokbut_clicked(self):
5609 """
5606 """
5610 Slot documentation goes here.
5607 Slot documentation goes here.
5611 """
5608 """
5612 self.create = True
5609 self.create = True
5613 self.getFromWindow = self.getfromWindowList[int(self.comboInputBox.currentIndex())]
5610 self.getFromWindow = self.getfromWindowList[int(self.comboInputBox.currentIndex())]
5614 # self.nameofUP= str(self.nameUptxt.text())
5611 # self.nameofUP= str(self.nameUptxt.text())
5615 self.typeofUP = str(self.comboTypeBox.currentText())
5612 self.typeofUP = str(self.comboTypeBox.currentText())
5616 self.close()
5613 self.close()
5617
5614
5618
5615
5619 @pyqtSignature("")
5616 @pyqtSignature("")
5620 def on_unitPcancelbut_clicked(self):
5617 def on_unitPcancelbut_clicked(self):
5621 """
5618 """
5622 Slot documentation goes here.
5619 Slot documentation goes here.
5623 """
5620 """
5624 self.create = False
5621 self.create = False
5625 self.close()
5622 self.close()
5626
5623
5627 def loadTotalList(self):
5624 def loadTotalList(self):
5628 self.comboInputBox.clear()
5625 self.comboInputBox.clear()
5629 for i in self.getfromWindowList:
5626 for i in self.getfromWindowList:
5630
5627
5631 name = i.getElementName()
5628 name = i.getElementName()
5632 if name == 'Project':
5629 if name == 'Project':
5633 id = i.id
5630 id = i.id
5634 name = i.name
5631 name = i.name
5635 if self.dataTypeProject == 'Voltage':
5632 if self.dataTypeProject == 'Voltage':
5636 self.comboTypeBox.clear()
5633 self.comboTypeBox.clear()
5637 self.comboTypeBox.addItem("Voltage")
5634 self.comboTypeBox.addItem("Voltage")
5638
5635
5639 if self.dataTypeProject == 'Spectra':
5636 if self.dataTypeProject == 'Spectra':
5640 self.comboTypeBox.clear()
5637 self.comboTypeBox.clear()
5641 self.comboTypeBox.addItem("Spectra")
5638 self.comboTypeBox.addItem("Spectra")
5642 self.comboTypeBox.addItem("Correlation")
5639 self.comboTypeBox.addItem("Correlation")
5643 if self.dataTypeProject == 'Fits':
5640 if self.dataTypeProject == 'Fits':
5644 self.comboTypeBox.clear()
5641 self.comboTypeBox.clear()
5645 self.comboTypeBox.addItem("SpectraHeis")
5642 self.comboTypeBox.addItem("SpectraHeis")
5646
5643
5647
5644
5648 if name == 'ProcUnit':
5645 if name == 'ProcUnit':
5649 id = int(i.id) - 1
5646 id = int(i.id) - 1
5650 name = i.datatype
5647 name = i.datatype
5651 if name == 'Voltage':
5648 if name == 'Voltage':
5652 self.comboTypeBox.clear()
5649 self.comboTypeBox.clear()
5653 self.comboTypeBox.addItem("Spectra")
5650 self.comboTypeBox.addItem("Spectra")
5654 self.comboTypeBox.addItem("SpectraHeis")
5651 self.comboTypeBox.addItem("SpectraHeis")
5655 self.comboTypeBox.addItem("Correlation")
5652 self.comboTypeBox.addItem("Correlation")
5656 if name == 'Spectra':
5653 if name == 'Spectra':
5657 self.comboTypeBox.clear()
5654 self.comboTypeBox.clear()
5658 self.comboTypeBox.addItem("Spectra")
5655 self.comboTypeBox.addItem("Spectra")
5659 self.comboTypeBox.addItem("SpectraHeis")
5656 self.comboTypeBox.addItem("SpectraHeis")
5660 self.comboTypeBox.addItem("Correlation")
5657 self.comboTypeBox.addItem("Correlation")
5661 if name == 'SpectraHeis':
5658 if name == 'SpectraHeis':
5662 self.comboTypeBox.clear()
5659 self.comboTypeBox.clear()
5663 self.comboTypeBox.addItem("SpectraHeis")
5660 self.comboTypeBox.addItem("SpectraHeis")
5664
5661
5665 self.comboInputBox.addItem(str(name))
5662 self.comboInputBox.addItem(str(name))
5666 # self.comboInputBox.addItem(str(name)+str(id))
5663 # self.comboInputBox.addItem(str(name)+str(id))
5667
5664
5668 def closeEvent(self, event):
5665 def closeEvent(self, event):
5669 self.closed.emit()
5666 self.closed.emit()
5670 event.accept()
5667 event.accept()
5671
5668
5672 class Ftp(QMainWindow, Ui_Ftp):
5669 class Ftp(QMainWindow, Ui_Ftp):
5673 """
5670 """
5674 Class documentation goes here.
5671 Class documentation goes here.
5675 """
5672 """
5676 create = False
5673 create = False
5677 closed = pyqtSignal()
5674 closed = pyqtSignal()
5678 server = None
5675 server = None
5679 remotefolder = None
5676 remotefolder = None
5680 username = None
5677 username = None
5681 password = None
5678 password = None
5682 ftp_wei = None
5679 ftp_wei = None
5683 exp_code = None
5680 exp_code = None
5684 sub_exp_code = None
5681 sub_exp_code = None
5685 plot_pos = None
5682 plot_pos = None
5686
5683
5687 def __init__(self, parent=None):
5684 def __init__(self, parent=None):
5688 """
5685 """
5689 Constructor
5686 Constructor
5690 """
5687 """
5691 QMainWindow.__init__(self, parent)
5688 QMainWindow.__init__(self, parent)
5692 self.setupUi(self)
5689 self.setupUi(self)
5693 self.setGUIStatus()
5690 self.setGUIStatus()
5694
5691
5695 def setGUIStatus(self):
5692 def setGUIStatus(self):
5696 self.setWindowTitle("ROJ-Signal Chain")
5693 self.setWindowTitle("ROJ-Signal Chain")
5697 self.serverFTP.setToolTip('Example: jro-app.igp.gob.pe')
5694 self.serverFTP.setToolTip('Example: jro-app.igp.gob.pe')
5698 self.folderFTP.setToolTip('Example: /home/wmaster/graficos')
5695 self.folderFTP.setToolTip('Example: /home/wmaster/graficos')
5699 self.usernameFTP.setToolTip('Example: myusername')
5696 self.usernameFTP.setToolTip('Example: myusername')
5700 self.passwordFTP.setToolTip('Example: mypass ')
5697 self.passwordFTP.setToolTip('Example: mypass ')
5701 self.weightFTP.setToolTip('Example: 0')
5698 self.weightFTP.setToolTip('Example: 0')
5702 self.expcodeFTP.setToolTip('Example: 0')
5699 self.expcodeFTP.setToolTip('Example: 0')
5703 self.subexpFTP.setToolTip('Example: 0')
5700 self.subexpFTP.setToolTip('Example: 0')
5704 self.plotposFTP.setToolTip('Example: 0')
5701 self.plotposFTP.setToolTip('Example: 0')
5705
5702
5706 def setParmsfromTemporal(self, server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos):
5703 def setParmsfromTemporal(self, server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos):
5707 self.serverFTP.setText(str(server))
5704 self.serverFTP.setText(str(server))
5708 self.folderFTP.setText(str(remotefolder))
5705 self.folderFTP.setText(str(remotefolder))
5709 self.usernameFTP.setText(str(username))
5706 self.usernameFTP.setText(str(username))
5710 self.passwordFTP.setText(str(password))
5707 self.passwordFTP.setText(str(password))
5711 self.weightFTP.setText(str(ftp_wei))
5708 self.weightFTP.setText(str(ftp_wei))
5712 self.expcodeFTP.setText(str(exp_code))
5709 self.expcodeFTP.setText(str(exp_code))
5713 self.subexpFTP.setText(str(sub_exp_code))
5710 self.subexpFTP.setText(str(sub_exp_code))
5714 self.plotposFTP.setText(str(plot_pos))
5711 self.plotposFTP.setText(str(plot_pos))
5715
5712
5716 def getParmsFromFtpWindow(self):
5713 def getParmsFromFtpWindow(self):
5717 """
5714 """
5718 Return Inputs Project:
5715 Return Inputs Project:
5719 - server
5716 - server
5720 - remotefolder
5717 - remotefolder
5721 - username
5718 - username
5722 - password
5719 - password
5723 - ftp_wei
5720 - ftp_wei
5724 - exp_code
5721 - exp_code
5725 - sub_exp_code
5722 - sub_exp_code
5726 - plot_pos
5723 - plot_pos
5727 """
5724 """
5728 name_server_ftp = str(self.serverFTP.text())
5725 name_server_ftp = str(self.serverFTP.text())
5729 if not name_server_ftp:
5726 if not name_server_ftp:
5730 self.console.clear()
5727 self.console.clear()
5731 self.console.append("Please Write a FTP Server")
5728 self.console.append("Please Write a FTP Server")
5732 return 0
5729 return 0
5733
5730
5734 folder_server_ftp = str(self.folderFTP.text())
5731 folder_server_ftp = str(self.folderFTP.text())
5735 if not folder_server_ftp:
5732 if not folder_server_ftp:
5736 self.console.clear()
5733 self.console.clear()
5737 self.console.append("Please Write a Folder")
5734 self.console.append("Please Write a Folder")
5738 return 0
5735 return 0
5739
5736
5740 username_ftp = str(self.usernameFTP.text())
5737 username_ftp = str(self.usernameFTP.text())
5741 if not username_ftp:
5738 if not username_ftp:
5742 self.console.clear()
5739 self.console.clear()
5743 self.console.append("Please Write a User Name")
5740 self.console.append("Please Write a User Name")
5744 return 0
5741 return 0
5745
5742
5746 password_ftp = str(self.passwordFTP.text())
5743 password_ftp = str(self.passwordFTP.text())
5747 if not password_ftp:
5744 if not password_ftp:
5748 self.console.clear()
5745 self.console.clear()
5749 self.console.append("Please Write a passwordFTP")
5746 self.console.append("Please Write a passwordFTP")
5750 return 0
5747 return 0
5751
5748
5752 ftp_wei = str(self.weightFTP.text())
5749 ftp_wei = str(self.weightFTP.text())
5753 if not ftp_wei == "":
5750 if not ftp_wei == "":
5754 try:
5751 try:
5755 ftp_wei = int(self.weightFTP.text())
5752 ftp_wei = int(self.weightFTP.text())
5756 except:
5753 except:
5757 self.console.clear()
5754 self.console.clear()
5758 self.console.append("Please Write a ftp_wei number")
5755 self.console.append("Please Write a ftp_wei number")
5759 return 0
5756 return 0
5760
5757
5761 exp_code = str(self.expcodeFTP.text())
5758 exp_code = str(self.expcodeFTP.text())
5762 if not exp_code == "":
5759 if not exp_code == "":
5763 try:
5760 try:
5764 exp_code = int(self.expcodeFTP.text())
5761 exp_code = int(self.expcodeFTP.text())
5765 except:
5762 except:
5766 self.console.clear()
5763 self.console.clear()
5767 self.console.append("Please Write a exp_code number")
5764 self.console.append("Please Write a exp_code number")
5768 return 0
5765 return 0
5769
5766
5770
5767
5771 sub_exp_code = str(self.subexpFTP.text())
5768 sub_exp_code = str(self.subexpFTP.text())
5772 if not sub_exp_code == "":
5769 if not sub_exp_code == "":
5773 try:
5770 try:
5774 sub_exp_code = int(self.subexpFTP.text())
5771 sub_exp_code = int(self.subexpFTP.text())
5775 except:
5772 except:
5776 self.console.clear()
5773 self.console.clear()
5777 self.console.append("Please Write a sub_exp_code number")
5774 self.console.append("Please Write a sub_exp_code number")
5778 return 0
5775 return 0
5779
5776
5780 plot_pos = str(self.plotposFTP.text())
5777 plot_pos = str(self.plotposFTP.text())
5781 if not plot_pos == "":
5778 if not plot_pos == "":
5782 try:
5779 try:
5783 plot_pos = int(self.plotposFTP.text())
5780 plot_pos = int(self.plotposFTP.text())
5784 except:
5781 except:
5785 self.console.clear()
5782 self.console.clear()
5786 self.console.append("Please Write a plot_pos number")
5783 self.console.append("Please Write a plot_pos number")
5787 return 0
5784 return 0
5788
5785
5789 return name_server_ftp, folder_server_ftp, username_ftp, password_ftp, ftp_wei, exp_code, sub_exp_code, plot_pos
5786 return name_server_ftp, folder_server_ftp, username_ftp, password_ftp, ftp_wei, exp_code, sub_exp_code, plot_pos
5790
5787
5791 @pyqtSignature("")
5788 @pyqtSignature("")
5792 def on_ftpOkButton_clicked(self):
5789 def on_ftpOkButton_clicked(self):
5793 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.getParmsFromFtpWindow()
5790 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.getParmsFromFtpWindow()
5794 self.create = True
5791 self.create = True
5795 self.close()
5792 self.close()
5796
5793
5797 @pyqtSignature("")
5794 @pyqtSignature("")
5798 def on_ftpCancelButton_clicked(self):
5795 def on_ftpCancelButton_clicked(self):
5799 self.create = False
5796 self.create = False
5800 self.close()
5797 self.close()
5801
5798
5802 def closeEvent(self, event):
5799 def closeEvent(self, event):
5803 self.closed.emit()
5800 self.closed.emit()
5804 event.accept()
5801 event.accept()
5805
5802
5806 class ftpBuffer():
5803 class ftpBuffer():
5807
5804
5808 server = None
5805 server = None
5809 remotefolder = None
5806 remotefolder = None
5810 username = None
5807 username = None
5811 password = None
5808 password = None
5812 ftp_wei = None
5809 ftp_wei = None
5813 exp_code = None
5810 exp_code = None
5814 sub_exp_code = None
5811 sub_exp_code = None
5815 plot_pos = None
5812 plot_pos = None
5816 create = False
5813 create = False
5817 withoutconfig = False
5814 withoutconfig = False
5818 createforView = False
5815 createforView = False
5819 localfolder = None
5816 localfolder = None
5820 extension = None
5817 extension = None
5821 period = None
5818 period = None
5822 protocol = None
5819 protocol = None
5823
5820
5824 def __init__(self):
5821 def __init__(self):
5825
5822
5826 self.create = False
5823 self.create = False
5827 self.server = None
5824 self.server = None
5828 self.remotefolder = None
5825 self.remotefolder = None
5829 self.username = None
5826 self.username = None
5830 self.password = None
5827 self.password = None
5831 self.ftp_wei = None
5828 self.ftp_wei = None
5832 self.exp_code = None
5829 self.exp_code = None
5833 self.sub_exp_code = None
5830 self.sub_exp_code = None
5834 self.plot_pos = None
5831 self.plot_pos = None
5835 # self.create = False
5832 # self.create = False
5836 self.localfolder = None
5833 self.localfolder = None
5837 self.extension = None
5834 self.extension = None
5838 self.period = None
5835 self.period = None
5839 self.protocol = None
5836 self.protocol = None
5840
5837
5841 def setwithoutconfiguration(self):
5838 def setwithoutconfiguration(self):
5842
5839
5843 self.create = False
5840 self.create = False
5844 self.server = "jro-app.igp.gob.pe"
5841 self.server = "jro-app.igp.gob.pe"
5845 self.remotefolder = "/home/wmaster/graficos"
5842 self.remotefolder = "/home/wmaster/graficos"
5846 self.username = "wmaster"
5843 self.username = "wmaster"
5847 self.password = "mst2010vhf"
5844 self.password = "mst2010vhf"
5848 self.withoutconfig = True
5845 self.withoutconfig = True
5849 self.localfolder = './'
5846 self.localfolder = './'
5850 self.extension = '.png'
5847 self.extension = '.png'
5851 self.period = 60
5848 self.period = 60
5852 self.protocol = 'ftp'
5849 self.protocol = 'ftp'
5853 self.createforView = True
5850 self.createforView = True
5854
5851
5855 if not self.ftp_wei:
5852 if not self.ftp_wei:
5856 self.ftp_wei = 0
5853 self.ftp_wei = 0
5857
5854
5858 if not self.exp_code:
5855 if not self.exp_code:
5859 self.exp_code = 0
5856 self.exp_code = 0
5860
5857
5861 if not self.sub_exp_code:
5858 if not self.sub_exp_code:
5862 self.sub_exp_code = 0
5859 self.sub_exp_code = 0
5863
5860
5864 if not self.plot_pos:
5861 if not self.plot_pos:
5865 self.plot_pos = 0
5862 self.plot_pos = 0
5866
5863
5867 def save(self, server, remotefolder, username, password, ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0, localfolder='./', extension='.png', period=60, protocol='ftp'):
5864 def save(self, server, remotefolder, username, password, ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0, localfolder='./', extension='.png', period=60, protocol='ftp'):
5868
5865
5869 self.server = server
5866 self.server = server
5870 self.remotefolder = remotefolder
5867 self.remotefolder = remotefolder
5871 self.username = username
5868 self.username = username
5872 self.password = password
5869 self.password = password
5873 self.ftp_wei = ftp_wei
5870 self.ftp_wei = ftp_wei
5874 self.exp_code = exp_code
5871 self.exp_code = exp_code
5875 self.sub_exp_code = sub_exp_code
5872 self.sub_exp_code = sub_exp_code
5876 self.plot_pos = plot_pos
5873 self.plot_pos = plot_pos
5877 self.create = True
5874 self.create = True
5878 self.withoutconfig = False
5875 self.withoutconfig = False
5879 self.createforView = True
5876 self.createforView = True
5880 self.localfolder = localfolder
5877 self.localfolder = localfolder
5881 self.extension = extension
5878 self.extension = extension
5882 self.period = period
5879 self.period = period
5883 self.protocol = protocol
5880 self.protocol = protocol
5884
5881
5885 def recover(self):
5882 def recover(self):
5886
5883
5887 return self.server, self.remotefolder, self.username, self.password, self.ftp_wei, self.exp_code, self.sub_exp_code, self.plot_pos, self.extension, self.period, self.protocol
5884 return self.server, self.remotefolder, self.username, self.password, self.ftp_wei, self.exp_code, self.sub_exp_code, self.plot_pos, self.extension, self.period, self.protocol
5888
5885
5889 class ShowMeConsole(QtCore.QObject):
5886 class ShowMeConsole(QtCore.QObject):
5890
5887
5891 textWritten = QtCore.pyqtSignal(str)
5888 textWritten = QtCore.pyqtSignal(str)
5892
5889
5893 def write(self, text):
5890 def write(self, text):
5894
5891
5895 if len(text) == 0:
5892 if len(text) == 0:
5896 self.textWritten.emit("\n")
5893 self.textWritten.emit("\n")
5897 return
5894 return
5898
5895
5899 if text[-1] == "\n":
5896 if text[-1] == "\n":
5900 text = text[:-1]
5897 text = text[:-1]
5901
5898
5902 self.textWritten.emit(str(text))
5899 self.textWritten.emit(str(text))
@@ -1,342 +1,342
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 from schainpy import __version__
29 from schainpy import __version__
30
30
31 FIGURES_PATH = tools.get_path()
31 FIGURES_PATH = tools.get_path()
32
32
33 class Ui_EnvWindow(object):
33 class Ui_EnvWindow(object):
34 paused = False
34 paused = False
35
35
36 def restorePauseIcon(self):
36 def restorePauseIcon(self):
37
37
38 icon_name = "pause.png"
38 icon_name = "pause.png"
39 iconPause = QtGui.QIcon()
39 iconPause = QtGui.QIcon()
40 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
40 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
41 self.actionPauseToolbar.setIcon(iconPause)
41 self.actionPauseToolbar.setIcon(iconPause)
42
42
43 def restoreStartIcon(self):
43 def restoreStartIcon(self):
44
44
45 icon_name = "start.png"
45 icon_name = "start.png"
46 iconStart = QtGui.QIcon()
46 iconStart = QtGui.QIcon()
47 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
47 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
48 self.actionStarToolbar.setIcon(iconStart)
48 self.actionStarToolbar.setIcon(iconStart)
49
49
50 def changePauseIcon(self, paused=False):
50 def changePauseIcon(self, paused=False):
51
51
52 if paused == True:
52 if paused == True:
53 icon_name = "pausered.png"
53 icon_name = "pausered.png"
54 else:
54 else:
55 icon_name = "pause.png"
55 icon_name = "pause.png"
56
56
57 iconPause = QtGui.QIcon()
57 iconPause = QtGui.QIcon()
58 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
58 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
59 self.actionPauseToolbar.setIcon(iconPause)
59 self.actionPauseToolbar.setIcon(iconPause)
60
60
61 return
61 return
62
62
63 def changeStartIcon(self, started=False):
63 def changeStartIcon(self, started=False):
64
64
65 if started == True:
65 if started == True:
66 icon_name = "startred.png"
66 icon_name = "startred.png"
67 else:
67 else:
68 icon_name = "start.png"
68 icon_name = "start.png"
69
69
70 iconStart = QtGui.QIcon()
70 iconStart = QtGui.QIcon()
71 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
71 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH, icon_name) )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
72 self.actionStarToolbar.setIcon(iconStart)
72 self.actionStarToolbar.setIcon(iconStart)
73
73
74 return
74 return
75
75
76 def setupUi(self, MainWindow):
76 def setupUi(self, MainWindow):
77
77
78 self.paused=False
78 self.paused=False
79
79
80 MainWindow.setObjectName(_fromUtf8("MainWindow"))
80 MainWindow.setObjectName(_fromUtf8("MainWindow"))
81 MainWindow.resize(1200, 800)
81 MainWindow.resize(1200, 800)
82
82
83 self.centralWidget = QtGui.QWidget(MainWindow)
83 self.centralWidget = QtGui.QWidget(MainWindow)
84 self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
84 self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
85 self.gridLayout_16 = QtGui.QGridLayout(self.centralWidget)
85 self.gridLayout_16 = QtGui.QGridLayout(self.centralWidget)
86 self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
86 self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
87 self.splitter_2 = QtGui.QSplitter(self.centralWidget)
87 self.splitter_2 = QtGui.QSplitter(self.centralWidget)
88 self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
88 self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
89 self.splitter_2.setObjectName(_fromUtf8("splitter_2"))
89 self.splitter_2.setObjectName(_fromUtf8("splitter_2"))
90 self.projectExplorerTree = QtGui.QTreeView(self.splitter_2)
90 self.projectExplorerTree = QtGui.QTreeView(self.splitter_2)
91 self.projectExplorerTree.setObjectName(_fromUtf8("projectExplorerTree"))
91 self.projectExplorerTree.setObjectName(_fromUtf8("projectExplorerTree"))
92 self.splitter = QtGui.QSplitter(self.splitter_2)
92 self.splitter = QtGui.QSplitter(self.splitter_2)
93 self.splitter.setOrientation(QtCore.Qt.Vertical)
93 self.splitter.setOrientation(QtCore.Qt.Vertical)
94 self.splitter.setObjectName(_fromUtf8("splitter"))
94 self.splitter.setObjectName(_fromUtf8("splitter"))
95 self.tabWidgetProject = QtGui.QTabWidget(self.splitter)
95 self.tabWidgetProject = QtGui.QTabWidget(self.splitter)
96 self.tabWidgetProject.setMinimumSize(QtCore.QSize(0, 278))
96 self.tabWidgetProject.setMinimumSize(QtCore.QSize(0, 278))
97 self.tabWidgetProject.setMaximumSize(QtCore.QSize(16777215, 16777215))
97 self.tabWidgetProject.setMaximumSize(QtCore.QSize(16777215, 16777215))
98 self.tabWidgetProject.setObjectName(_fromUtf8("tabWidgetProject"))
98 self.tabWidgetProject.setObjectName(_fromUtf8("tabWidgetProject"))
99
99
100 self.tabConsole = QtGui.QTabWidget(self.splitter)
100 self.tabConsole = QtGui.QTabWidget(self.splitter)
101 self.tabConsole.setMinimumSize(QtCore.QSize(0, 0))
101 self.tabConsole.setMinimumSize(QtCore.QSize(0, 0))
102 self.tabConsole.setObjectName(_fromUtf8("tabConsole"))
102 self.tabConsole.setObjectName(_fromUtf8("tabConsole"))
103 self.tab_5 = QtGui.QWidget()
103 self.tab_5 = QtGui.QWidget()
104 self.tab_5.setObjectName(_fromUtf8("tab_5"))
104 self.tab_5.setObjectName(_fromUtf8("tab_5"))
105 self.gridLayout_4 = QtGui.QGridLayout(self.tab_5)
105 self.gridLayout_4 = QtGui.QGridLayout(self.tab_5)
106 self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
106 self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
107 self.console = QtGui.QTextEdit(self.tab_5)
107 self.console = QtGui.QTextEdit(self.tab_5)
108 self.console.setObjectName(_fromUtf8("console"))
108 self.console.setObjectName(_fromUtf8("console"))
109 self.gridLayout_4.addWidget(self.console, 0, 0, 1, 1)
109 self.gridLayout_4.addWidget(self.console, 0, 0, 1, 1)
110 self.tabConsole.addTab(self.tab_5, _fromUtf8(""))
110 self.tabConsole.addTab(self.tab_5, _fromUtf8(""))
111 self.tabWidget = QtGui.QTabWidget(self.splitter_2)
111 self.tabWidget = QtGui.QTabWidget(self.splitter_2)
112 self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
112 self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
113 self.tabProjectProperty = QtGui.QWidget()
113 self.tabProjectProperty = QtGui.QWidget()
114 self.tabProjectProperty.setObjectName(_fromUtf8("tabProjectProperty"))
114 self.tabProjectProperty.setObjectName(_fromUtf8("tabProjectProperty"))
115 self.gridLayout_8 = QtGui.QGridLayout(self.tabProjectProperty)
115 self.gridLayout_8 = QtGui.QGridLayout(self.tabProjectProperty)
116 self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
116 self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
117 self.treeProjectProperties = QtGui.QTreeView(self.tabProjectProperty)
117 self.treeProjectProperties = QtGui.QTreeView(self.tabProjectProperty)
118 self.treeProjectProperties.setObjectName(_fromUtf8("treeProjectProperties"))
118 self.treeProjectProperties.setObjectName(_fromUtf8("treeProjectProperties"))
119 self.gridLayout_8.addWidget(self.treeProjectProperties, 0, 0, 1, 1)
119 self.gridLayout_8.addWidget(self.treeProjectProperties, 0, 0, 1, 1)
120 self.tabWidget.addTab(self.tabProjectProperty, _fromUtf8(""))
120 self.tabWidget.addTab(self.tabProjectProperty, _fromUtf8(""))
121 self.gridLayout_16.addWidget(self.splitter_2, 1, 0, 1, 1)
121 self.gridLayout_16.addWidget(self.splitter_2, 1, 0, 1, 1)
122
122
123 MainWindow.setCentralWidget(self.centralWidget)
123 MainWindow.setCentralWidget(self.centralWidget)
124 self.toolBar = QtGui.QToolBar(MainWindow)
124 self.toolBar = QtGui.QToolBar(MainWindow)
125 self.toolBar.setObjectName(_fromUtf8("toolBar"))
125 self.toolBar.setObjectName(_fromUtf8("toolBar"))
126 MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
126 MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
127
127
128 self.menuBar = QtGui.QMenuBar(MainWindow)
128 self.menuBar = QtGui.QMenuBar(MainWindow)
129 self.menuBar.setGeometry(QtCore.QRect(0, 0, 1065, 25))
129 self.menuBar.setGeometry(QtCore.QRect(0, 0, 1065, 25))
130 self.menuBar.setObjectName(_fromUtf8("menuBar"))
130 self.menuBar.setObjectName(_fromUtf8("menuBar"))
131 self.menuProject = QtGui.QMenu(self.menuBar)
131 self.menuProject = QtGui.QMenu(self.menuBar)
132 self.menuProject.setObjectName(_fromUtf8("menuProject"))
132 self.menuProject.setObjectName(_fromUtf8("menuProject"))
133 self.menuRun = QtGui.QMenu(self.menuBar)
133 self.menuRun = QtGui.QMenu(self.menuBar)
134 self.menuRun.setObjectName(_fromUtf8("menuRun"))
134 self.menuRun.setObjectName(_fromUtf8("menuRun"))
135 self.menuOptions = QtGui.QMenu(self.menuBar)
135 self.menuOptions = QtGui.QMenu(self.menuBar)
136 self.menuOptions.setObjectName(_fromUtf8("menuOptions"))
136 self.menuOptions.setObjectName(_fromUtf8("menuOptions"))
137 self.menuHelp = QtGui.QMenu(self.menuBar)
137 self.menuHelp = QtGui.QMenu(self.menuBar)
138 self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
138 self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
139 MainWindow.setMenuBar(self.menuBar)
139 MainWindow.setMenuBar(self.menuBar)
140
140
141 iconOpen = QtGui.QIcon()
141 iconOpen = QtGui.QIcon()
142 iconOpen.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"open.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
142 iconOpen.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"open.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
143 iconCreate = QtGui.QIcon()
143 iconCreate = QtGui.QIcon()
144 iconCreate.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"new.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
144 iconCreate.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"new.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
145 iconSave = QtGui.QIcon()
145 iconSave = QtGui.QIcon()
146 iconSave.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"save.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
146 iconSave.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"save.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
147 iconStart = QtGui.QIcon()
147 iconStart = QtGui.QIcon()
148 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"start.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
148 iconStart.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"start.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
149 iconStop = QtGui.QIcon()
149 iconStop = QtGui.QIcon()
150 iconStop.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"stop.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
150 iconStop.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"stop.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
151 iconPause = QtGui.QIcon()
151 iconPause = QtGui.QIcon()
152 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
152 iconPause.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"pause.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
153 iconAddPU = QtGui.QIcon()
153 iconAddPU = QtGui.QIcon()
154 iconAddPU.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"branch.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
154 iconAddPU.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"branch.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
155 iconClose = QtGui.QIcon()
155 iconClose = QtGui.QIcon()
156 iconClose.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"close.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
156 iconClose.addPixmap(QtGui.QPixmap(_fromUtf8( os.path.join(FIGURES_PATH,"close.png") )), QtGui.QIcon.Normal, QtGui.QIcon.Off)
157
157
158
158
159 self.actionOpen = QtGui.QAction(MainWindow)
159 self.actionOpen = QtGui.QAction(MainWindow)
160 self.actionOpen.setIcon(iconOpen)
160 self.actionOpen.setIcon(iconOpen)
161 self.actionOpen.setObjectName(_fromUtf8("actionOpen"))
161 self.actionOpen.setObjectName(_fromUtf8("actionOpen"))
162 self.actionCreate = QtGui.QAction(MainWindow)
162 self.actionCreate = QtGui.QAction(MainWindow)
163 self.actionCreate.setIcon(iconCreate)
163 self.actionCreate.setIcon(iconCreate)
164 self.actionCreate.setObjectName(_fromUtf8("actionCreate"))
164 self.actionCreate.setObjectName(_fromUtf8("actionCreate"))
165 self.actionSave = QtGui.QAction(MainWindow)
165 self.actionSave = QtGui.QAction(MainWindow)
166 self.actionSave.setIcon(iconSave)
166 self.actionSave.setIcon(iconSave)
167 self.actionSave.setObjectName(_fromUtf8("actionSave"))
167 self.actionSave.setObjectName(_fromUtf8("actionSave"))
168 self.actionClose = QtGui.QAction(MainWindow)
168 self.actionClose = QtGui.QAction(MainWindow)
169 self.actionClose.setIcon(iconClose)
169 self.actionClose.setIcon(iconClose)
170 self.actionClose.setObjectName(_fromUtf8("actionClose"))
170 self.actionClose.setObjectName(_fromUtf8("actionClose"))
171 self.actionStart = QtGui.QAction(MainWindow)
171 self.actionStart = QtGui.QAction(MainWindow)
172 self.actionStart.setIcon(iconStart)
172 self.actionStart.setIcon(iconStart)
173 self.actionStart.setObjectName(_fromUtf8("actionStart"))
173 self.actionStart.setObjectName(_fromUtf8("actionStart"))
174 self.actionPause = QtGui.QAction(MainWindow)
174 self.actionPause = QtGui.QAction(MainWindow)
175 self.actionPause.setIcon(iconPause)
175 self.actionPause.setIcon(iconPause)
176 self.actionPause.setObjectName(_fromUtf8("actionPause"))
176 self.actionPause.setObjectName(_fromUtf8("actionPause"))
177 self.actionStop = QtGui.QAction(MainWindow)
177 self.actionStop = QtGui.QAction(MainWindow)
178 self.actionStop.setIcon(iconStop)
178 self.actionStop.setIcon(iconStop)
179 self.actionStop.setObjectName(_fromUtf8("actionStop"))
179 self.actionStop.setObjectName(_fromUtf8("actionStop"))
180 self.actionAbout = QtGui.QAction(MainWindow)
180 self.actionAbout = QtGui.QAction(MainWindow)
181 self.actionAbout.setObjectName(_fromUtf8("actionAbout"))
181 self.actionAbout.setObjectName(_fromUtf8("actionAbout"))
182
182
183 self.actionOpenToolbar = QtGui.QAction(MainWindow)
183 self.actionOpenToolbar = QtGui.QAction(MainWindow)
184 self.actionOpenToolbar.setIcon(iconOpen)
184 self.actionOpenToolbar.setIcon(iconOpen)
185 self.actionOpenToolbar.setObjectName(_fromUtf8("actionOpenToolbar"))
185 self.actionOpenToolbar.setObjectName(_fromUtf8("actionOpenToolbar"))
186 self.actionCreateToolbar = QtGui.QAction(MainWindow)
186 self.actionCreateToolbar = QtGui.QAction(MainWindow)
187 self.actionCreateToolbar.setIcon(iconCreate)
187 self.actionCreateToolbar.setIcon(iconCreate)
188 self.actionCreateToolbar.setObjectName(_fromUtf8("actionCreateToolbar"))
188 self.actionCreateToolbar.setObjectName(_fromUtf8("actionCreateToolbar"))
189 self.actionSaveToolbar = QtGui.QAction(MainWindow)
189 self.actionSaveToolbar = QtGui.QAction(MainWindow)
190 self.actionSaveToolbar.setIcon(iconSave)
190 self.actionSaveToolbar.setIcon(iconSave)
191 self.actionSaveToolbar.setObjectName(_fromUtf8("actionSaveToolbar"))
191 self.actionSaveToolbar.setObjectName(_fromUtf8("actionSaveToolbar"))
192 self.actionStarToolbar = QtGui.QAction(MainWindow)
192 self.actionStarToolbar = QtGui.QAction(MainWindow)
193 self.actionStarToolbar.setIcon(iconStart)
193 self.actionStarToolbar.setIcon(iconStart)
194 self.actionStarToolbar.setObjectName(_fromUtf8("actionStarToolbar"))
194 self.actionStarToolbar.setObjectName(_fromUtf8("actionStarToolbar"))
195 self.actionStopToolbar = QtGui.QAction(MainWindow)
195 self.actionStopToolbar = QtGui.QAction(MainWindow)
196 self.actionStopToolbar.setIcon(iconStop)
196 self.actionStopToolbar.setIcon(iconStop)
197 self.actionStopToolbar.setObjectName(_fromUtf8("actionStopToolbar"))
197 self.actionStopToolbar.setObjectName(_fromUtf8("actionStopToolbar"))
198 self.actionPauseToolbar = QtGui.QAction(MainWindow)
198 self.actionPauseToolbar = QtGui.QAction(MainWindow)
199 self.actionPauseToolbar.setIcon(iconPause)
199 self.actionPauseToolbar.setIcon(iconPause)
200 self.actionPauseToolbar.setObjectName(_fromUtf8("actionPauseToolbar"))
200 self.actionPauseToolbar.setObjectName(_fromUtf8("actionPauseToolbar"))
201 self.actionAddPU = QtGui.QAction(MainWindow)
201 self.actionAddPU = QtGui.QAction(MainWindow)
202 self.actionAddPU.setIcon(iconAddPU)
202 self.actionAddPU.setIcon(iconAddPU)
203 self.actionAddPU.setObjectName(_fromUtf8("actionAddPU"))
203 self.actionAddPU.setObjectName(_fromUtf8("actionAddPU"))
204 self.actionFTP = QtGui.QAction(MainWindow)
204 self.actionFTP = QtGui.QAction(MainWindow)
205 self.actionFTP.setObjectName(_fromUtf8("actionFTP"))
205 self.actionFTP.setObjectName(_fromUtf8("actionFTP"))
206 self.toolBar.addAction(self.actionOpenToolbar)
206 self.toolBar.addAction(self.actionOpenToolbar)
207 self.toolBar.addSeparator()
207 self.toolBar.addSeparator()
208 self.toolBar.addAction(self.actionCreateToolbar)
208 self.toolBar.addAction(self.actionCreateToolbar)
209 self.toolBar.addSeparator()
209 self.toolBar.addSeparator()
210 self.toolBar.addAction(self.actionAddPU)
210 self.toolBar.addAction(self.actionAddPU)
211 self.toolBar.addSeparator()
211 self.toolBar.addSeparator()
212 self.toolBar.addAction(self.actionSaveToolbar)
212 self.toolBar.addAction(self.actionSaveToolbar)
213 self.toolBar.addSeparator()
213 self.toolBar.addSeparator()
214 self.toolBar.addAction(self.actionStarToolbar)
214 self.toolBar.addAction(self.actionStarToolbar)
215 self.toolBar.addSeparator()
215 self.toolBar.addSeparator()
216 self.toolBar.addAction(self.actionPauseToolbar)
216 self.toolBar.addAction(self.actionPauseToolbar)
217 self.toolBar.addSeparator()
217 self.toolBar.addSeparator()
218 self.toolBar.addAction(self.actionStopToolbar)
218 self.toolBar.addAction(self.actionStopToolbar)
219 self.toolBar.addSeparator()
219 self.toolBar.addSeparator()
220
220
221 # self.actionPause.triggered.connect(self.changePauseIcon)
221 # self.actionPause.triggered.connect(self.changePauseIcon)
222 # self.actionPauseToolbar.triggered.connect(self.changePauseIcon)
222 # self.actionPauseToolbar.triggered.connect(self.changePauseIcon)
223
223
224 self.menuProject.addAction(self.actionOpen)
224 self.menuProject.addAction(self.actionOpen)
225 self.menuProject.addAction(self.actionCreate)
225 self.menuProject.addAction(self.actionCreate)
226 self.menuProject.addAction(self.actionSave)
226 self.menuProject.addAction(self.actionSave)
227 self.menuProject.addAction(self.actionClose)
227 self.menuProject.addAction(self.actionClose)
228 self.menuRun.addAction(self.actionStart)
228 self.menuRun.addAction(self.actionStart)
229 self.menuRun.addAction(self.actionPause)
229 self.menuRun.addAction(self.actionPause)
230 self.menuRun.addAction(self.actionStop)
230 self.menuRun.addAction(self.actionStop)
231 self.menuOptions.addAction(self.actionFTP)
231 self.menuOptions.addAction(self.actionFTP)
232 self.menuHelp.addAction(self.actionAbout)
232 self.menuHelp.addAction(self.actionAbout)
233 self.menuBar.addAction(self.menuProject.menuAction())
233 self.menuBar.addAction(self.menuProject.menuAction())
234 self.menuBar.addAction(self.menuRun.menuAction())
234 self.menuBar.addAction(self.menuRun.menuAction())
235 self.menuBar.addAction(self.menuOptions.menuAction())
235 self.menuBar.addAction(self.menuOptions.menuAction())
236 self.menuBar.addAction(self.menuHelp.menuAction())
236 self.menuBar.addAction(self.menuHelp.menuAction())
237
237
238 self.tabConsole.setCurrentIndex(0)
238 self.tabConsole.setCurrentIndex(0)
239 self.tabWidget.setCurrentIndex(0)
239 self.tabWidget.setCurrentIndex(0)
240
240
241 def retranslateUi(self, MainWindow):
241 def retranslateUi(self, MainWindow):
242
242
243 MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
243 MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
244
244
245 self.tabConsole.setTabText(self.tabConsole.indexOf(self.tab_5), _translate("MainWindow", "Console", None))
245 self.tabConsole.setTabText(self.tabConsole.indexOf(self.tab_5), _translate("MainWindow", "Console", None))
246
246
247 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabProjectProperty), _translate("MainWindow", "Project Property", None))
247 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabProjectProperty), _translate("MainWindow", "Project Property", None))
248 self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar", None))
248 self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar", None))
249 self.menuProject.setTitle(_translate("MainWindow", "Project", None))
249 self.menuProject.setTitle(_translate("MainWindow", "Project", None))
250 self.menuRun.setTitle(_translate("MainWindow", "Run", None))
250 self.menuRun.setTitle(_translate("MainWindow", "Run", None))
251 self.menuOptions.setTitle(_translate("MainWindow", "Options", None))
251 self.menuOptions.setTitle(_translate("MainWindow", "Options", None))
252 self.menuHelp.setTitle(_translate("MainWindow", "Help", None))
252 self.menuHelp.setTitle(_translate("MainWindow", "Help", None))
253 self.actionOpen.setText(_translate("MainWindow", "Open", None))
253 self.actionOpen.setText(_translate("MainWindow", "Open", None))
254 self.actionCreate.setText(_translate("MainWindow", "Create", None))
254 self.actionCreate.setText(_translate("MainWindow", "Create", None))
255 self.actionSave.setText(_translate("MainWindow", "Save", None))
255 self.actionSave.setText(_translate("MainWindow", "Save", None))
256 self.actionClose.setText(_translate("MainWindow", "Close", None))
256 self.actionClose.setText(_translate("MainWindow", "Close", None))
257 self.actionStart.setText(_translate("MainWindow", "Start", None))
257 self.actionStart.setText(_translate("MainWindow", "Start", None))
258 self.actionPause.setText(_translate("MainWindow", "Pause", None))
258 self.actionPause.setText(_translate("MainWindow", "Pause", None))
259 self.actionStop.setText(_translate("MainWindow", "Stop", None))
259 self.actionStop.setText(_translate("MainWindow", "Stop", None))
260 self.actionAbout.setText(_translate("MainWindow", "About SChain", None))
260 self.actionAbout.setText(_translate("MainWindow", "About SChain", None))
261 self.actionOpenToolbar.setText(_translate("MainWindow", "openToolbar", None))
261 self.actionOpenToolbar.setText(_translate("MainWindow", "openToolbar", None))
262 self.actionOpenToolbar.setToolTip(_translate("MainWindow", "Open a project", None))
262 self.actionOpenToolbar.setToolTip(_translate("MainWindow", "Open a project", None))
263 self.actionCreateToolbar.setText(_translate("MainWindow", "createToolbar", None))
263 self.actionCreateToolbar.setText(_translate("MainWindow", "createToolbar", None))
264 self.actionCreateToolbar.setToolTip(_translate("MainWindow", "Create a new project", None))
264 self.actionCreateToolbar.setToolTip(_translate("MainWindow", "Create a new project", None))
265 self.actionSaveToolbar.setText(_translate("MainWindow", "saveToolbar", None))
265 self.actionSaveToolbar.setText(_translate("MainWindow", "saveToolbar", None))
266 self.actionSaveToolbar.setToolTip(_translate("MainWindow", "Save a project", None))
266 self.actionSaveToolbar.setToolTip(_translate("MainWindow", "Save a project", None))
267 self.actionStarToolbar.setText(_translate("MainWindow", "starToolbar", None))
267 self.actionStarToolbar.setText(_translate("MainWindow", "starToolbar", None))
268 self.actionStarToolbar.setToolTip(_translate("MainWindow", "Start process", None))
268 self.actionStarToolbar.setToolTip(_translate("MainWindow", "Start process", None))
269 self.actionStopToolbar.setText(_translate("MainWindow", "stopToolbar", None))
269 self.actionStopToolbar.setText(_translate("MainWindow", "stopToolbar", None))
270 self.actionStopToolbar.setToolTip(_translate("MainWindow", "Stop process", None))
270 self.actionStopToolbar.setToolTip(_translate("MainWindow", "Stop process", None))
271 self.actionPauseToolbar.setText(_translate("MainWindow", "pauseToolbar", None))
271 self.actionPauseToolbar.setText(_translate("MainWindow", "pauseToolbar", None))
272 self.actionPauseToolbar.setToolTip(_translate("MainWindow", "Pause process", None))
272 self.actionPauseToolbar.setToolTip(_translate("MainWindow", "Pause process", None))
273 self.actionAddPU.setText(_translate("MainWindow", "Add Processing Unit", None))
273 self.actionAddPU.setText(_translate("MainWindow", "Add Processing Unit", None))
274 self.actionFTP.setText(_translate("MainWindow", "FTP", None))
274 self.actionFTP.setText(_translate("MainWindow", "FTP", None))
275
275
276 def closeEvent(self, event):
276 def closeEvent(self, event):
277
277
278 reply = QtGui.QMessageBox.question(self, 'Message',
278 reply = QtGui.QMessageBox.question(self, 'Message',
279 "Are you sure to quit?", QtGui.QMessageBox.Yes |
279 "Are you sure to quit?", QtGui.QMessageBox.Yes |
280 QtGui.QMessageBox.No, QtGui.QMessageBox.No)
280 QtGui.QMessageBox.No, QtGui.QMessageBox.No)
281 if reply == QtGui.QMessageBox.Yes:
281 if reply == QtGui.QMessageBox.Yes:
282 event.accept()
282 event.accept()
283 else:
283 else:
284 event.ignore()
284 event.ignore()
285
285
286 def aboutEvent(self):
286 def aboutEvent(self):
287 title = "Signal Chain Processing Software v%s" %__version__
287 title = "Signal Chain Processing Software v%s" %__version__
288 message = """
288 message = """
289 Developed by Jicamarca Radio Observatory
289 Developed by Jicamarca Radio Observatory
290 Any comment to miguel.urco@jro.igp.gob.pe
290 Any comment to miguel.urco@jro.igp.gob.pe
291 """
291 """
292 QtGui.QMessageBox.about(self, title, message)
292 QtGui.QMessageBox.about(self, title, message)
293
293
294
294
295 class Ui_BasicWindow(Ui_EnvWindow, Ui_ProjectTab, Ui_VoltageTab, Ui_SpectraTab, Ui_SpectraHeisTab, Ui_CorrelationTab):
295 class Ui_BasicWindow(Ui_EnvWindow, Ui_ProjectTab, Ui_VoltageTab, Ui_SpectraTab, Ui_SpectraHeisTab, Ui_CorrelationTab):
296
296
297 def setupUi(self, MainWindow):
297 def setupUi(self, MainWindow):
298
298
299 Ui_EnvWindow.setupUi(self, MainWindow)
299 Ui_EnvWindow.setupUi(self, MainWindow)
300
300
301 Ui_ProjectTab.setupUi(self)
301 Ui_ProjectTab.setupUi(self)
302 Ui_VoltageTab.setupUi(self)
302 Ui_VoltageTab.setupUi(self)
303 Ui_SpectraTab.setupUi(self)
303 Ui_SpectraTab.setupUi(self)
304 Ui_SpectraHeisTab.setupUi(self)
304 Ui_SpectraHeisTab.setupUi(self)
305 Ui_CorrelationTab.setupUi(self)
305 Ui_CorrelationTab.setupUi(self)
306
306
307 self.retranslateUi(MainWindow)
307 self.retranslateUi(MainWindow)
308
308
309 QtCore.QMetaObject.connectSlotsByName(MainWindow)
309 QtCore.QMetaObject.connectSlotsByName(MainWindow)
310
310
311 def retranslateUi(self, MainWindow):
311 def retranslateUi(self, MainWindow):
312
312
313 Ui_EnvWindow.retranslateUi(self, MainWindow)
313 Ui_EnvWindow.retranslateUi(self, MainWindow)
314
314
315 Ui_ProjectTab.retranslateUi(self)
315 Ui_ProjectTab.retranslateUi(self)
316 Ui_VoltageTab.retranslateUi(self)
316 Ui_VoltageTab.retranslateUi(self)
317 Ui_SpectraTab.retranslateUi(self)
317 Ui_SpectraTab.retranslateUi(self)
318 Ui_SpectraHeisTab.retranslateUi(self)
318 Ui_SpectraHeisTab.retranslateUi(self)
319 Ui_CorrelationTab.retranslateUi(self)
319 Ui_CorrelationTab.retranslateUi(self)
320
320
321
321
322 class Ui_AdvancedWindow(Ui_EnvWindow):
322 class Ui_AdvancedWindow(Ui_EnvWindow):
323
323
324 def setupUi(self, AdvancedWindow):
324 def setupUi(self, AdvancedWindow):
325
325
326 Ui_MainWindow.setupUi(self, AdvancedWindow)
326 Ui_MainWindow.setupUi(self, AdvancedWindow)
327
327
328 def retranslateUi(self, AdvancedWindow):
328 def retranslateUi(self, AdvancedWindow):
329
329
330 Ui_MainWindow.retranslateUi(self, AdvancedWindow)
330 Ui_MainWindow.retranslateUi(self, AdvancedWindow)
331
331
332
332
333
333
334 if __name__ == "__main__":
334 if __name__ == "__main__":
335 import sys
335 import sys
336 app = QtGui.QApplication(sys.argv)
336 app = QtGui.QApplication(sys.argv)
337 MainWindow = QtGui.QMainWindow()
337 MainWindow = QtGui.QMainWindow()
338 ui = Ui_BasicWindow()
338 ui = Ui_BasicWindow()
339 ui.setupUi(MainWindow)
339 ui.setupUi(MainWindow)
340 MainWindow.show()
340 MainWindow.show()
341 sys.exit(app.exec_())
341 sys.exit(app.exec_())
342
342
General Comments 0
You need to be logged in to leave comments. Login now