From 334499cc45be8ce51e5c0353bcf532871b84da74 2013-08-21 17:50:05 From: Daniel Valdez Date: 2013-08-21 17:50:05 Subject: [PATCH] Optimizacion de Salvado de Spectros Modificacion al calculo de Spectros, considera nProfiles y nFFTPoints Correcciones al modulode escritura de spectros (archivos pdata) --- diff --git a/schainpy/model/graphics/mpldriver.py b/schainpy/model/graphics/mpldriver.py index e42ade4..06fbedf 100644 --- a/schainpy/model/graphics/mpldriver.py +++ b/schainpy/model/graphics/mpldriver.py @@ -380,4 +380,4 @@ def draw(fig): if type(fig) == 'int': raise ValueError, "This parameter should be of tpye matplotlib figure" - fig.canvas.draw() \ No newline at end of file + fig.canvas.draw() diff --git a/schainpy/model/jrodataIO.py b/schainpy/model/jrodataIO.py index 9d280f5..cbcfe1a 100644 --- a/schainpy/model/jrodataIO.py +++ b/schainpy/model/jrodataIO.py @@ -2407,7 +2407,10 @@ class SpectraWriter(JRODataWriter): data.tofile(self.fp) self.data_spc.fill(0) - self.data_dc.fill(0) + + if self.data_dc != None: + self.data_dc.fill(0) + if self.data_cspc != None: self.data_cspc.fill(0) @@ -2447,7 +2450,8 @@ class SpectraWriter(JRODataWriter): self.setBasicHeader() self.data_spc = self.dataOut.data_spc.copy() - self.data_cspc = self.dataOut.data_cspc.copy() + if self.dataOut.data_cspc != None: + self.data_cspc = self.dataOut.data_cspc.copy() self.data_dc = self.dataOut.data_dc.copy() # #self.processingHeaderObj.dataBlocksPerFile) @@ -2580,11 +2584,13 @@ class SpectraWriter(JRODataWriter): for channel in range(self.dataOut.nChannels): channelList.append(channel) channelList.append(channel) - + pairsList = [] - for pair in self.dataOut.pairsList: - pairsList.append(pair[0]) - pairsList.append(pair[1]) + if self.dataOut.nPairs > 0: + for pair in self.dataOut.pairsList: + pairsList.append(pair[0]) + pairsList.append(pair[1]) + spectraComb = channelList + pairsList spectraComb = numpy.array(spectraComb,dtype="u1") self.processingHeaderObj.spectraComb = spectraComb diff --git a/schainpy/model/jroplot.py b/schainpy/model/jroplot.py index 16c8465..d4d739d 100644 --- a/schainpy/model/jroplot.py +++ b/schainpy/model/jroplot.py @@ -4,7 +4,7 @@ from graphics.figure import * def isRealtime(utcdatatime): utcnow = time.mktime(datetime.datetime.utcnow().timetuple()) delta = utcnow - utcdatatime # abs - if delta >= 5*60.: + if delta >= 30.: return False return True @@ -497,6 +497,11 @@ class SpectraPlot(Figure): zmax : None """ + if dataOut.realtime: + if not(isRealtime(utcdatatime = dataOut.utctime)): + print 'Skipping this plot function' + return + if channelList == None: channelIndexList = dataOut.channelIndexList else: diff --git a/schainpy/model/jroprocessing.py b/schainpy/model/jroprocessing.py index 40604f7..72349f9 100644 --- a/schainpy/model/jroprocessing.py +++ b/schainpy/model/jroprocessing.py @@ -751,7 +751,7 @@ class SpectraProc(ProcessingUnit): self.buffer self.dataOut.flagNoData """ - fft_volt = numpy.fft.fft(self.buffer,axis=1) + fft_volt = numpy.fft.fft(self.buffer,n=self.dataOut.nFFTPoints,axis=1) fft_volt = fft_volt.astype(numpy.dtype('complex')) dc = fft_volt[:,0,:] @@ -780,7 +780,7 @@ class SpectraProc(ProcessingUnit): self.dataOut.blockSize = blocksize self.dataOut.flagShiftFFT = False - def init(self, nFFTPoints=None, pairsList=None): + def init(self, nProfiles, nFFTPoints=None, pairsList=None): self.dataOut.flagNoData = True @@ -804,7 +804,7 @@ class SpectraProc(ProcessingUnit): if self.buffer == None: self.buffer = numpy.zeros((self.dataIn.nChannels, - self.dataOut.nFFTPoints, + nProfiles, self.dataIn.nHeights), dtype='complex')