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