@@ -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 |
|
|
|
398 |
self. |
|
|
399 |
self. |
|
|
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