|
|
'''
|
|
|
Created on 27/03/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 Processing.VoltageProcessor import *
|
|
|
from Processing.SpectraProcessor import *
|
|
|
|
|
|
|
|
|
class TestSChain():
|
|
|
|
|
|
def __init__(self):
|
|
|
self.setValues()
|
|
|
self.createObjects()
|
|
|
self.testSChain()
|
|
|
|
|
|
|
|
|
def setValues( self ):
|
|
|
|
|
|
self.path = "/home/dsuarez/Projects" #1
|
|
|
self.path = "/Users/jro/Documents/RadarData/EW_Drifts"
|
|
|
self.path = "/Users/jro/Documents/RadarData/MST_ISR/MST"
|
|
|
# self.startDateTime = datetime.datetime(2007,5,1,15,49,0)
|
|
|
# self.endDateTime = datetime.datetime(2007,5,1,23,0,0)
|
|
|
|
|
|
self.startDateTime = datetime.datetime(2009,01,1,0,0,0)
|
|
|
self.endDateTime = datetime.datetime(2009,01,31,0,20,0)
|
|
|
|
|
|
# self.startDateTime = datetime.datetime(2011,11,1,0,0,0)
|
|
|
# self.endDateTime = datetime.datetime(2011,12,31,0,20,0)
|
|
|
|
|
|
|
|
|
self.N = 4
|
|
|
self.npts = 8
|
|
|
|
|
|
def createObjects( self ):
|
|
|
|
|
|
self.readerObj = VoltageReader()
|
|
|
self.voltProcObj = VoltageProcessor()
|
|
|
self.specProcObj = SpectraProcessor()
|
|
|
|
|
|
voltObj1 = self.readerObj.setup(
|
|
|
path = self.path,
|
|
|
startDateTime = self.startDateTime,
|
|
|
endDateTime = self.endDateTime,
|
|
|
expLabel = '',
|
|
|
online = 0)
|
|
|
|
|
|
if not(voltObj1):
|
|
|
sys.exit(0)
|
|
|
|
|
|
voltObj2 = self.voltProcObj.setup(dataInObj = voltObj1)
|
|
|
|
|
|
specObj1 = self.specProcObj.setup(dataInObj = voltObj2,
|
|
|
nFFTPoints = 16)
|
|
|
|
|
|
# voltObj2 = self.voltProcObj.setup(dataInObj = voltObj1,
|
|
|
# dataOutObj = voltObj2)
|
|
|
#
|
|
|
# specObj1 = self.specProcObj.setup(dataInObj = voltObj2,
|
|
|
# dataOutObj =specObj1,
|
|
|
# nFFTPoints=16)
|
|
|
|
|
|
|
|
|
def testSChain( self ):
|
|
|
|
|
|
ini = time.time()
|
|
|
while(True):
|
|
|
self.readerObj.getData()
|
|
|
|
|
|
self.voltProcObj.init()
|
|
|
|
|
|
# self.voltProcObj.plotData(winTitle='VOLTAGE INPUT', index=1)
|
|
|
#
|
|
|
# self.voltProcObj.integrator(4)
|
|
|
#
|
|
|
# self.voltProcObj.plotData(winTitle='VOLTAGE AVG', index=2)
|
|
|
#
|
|
|
|
|
|
self.specProcObj.init()
|
|
|
|
|
|
self.specProcObj.integrator(N=1)
|
|
|
|
|
|
self.specProcObj.plotData(winTitle='Spectra 1', index=1)
|
|
|
|
|
|
|
|
|
if self.readerObj.flagNoMoreFiles:
|
|
|
break
|
|
|
|
|
|
if self.readerObj.flagIsNewBlock:
|
|
|
print 'Block No %04d, Time: %s' %(self.readerObj.nTotalBlocks,
|
|
|
datetime.datetime.fromtimestamp(self.readerObj.m_BasicHeader.utc),)
|
|
|
|
|
|
|
|
|
# self.plotObj.end()
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
TestSChain()
|