##// END OF EJS Templates
-Modificacion de la Lectura Online,ahora funciona correctamente...
Alexander Valdez -
r173:585618fd3a5c
parent child
Show More
@@ -234,7 +234,7 class JRODataReader(JRODataIO):
234
234
235 nReadBlocks = 0
235 nReadBlocks = 0
236
236
237 delay = 60 #number of seconds waiting a new file
237 delay = 10 #number of seconds waiting a new file
238
238
239 nTries = 3 #quantity tries
239 nTries = 3 #quantity tries
240
240
@@ -242,7 +242,6 class JRODataReader(JRODataIO):
242
242
243
243
244 def __init__(self):
244 def __init__(self):
245
246 pass
245 pass
247
246
248 def createObjByDefault(self):
247 def createObjByDefault(self):
@@ -431,7 +430,10 class JRODataReader(JRODataIO):
431 dataOutObj = self.createObjByDefault()
430 dataOutObj = self.createObjByDefault()
432
431
433 self.dataOutObj = dataOutObj
432 self.dataOutObj = dataOutObj
434
433 self.delay = delay
434 self.online = online
435 self.ext = ext.lower()
436
435 if online:
437 if online:
436 print "Searching files in online mode..."
438 print "Searching files in online mode..."
437 doypath, file, year, doy, set = self.__searchFilesOnLine(path=path, expLabel=expLabel, ext=ext)
439 doypath, file, year, doy, set = self.__searchFilesOnLine(path=path, expLabel=expLabel, ext=ext)
@@ -440,7 +442,7 class JRODataReader(JRODataIO):
440 for nTries in range( self.nTries ):
442 for nTries in range( self.nTries ):
441 print '\tWaiting %0.2f sec for an valid file in %s: try %02d ...' % (self.delay, path, nTries+1)
443 print '\tWaiting %0.2f sec for an valid file in %s: try %02d ...' % (self.delay, path, nTries+1)
442 time.sleep( self.delay )
444 time.sleep( self.delay )
443 doypath, file, year, doy, set = self.__searchFilesOnLine(path=path, expLabel=expLabel, ext=exp)
445 doypath, file, year, doy, set = self.__searchFilesOnLine(path=path, expLabel=expLabel, ext=ext)
444 if doypath:
446 if doypath:
445 break
447 break
446
448
@@ -469,11 +471,6 class JRODataReader(JRODataIO):
469 self.pathList = pathList
471 self.pathList = pathList
470 self.filenameList = filenameList
472 self.filenameList = filenameList
471
473
472 self.online = online
473 self.delay = delay
474 ext = ext.lower()
475 self.ext = ext
476
477 if not(self.setNextFile()):
474 if not(self.setNextFile()):
478 if (startDate!=None) and (endDate!=None):
475 if (startDate!=None) and (endDate!=None):
479 print "No files in range: %s - %s" %(datetime.datetime.combine(startDate,startTime).ctime(), datetime.datetime.combine(endDate,endTime).ctime())
476 print "No files in range: %s - %s" %(datetime.datetime.combine(startDate,startTime).ctime(), datetime.datetime.combine(endDate,endTime).ctime())
@@ -623,32 +620,33 class JRODataReader(JRODataIO):
623 def __waitNewBlock(self):
620 def __waitNewBlock(self):
624 #si es OnLine y ademas aun no se han leido un bloque completo entonces se espera por uno valido
621 #si es OnLine y ademas aun no se han leido un bloque completo entonces se espera por uno valido
625 if not self.online:
622 if not self.online:
626 return
623 return 0
627
624
628
625 if (self.nReadBlocks >= self.processingHeaderObj.dataBlocksPerFile):
629 if (self.nReadBlocks < self.m_ProcessingHeader.dataBlocksPerFile):
626 return 0
630
627
631 currentPointer = self.fp.tell()
628 currentPointer = self.fp.tell()
629
630 neededSize = self.processingHeaderObj.blockSize + self.basicHeaderSize
631
632 for nTries in range( self.nTries ):
632
633
633 for nTries in range( self.nTries ):
634 self.fp.close()
634 #self.fp.close()
635 self.fp = open( self.filename, 'rb' )
635
636 self.fp.seek( currentPointer )
636 print "\tWaiting %0.2f seconds for the next block, try %03d ..." % (self.delay, nTries+1)
637 time.sleep( self.delay )
638
639 #self.fp = open( self.filename, 'rb' )
640 #self.fp.seek( fpointer )
641
637
642 self.fileSize = os.path.getsize( self.filename )
638 self.fileSize = os.path.getsize( self.filename )
643 currentSize = self.fileSize - currentPointer
639 currentSize = self.fileSize - currentPointer
644
640
645 if ( currentSize >= neededSize ):
641 if ( currentSize >= neededSize ):
646 self.__rdBasicHeader()
642 self.__rdBasicHeader()
647 return 1
643 return 1
644
645 print "\tWaiting %0.2f seconds for the next block, try %03d ..." % (self.delay, nTries+1)
646 time.sleep( self.delay )
648
647
649 return 0
650
648
651 return 1
649 return 0
652
650
653 def __setNewBlock(self):
651 def __setNewBlock(self):
654 if self.fp == None:
652 if self.fp == None:
@@ -7,7 +7,7 $Id$
7 import os, sys
7 import os, sys
8 import numpy
8 import numpy
9
9
10 #import pyfits
10 import pyfits
11 import glob
11 import glob
12 import fnmatch
12 import fnmatch
13 import time, datetime
13 import time, datetime
@@ -137,7 +137,7 class VoltageReader(JRODataReader):
137
137
138 self.profileIndex = 9999
138 self.profileIndex = 9999
139
139
140 self.delay = 3 #seconds
140 self.delay = 60 #seconds
141
141
142 self.nTries = 3 #quantity tries
142 self.nTries = 3 #quantity tries
143
143
@@ -13,7 +13,7 sys.path.append(path)
13
13
14 from Data.JROData import Spectra, SpectraHeis
14 from Data.JROData import Spectra, SpectraHeis
15 from IO.SpectraIO import SpectraWriter,SpectraHeisWriter
15 from IO.SpectraIO import SpectraWriter,SpectraHeisWriter
16 from Graphics.schainPlotTypes import ScopeFigure, SpcFigure, RTIFigure
16 #from Graphics.schainPlotTypes import ScopeFigure, SpcFigure, RTIFigure
17 from Graphics.BaseGraph_mpl import LinearPlot
17 from Graphics.BaseGraph_mpl import LinearPlot
18 #from JRONoise import Noise
18 #from JRONoise import Noise
19
19
@@ -182,7 +182,7 class SpectraProcessor:
182
182
183 #calculo de self-spectra
183 #calculo de self-spectra
184 fft_volt = numpy.fft.fftshift(fft_volt,axes=(1,))
184 fft_volt = numpy.fft.fftshift(fft_volt,axes=(1,))
185 spc = fft_volt * numpy.conjugate(fft_volt)
185 spc = (fft_volt * numpy.conjugate(fft_volt))
186 spc = spc.real
186 spc = spc.real
187
187
188 blocksize = 0
188 blocksize = 0
@@ -582,7 +582,7 class SpectraHeisProcessor:
582 #calculo de self-spectra
582 #calculo de self-spectra
583 fft_volt = numpy.fft.fftshift(fft_volt,axes=(1,))
583 fft_volt = numpy.fft.fftshift(fft_volt,axes=(1,))
584
584
585 spc = numpy.abs(fft_volt * numpy.conjugate(fft_volt))
585 spc = numpy.abs(fft_volt * numpy.conjugate(fft_volt))/(self.dataOutObj.nFFTPoints)
586 self.dataOutObj.data_spc = spc
586 self.dataOutObj.data_spc = spc
587
587
588 def getSpectra(self):
588 def getSpectra(self):
@@ -15,7 +15,7 sys.path.append(path)
15
15
16 from Data.JROData import Voltage
16 from Data.JROData import Voltage
17 from IO.VoltageIO import VoltageWriter
17 from IO.VoltageIO import VoltageWriter
18 from Graphics.schainPlotTypes import ScopeFigure, RTIFigure
18 #from Graphics.schainPlotTypes import ScopeFigure, RTIFigure
19
19
20 class VoltageProcessor:
20 class VoltageProcessor:
21
21
@@ -7,6 +7,7 Created on Jul 31, 2012
7
7
8 import os, sys
8 import os, sys
9 import time, datetime
9 import time, datetime
10 import getopt
10 #import pylab as pl
11 #import pylab as pl
11
12
12 from Data.JROData import Voltage
13 from Data.JROData import Voltage
@@ -27,41 +28,58 class TestHeis():
27 self.createObjects()
28 self.createObjects()
28 self.testSChain()
29 self.testSChain()
29 self.i=0
30 self.i=0
31
30
32
31
33
32 def VerifyArguments(self):
34 def VerifyArguments(self):
33 pass
35 arglist = ''
34
36 longarglist = ['path=','online=','N=','fpath=']
35
37 optlist,args = getopt.getopt(sys.argv[1:],arglist, longarglist)
38 for opt in optlist:
39 if opt[0] == '--path':
40 self.path = opt[1]
41 elif opt[0] == '--online':
42 self.online = int(opt[1])
43
44 elif opt[0] == '--N':
45 self.N = int(opt[1])
46 elif opt[0] == '--fpath':
47 self.fpath = opt[1]
48 # if self.online==0:
49 # if opt[0] == '--starDate':
50 # self.StarDate = opt[1]
51 # elif opt[0] == '--endDate':
52 # self.EndDate = opt[1]
53 # elif opt[0] == '--startTime':
54 # self.StartTime = opt[1]
55 # elif opt[0] == '--endTime':
56 # self.EndTime = opt[1]
57 #
58 # elif opt[0] == '--starDate':
59 # self.StarDate = None
60 #
61 # elif opt[0] == '--endDate':
62 # self.EndDate = None
63 #
64 # elif opt[0] == '--startTime':
65 # self.StartTime = None
66 #
67 # elif opt[0] == '--endTime':
68 # self.EndTime = None
69
36
70
37 def setValues(self):
71 def setValues(self):
72 self.VerifyArguments()
73 #stardateList=self.Stardate.split()
38
74
75 self.startDate = datetime.date(2012,10,1)
76 self.endDate = datetime.date(2012,12,30)
39
77
78 self.startTime = datetime.time(0,0,0)
79 self.endTime = datetime.time(23,0,0)
80
40
81
41 self.path="D:\\te"
42
82
43 #self.path = ""
44 # self.startDate = datetime.date(2012,10,1)
45 # self.endDate = datetime.date(2012,12,30)
46 #
47 # self.startTime = datetime.time(0,0,0)
48 # self.endTime = datetime.time(23,0,0)
49 #
50
51
52
53 self.N=1000
54
55 self.wrpath = "D:\\te\\FITS"
56
57 self.online
58
59 self.startDate = None
60 self.endDate = None
61 self.startTime = None
62 self.endTime = None
63
64 # self.blocksPerFile = 1
65 def createObjects( self ):
83 def createObjects( self ):
66
84
67 self.readerObj = VoltageReader()
85 self.readerObj = VoltageReader()
@@ -73,7 +91,8 class TestHeis():
73 startTime = self.startTime,
91 startTime = self.startTime,
74 endTime = self.endTime,
92 endTime = self.endTime,
75 expLabel = '',
93 expLabel = '',
76 online = self.online)
94 online = self.online,
95 delay=10)
77
96
78 if not(self.voltObj1):
97 if not(self.voltObj1):
79 sys.exit(0)
98 sys.exit(0)
@@ -91,7 +110,7 class TestHeis():
91
110
92 self.specProcObj.integrator(self.N) ## return self.dataOutObj
111 self.specProcObj.integrator(self.N) ## return self.dataOutObj
93
112
94 self.specProcObj.writedata(self.wrpath)
113 self.specProcObj.writedata(self.fpath)
95
114
96 self.specProcObj.plotMatScope(idfigure=1)
115 self.specProcObj.plotMatScope(idfigure=1)
97
116
@@ -101,7 +120,7 class TestHeis():
101
120
102
121
103 if self.readerObj.flagIsNewBlock:
122 if self.readerObj.flagIsNewBlock:
104 print 'Block No %04d, Time: %s' %(self.readerObj.nTotalBlocks,
123 print 'Block No %04d, Time: %s' %(self.readerObj.basicHeaderObj.dataBlock,
105 datetime.datetime.fromtimestamp(self.readerObj.basicHeaderObj.utc),)
124 datetime.datetime.fromtimestamp(self.readerObj.basicHeaderObj.utc),)
106
125
107
126
General Comments 0
You need to be logged in to leave comments. Login now