##// END OF EJS Templates
avance de Escritura de Pdata, faltan probar con mas experimentos.
Daniel Valdez -
r125:f2f0f92e6f2a
parent child
Show More
@@ -429,7 +429,7 class ProcessingHeader(Header):
429 429
430 430
431 431 if self.processFlags & PROCFLAG.DEFINE_PROCESS_CODE == PROCFLAG.DEFINE_PROCESS_CODE:
432 nCode = self.nCode
432 nCode = self.nCode #Probar con un dato que almacene codigo, hasta el momento no se hizo la prueba
433 433 nCode.tofile(fp)
434 434
435 435 nBaud = self.nBaud
@@ -441,7 +441,7 class SpectraWriter(JRODataWriter):
441 441 #
442 442 # self.nWrPairs = len(pairList)
443 443
444 self.wrPairList = self.dataOutObj.pairList
444 self.wrPairList = self.dataOutObj.pairsList
445 445
446 446 self.nWrPairs = self.dataOutObj.nPairs
447 447
@@ -505,7 +505,7 class SpectraWriter(JRODataWriter):
505 505 self.processingHeaderObj.nHeights,
506 506 self.processingHeaderObj.profilesPerBlock)
507 507
508 self.shape_dc_Buffer = (self.systemHeaderObj.nChannels,
508 self.shape_dc_Buffer = (self.dataOutObj.nChannels,
509 509 self.processingHeaderObj.nHeights)
510 510
511 511
@@ -583,13 +583,16 class SpectraWriter(JRODataWriter):
583 583 self.data_dc.fill(0)
584 584 self.setNextFile()
585 585
586 if self.flagIsNewFile == 0:
587 self.getBasicHeader()
588
586 589 self.data_spc = self.dataOutObj.data_spc
587 590 self.data_cspc = self.dataOutObj.data_cspc
588 591 self.data_dc = self.dataOutObj.data_dc
589 592
590 593 # #self.processingHeaderObj.dataBlocksPerFile)
591 594 if self.hasAllDataInBuffer():
592 self.getDataHeader()
595 # self.getDataHeader()
593 596 self.writeNextBlock()
594 597
595 598 if self.flagNoMoreFiles:
@@ -714,6 +717,7 class SpectraWriter(JRODataWriter):
714 717 """
715 718
716 719 self.systemHeaderObj = self.dataOutObj.systemHeaderObj.copy()
720 self.systemHeaderObj.nChannels = self.dataOutObj.nChannels
717 721 self.radarControllerHeaderObj = self.dataOutObj.radarControllerHeaderObj.copy()
718 722
719 723 self.getBasicHeader()
@@ -721,27 +725,50 class SpectraWriter(JRODataWriter):
721 725 processingHeaderSize = 40 # bytes
722 726 self.processingHeaderObj.dtype = 0 # Voltage
723 727 self.processingHeaderObj.blockSize = self.__getBlockSize()
724 self.processingHeaderObj.profilesPerBlock = self.profilesPerBlock
728 self.processingHeaderObj.profilesPerBlock = self.dataOutObj.nFFTPoints
725 729 self.processingHeaderObj.dataBlocksPerFile = self.blocksPerFile
726 730 self.processingHeaderObj.nWindows = 1 #podria ser 1 o self.dataOutObj.processingHeaderObj.nWindows
727 731 self.processingHeaderObj.processFlags = self.__getProcessFlags()
728 self.processingHeaderObj.nCohInt = self.dataOutObj.nCohInt
729 self.processingHeaderObj.nIncohInt = 1 # Cuando la data de origen es de tipo Voltage
730 self.processingHeaderObj.totalSpectra = 0 # Cuando la data de origen es de tipo Voltage
732 self.processingHeaderObj.nCohInt = 1# Cuando la data de origen es de tipo Spectra
733 self.processingHeaderObj.nIncohInt = self.dataOutObj.nIncohInt
734 self.processingHeaderObj.totalSpectra = self.dataOutObj.nPairs + self.dataOutObj.nChannels
735
736 if self.processingHeaderObj.totalSpectra > 0:
737 channelList = []
738 for channel in range(self.dataOutObj.nChannels):
739 channelList.append(channel)
740 channelList.append(channel)
741
742 pairsList = []
743 for pair in self.dataOutObj.pairsList:
744 pairsList.append(pair[0])
745 pairsList.append(pair[1])
746 spectraComb = channelList + pairsList
747 spectraComb = numpy.array(spectraComb,dtype="u1")
748 self.processingHeaderObj.spectraComb = spectraComb
749 sizeOfSpcComb = len(spectraComb)
750 processingHeaderSize += sizeOfSpcComb
731 751
732 752 if self.dataOutObj.code != None:
733 753 self.processingHeaderObj.code = self.dataOutObj.code
734 754 self.processingHeaderObj.nCode = self.dataOutObj.nCode
735 755 self.processingHeaderObj.nBaud = self.dataOutObj.nBaud
736 codesize = int(8 + 4 * self.dataOutObj.nCode * self.dataOutObj.nBaud)
737 processingHeaderSize += codesize
756 nCodeSize = 4 # bytes
757 nBaudSize = 4 # bytes
758 codeSize = 4 # bytes
759 sizeOfCode = int(nCodeSize + nBaudSize + codeSize * self.dataOutObj.nCode * self.dataOutObj.nBaud)
760 processingHeaderSize += sizeOfCode
738 761
739 762 if self.processingHeaderObj.nWindows != 0:
740 763 self.processingHeaderObj.firstHeight = self.dataOutObj.heightList[0]
741 764 self.processingHeaderObj.deltaHeight = self.dataOutObj.heightList[1] - self.dataOutObj.heightList[0]
742 765 self.processingHeaderObj.nHeights = self.dataOutObj.nHeights
743 766 self.processingHeaderObj.samplesWin = self.dataOutObj.nHeights
744 processingHeaderSize += 12
767 sizeOfFirstHeight = 4
768 sizeOfdeltaHeight = 4
769 sizeOfnHeights = 4
770 sizeOfWindows = (sizeOfFirstHeight + sizeOfdeltaHeight + sizeOfnHeights)*self.processingHeaderObj.nWindows
771 processingHeaderSize += sizeOfWindows
745 772
746 773 self.processingHeaderObj.size = processingHeaderSize
747 774
@@ -551,6 +551,7 class VoltageWriter(JRODataWriter):
551 551 """
552 552
553 553 self.systemHeaderObj = self.dataOutObj.systemHeaderObj.copy()
554 self.systemHeaderObj.nChannels = self.dataOutObj.nChannels
554 555 self.radarControllerHeaderObj = self.dataOutObj.radarControllerHeaderObj.copy()
555 556
556 557 self.getBasicHeader()
@@ -257,7 +257,7 class SpectraProcessor:
257 257 # self.getNoise()
258 258
259 259 def addWriter(self, wrpath, profilesPerBlock, blocksPerFile):
260 objWriter = SpectraWriter(self.dataOutObj, pairList)
260 objWriter = SpectraWriter(self.dataOutObj)
261 261 objWriter.setup(wrpath, profilesPerBlock, blocksPerFile)
262 262 self.writerObjList.append(objWriter)
263 263
@@ -33,7 +33,7 class TestSChain:
33 33
34 34 # paramatros para Escritura de Pdata
35 35 self.wrpath = "/Users/danielangelsuarezmunoz/Data/testWR_pdata"
36 self.profilesPerBlock = 16
36 self.profilesPerBlock = 8
37 37 self.blocksPerFile = 5
38 38 # self.pairList = [(0,1),(0,2)]
39 39
General Comments 0
You need to be logged in to leave comments. Login now