@@ -57,6 +57,13 class BasicHeader: | |||
|
57 | 57 | obj.errorCount = self.errorCount |
|
58 | 58 | |
|
59 | 59 | return obj |
|
60 | ||
|
61 | def write(self, fp): | |
|
62 | headerTuple = (self.size,self.version,self.dataBlock,self.utc,self.miliSecond,self.timeZone,self.dstFlag,self.errorCount) | |
|
63 | header = numpy.array(headerTuple,self.struct) | |
|
64 | header.tofile(fp) | |
|
65 | ||
|
66 | return 1 | |
|
60 | 67 | |
|
61 | 68 | class SystemHeader: |
|
62 | 69 | |
@@ -102,6 +109,13 class SystemHeader: | |||
|
102 | 109 | |
|
103 | 110 | return obj |
|
104 | 111 | |
|
112 | def write(self, fp): | |
|
113 | headerTuple = (self.size,self.numSamples,self.numProfiles,self.numChannels,self.adcResolution,self.pciDioBusWidth) | |
|
114 | header = numpy.array(headerTuple,self.struct) | |
|
115 | header.tofile(fp) | |
|
116 | ||
|
117 | return 1 | |
|
118 | ||
|
105 | 119 | class RadarControllerHeader: |
|
106 | 120 | |
|
107 | 121 | |
@@ -116,7 +130,7 class RadarControllerHeader: | |||
|
116 | 130 | self.numTaus = 0 |
|
117 | 131 | self.codeType = 0 |
|
118 | 132 | self.line6Function = 0 |
|
119 | self.line5Fuction = 0 | |
|
133 | self.line5Function = 0 | |
|
120 | 134 | self.fClock = 0 |
|
121 | 135 | self.prePulseBefore = 0 |
|
122 | 136 | self.prePulserAfter = 0 |
@@ -142,6 +156,7 class RadarControllerHeader: | |||
|
142 | 156 | ('sRangeTxA','<a20'), |
|
143 | 157 | ('sRangeTxB','<a20'), |
|
144 | 158 | ]) |
|
159 | self.dynamic = numpy.array([],numpy.dtype('byte')) | |
|
145 | 160 | |
|
146 | 161 | |
|
147 | 162 | def read(self, fp): |
@@ -156,7 +171,7 class RadarControllerHeader: | |||
|
156 | 171 | self.numTaus = header['nNumTaus'][0] |
|
157 | 172 | self.codeType = header['nCodeType'][0] |
|
158 | 173 | self.line6Function = header['nLine6Function'][0] |
|
159 | self.line5Fuction = header['nLine5Function'][0] | |
|
174 | self.line5Function = header['nLine5Function'][0] | |
|
160 | 175 | self.fClock = header['fClock'][0] |
|
161 | 176 | self.prePulseBefore = header['nPrePulseBefore'][0] |
|
162 | 177 | self.prePulserAfter = header['nPrePulseAfter'][0] |
@@ -165,7 +180,7 class RadarControllerHeader: | |||
|
165 | 180 | self.rangeTxB = header['sRangeTxB'][0] |
|
166 | 181 | # jump Dynamic Radar Controller Header |
|
167 | 182 | jumpHeader = self.size - 116 |
|
168 | fp.seek(fp.tell() + jumpHeader) | |
|
183 | self.dynamic = numpy.fromfile(fp,numpy.dtype('byte'),jumpHeader) | |
|
169 | 184 | |
|
170 | 185 | return 1 |
|
171 | 186 | |
@@ -182,16 +197,46 class RadarControllerHeader: | |||
|
182 | 197 | obj.numTaus = self.numTaus |
|
183 | 198 | obj.codeType = self.codeType |
|
184 | 199 | obj.line6Function = self.line6Function |
|
185 | obj.line5Fuction = self.line5Fuction | |
|
200 | obj.line5Function = self.line5Function | |
|
186 | 201 | obj.fClock = self.fClock |
|
187 | 202 | obj.prePulseBefore = self.prePulseBefore |
|
188 | 203 | obj.prePulserAfter = self.prePulserAfter |
|
189 | 204 | obj.rangeIpp = self.rangeIpp |
|
190 | 205 | obj.rangeTxA = self.rangeTxA |
|
191 | 206 | obj.rangeTxB = self.rangeTxB |
|
207 | obj.dynamic = self.dynamic | |
|
192 | 208 | |
|
193 | 209 | return obj |
|
194 | 210 | |
|
211 | def write(self, fp): | |
|
212 | headerTuple = (self.size, | |
|
213 | self.expType, | |
|
214 | self.nTx, | |
|
215 | self.ipp, | |
|
216 | self.txA, | |
|
217 | self.txB, | |
|
218 | self.numWindows, | |
|
219 | self.numTaus, | |
|
220 | self.codeType, | |
|
221 | self.line6Function, | |
|
222 | self.line5Function, | |
|
223 | self.fClock, | |
|
224 | self.prePulseBefore, | |
|
225 | self.prePulserAfter, | |
|
226 | self.rangeIpp, | |
|
227 | self.rangeTxA, | |
|
228 | self.rangeTxB) | |
|
229 | ||
|
230 | header = numpy.array(headerTuple,self.struct) | |
|
231 | header.tofile(fp) | |
|
232 | ||
|
233 | dynamic = self.dynamic | |
|
234 | dynamic.tofile(fp) | |
|
235 | ||
|
236 | return 1 | |
|
237 | ||
|
238 | ||
|
239 | ||
|
195 | 240 | class ProcessingHeader: |
|
196 | 241 | |
|
197 | 242 | def __init__(self): |
@@ -278,6 +323,46 class ProcessingHeader: | |||
|
278 | 323 | obj.codes = self.codes |
|
279 | 324 | |
|
280 | 325 | return obj |
|
326 | ||
|
327 | def write(self, fp): | |
|
328 | headerTuple = (self.size, | |
|
329 | self.dataType, | |
|
330 | self.blockSize, | |
|
331 | self.profilesPerBlock, | |
|
332 | self.dataBlocksPerFile, | |
|
333 | self.numWindows, | |
|
334 | self.processFlags, | |
|
335 | self.coherentInt, | |
|
336 | self.incoherentInt, | |
|
337 | self.totalSpectra) | |
|
338 | ||
|
339 | header = numpy.array(headerTuple,self.struct) | |
|
340 | header.tofile(fp) | |
|
341 | ||
|
342 | if self.numWindows != 0: | |
|
343 | sampleWindowTuple = (self.firstHeight,self.deltaHeight,self.samplesWin) | |
|
344 | samplingWindow = numpy.array(sampleWindowTuple,self.structSamplingWindow) | |
|
345 | samplingWindow.tofile(fp) | |
|
346 | ||
|
347 | ||
|
348 | if self.totalSpectra != 0: | |
|
349 | spectraComb = numpy.array([],numpy.dtype('u1')) | |
|
350 | spectraComb = self.spectraComb | |
|
351 | spectraComb.tofile(fp) | |
|
352 | ||
|
353 | ||
|
354 | if self.processFlags & PROCFLAG.DEFINE_PROCESS_CODE == PROCFLAG.DEFINE_PROCESS_CODE: | |
|
355 | numCode = self.numCode | |
|
356 | numCode.tofile(fp) | |
|
357 | ||
|
358 | numBaud = self.numBaud | |
|
359 | numBaud.tofile(fp) | |
|
360 | ||
|
361 | codes = self.codes.reshape(numCode*numBaud) | |
|
362 | codes.tofile(fp) | |
|
363 | ||
|
364 | return 1 | |
|
365 | ||
|
281 | 366 | |
|
282 | 367 | class PROCFLAG: |
|
283 | 368 | COHERENT_INTEGRATION = numpy.uint32(0x00000001) |
@@ -20,20 +20,25 class TestIO(): | |||
|
20 | 20 | def setValues(self): |
|
21 | 21 | |
|
22 | 22 | |
|
23 | self.path = '/Users/danielangelsuarezmunoz/Documents/Projects' | |
|
23 | self.path = '/Users/danielangelsuarezmunoz/Documents/Projects/testWR' | |
|
24 | 24 | self.startDateTime = datetime.datetime(2007,5,1,17,49,0) |
|
25 |
self.endDateTime = datetime.datetime(2007,5,1,18,1 |
|
|
25 | self.endDateTime = datetime.datetime(2007,5,1,18,15,0) | |
|
26 | 26 | |
|
27 | 27 | def createVoltageObjects(self): |
|
28 | 28 | path = os.path.split(os.getcwd())[0] |
|
29 | 29 | sys.path.append(path) |
|
30 | 30 | |
|
31 | from IO.Voltage import VoltageReader | |
|
31 | from IO.VoltageIO import VoltageReader | |
|
32 | from IO.VoltageIO import VoltageWriter | |
|
32 | 33 | from Model.Voltage import Voltage |
|
33 | 34 | |
|
34 | 35 | self.voltageModelObj = Voltage() |
|
35 | 36 | self.voltageReaderObj = VoltageReader(self.voltageModelObj) |
|
36 | 37 | self.voltageReaderObj.setup(self.path, self.startDateTime, self.endDateTime) |
|
38 | ||
|
39 | # self.voltageWriterObj = VoltageWriter(self.voltageModelObj) | |
|
40 | # self.voltageWriterObj.setup('/Users/danielangelsuarezmunoz/Documents/Projects/testWR') | |
|
41 | ||
|
37 | 42 | |
|
38 | 43 | def testReadVoltage(self): |
|
39 | 44 | while(not(self.voltageReaderObj.noMoreFiles)): |
@@ -45,6 +50,8 class TestIO(): | |||
|
45 | 50 | if self.voltageReaderObj.flagIsNewBlock: |
|
46 | 51 | print 'Block No %04d, Time: %s'%(self.voltageReaderObj.nReadBlocks, |
|
47 | 52 | datetime.datetime.fromtimestamp(self.voltageReaderObj.m_BasicHeader.utc)) |
|
53 | ||
|
54 | # self.voltageWriterObj.putData() | |
|
48 | 55 | |
|
49 | 56 | if __name__ == '__main__': |
|
50 | 57 | TestIO() No newline at end of file |
@@ -531,7 +531,12 class VoltageReader(DataReader): | |||
|
531 | 531 | |
|
532 | 532 | self.startDoy = startDateTime.timetuple().tm_yday |
|
533 | 533 | self.endDoy = endDateTime.timetuple().tm_yday |
|
534 | #call fillHeaderValues() - to Data Object | |
|
534 | ||
|
535 | self.m_Voltage.m_BasicHeader = self.m_BasicHeader.copy() | |
|
536 | self.m_Voltage.m_ProcessingHeader = self.m_ProcessingHeader.copy() | |
|
537 | self.m_Voltage.m_RadarControllerHeader = self.m_RadarControllerHeader.copy() | |
|
538 | self.m_Voltage.m_SystemHeader = self.m_SystemHeader.copy() | |
|
539 | self.m_Voltage.dataType = self.__dataType | |
|
535 | 540 | |
|
536 | 541 | self.__pathList = pathList |
|
537 | 542 | self.filenameList = filenameList |
@@ -597,6 +602,8 class VoltageReader(DataReader): | |||
|
597 | 602 | self.m_Voltage.m_SystemHeader = self.m_SystemHeader.copy() |
|
598 | 603 | self.m_Voltage.m_BasicHeader.utc = time |
|
599 | 604 | self.m_Voltage.data = data |
|
605 | self.m_Voltage.flagNoData = False | |
|
606 | self.m_Voltage.flagResetProcessing = self.flagResetProcessing | |
|
600 | 607 | self.m_Voltage.heights = self.__heights |
|
601 | 608 | self.m_Voltage.idProfile = self.idProfile |
|
602 | 609 | self.m_Voltage.dataType = self.__dataType |
@@ -608,11 +615,8 class VoltageReader(DataReader): | |||
|
608 | 615 | |
|
609 | 616 | return data |
|
610 | 617 | |
|
611 | ||
|
612 | ||
|
613 | ||
|
614 | 618 | class VoltageWriter(DataWriter): |
|
615 | ||
|
619 | __configHeaderFile = 'wrSetHeadet.txt' | |
|
616 | 620 | |
|
617 | 621 | def __init__(self, m_Voltage = None): |
|
618 | 622 | |
@@ -621,13 +625,17 class VoltageWriter(DataWriter): | |||
|
621 | 625 | |
|
622 | 626 | self.m_Voltage = m_Voltage |
|
623 | 627 | |
|
628 | self.__path = None | |
|
629 | ||
|
624 | 630 | self.__fp = None |
|
631 | ||
|
632 | self.__format = None | |
|
625 | 633 | |
|
626 | 634 | self.__blocksCounter = 0 |
|
627 | 635 | |
|
628 | 636 | self.__setFile = None |
|
629 | 637 | |
|
630 |
self.__flagIsNewFile = |
|
|
638 | self.__flagIsNewFile = 1 | |
|
631 | 639 | |
|
632 | 640 | self.__buffer = 0 |
|
633 | 641 | |
@@ -653,20 +661,53 class VoltageWriter(DataWriter): | |||
|
653 | 661 | |
|
654 | 662 | self.m_ProcessingHeader = ProcessingHeader() |
|
655 | 663 | |
|
664 | ||
|
665 | def __writeBasicHeader(self, fp=None): | |
|
666 | if fp == None: | |
|
667 | fp = self.__fp | |
|
668 | ||
|
669 | self.m_BasicHeader.write(fp) | |
|
670 | ||
|
671 | def __wrSystemHeader(self,fp=None): | |
|
672 | if fp == None: | |
|
673 | fp = self.__fp | |
|
674 | ||
|
675 | self.m_SystemHeader.write(fp) | |
|
676 | ||
|
677 | def __wrRadarControllerHeader(self,fp=None): | |
|
678 | if fp == None: | |
|
679 | fp = self.__fp | |
|
680 | ||
|
681 | self.m_RadarControllerHeader.write(fp) | |
|
682 | ||
|
683 | def __wrProcessingHeader(self,fp=None): | |
|
684 | if fp == None: | |
|
685 | fp = self.__fp | |
|
686 | ||
|
687 | self.m_ProcessingHeader.write(fp) | |
|
688 | ||
|
689 | def __writeFirstHeader(self): | |
|
690 | self.__writeBasicHeader() | |
|
691 | self.__wrSystemHeader() | |
|
692 | self.__wrRadarControllerHeader() | |
|
693 | self.__wrProcessingHeader() | |
|
694 | self.__dataType = self.m_Voltage.dataType | |
|
695 | ||
|
696 | ||
|
656 | 697 | def __setNextFile(self): |
|
698 | ||
|
657 | 699 | setFile = self.__setFile |
|
658 | 700 | ext = self.__ext |
|
659 | 701 | path = self.__path |
|
660 | 702 | |
|
661 | 703 | setFile += 1 |
|
662 |
|
|
|
663 | if not(self.__blocksCounter >= self.m_ProcessingHeader.dataBlocksPerFile): | |
|
704 | ||
|
705 | if self.__fp != None: | |
|
664 | 706 | self.__fp.close() |
|
665 | return 0 | |
|
666 | 707 | |
|
667 | 708 | timeTuple = time.localtime(self.m_Voltage.m_BasicHeader.utc) # utc from m_Voltage |
|
668 |
file = 'D%4.4d%3.3d%3.3d%s' % (timeTuple.tm_year,timeTuple.tm_ |
|
|
669 |
subfolder = 'D%4.4d%3.3d' % (timeTuple.tm_year,timeTuple.tm_ |
|
|
709 | file = 'D%4.4d%3.3d%3.3d%s' % (timeTuple.tm_year,timeTuple.tm_yday,setFile,ext) | |
|
710 | subfolder = 'D%4.4d%3.3d' % (timeTuple.tm_year,timeTuple.tm_yday) | |
|
670 | 711 | tmp = os.path.join(path,subfolder) |
|
671 | 712 | if not(os.path.exists(tmp)): |
|
672 | 713 | os.mkdir(tmp) |
@@ -674,7 +715,7 class VoltageWriter(DataWriter): | |||
|
674 | 715 | filename = os.path.join(path,subfolder,file) |
|
675 | 716 | fp = open(filename,'wb') |
|
676 | 717 | |
|
677 | ||
|
718 | self.__blocksCounter = 0 | |
|
678 | 719 | |
|
679 | 720 | #guardando atributos |
|
680 | 721 | self.filename = filename |
@@ -685,9 +726,9 class VoltageWriter(DataWriter): | |||
|
685 | 726 | |
|
686 | 727 | print 'Writing the file: %s'%self.filename |
|
687 | 728 | |
|
729 | self.__writeFirstHeader() | |
|
730 | ||
|
688 | 731 | return 1 |
|
689 | ||
|
690 | ||
|
691 | 732 | |
|
692 | 733 | def __setNewBlock(self): |
|
693 | 734 | if self.__fp == None: |
@@ -696,21 +737,18 class VoltageWriter(DataWriter): | |||
|
696 | 737 | if self.__flagIsNewFile: |
|
697 | 738 | return 1 |
|
698 | 739 | |
|
699 | #Bloques completados? | |
|
700 | if self.__blocksCounter < self.m_ProcessingHeader.profilesPerBlock: | |
|
740 | if self.__blocksCounter < self.m_ProcessingHeader.dataBlocksPerFile: | |
|
701 | 741 | self.__writeBasicHeader() |
|
702 | 742 | return 1 |
|
703 | 743 | |
|
704 | 744 | if not(self.__setNextFile()): |
|
705 | 745 | return 0 |
|
706 | 746 | |
|
707 | self.__writeFirstHeader() | |
|
708 | ||
|
709 | 747 | return 1 |
|
710 | 748 | |
|
711 | 749 | def __writeBlock(self): |
|
712 |
|
|
|
713 | numpy.save(self.__fp,self.__buffer) | |
|
750 | ||
|
751 | self.__buffer.tofile(self.__fp) | |
|
714 | 752 | |
|
715 | 753 | self.__buffer = numpy.array([],self.__dataType) |
|
716 | 754 | |
@@ -724,37 +762,48 class VoltageWriter(DataWriter): | |||
|
724 | 762 | |
|
725 | 763 | self.__blocksCounter += 1 |
|
726 | 764 | |
|
765 | ||
|
727 | 766 | def writeNextBlock(self): |
|
767 | ||
|
728 | 768 | if not(self.__setNewBlock()): |
|
729 | 769 | return 0 |
|
730 | 770 | |
|
731 | 771 | self.__writeBlock() |
|
732 | 772 | |
|
733 | 773 | return 1 |
|
734 | ||
|
774 | ||
|
735 | 775 | def __hasAllDataInBuffer(self): |
|
736 | 776 | if self.__buffer_id >= self.m_ProcessingHeader.profilesPerBlock: |
|
737 | 777 | return 1 |
|
738 | 778 | |
|
739 | 779 | return 0 |
|
740 | ||
|
780 | ||
|
741 | 781 | def putData(self): |
|
742 | 782 | self.flagIsNewBlock = 0 |
|
743 | 783 | |
|
744 |
if self.m_Voltage. |
|
|
784 | if self.m_Voltage.flagNoData: | |
|
745 | 785 | return None |
|
746 | 786 | |
|
747 |
|
|
|
787 | if self.m_Voltage.flagResetProcessing: | |
|
788 | self.__buffer = numpy.array([],self.__dataType) | |
|
789 | self.__buffer_id = 0 | |
|
790 | self.__setNextFile() | |
|
791 | ||
|
792 | self.__setHeaderByObj() | |
|
793 | ||
|
794 | shape = self.m_Voltage.data.shape | |
|
748 | 795 | data = numpy.zeros(shape,self.__dataType) |
|
796 | ||
|
749 | 797 | data['real'] = self.m_Voltage.data.real |
|
750 | 798 | data['imag'] = self.m_Voltage.data.imag |
|
799 | ||
|
751 | 800 | data = data.reshape((-1)) |
|
752 | 801 | |
|
753 | 802 | self.__buffer = numpy.hstack((self.__buffer,data)) |
|
754 | 803 | |
|
755 | 804 | self.__buffer_id += 1 |
|
756 | 805 | |
|
757 | if __hasAllDataInBuffer(): | |
|
806 | if self.__hasAllDataInBuffer(): | |
|
758 | 807 | self.writeNextBlock() |
|
759 | 808 | |
|
760 | 809 | |
@@ -763,39 +812,118 class VoltageWriter(DataWriter): | |||
|
763 | 812 | return None |
|
764 | 813 | |
|
765 | 814 | return 1 |
|
766 | ||
|
767 | 815 | |
|
768 | def setup(self,path,set=None,format=None): | |
|
816 | def __setHeaderByObj(self): | |
|
817 | self.m_BasicHeader = self.m_Voltage.m_BasicHeader.copy() | |
|
818 | self.m_SystemHeader = self.m_Voltage.m_SystemHeader.copy() | |
|
819 | self.m_RadarControllerHeader = self.m_Voltage.m_RadarControllerHeader.copy() | |
|
820 | self.m_ProcessingHeader = self.m_Voltage.m_ProcessingHeader.copy() | |
|
821 | self.__dataType = self.m_Voltage.dataType | |
|
822 | ||
|
823 | def __setHeaderByFile(self): | |
|
824 | ||
|
825 | format = self.__format | |
|
826 | header = ['Basic','System','RadarController','Processing'] | |
|
827 | ||
|
828 | fmtFromFile = None | |
|
829 | headerFromFile = None | |
|
830 | ||
|
831 | ||
|
832 | fileTable = self.__configHeaderFile | |
|
769 | 833 | |
|
770 | if set == None: | |
|
771 |
|
|
|
834 | if os.access(fileTable, os.R_OK): | |
|
835 | import re, string | |
|
836 | ||
|
837 | f = open(fileTable,'r') | |
|
838 | lines = f.read() | |
|
839 | f.close() | |
|
840 | ||
|
841 | #Delete comments into expConfig | |
|
842 | while 1: | |
|
843 | ||
|
844 | startComment = string.find(lines.lower(),'#') | |
|
845 | if startComment == -1: | |
|
846 | break | |
|
847 | endComment = string.find(lines.lower(),'\n',startComment) | |
|
848 | lines = string.replace(lines,lines[startComment:endComment+1],'', 1) | |
|
849 | ||
|
850 | while expFromFile == None: | |
|
851 | ||
|
852 | currFmt = string.find(lines.lower(),'format="%s"' %(expName)) | |
|
853 | nextFmt = string.find(lines.lower(),'format',currFmt+10) | |
|
854 | ||
|
855 | if currFmt == -1: | |
|
856 | break | |
|
857 | if nextFmt == -1: | |
|
858 | nextFmt = len(lines)-1 | |
|
859 | ||
|
860 | fmtTable = lines[currFmt:nextFmt] | |
|
861 | lines = lines[nextFmt:] | |
|
862 | ||
|
863 | fmtRead = self.__getValueFromArg(fmtTable,'format') | |
|
864 | if fmtRead != format: | |
|
865 | continue | |
|
866 | fmtFromFile = fmtRead | |
|
867 | ||
|
868 | lines2 = fmtTable | |
|
869 | ||
|
870 | while headerFromFile == None: | |
|
871 | ||
|
872 | currHeader = string.find(lines2.lower(),'header="%s"' %(header)) | |
|
873 | nextHeader = string.find(lines2.lower(),'header',currHeader+10) | |
|
874 | ||
|
875 | if currHeader == -1: | |
|
876 | break | |
|
877 | if nextHeader == -1: | |
|
878 | nextHeader = len(lines2)-1 | |
|
879 | ||
|
880 | headerTable = lines2[currHeader:nextHeader] | |
|
881 | lines2 = lines2[nextHeader:] | |
|
882 | ||
|
883 | headerRead = self.__getValueFromArg(headerTable,'site') | |
|
884 | if not(headerRead in header): | |
|
885 | continue | |
|
886 | headerFromFile = headerRead | |
|
887 | ||
|
888 | if headerRead == 'Basic': | |
|
889 | self.m_BasicHeader.size = self.__getValueFromArg(headerTable,'size',lower=False) | |
|
890 | self.m_BasicHeader.version = self.__getValueFromArg(headerTable,'version',lower=False) | |
|
891 | self.m_BasicHeader.dataBlock = self.__getValueFromArg(headerTable,'dataBlock',lower=False) | |
|
892 | self.m_BasicHeader.utc = self.__getValueFromArg(headerTable,'utc',lower=False) | |
|
893 | self.m_BasicHeader.miliSecond = self.__getValueFromArg(headerTable,'miliSecond',lower=False) | |
|
894 | self.m_BasicHeader.timeZone = self.__getValueFromArg(headerTable,'timeZone',lower=False) | |
|
895 | self.m_BasicHeader.dstFlag = self.__getValueFromArg(headerTable,'dstFlag',lower=False) | |
|
896 | self.m_BasicHeader.errorCount = self.__getValueFromArg(headerTable,'errorCount',lower=False) | |
|
897 | ||
|
772 | 898 | else: |
|
773 | set -= 1 | |
|
899 | print "file access denied:%s"%fileTable | |
|
900 | sys.exit(0) | |
|
901 | ||
|
902 | def setup(self,path,set=0,format='rawdata'): | |
|
903 | ||
|
774 | 904 | |
|
775 | 905 | if format == 'hdf5': |
|
776 | 906 | ext = '.hdf5' |
|
907 | format = 'hdf5' | |
|
777 | 908 | print 'call hdf5 library' |
|
778 | 909 | return 0 |
|
779 | 910 | |
|
780 | 911 | if format == 'rawdata': |
|
781 | 912 | ext = '.r' |
|
913 | format = 'Jicamarca' | |
|
782 | 914 | |
|
783 | 915 | #call to config_headers |
|
784 | ||
|
785 |
self.__set |
|
|
916 | #self.__setHeaderByFile() | |
|
917 | self.__setHeaderByObj() | |
|
918 | self.__path = path | |
|
919 | self.__setFile = set - 1 | |
|
920 | self.__ext = ext | |
|
921 | self.__format = format | |
|
922 | self.__buffer = numpy.array([],self.__dataType) | |
|
786 | 923 | |
|
787 | 924 | if not(self.__setNextFile()): |
|
788 | print "zzzzzzzzzzzz" | |
|
789 | 925 | return 0 |
|
790 | 926 | |
|
791 | self.__writeFirstHeader() # dentro de esta funcion se debe setear e __dataType | |
|
792 | 927 | |
|
793 | self.__buffer = numpy.array([],self.__dataType) | |
|
794 | 928 | |
|
795 |
|
|
|
796 | ||
|
797 | def __writeBasicHeader(self): | |
|
798 | pass | |
|
799 | ||
|
800 | def __writeFirstHeader(self): | |
|
801 | pass No newline at end of file | |
|
929 | No newline at end of file |
@@ -35,7 +35,7 class Voltage(Data): | |||
|
35 | 35 | |
|
36 | 36 | self.heights = None |
|
37 | 37 | |
|
38 |
self. |
|
|
38 | self.flagNoData = True | |
|
39 | 39 | |
|
40 | 40 | self.nProfiles = None |
|
41 | 41 | |
@@ -43,6 +43,8 class Voltage(Data): | |||
|
43 | 43 | |
|
44 | 44 | self.dataType = None |
|
45 | 45 | |
|
46 | self.flagResetProcessing = False | |
|
47 | ||
|
46 | 48 | def copy(self): |
|
47 | 49 | obj = Voltage() |
|
48 | 50 | obj.m_BasicHeader = self.m_BasicHeader.copy() |
@@ -52,10 +54,12 class Voltage(Data): | |||
|
52 | 54 | |
|
53 | 55 | obj.data = self.data |
|
54 | 56 | obj.heights = self.heights |
|
55 |
obj. |
|
|
57 | obj.flagNoData = self.flagNoData | |
|
56 | 58 | |
|
57 | 59 | obj.nProfiles = self.nProfiles |
|
58 | 60 | obj.idProfile = self.idProfile |
|
61 | obj.dataType = self.dataType | |
|
62 | obj.flagResetProcessing = self.flagResetProcessing | |
|
59 | 63 | |
|
60 | 64 | return obj |
|
61 | 65 | No newline at end of file |
@@ -23,7 +23,7 class TestSChain(): | |||
|
23 | 23 | def setValues(self): |
|
24 | 24 | |
|
25 | 25 | self.path = '/home/roj-idl71/Data/RAWDATA/DP_Faraday/' |
|
26 | self.path = '/home/roj-idl71/Data/RAWDATA/IMAGING' | |
|
26 | self.path = '/Users/danielangelsuarezmunoz/Documents/Projects/testWR' | |
|
27 | 27 | #self.path = '/remote/puma/2004_11/DVD/' |
|
28 | 28 | self.startDateTime = datetime.datetime(2004,5,1,17,49,0) |
|
29 | 29 | self.endDateTime = datetime.datetime(2012,5,1,18,10,0) |
General Comments 0
You need to be logged in to leave comments.
Login now