JROData.py
104 lines
| 2.4 KiB
| text/x-python
|
PythonLexer
|
r39 | ''' | |
Created on Feb 7, 2012 | |||
@author $Author$ | |||
@version $Id$ | |||
''' | |||
import copy | |||
|
r91 | import numpy | |
|
r39 | from JROHeader import RadarControllerHeader, ProcessingHeader, SystemHeader, BasicHeader | |
class Data: | |||
''' | |||
classdocs | |||
''' | |||
def __init__(self): | |||
''' | |||
Constructor | |||
''' | |||
raise ValueError, "This class has not been implemented" | |||
|
r42 | def copy(self, objIn=None): | |
|
r39 | ||
|
r42 | if objIn == None: | |
|
r41 | return copy.deepcopy(self) | |
|
r42 | for key in objIn.__dict__.keys(): | |
self.__dict__[key] = objIn.__dict__[key] | |||
|
r40 | ||
|
r41 | def deepcopy(self): | |
|
r40 | ||
|
r39 | return copy.deepcopy(self) | |
|
r41 | ||
|
r39 | ||
class JROData(Data): | |||
''' | |||
classdocs | |||
''' | |||
|
r89 | ||
|
r169 | radarControllerHeaderObj = RadarControllerHeader() | |
|
r89 | ||
|
r39 | m_ProcessingHeader = ProcessingHeader() | |
|
r89 | ||
|
r169 | systemHeaderObj = SystemHeader() | |
|
r89 | ||
|
r39 | m_BasicHeader = BasicHeader() | |
|
r89 | ||
|
r107 | noise = None | |
|
r39 | ||
|
r89 | type = None | |
|
r39 | dataType = None | |
|
r89 | ||
|
r39 | nHeights = None | |
|
r89 | ||
|
r95 | nProfiles = None | |
|
r39 | nChannels = None | |
|
r81 | heightList = None | |
|
r89 | ||
|
r81 | channelList = None | |
|
r39 | ||
|
r107 | channelIndexList = None | |
pairList = None | |||
|
r39 | flagNoData = False | |
|
r89 | ||
|
r39 | flagResetProcessing = False | |
def __init__(self): | |||
''' | |||
Constructor | |||
''' | |||
|
r89 | raise ValueError, "This class has not been implemented" | |
def updateHeaderFromObj(self): | |||
xi = self.heightList[0] | |||
step = self.heightList[1] - self.heightList[0] | |||
self.m_ProcessingHeader.firstHeight = xi | |||
self.m_ProcessingHeader.deltaHeight = step | |||
self.m_ProcessingHeader.numHeights = self.nHeights | |||
|
r169 | self.systemHeaderObj.numChannels = self.nChannels | |
self.systemHeaderObj.numProfiles = self.nProfiles | |||
|
r89 | ||
def updateObjFromHeader(self): | |||
xi = self.m_ProcessingHeader.firstHeight | |||
step = self.m_ProcessingHeader.deltaHeight | |||
xf = xi + self.m_ProcessingHeader.numHeights*step | |||
self.heightList = numpy.arange(xi, xf, step) | |||
|
r169 | self.channelIndexList = numpy.arange(self.systemHeaderObj.numChannels) | |
self.channelList = numpy.arange(self.systemHeaderObj.numChannels) | |||
|
r89 | ||
self.nHeights = len(self.heightList) | |||
|
r169 | self.nProfiles = self.systemHeaderObj.numProfiles | |
|
r89 | self.nChannels = len(self.channelList) | |