jrodata.py
245 lines
| 4.9 KiB
| text/x-python
|
PythonLexer
|
r174 | ''' | ||
$Author: murco $ | ||||
$Id: JROData.py 173 2012-11-20 15:06:21Z murco $ | ||||
''' | ||||
import os, sys | ||||
import copy | ||||
import numpy | ||||
|
r178 | from jroheaderIO import SystemHeader, RadarControllerHeader | ||
|
r174 | |||
class JROData: | ||||
# m_BasicHeader = BasicHeader() | ||||
# m_ProcessingHeader = ProcessingHeader() | ||||
systemHeaderObj = SystemHeader() | ||||
radarControllerHeaderObj = RadarControllerHeader() | ||||
# data = None | ||||
type = None | ||||
dtype = None | ||||
nChannels = None | ||||
nHeights = None | ||||
nProfiles = None | ||||
heightList = None | ||||
channelList = None | ||||
channelIndexList = None | ||||
flagNoData = True | ||||
flagTimeBlock = False | ||||
utctime = None | ||||
blocksize = None | ||||
nCode = None | ||||
nBaud = None | ||||
code = None | ||||
flagDecodeData = True #asumo q la data esta decodificada | ||||
flagDeflipData = True #asumo q la data esta sin flip | ||||
flagShiftFFT = False | ||||
ippSeconds = None | ||||
timeInterval = None | ||||
def __init__(self): | ||||
raise ValueError, "This class has not been implemented" | ||||
def copy(self, inputObj=None): | ||||
if inputObj == None: | ||||
return copy.deepcopy(self) | ||||
for key in inputObj.__dict__.keys(): | ||||
self.__dict__[key] = inputObj.__dict__[key] | ||||
def deepcopy(self): | ||||
return copy.deepcopy(self) | ||||
|
r185 | def isEmpty(self): | ||
return flagNoData | ||||
|
r174 | class Voltage(JROData): | ||
nCohInt = None | ||||
#data es un numpy array de 2 dmensiones (canales, alturas) | ||||
data = None | ||||
def __init__(self): | ||||
''' | ||||
Constructor | ||||
''' | ||||
self.radarControllerHeaderObj = RadarControllerHeader() | ||||
self.systemHeaderObj = SystemHeader() | ||||
self.type = "Voltage" | ||||
self.data = None | ||||
self.dtype = None | ||||
self.nChannels = 0 | ||||
self.nHeights = 0 | ||||
self.nProfiles = None | ||||
self.heightList = None | ||||
self.channelList = None | ||||
self.channelIndexList = None | ||||
self.flagNoData = True | ||||
self.flagTimeBlock = False | ||||
self.utctime = None | ||||
self.nCohInt = None | ||||
self.blocksize = None | ||||
class Spectra(JROData): | ||||
#data es un numpy array de 2 dmensiones (canales, perfiles, alturas) | ||||
data_spc = None | ||||
#data es un numpy array de 2 dmensiones (canales, pares, alturas) | ||||
data_cspc = None | ||||
#data es un numpy array de 2 dmensiones (canales, alturas) | ||||
data_dc = None | ||||
nFFTPoints = None | ||||
nPairs = None | ||||
pairsList = None | ||||
nIncohInt = None | ||||
wavelength = None #Necesario para cacular el rango de velocidad desde la frecuencia | ||||
nCohInt = None #se requiere para determinar el valor de timeInterval | ||||
def __init__(self): | ||||
''' | ||||
Constructor | ||||
''' | ||||
self.radarControllerHeaderObj = RadarControllerHeader() | ||||
self.systemHeaderObj = SystemHeader() | ||||
self.type = "Spectra" | ||||
# self.data = None | ||||
self.dtype = None | ||||
self.nChannels = 0 | ||||
self.nHeights = 0 | ||||
self.nProfiles = None | ||||
self.heightList = None | ||||
self.channelList = None | ||||
self.channelIndexList = None | ||||
self.flagNoData = True | ||||
self.flagTimeBlock = False | ||||
self.utctime = None | ||||
self.nIncohInt = None | ||||
self.blocksize = None | ||||
self.nFFTPoints = None | ||||
self.wavelength = None | ||||
def getFrequencies(self): | ||||
xrange = numpy.arange(self.nFFTPoints) | ||||
xrange = xrange | ||||
return None | ||||
class SpectraHeis(JROData): | ||||
data_spc = None | ||||
data_cspc = None | ||||
data_dc = None | ||||
nFFTPoints = None | ||||
nPairs = None | ||||
pairsList = None | ||||
nIncohInt = None | ||||
def __init__(self): | ||||
self.radarControllerHeaderObj = RadarControllerHeader() | ||||
self.systemHeaderObj = SystemHeader() | ||||
self.type = "SpectraHeis" | ||||
self.dtype = None | ||||
self.nChannels = 0 | ||||
self.nHeights = 0 | ||||
self.nProfiles = None | ||||
self.heightList = None | ||||
self.channelList = None | ||||
self.channelIndexList = None | ||||
self.flagNoData = True | ||||
self.flagTimeBlock = False | ||||
self.nPairs = 0 | ||||
self.utctime = None | ||||
self.blocksize = None | ||||