##// 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 from schainpy.model.proc.jroproc_base import ProcessingUnit, Operation
10 from schainpy.model.proc.jroproc_base import ProcessingUnit, Operation
11 from schainpy.model.data.jroheaderIO import PROCFLAG, BasicHeader, SystemHeader, RadarControllerHeader, ProcessingHeader
11 from schainpy.model.data.jroheaderIO import PROCFLAG, BasicHeader, SystemHeader, RadarControllerHeader, ProcessingHeader
12 from schainpy.model.data.jrodata import Voltage
12 from schainpy.model.data.jrodata import Voltage
13 # from _sha import blocksize
13
14
14 class VoltageReader(JRODataReader, ProcessingUnit):
15 class VoltageReader(JRODataReader, ProcessingUnit):
15 """
16 """
@@ -391,8 +392,13 class VoltageReader(JRODataReader, ProcessingUnit):
391
392
392 self.dataOut.data = self.datablock[:,self.profileIndex:self.profileIndex+self.selBlocksize,:]
393 self.dataOut.data = self.datablock[:,self.profileIndex:self.profileIndex+self.selBlocksize,:]
393 self.profileIndex += self.selBlocksize
394 self.profileIndex += self.selBlocksize
395 datasize = self.dataOut.data.shape[1]
394
396
395 while self.dataOut.data.shape[1] < self.selBlocksize: #Not enough profiles to fill the block
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
396 if not( self.readNextBlock() ):
402 if not( self.readNextBlock() ):
397 return 0
403 return 0
398 self.getFirstHeader()
404 self.getFirstHeader()
@@ -401,9 +407,14 class VoltageReader(JRODataReader, ProcessingUnit):
401 self.dataOut.flagNoData = True
407 self.dataOut.flagNoData = True
402 return 0
408 return 0
403 #stack data
409 #stack data
404 indMax = self.selBlocksize - self.dataOut.data.shape[1]
410 blockIndex = self.selBlocksize - datasize
405 self.dataOut.data = numpy.hstack((self.dataOut.data,self.datablock[:,:indMax,:]))
411 datablock1 = self.datablock[:,:blockIndex,:]
406 self.profileIndex = indMax
412
413 buffer[:,datasize:datasize+datablock1.shape[1],:] = datablock1
414 datasize += datablock1.shape[1]
415
416 self.dataOut.data = buffer
417 self.profileIndex = blockIndex
407
418
408 self.dataOut.flagDataAsBlock = True
419 self.dataOut.flagDataAsBlock = True
409 self.dataOut.nProfiles = self.selBlocksize
420 self.dataOut.nProfiles = self.selBlocksize
General Comments 0
You need to be logged in to leave comments. Login now