''' Created on 23/01/2012 @author $Author$ @version $Id$ ''' import os, sys import time, datetime from Model.Voltage import Voltage from IO.VoltageIO import * from Graphics.VoltagePlot import Osciloscope from Model.Spectra import Spectra from IO.SpectraIO import * from Graphics.SpectraPlot import Spectrum class TestSChain(): def __init__(self): self.setValues() self.createObjects() self.setupObjects() self.testSChain() pass def setValues(self): self.path = '/home/roj-idl71/Data/RAWDATA/DP_Faraday/' self.path = '/Users/danielangelsuarezmunoz/Documents/Projects/testWR' self.path = '/home/roj-idl71/Data/RAWDATA/IMAGING' #self.path = '/remote/puma/2011_08/E-F_Valley' #self.path = '/remote/puma/2011_12/EEJ+150km+ONAXIS+ESF+Twilight/Twilight/' self.path = '/home/roj-idl71/tmp/data/' self.ppath = "/home/roj-idl71/tmp/data" self.startDateTime = datetime.datetime(2011,1,31,0,20,0) self.endDateTime = datetime.datetime(2011,12,5,18,10,0) def createObjects(self): # self.Obj = Voltage() # self.readerObj = VoltageReader(self.Obj) # self.plotObj = Osciloscope(self.Obj) # self.writerObj = VoltageWriter(self.Obj) self.Obj = Spectra() self.readerObj = SpectraReader(self.Obj) self.plotObj = Spectrum(self.Obj) # self.writerObj = SpectraWriter(self.Obj) def setupObjects(self): if not(self.readerObj.setup(self.path, self.startDateTime, self.endDateTime, expLabel='', online = 0)): sys.exit(0) print "Parameters:" print "Num profiles: %s" %(self.readerObj.m_SystemHeader.numProfiles) print "Num samples: %s" %(self.readerObj.m_SystemHeader.numSamples) print "Num channels: %s" %(self.readerObj.m_SystemHeader.numChannels) print "Num profiles per block: %s" %(self.readerObj.m_ProcessingHeader.profilesPerBlock) print "Num heights: %s" %(self.readerObj.m_ProcessingHeader.numHeights) print "Num coh int: %s" %(self.readerObj.m_ProcessingHeader.coherentInt) print "Num incoh int: %s" %(self.readerObj.m_ProcessingHeader.incoherentInt) print "Num code: %d" %(self.readerObj.m_ProcessingHeader.numCode) print "Num baud: %d" %(self.readerObj.m_ProcessingHeader.numBaud) # if not(self.writerObj.setup(self.ppath)): # sys.exit(0) def testSChain(self): ini = time.time() while(True): self.readerObj.getData() self.plotObj.plotData(zmin=40, zmax=140, showColorbar=True, showPowerProfile=True) #self.plotObj.plotData(idProfile=1, type="power") # self.writerObj.putData() if self.readerObj.noMoreFiles: break if self.readerObj.flagIsNewBlock: print 'Block No %04d, Time: %s' %(self.readerObj.nReadBlocks, datetime.datetime.fromtimestamp(self.readerObj.m_BasicHeader.utc),) fin = time.time() print 'Tiempo de un bloque leido y escrito: [%6.5f]' %(fin - ini) ini = time.time() #time.sleep(0.5) self.plotObj.end() if __name__ == '__main__': TestSChain()