''' Created on 23/01/2012 @author $Author: vsarmiento $ @version $Id: HeaderIO.py 37 2012-03-26 22:55:13Z vsarmiento $ ''' import numpy import copy class Header: def __init__(self): raise def copy(self): return copy.deepcopy(self) def read(): pass def write(): pass class BasicHeader(Header): size = None version = None dataBlock = None utc = None miliSecond = None timeZone = None dstFlag = None errorCount = None struct = None def __init__(self): self.size = 0 self.version = 0 self.dataBlock = 0 self.utc = 0 self.miliSecond = 0 self.timeZone = 0 self.dstFlag = 0 self.errorCount = 0 self.struct = numpy.dtype([ ('nSize',' 0: fp.seek(jumpFp) except: return 0 return 1 def write(self, fp): headerTuple = (self.size, self.expType, self.nTx, self.ipp, self.txA, self.txB, self.numWindows, self.numTaus, self.codeType, self.line6Function, self.line5Function, self.fClock, self.prePulseBefore, self.prePulserAfter, self.rangeIpp, self.rangeTxA, self.rangeTxB) header = numpy.array(headerTuple,self.struct) header.tofile(fp) dynamic = self.dynamic dynamic.tofile(fp) return 1 class ProcessingHeader(Header): size = None dataType = None blockSize = None profilesPerBlock = None dataBlocksPerFile = None numWindows = None processFlags = None coherentInt = None incoherentInt = None totalSpectra = None struct = None def __init__(self): self.size = 0 self.dataType = 0 self.blockSize = 0 self.profilesPerBlock = 0 self.dataBlocksPerFile = 0 self.numWindows = 0 self.processFlags = 0 self.coherentInt = 0 self.incoherentInt = 0 self.totalSpectra = 0 self.struct = numpy.dtype([ ('nSize','