##// END OF EJS Templates
Correccion en el ploteo de Graficos para efeciencia en consumo de memoria
Miguel Valdez -
r154:fd9b77bd6c94
parent child
Show More
@@ -68,13 +68,18 class Figure:
68
68
69 self.drvObj.driver.openDriver()
69 self.drvObj.driver.openDriver()
70
70
71 def __initFigure(self):
71 def __newPage(self):
72
72
73
74 self.drvObj.driver.openPage()
73 nrows, ncolumns = self.getSubplots()
75 nrows, ncolumns = self.getSubplots()
74 self.drvObj.driver.openFigure()
75 self.drvObj.driver.setFigTitle(self.figuretitle)
76 self.drvObj.driver.setFigTitle(self.figuretitle)
76 self.drvObj.driver.setSubPlots(nrows, ncolumns)
77 self.drvObj.driver.setSubPlots(nrows, ncolumns)
77
78
79 def __closePage(self):
80
81 self.drvObj.driver.closeFigure()
82
78 def selectFigure(self):
83 def selectFigure(self):
79
84
80 self.drvObj.driver.selectFigure()
85 self.drvObj.driver.selectFigure()
@@ -96,6 +101,9 class Figure:
96 self.drvObj.driver.refresh()
101 self.drvObj.driver.refresh()
97
102
98 def createFrames(self):
103 def createFrames(self):
104
105 self.frameObjList = []
106
99 raise ValueError, "No implemented"
107 raise ValueError, "No implemented"
100
108
101 def save(self,filename):
109 def save(self,filename):
@@ -174,7 +182,7 class Figure:
174 filename = os.path.join(path,file)
182 filename = os.path.join(path,file)
175 self.save(filename)
183 self.save(filename)
176
184
177
185 self.__closeFigure()
178
186
179
187
180 def plotPcolor(self,data,
188 def plotPcolor(self,data,
@@ -201,7 +209,6 class Figure:
201 else:
209 else:
202 self.figuretitle = figuretitle
210 self.figuretitle = figuretitle
203
211
204
205
212
206 if not(self.__isDriverOpen):
213 if not(self.__isDriverOpen):
207 self.__openDriver()
214 self.__openDriver()
@@ -219,12 +226,12 class Figure:
219 if not(self.changeXRange(x)):
226 if not(self.changeXRange(x)):
220 return 0
227 return 0
221
228
222 self.__isFigureOpen = False
229 self.__closeFigure()
230
231 self.selectFigure()
223
232
224 if not(self.__isFigureOpen):
233 if not(self.__isFigureOpen):
225
234 self.__newPage()
226
227 self.__initFigure()
228 self.__isFigureOpen = True
235 self.__isFigureOpen = True
229
236
230 for channel in channelList:
237 for channel in channelList:
@@ -242,7 +249,7 class Figure:
242 self.deltay,
249 self.deltay,
243 self.colorbar,
250 self.colorbar,
244 value)
251 value)
245 self.selectFigure()
252
246
253
247 for channel in channelList:
254 for channel in channelList:
248 dataCh = data[channel,:]
255 dataCh = data[channel,:]
@@ -252,7 +259,9 class Figure:
252
259
253 self.__refresh()
260 self.__refresh()
254 if clearData == True:
261 if clearData == True:
262 self.__closePage()
255 self.__isFigureOpen = False
263 self.__isFigureOpen = False
264
256
265
257
266
258
267
@@ -43,6 +43,9 class SpcFigure(Figure):
43 pass
43 pass
44
44
45 def createFrames(self):
45 def createFrames(self):
46
47 self.frameObjList = []
48
46 for frame in range(self.nframes):
49 for frame in range(self.nframes):
47 frameObj = SpcFrame(self.drvObj,frame + 1, self.colorbar, self.showprofile)
50 frameObj = SpcFrame(self.drvObj,frame + 1, self.colorbar, self.showprofile)
48 self.frameObjList.append(frameObj)
51 self.frameObjList.append(frameObj)
@@ -267,6 +270,9 class RTIFigure(Figure):
267 return 0
270 return 0
268
271
269 def createFrames(self):
272 def createFrames(self):
273
274 self.frameObjList = []
275
270 for frame in range(self.nframes):
276 for frame in range(self.nframes):
271 frameObj = RTIFrame(self.drvObj,frame + 1, self.colorbar, self.showprofile)
277 frameObj = RTIFrame(self.drvObj,frame + 1, self.colorbar, self.showprofile)
272 self.frameObjList.append(frameObj)
278 self.frameObjList.append(frameObj)
@@ -427,6 +433,9 class ScopeFigure(Figure):
427 return nrows, ncolumns
433 return nrows, ncolumns
428
434
429 def createFrames(self):
435 def createFrames(self):
436
437 self.frameObjList = []
438
430 for frame in range(self.nframes):
439 for frame in range(self.nframes):
431 frameObj = ScopeFrame(self.drvObj,frame + 1)
440 frameObj = ScopeFrame(self.drvObj,frame + 1)
432 self.frameObjList.append(frameObj)
441 self.frameObjList.append(frameObj)
@@ -277,21 +277,22 class SpectraProcessor:
277 plotObj = self.plotObjList[self.plotObjIndex]
277 plotObj = self.plotObjList[self.plotObjIndex]
278
278
279 plotObj.plotPcolor(data,
279 plotObj.plotPcolor(data,
280 x,
280 x=x,
281 y,
281 y=y,
282 channelList,
282 channelList=channelList,
283 xmin,
283 xmin=xmin,
284 xmax,
284 xmax=xmax,
285 ymin,
285 ymin=ymin,
286 ymax,
286 ymax=ymax,
287 minvalue,
287 minvalue=minvalue,
288 maxvalue,
288 maxvalue=maxvalue,
289 figuretitle,
289 figuretitle=figuretitle,
290 None,
290 xrangestep=None,
291 save,
291 deltax=None,
292 gpath,
292 save=False,
293 cleardata,
293 gpath='./',
294 titleList)
294 clearData=True
295 )
295
296
296 self.plotObjIndex += 1
297 self.plotObjIndex += 1
297
298
@@ -13,7 +13,7 from Data.JROData import Voltage
13 from IO.VoltageIO import *
13 from IO.VoltageIO import *
14
14
15 from Processing.VoltageProcessor import *
15 from Processing.VoltageProcessor import *
16
16 from Processing.SpectraProcessor import *
17
17
18 class TestSChain():
18 class TestSChain():
19
19
@@ -24,13 +24,16 class TestSChain():
24
24
25 def setValues(self):
25 def setValues(self):
26 self.path = "/home/roj-idl71/Data/RAWDATA/Meteors"
26 self.path = "/home/roj-idl71/Data/RAWDATA/Meteors"
27 self.path = "/remote/puma/2012_06/Meteors"
27
28
28 self.startDate = datetime.date(2005,1,1)
29 self.startDate = datetime.date(2012,1,1)
29 self.endDate = datetime.date(2012,7,30)
30 self.endDate = datetime.date(2012,12,30)
30
31
31 self.startTime = datetime.time(0,0,0)
32 self.startTime = datetime.time(0,0,0)
32 self.endTime = datetime.time(23,59,59)
33 self.endTime = datetime.time(23,59,59)
33
34
35 self.nFFTPoints = 64
36
34 self.wrpath = "/home/roj-idl71/tmp/results"
37 self.wrpath = "/home/roj-idl71/tmp/results"
35 self.profilesPerBlock = 40
38 self.profilesPerBlock = 40
36 self.blocksPerFile = 50
39 self.blocksPerFile = 50
@@ -51,6 +54,7 class TestSChain():
51 online = 0)
54 online = 0)
52
55
53 self.voltObj2 = self.voltProcObj.setup(dataInObj = self.voltObj1)
56 self.voltObj2 = self.voltProcObj.setup(dataInObj = self.voltObj1)
57 self.specObj1 = self.specProcObj.setup(dataInObj = self.voltObj2, nFFTPoints = self.nFFTPoints)
54
58
55 def testSChain(self):
59 def testSChain(self):
56
60
@@ -61,17 +65,28 class TestSChain():
61
65
62 self.voltProcObj.init()
66 self.voltProcObj.init()
63
67
64 self.voltProcObj.integrator(1000, overlapping=True)
68 self.voltProcObj.integrator(10, overlapping=False)
65 #
69 #
66 # self.voltProcObj.writeData(self.wrpath,self.profilesPerBlock,self.blocksPerFile)
70 # self.voltProcObj.writeData(self.wrpath,self.profilesPerBlock,self.blocksPerFile)
67
71
68
72
69 self.voltProcObj.plotScope(idfigure=1,
73 # self.voltProcObj.plotScope(idfigure=0,
70 wintitle='test plot library',
74 # wintitle='test plot library',
71 driver='plplot',
75 # driver='plplot',
72 save=False,
76 # save=False,
73 gpath=None,
77 # gpath=None,
74 type="power")
78 # type="power")
79
80 self.specProcObj.init()
81
82 self.specProcObj.plotSpc(idfigure=1,
83 wintitle='Spectra',
84 driver='plplot',
85 colormap='br_green',
86 colorbar=True,
87 showprofile=False,
88 save=False,
89 gpath=None)
75
90
76 if self.readerObj.flagNoMoreFiles:
91 if self.readerObj.flagNoMoreFiles:
77 break
92 break
@@ -79,7 +94,7 class TestSChain():
79 if self.readerObj.flagIsNewBlock:
94 if self.readerObj.flagIsNewBlock:
80 # print 'Block No %04d, Time: %s' %(self.readerObj.nTotalBlocks, datetime.datetime.fromtimestamp(self.readerObj.basicHeaderObj.utc),)
95 # print 'Block No %04d, Time: %s' %(self.readerObj.nTotalBlocks, datetime.datetime.fromtimestamp(self.readerObj.basicHeaderObj.utc),)
81 print 'Block No %04d, Time: %s' %(self.readerObj.nTotalBlocks,
96 print 'Block No %04d, Time: %s' %(self.readerObj.nTotalBlocks,
82 datetime.datetime.utcfromtimestamp(self.readerObj.basicHeaderObj.utc + self.readerObj.basicHeaderObj.miliSecond/1000.0),)
97 datetime.datetime.fromtimestamp(self.readerObj.basicHeaderObj.utc + self.readerObj.basicHeaderObj.miliSecond/1000.0),)
83
98
84
99
85 if __name__ == '__main__':
100 if __name__ == '__main__':
General Comments 0
You need to be logged in to leave comments. Login now