##// 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 if self.processFlags & PROCFLAG.DEFINE_PROCESS_CODE == PROCFLAG.DEFINE_PROCESS_CODE:
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 nCode.tofile(fp)
433 nCode.tofile(fp)
434
434
435 nBaud = self.nBaud
435 nBaud = self.nBaud
@@ -441,7 +441,7 class SpectraWriter(JRODataWriter):
441 #
441 #
442 # self.nWrPairs = len(pairList)
442 # self.nWrPairs = len(pairList)
443
443
444 self.wrPairList = self.dataOutObj.pairList
444 self.wrPairList = self.dataOutObj.pairsList
445
445
446 self.nWrPairs = self.dataOutObj.nPairs
446 self.nWrPairs = self.dataOutObj.nPairs
447
447
@@ -505,7 +505,7 class SpectraWriter(JRODataWriter):
505 self.processingHeaderObj.nHeights,
505 self.processingHeaderObj.nHeights,
506 self.processingHeaderObj.profilesPerBlock)
506 self.processingHeaderObj.profilesPerBlock)
507
507
508 self.shape_dc_Buffer = (self.systemHeaderObj.nChannels,
508 self.shape_dc_Buffer = (self.dataOutObj.nChannels,
509 self.processingHeaderObj.nHeights)
509 self.processingHeaderObj.nHeights)
510
510
511
511
@@ -583,13 +583,16 class SpectraWriter(JRODataWriter):
583 self.data_dc.fill(0)
583 self.data_dc.fill(0)
584 self.setNextFile()
584 self.setNextFile()
585
585
586 if self.flagIsNewFile == 0:
587 self.getBasicHeader()
588
586 self.data_spc = self.dataOutObj.data_spc
589 self.data_spc = self.dataOutObj.data_spc
587 self.data_cspc = self.dataOutObj.data_cspc
590 self.data_cspc = self.dataOutObj.data_cspc
588 self.data_dc = self.dataOutObj.data_dc
591 self.data_dc = self.dataOutObj.data_dc
589
592
590 # #self.processingHeaderObj.dataBlocksPerFile)
593 # #self.processingHeaderObj.dataBlocksPerFile)
591 if self.hasAllDataInBuffer():
594 if self.hasAllDataInBuffer():
592 self.getDataHeader()
595 # self.getDataHeader()
593 self.writeNextBlock()
596 self.writeNextBlock()
594
597
595 if self.flagNoMoreFiles:
598 if self.flagNoMoreFiles:
@@ -714,6 +717,7 class SpectraWriter(JRODataWriter):
714 """
717 """
715
718
716 self.systemHeaderObj = self.dataOutObj.systemHeaderObj.copy()
719 self.systemHeaderObj = self.dataOutObj.systemHeaderObj.copy()
720 self.systemHeaderObj.nChannels = self.dataOutObj.nChannels
717 self.radarControllerHeaderObj = self.dataOutObj.radarControllerHeaderObj.copy()
721 self.radarControllerHeaderObj = self.dataOutObj.radarControllerHeaderObj.copy()
718
722
719 self.getBasicHeader()
723 self.getBasicHeader()
@@ -721,27 +725,50 class SpectraWriter(JRODataWriter):
721 processingHeaderSize = 40 # bytes
725 processingHeaderSize = 40 # bytes
722 self.processingHeaderObj.dtype = 0 # Voltage
726 self.processingHeaderObj.dtype = 0 # Voltage
723 self.processingHeaderObj.blockSize = self.__getBlockSize()
727 self.processingHeaderObj.blockSize = self.__getBlockSize()
724 self.processingHeaderObj.profilesPerBlock = self.profilesPerBlock
728 self.processingHeaderObj.profilesPerBlock = self.dataOutObj.nFFTPoints
725 self.processingHeaderObj.dataBlocksPerFile = self.blocksPerFile
729 self.processingHeaderObj.dataBlocksPerFile = self.blocksPerFile
726 self.processingHeaderObj.nWindows = 1 #podria ser 1 o self.dataOutObj.processingHeaderObj.nWindows
730 self.processingHeaderObj.nWindows = 1 #podria ser 1 o self.dataOutObj.processingHeaderObj.nWindows
727 self.processingHeaderObj.processFlags = self.__getProcessFlags()
731 self.processingHeaderObj.processFlags = self.__getProcessFlags()
728 self.processingHeaderObj.nCohInt = self.dataOutObj.nCohInt
732 self.processingHeaderObj.nCohInt = 1# Cuando la data de origen es de tipo Spectra
729 self.processingHeaderObj.nIncohInt = 1 # Cuando la data de origen es de tipo Voltage
733 self.processingHeaderObj.nIncohInt = self.dataOutObj.nIncohInt
730 self.processingHeaderObj.totalSpectra = 0 # Cuando la data de origen es de tipo Voltage
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 if self.dataOutObj.code != None:
752 if self.dataOutObj.code != None:
733 self.processingHeaderObj.code = self.dataOutObj.code
753 self.processingHeaderObj.code = self.dataOutObj.code
734 self.processingHeaderObj.nCode = self.dataOutObj.nCode
754 self.processingHeaderObj.nCode = self.dataOutObj.nCode
735 self.processingHeaderObj.nBaud = self.dataOutObj.nBaud
755 self.processingHeaderObj.nBaud = self.dataOutObj.nBaud
736 codesize = int(8 + 4 * self.dataOutObj.nCode * self.dataOutObj.nBaud)
756 nCodeSize = 4 # bytes
737 processingHeaderSize += codesize
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 if self.processingHeaderObj.nWindows != 0:
762 if self.processingHeaderObj.nWindows != 0:
740 self.processingHeaderObj.firstHeight = self.dataOutObj.heightList[0]
763 self.processingHeaderObj.firstHeight = self.dataOutObj.heightList[0]
741 self.processingHeaderObj.deltaHeight = self.dataOutObj.heightList[1] - self.dataOutObj.heightList[0]
764 self.processingHeaderObj.deltaHeight = self.dataOutObj.heightList[1] - self.dataOutObj.heightList[0]
742 self.processingHeaderObj.nHeights = self.dataOutObj.nHeights
765 self.processingHeaderObj.nHeights = self.dataOutObj.nHeights
743 self.processingHeaderObj.samplesWin = self.dataOutObj.nHeights
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 self.processingHeaderObj.size = processingHeaderSize
773 self.processingHeaderObj.size = processingHeaderSize
747
774
@@ -551,6 +551,7 class VoltageWriter(JRODataWriter):
551 """
551 """
552
552
553 self.systemHeaderObj = self.dataOutObj.systemHeaderObj.copy()
553 self.systemHeaderObj = self.dataOutObj.systemHeaderObj.copy()
554 self.systemHeaderObj.nChannels = self.dataOutObj.nChannels
554 self.radarControllerHeaderObj = self.dataOutObj.radarControllerHeaderObj.copy()
555 self.radarControllerHeaderObj = self.dataOutObj.radarControllerHeaderObj.copy()
555
556
556 self.getBasicHeader()
557 self.getBasicHeader()
@@ -257,7 +257,7 class SpectraProcessor:
257 # self.getNoise()
257 # self.getNoise()
258
258
259 def addWriter(self, wrpath, profilesPerBlock, blocksPerFile):
259 def addWriter(self, wrpath, profilesPerBlock, blocksPerFile):
260 objWriter = SpectraWriter(self.dataOutObj, pairList)
260 objWriter = SpectraWriter(self.dataOutObj)
261 objWriter.setup(wrpath, profilesPerBlock, blocksPerFile)
261 objWriter.setup(wrpath, profilesPerBlock, blocksPerFile)
262 self.writerObjList.append(objWriter)
262 self.writerObjList.append(objWriter)
263
263
@@ -33,7 +33,7 class TestSChain:
33
33
34 # paramatros para Escritura de Pdata
34 # paramatros para Escritura de Pdata
35 self.wrpath = "/Users/danielangelsuarezmunoz/Data/testWR_pdata"
35 self.wrpath = "/Users/danielangelsuarezmunoz/Data/testWR_pdata"
36 self.profilesPerBlock = 16
36 self.profilesPerBlock = 8
37 self.blocksPerFile = 5
37 self.blocksPerFile = 5
38 # self.pairList = [(0,1),(0,2)]
38 # self.pairList = [(0,1),(0,2)]
39
39
General Comments 0
You need to be logged in to leave comments. Login now