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