@@ -569,6 +569,13 class JRODataReader(JRODataIO): | |||||
569 |
|
569 | |||
570 | txIndex = None |
|
570 | txIndex = None | |
571 |
|
571 | |||
|
572 | #Added-------------------- | |||
|
573 | ||||
|
574 | selBlocksize = None | |||
|
575 | ||||
|
576 | selBlocktime = None | |||
|
577 | ||||
|
578 | ||||
572 | def __init__(self): |
|
579 | def __init__(self): | |
573 |
|
580 | |||
574 | """ |
|
581 | """ | |
@@ -1237,7 +1244,9 class JRODataReader(JRODataIO): | |||||
1237 | walk = True, |
|
1244 | walk = True, | |
1238 | getblock = False, |
|
1245 | getblock = False, | |
1239 | nTxs = 1, |
|
1246 | nTxs = 1, | |
1240 |
realtime=False |
|
1247 | realtime=False, | |
|
1248 | blocksize=None, | |||
|
1249 | blocktime=None): | |||
1241 |
|
1250 | |||
1242 | if path == None: |
|
1251 | if path == None: | |
1243 | raise ValueError, "[Reading] The path is not valid" |
|
1252 | raise ValueError, "[Reading] The path is not valid" | |
@@ -1304,6 +1313,11 class JRODataReader(JRODataIO): | |||||
1304 | self.startTime = startTime |
|
1313 | self.startTime = startTime | |
1305 | self.endTime = endTime |
|
1314 | self.endTime = endTime | |
1306 |
|
1315 | |||
|
1316 | #Added----------------- | |||
|
1317 | self.selBlocksize = blocksize | |||
|
1318 | self.selBlocktime = blocktime | |||
|
1319 | ||||
|
1320 | ||||
1307 | if not(self.setNextFile()): |
|
1321 | if not(self.setNextFile()): | |
1308 | if (startDate!=None) and (endDate!=None): |
|
1322 | if (startDate!=None) and (endDate!=None): | |
1309 | print "[Reading] No files in range: %s - %s" %(datetime.datetime.combine(startDate,startTime).ctime(), datetime.datetime.combine(endDate,endTime).ctime()) |
|
1323 | print "[Reading] No files in range: %s - %s" %(datetime.datetime.combine(startDate,startTime).ctime(), datetime.datetime.combine(endDate,endTime).ctime()) | |
@@ -1339,7 +1353,7 class JRODataReader(JRODataIO): | |||||
1339 |
|
1353 | |||
1340 | self.dataOut.ippSeconds = self.radarControllerHeaderObj.ippSeconds/self.nTxs |
|
1354 | self.dataOut.ippSeconds = self.radarControllerHeaderObj.ippSeconds/self.nTxs | |
1341 |
|
1355 | |||
1342 | self.dataOut.nProfiles = self.processingHeaderObj.profilesPerBlock*self.nTxs |
|
1356 | # self.dataOut.nProfiles = self.processingHeaderObj.profilesPerBlock*self.nTxs | |
1343 |
|
1357 | |||
1344 |
|
1358 | |||
1345 | def getFirstHeader(self): |
|
1359 | def getFirstHeader(self): |
@@ -57,7 +57,6 class VoltageReader(JRODataReader, ProcessingUnit): | |||||
57 | optchar = "D" |
|
57 | optchar = "D" | |
58 | dataOut = None |
|
58 | dataOut = None | |
59 |
|
59 | |||
60 |
|
||||
61 | def __init__(self): |
|
60 | def __init__(self): | |
62 | """ |
|
61 | """ | |
63 | Inicializador de la clase VoltageReader para la lectura de datos de voltage. |
|
62 | Inicializador de la clase VoltageReader para la lectura de datos de voltage. | |
@@ -373,15 +372,41 class VoltageReader(JRODataReader, ProcessingUnit): | |||||
373 |
|
372 | |||
374 | self.profileIndex += 1 |
|
373 | self.profileIndex += 1 | |
375 |
|
374 | |||
|
375 | # elif self.selBlocksize==None or self.selBlocksize==self.dataOut.nProfiles: | |||
|
376 | # """ | |||
|
377 | # Return all block | |||
|
378 | # """ | |||
|
379 | # self.dataOut.flagDataAsBlock = True | |||
|
380 | # self.dataOut.data = self.datablock | |||
|
381 | # self.dataOut.profileIndex = self.dataOut.nProfiles - 1 | |||
|
382 | # | |||
|
383 | # self.profileIndex = self.dataOut.nProfiles | |||
|
384 | ||||
376 | else: |
|
385 | else: | |
377 | """ |
|
386 | """ | |
378 |
Return a |
|
387 | Return a block | |
379 | """ |
|
388 | """ | |
380 | self.dataOut.flagDataAsBlock = True |
|
389 | if self.selBlocksize == None: self.selBlocksize = self.dataOut.nProfiles | |
381 | self.dataOut.data = self.datablock |
|
390 | if self.selBlocktime != None: self.selBlocksize = int(self.dataOut.nProfiles*round(self.selBlocktime/(self.dataOut.ippSeconds*self.dataOut.nProfiles))) | |
382 | self.dataOut.profileIndex = self.dataOut.nProfiles - 1 |
|
|||
383 |
|
391 | |||
384 | self.profileIndex = self.dataOut.nProfiles |
|
392 | self.dataOut.data = self.datablock[:,self.profileIndex:self.profileIndex+self.selBlocksize,:] | |
|
393 | self.profileIndex += self.selBlocksize | |||
|
394 | ||||
|
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 | ||||
|
408 | self.dataOut.flagDataAsBlock = True | |||
|
409 | self.dataOut.nProfiles = self.selBlocksize | |||
385 |
|
410 | |||
386 | self.dataOut.flagNoData = False |
|
411 | self.dataOut.flagNoData = False | |
387 |
|
412 |
General Comments 0
You need to be logged in to leave comments.
Login now