##// END OF EJS Templates
voltage reader enhancements
Julio Valdez -
r834:ee9a56ecbcc7
parent child
Show More
@@ -10,6 +10,7 from jroIO_base import LOCALTIME, JRODataReader, JRODataWriter
10 10 from schainpy.model.proc.jroproc_base import ProcessingUnit, Operation
11 11 from schainpy.model.data.jroheaderIO import PROCFLAG, BasicHeader, SystemHeader, RadarControllerHeader, ProcessingHeader
12 12 from schainpy.model.data.jrodata import Voltage
13 # from _sha import blocksize
13 14
14 15 class VoltageReader(JRODataReader, ProcessingUnit):
15 16 """
@@ -391,20 +392,30 class VoltageReader(JRODataReader, ProcessingUnit):
391 392
392 393 self.dataOut.data = self.datablock[:,self.profileIndex:self.profileIndex+self.selBlocksize,:]
393 394 self.profileIndex += self.selBlocksize
395 datasize = self.dataOut.data.shape[1]
396
397 if datasize < self.selBlocksize:
398 buffer = numpy.zeros((self.dataOut.data.shape[0],self.selBlocksize,self.dataOut.data.shape[2]), dtype = 'complex')
399 buffer[:,:datasize,:] = self.dataOut.data
400
401 while datasize < self.selBlocksize: #Not enough profiles to fill the block
402 if not( self.readNextBlock() ):
403 return 0
404 self.getFirstHeader()
405 self.reshapeData()
406 if self.datablock is None:
407 self.dataOut.flagNoData = True
408 return 0
409 #stack data
410 blockIndex = self.selBlocksize - datasize
411 datablock1 = self.datablock[:,:blockIndex,:]
394 412
395 while self.dataOut.data.shape[1] < self.selBlocksize: #Not enough profiles to fill the block
396 if not( self.readNextBlock() ):
397 return 0
398 self.getFirstHeader()
399 self.reshapeData()
400 if self.datablock is None:
401 self.dataOut.flagNoData = True
402 return 0
403 #stack data
404 indMax = self.selBlocksize - self.dataOut.data.shape[1]
405 self.dataOut.data = numpy.hstack((self.dataOut.data,self.datablock[:,:indMax,:]))
406 self.profileIndex = indMax
407
413 buffer[:,datasize:datasize+datablock1.shape[1],:] = datablock1
414 datasize += datablock1.shape[1]
415
416 self.dataOut.data = buffer
417 self.profileIndex = blockIndex
418
408 419 self.dataOut.flagDataAsBlock = True
409 420 self.dataOut.nProfiles = self.selBlocksize
410 421
General Comments 0
You need to be logged in to leave comments. Login now