##// END OF EJS Templates
Modificaciones realizadas en:...
Modificaciones realizadas en: - SpectraIO; Se agregaron condiciones de lectura para CSPC y DC. - JROHeader; Se valida si hay datos DC con el processFlags.

File last commit:

r105:ff2de98458a5
r106:04f661d03146
Show More
TestSVoltageChain.py
90 lines | 2.5 KiB | text/x-python | PythonLexer
/ schainpy / TestSVoltageChain.py
Victor Sarmiento
r70 '''
Created on 27/03/2012
@author $Author$
@version $Id$
'''
import os, sys
import time, datetime
from Model.Voltage import Voltage
from IO.VoltageIO import *
Daniel Valdez
Se ha definido que el arreglo de datos debe tener el formato [canales, perfiles, alturas]; se han modificado los metodos de lectura, escritura, ploteo, procesamiento que estan relacionados.
r73 #from Graphics.VoltagePlot import Osciloscope
from Model.Spectra import Spectra
from IO.SpectraIO import *
from Processing.VoltageProcessor import *
from Processing.SpectraProcessor import *
Victor Sarmiento
r70
Daniel Valdez
r105
Victor Sarmiento
r70 class TestSChain():
def __init__(self):
self.setValues()
self.createObjects()
self.testSChain()
Daniel Valdez
Se ha definido que el arreglo de datos debe tener el formato [canales, perfiles, alturas]; se han modificado los metodos de lectura, escritura, ploteo, procesamiento que estan relacionados.
r73
Victor Sarmiento
r70
def setValues( self ):
Daniel Valdez
Se ha definido que el arreglo de datos debe tener el formato [canales, perfiles, alturas]; se han modificado los metodos de lectura, escritura, ploteo, procesamiento que estan relacionados.
r73 self.path = "/home/dsuarez/Projects" #1
Daniel Valdez
Adding the first version of Controller, including some changes in Voltage and Spectra Processors.
r103 self.path = "/Users/jro/Documents/RadarData/EW_Drifts"
Daniel Valdez
r105 # self.path = "/Users/jro/Documents/RadarData/JULIA"
Daniel Valdez
Se ha definido que el arreglo de datos debe tener el formato [canales, perfiles, alturas]; se han modificado los metodos de lectura, escritura, ploteo, procesamiento que estan relacionados.
r73 # self.startDateTime = datetime.datetime(2007,5,1,15,49,0)
# self.endDateTime = datetime.datetime(2007,5,1,23,0,0)
Daniel Valdez
r105 self.startDateTime = datetime.datetime(2011,10,1,0,0,0)
Daniel Valdez
Adding the first version of Controller, including some changes in Voltage and Spectra Processors.
r103 self.endDateTime = datetime.datetime(2011,12,31,0,20,0)
Daniel Valdez
r105 self.N = 4
self.npts = 8
Victor Sarmiento
r70
def createObjects( self ):
Miguel Valdez
Se ha reordenado las variables
r89 self.voltObj1 = Voltage()
self.voltObj2 = Voltage()
self.specObj1 = Spectra()
Daniel Valdez
Se ha definido que el arreglo de datos debe tener el formato [canales, perfiles, alturas]; se han modificado los metodos de lectura, escritura, ploteo, procesamiento que estan relacionados.
r73
Miguel Valdez
Se ha reordenado las variables
r89 self.readerObj = VoltageReader(self.voltObj1)
self.voltProcObj = VoltageProcessor(self.voltObj1, self.voltObj2)
self.specProcObj = SpectraProcessor(self.voltObj2, self.specObj1)
Daniel Valdez
r105
Victor Sarmiento
r70 if not(self.readerObj.setup( self.path, self.startDateTime, self.endDateTime, expLabel='', online =0) ):
sys.exit(0)
Daniel Valdez
Se ha definido que el arreglo de datos debe tener el formato [canales, perfiles, alturas]; se han modificado los metodos de lectura, escritura, ploteo, procesamiento que estan relacionados.
r73
Daniel Valdez
r105 self.specProcObj.setup(nFFTPoints=8)
Victor Sarmiento
r70 def testSChain( self ):
ini = time.time()
while(True):
Daniel Valdez
Se ha definido que el arreglo de datos debe tener el formato [canales, perfiles, alturas]; se han modificado los metodos de lectura, escritura, ploteo, procesamiento que estan relacionados.
r73 self.readerObj.getData()
Victor Sarmiento
r70
Miguel Valdez
Se ha reordenado las variables
r89 self.voltProcObj.init()
Victor Sarmiento
r70
Daniel Valdez
r105 self.voltProcObj.plotData(winTitle='VOLTAGE INPUT', index=1)
Daniel Valdez
Se ha definido que el arreglo de datos debe tener el formato [canales, perfiles, alturas]; se han modificado los metodos de lectura, escritura, ploteo, procesamiento que estan relacionados.
r73
Daniel Valdez
r105 self.voltProcObj.integrator(4)
Daniel Valdez
Se ha definido que el arreglo de datos debe tener el formato [canales, perfiles, alturas]; se han modificado los metodos de lectura, escritura, ploteo, procesamiento que estan relacionados.
r73
Daniel Valdez
r105 self.voltProcObj.plotData(winTitle='VOLTAGE AVG', index=2)
Daniel Valdez
Se ha definido que el arreglo de datos debe tener el formato [canales, perfiles, alturas]; se han modificado los metodos de lectura, escritura, ploteo, procesamiento que estan relacionados.
r73
Daniel Valdez
r105
self.specProcObj.init()
Daniel Valdez
Se ha definido que el arreglo de datos debe tener el formato [canales, perfiles, alturas]; se han modificado los metodos de lectura, escritura, ploteo, procesamiento que estan relacionados.
r73
Daniel Valdez
r105 self.specProcObj.integrator(N=2)
Daniel Valdez
Se ha definido que el arreglo de datos debe tener el formato [canales, perfiles, alturas]; se han modificado los metodos de lectura, escritura, ploteo, procesamiento que estan relacionados.
r73
Daniel Valdez
r105 self.specProcObj.plotData(winTitle='Spectra 1', index=3)
Miguel Valdez
Se ha reordenado las variables
r89 if self.readerObj.flagNoMoreFiles:
break
Daniel Valdez
r105
Victor Sarmiento
r70 if self.readerObj.flagIsNewBlock:
Miguel Valdez
Se ha reordenado las variables
r89 print 'Block No %04d, Time: %s' %(self.readerObj.nTotalBlocks,
Victor Sarmiento
r70 datetime.datetime.fromtimestamp(self.readerObj.m_BasicHeader.utc),)
Daniel Valdez
Se ha definido que el arreglo de datos debe tener el formato [canales, perfiles, alturas]; se han modificado los metodos de lectura, escritura, ploteo, procesamiento que estan relacionados.
r73
Daniel Valdez
r105
Daniel Valdez
Se ha definido que el arreglo de datos debe tener el formato [canales, perfiles, alturas]; se han modificado los metodos de lectura, escritura, ploteo, procesamiento que estan relacionados.
r73 # self.plotObj.end()
Victor Sarmiento
r70
if __name__ == '__main__':
TestSChain()