diff --git a/schainpy2/Data/JROData.py b/schainpy2/Data/JROData.py index 5ea847d..15d9187 100644 --- a/schainpy2/Data/JROData.py +++ b/schainpy2/Data/JROData.py @@ -89,9 +89,9 @@ class Voltage(JROData): Constructor ''' - self.m_RadarControllerHeader = RadarControllerHeader() + self.radarControllerHeaderObj = RadarControllerHeader() - self.m_SystemHeader = SystemHeader() + self.systemHeaderObj = SystemHeader() self.type = "Voltage" @@ -143,9 +143,9 @@ class Spectra(JROData): Constructor ''' - self.m_RadarControllerHeader = RadarControllerHeader() + self.radarControllerHeaderObj = RadarControllerHeader() - self.m_SystemHeader = SystemHeader() + self.systemHeaderObj = SystemHeader() self.type = "Spectra" @@ -190,9 +190,9 @@ class SpectraHeis(JROData): def __init__(self): - self.m_RadarControllerHeader = RadarControllerHeader() + self.radarControllerHeaderObj = RadarControllerHeader() - self.m_SystemHeader = SystemHeader() + self.systemHeaderObj = SystemHeader() self.type = "SpectraHeis" diff --git a/schainpy2/Graphics/BaseGraph_mpl.py b/schainpy2/Graphics/BaseGraph_mpl.py index ec8b051..065bd66 100644 --- a/schainpy2/Graphics/BaseGraph_mpl.py +++ b/schainpy2/Graphics/BaseGraph_mpl.py @@ -14,10 +14,10 @@ import datetime #import plplot import matplotlib as mpl -mpl.use('TKAgg') + #mpl.use('TKAgg') import matplotlib.pyplot as plt -import scitools.numpyutils as sn +#import scitools.numpyutils as sn def cmap1_init(colormap='gray'): diff --git a/schainpy2/IO/JROHeaderIO.py b/schainpy2/IO/JROHeaderIO.py index 5ab88cd..edb3247 100644 --- a/schainpy2/IO/JROHeaderIO.py +++ b/schainpy2/IO/JROHeaderIO.py @@ -312,7 +312,7 @@ class ProcessingHeader(Header): def __init__(self): self.size = 0 - self.dataType = 0 + self.dtype = 0 self.blockSize = 0 self.profilesPerBlock = 0 self.dataBlocksPerFile = 0 @@ -351,7 +351,7 @@ class ProcessingHeader(Header): try: header = numpy.fromfile(fp,self.struct,1) self.size = header['nSize'][0] - self.dataType = header['nDataType'][0] + self.dtype = header['nDataType'][0] self.blockSize = header['nSizeOfDataBlock'][0] self.profilesPerBlock = header['nProfilesperBlock'][0] self.dataBlocksPerFile = header['nDataBlocksperFile'][0] @@ -402,7 +402,7 @@ class ProcessingHeader(Header): def write(self, fp): headerTuple = (self.size, - self.dataType, + self.dtype, self.blockSize, self.profilesPerBlock, self.dataBlocksPerFile, diff --git a/schainpy2/Processing/SpectraProcessor.py b/schainpy2/Processing/SpectraProcessor.py index d473a05..84fbf1e 100644 --- a/schainpy2/Processing/SpectraProcessor.py +++ b/schainpy2/Processing/SpectraProcessor.py @@ -107,7 +107,7 @@ class SpectraProcessor: self.dataOutObj.flagNoData = False return - raise ValueError, "The datatype is not valid" + raise ValueError, "The dtype is not valid" def __getFft(self): """ @@ -120,16 +120,16 @@ class SpectraProcessor: self.dataOutObj.heightList self.dataOutObj.m_BasicHeader self.dataOutObj.m_ProcessingHeader - self.dataOutObj.m_RadarControllerHeader - self.dataOutObj.m_SystemHeader + self.dataOutObj.radarControllerHeaderObj + self.dataOutObj.systemHeaderObj self.profIndex self.buffer self.dataOutObj.flagNoData - self.dataOutObj.dataType + self.dataOutObj.dtype self.dataOutObj.nPairs self.dataOutObj.nChannels self.dataOutObj.nProfiles - self.dataOutObj.m_SystemHeader.numChannels + self.dataOutObj.systemHeaderObj.numChannels self.dataOutObj.m_ProcessingHeader.totalSpectra self.dataOutObj.m_ProcessingHeader.profilesPerBlock self.dataOutObj.m_ProcessingHeader.numHeights @@ -287,7 +287,9 @@ class SpectraProcessor: class SpectraHeisProcessor: + def __init__(self): + self.integratorObjIndex = None self.writerObjIndex = None self.plotterObjIndex = None @@ -296,12 +298,10 @@ class SpectraHeisProcessor: self.plotterObjList = [] #self.noiseObj = Noise() - def setup(self,dataInObj=None, dataOutObj=None, nFFTPoints=None, pairList=None): - if dataInObj == None: - raise ValueError, "" + def setup(self, dataInObj, dataOutObj=None, nFFTPoints=None, pairList=None): if nFFTPoints == None: - raise ValueError, "" + nFFTPoints = self.dataInObj.nHeights self.dataInObj = dataInObj @@ -316,49 +316,63 @@ class SpectraHeisProcessor: self.nChannels = self.dataInObj.nChannels self.nHeights = self.dataInObj.nHeights self.pairList = pairList + if pairList != None: self.nPairs = len(pairList) else: self.nPairs = 0 - self.dataOutObj.heightList = self.dataInObj.heightList - self.dataOutObj.channelIndexList = self.dataInObj.channelIndexList - self.dataOutObj.m_RadarControllerHeader = self.dataInObj.m_RadarControllerHeader.copy() - self.dataOutObj.m_SystemHeader = self.dataInObj.m_SystemHeader.copy() + self.dataOutObj.radarControllerHeaderObj = self.dataInObj.radarControllerHeaderObj.copy() + self.dataOutObj.systemHeaderObj = self.dataInObj.systemHeaderObj.copy() + + self.dataOutObj.type = "SpectraHeis" + + self.dataOutObj.dtype = self.dataInObj.dtype - self.dataOutObj.dataType = self.dataInObj.dataType - self.dataOutObj.nPairs = self.nPairs self.dataOutObj.nChannels = self.nChannels - self.dataOutObj.nProfiles = self.nFFTPoints + self.dataOutObj.nHeights = self.nHeights - self.dataOutObj.nFFTPoints = self.nFFTPoints - #self.dataOutObj.data = None - self.dataOutObj.m_SystemHeader.numChannels = self.nChannels - self.dataOutObj.m_SystemHeader.nProfiles = self.nFFTPoints + self.dataOutObj.nProfiles = self.nFFTPoints + + self.dataOutObj.heightList = None + + self.dataOutObj.channelList = None + + self.dataOutObj.channelIndexList = None + + self.dataOutObj.flagNoData = False + + self.dataOutObj.flagTimeBlock = False + + self.dataOutObj.dataUtcTime = None - self.dataOutObj.m_ProcessingHeader.totalSpectra = self.nChannels + self.nPairs - self.dataOutObj.m_ProcessingHeader.profilesPerBlock = self.nFFTPoints - self.dataOutObj.m_ProcessingHeader.numHeights = self.nHeights - self.dataOutObj.m_ProcessingHeader.shif_fft = True + self.dataOutObj.nCode = None - spectraComb = numpy.zeros( (self.nChannels+self.nPairs)*2,numpy.dtype('u1')) - k = 0 - for i in range( 0,self.nChannels*2,2 ): - spectraComb[i] = k - spectraComb[i+1] = k - k += 1 + self.dataOutObj.nBaud = None - k *= 2 + self.dataOutObj.code = None + + self.dataOutObj.flagDecodeData = True #asumo q la data esta decodificada + + self.dataOutObj.flagDeflipData = True #asumo q la data esta sin flip + + self.dataOutObj.flagShiftFFT = False + + self.dataOutObj.ippSeconds = None - if self.pairList != None: - - for pair in self.pairList: - spectraComb[k] = pair[0] - spectraComb[k+1] = pair[1] - k += 2 - - self.dataOutObj.m_ProcessingHeader.spectraComb = spectraComb + self.dataOutObjdata_spc = None + + self.dataOutObjdata_cspc = None + + self.dataOutObjdata_dc = None + + self.dataOutObjnFFTPoints = None + + self.dataOutObjnPairs = None + + self.dataOutObjpairsList = None + return self.dataOutObj @@ -378,7 +392,7 @@ class SpectraHeisProcessor: self.dataOutObj.flagNoData = False return - raise ValueError, "The datatype is not valid" + raise ValueError, "The type is not valid" def __getFft(self): if self.dataInObj.flagNoData: diff --git a/schainpy2/Processing/VoltageProcessor.py b/schainpy2/Processing/VoltageProcessor.py index b3bc722..cc1513a 100644 --- a/schainpy2/Processing/VoltageProcessor.py +++ b/schainpy2/Processing/VoltageProcessor.py @@ -284,8 +284,8 @@ class CoherentIntegrator: return #Overlapping data - nChannels, nProfiles = data.shape - data = numpy.reshape(data, (1, nChannels, nProfiles)) + nChannels, nHeis = data.shape + data = numpy.reshape(data, (1, nChannels, nHeis)) if self.__buffer == None: self.__buffer = data diff --git a/schainpy2/TestSpectraHeis.py b/schainpy2/TestSpectraHeis.py index b898121..2a18263 100644 --- a/schainpy2/TestSpectraHeis.py +++ b/schainpy2/TestSpectraHeis.py @@ -27,6 +27,7 @@ class TestHeis(): self.createObjects() self.testSChain() self.i=0 + def setValues( self ): self.path="C:\data2" diff --git a/schainpy2/testSchainExp.py b/schainpy2/testSchainExp.py index 98ba52f..873c7ac 100644 --- a/schainpy2/testSchainExp.py +++ b/schainpy2/testSchainExp.py @@ -9,7 +9,7 @@ import time, datetime path = os.path.split(os.getcwd())[0] sys.path.append(path) -from Data.Voltage import Voltage +from Data.JROData import Voltage from IO.VoltageIO import * from Processing.VoltageProcessor import * @@ -23,30 +23,24 @@ class TestSChain(): self.testSChain() def setValues(self): - self.path = "/home/dsuarez/RadarData/EW_DRIFTS" - self.startDate = datetime.date(2012,6,1) - self.endDate = datetime.date(2012,7,30) + self.path = "/home/roj-idl71/Data/RAWDATA/Meteors" -# self.path = "/Users/danielangelsuarezmunoz/Data/Imaging_rawdata" -# self.startDate = datetime.date(2011,10,4) -# self.endDate = datetime.date(2011,10,4) - - # Probando los escritos por Signal Chain -# self.path = "/home/dsuarez/RadaData" -# self.startDate = datetime.date(2011,11,28) -# self.endDate = datetime.date(2011,11,30) + self.startDate = datetime.date(2005,1,1) + self.endDate = datetime.date(2012,7,30) self.startTime = datetime.time(0,0,0) self.endTime = datetime.time(23,59,59) - self.wrpath = "/home/dsuarez/RadarData" + self.wrpath = "/home/roj-idl71/tmp/results" self.profilesPerBlock = 40 self.blocksPerFile = 50 def createObjects(self): - self.readerObj = VoltageReader() - + self.readerObj = VoltageReader() + self.voltProcObj = VoltageProcessor() + self.specProcObj = SpectraProcessor() + self.voltObj1 = self.readerObj.setup( path = self.path, startDate = self.startDate, @@ -54,11 +48,9 @@ class TestSChain(): startTime = self.startTime, endTime = self.endTime, expLabel = '', - online = 0) - - self.voltObjProc = VoltageProcessor() + online = 0) - self.voltObj2 = self.voltObjProc.setup(dataInObj = self.voltObj1) + self.voltObj2 = self.voltProcObj.setup(dataInObj = self.voltObj1) def testSChain(self): @@ -67,12 +59,14 @@ class TestSChain(): while(True): self.readerObj.getData() - self.voltObjProc.init() + self.voltProcObj.init() + + self.voltProcObj.integrator(1000, overlapping=True) # -# self.voltObjProc.writeData(self.wrpath,self.profilesPerBlock,self.blocksPerFile) +# self.voltProcObj.writeData(self.wrpath,self.profilesPerBlock,self.blocksPerFile) - self.voltObjProc.plotScope(idfigure=1, + self.voltProcObj.plotScope(idfigure=1, wintitle='test plot library', driver='plplot', save=False,