##// END OF EJS Templates
JROData.py:...
JROData.py: Se agrego la variable nProfiles a la clase JROData

File last commit:

r89:b509e99f0d8d
r95:43575a372c2d
Show More
SpectraPlot.py
177 lines | 5.5 KiB | text/x-python | PythonLexer
Daniel Valdez
Fijando variables svn:keywords Author Id
r16 '''
Created on Feb 7, 2012
@author $Author$
@version $Id$
'''
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 import os, sys
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10 import numpy
Miguel Valdez
Grafico de espectros actualizado
r27 import datetime
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10 import plplot
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 path = os.path.split(os.getcwd())[0]
sys.path.append(path)
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 from Graphics.BaseGraph import *
from Model.Spectra import Spectra
Miguel Valdez
r11
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 class Spectrum():
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
Actualización de la libreria de graficos para manejar varios plots
r43 def __init__(self, Spectra, index=0):
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
"""
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 Inputs:
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 type: "power" ->> Potencia
"iq" ->> Real + Imaginario
"""
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 self.__isPlotConfig = False
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 self.__isPlotIni = False
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 self.__xrange = None
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 self.__yrange = None
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 self.nGraphs = 0
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
Actualización de la libreria de graficos para manejar varios plots
r43 self.indexPlot = index
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 self.graphObjList = []
self.m_Spectra = Spectra
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 def __addGraph(self, subpage, title="", xlabel="", ylabel="", showColorbar=False, showPowerProfile=True, XAxisAsTime=False):
graphObj = ColorPlot()
graphObj.setup(subpage,
title,
xlabel,
ylabel,
showColorbar=showColorbar,
showPowerProfile=showPowerProfile,
XAxisAsTime=XAxisAsTime)
self.graphObjList.append(graphObj)
def setup(self, titleList=None, xlabelList=None, ylabelList=None, showColorbar=False, showPowerProfile=True, XAxisAsTime=False):
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 nChan = int(self.m_Spectra.m_SystemHeader.numChannels)
Miguel Valdez
Desplazamiento automatico de los puntos de FFT en el modulo de lectura de espectros.
r26 channels = range(nChan)
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
Desplazamiento automatico de los puntos de FFT en el modulo de lectura de espectros.
r26 myXlabel = "Radial Velocity (m/s)"
myYlabel = "Range (km)"
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
Desplazamiento automatico de los puntos de FFT en el modulo de lectura de espectros.
r26 for i in channels:
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 if titleList != None:
myTitle = titleList[i]
myXlabel = xlabelList[i]
myYlabel = ylabelList[i]
Miguel Valdez
Desplazamiento automatico de los puntos de FFT en el modulo de lectura de espectros.
r26
Miguel Valdez
Se obvia el uso del atributo Noise para los graficos
r54 # if self.m_Spectra.m_NoiseObj != None:
# noise = '%4.2fdB' %(self.m_Spectra.m_NoiseObj[i])
# else:
noise = '--'
Miguel Valdez
Desplazamiento automatico de los puntos de FFT en el modulo de lectura de espectros.
r26
myTitle = "Channel: %d - Noise: %s" %(i, noise)
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25
self.__addGraph(i+1,
title=myTitle,
xlabel=myXlabel,
ylabel=myYlabel,
showColorbar=showColorbar,
showPowerProfile=showPowerProfile,
XAxisAsTime=XAxisAsTime)
self.nGraphs = nChan
self.__isPlotConfig = True
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
La opcion nombre de graficos ha sido añadida a los modulos de VoltagePlot y SpectraPlot
r56 def iniPlot(self, winTitle=""):
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 nx = int(numpy.sqrt(self.nGraphs)+1)
#ny = int(self.nGraphs/nx)
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
Actualización de la libreria de graficos para manejar varios plots
r43 plplot.plsstrm(self.indexPlot)
Miguel Valdez
La opcion nombre de graficos ha sido añadida a los modulos de VoltagePlot y SpectraPlot
r56 plplot.plparseopts([winTitle], plplot.PL_PARSE_FULL)
Miguel Valdez
Desplazamiento automatico de los puntos de FFT en el modulo de lectura de espectros.
r26 plplot.plsetopt("geometry", "%dx%d" %(300*nx, 240*nx))
Miguel Valdez
Se cambio el driver por defecto de las rutinas graficas a "xwin"
r44 plplot.plsdev("xwin")
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 plplot.plscolbg(255,255,255)
plplot.plscol0(1,0,0,0)
plplot.plinit()
plplot.plspause(False)
plplot.pladv(0)
plplot.plssub(nx, nx)
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
Grafico de espectros actualizado
r27 self.__nx = nx
self.__ny = nx
self.__isPlotIni = True
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
La opcion nombre de graficos ha sido añadida a los modulos de VoltagePlot y SpectraPlot
r56 def plotData(self, xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None, titleList=None, xlabelList=None, ylabelList=None, showColorbar=False, showPowerProfile=True, XAxisAsTime=False, winTitle="Spectra"):
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25
if not(self.__isPlotConfig):
self.setup(titleList,
xlabelList,
ylabelList,
showColorbar,
showPowerProfile,
XAxisAsTime)
if not(self.__isPlotIni):
Miguel Valdez
La opcion nombre de graficos ha sido añadida a los modulos de VoltagePlot y SpectraPlot
r57 self.iniPlot(winTitle)
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25
Miguel Valdez
r45 plplot.plsstrm(self.indexPlot)
Miguel Valdez
Desplazamiento automatico de los puntos de FFT en el modulo de lectura de espectros.
r26 data = 10.*numpy.log10(self.m_Spectra.data_spc)
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25
Victor Sarmiento
SpectraPlot.py:...
r63 #data.shape = Channels x Heights x Profiles
Daniel Valdez
Se ha definido que el arreglo de datos debe tener el formato [canales, perfiles, alturas]; se han modificado los metodos de lectura, escritura, ploteo, procesamiento que estan relacionados.
r73 # data = numpy.transpose( data, (0,2,1) )
Victor Sarmiento
SpectraPlot.py:...
r63 #data.shape = Channels x Profiles x Heights
nChan, nX, nY = numpy.shape(data)
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25
x = numpy.arange(nX)
Miguel Valdez
Se ha reordenado las variables
r89 y = self.m_Spectra.heightList
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25
Miguel Valdez
Grafico de espectros actualizado
r27 thisDatetime = datetime.datetime.fromtimestamp(self.m_Spectra.m_BasicHeader.utc)
txtDate = "Self Spectra - Date: %s" %(thisDatetime.strftime("%d-%b-%Y %H:%M:%S"))
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 if xmin == None: xmin = x[0]
if xmax == None: xmax = x[-1]
if ymin == None: ymin = y[0]
if ymax == None: ymax = y[-1]
if zmin == None: zmin = numpy.nanmin(abs(data))
if zmax == None: zmax = numpy.nanmax(abs(data))
plplot.plbop()
Miguel Valdez
Grafico de espectros actualizado
r27
plplot.plssub(self.__nx, self.__ny)
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 for i in range(self.nGraphs):
self.graphObjList[i].iniSubpage()
Miguel Valdez
Desplazamiento automatico de los puntos de FFT en el modulo de lectura de espectros.
r26 self.graphObjList[i].plotData(data[i,:,:],
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 x,
y,
xmin=xmin,
xmax=xmax,
ymin=ymin,
ymax=ymax,
zmin=zmin,
zmax=zmax)
Miguel Valdez
Grafico de espectros actualizado
r27 plplot.plssub(1,0)
plplot.pladv(0)
plplot.plvpor(0., 1., 0., 1.)
plplot.plmtex("t",-1., 0.5, 0.5, txtDate)
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 plplot.plflush()
plplot.pleop()
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 def end(self):
plplot.plend()
Miguel Valdez
Adicion de directorios de procesamiento y utilitarios
r10
if __name__ == '__main__':
Miguel Valdez
Modulo de lectura de espectros corregido y testeado....
r25 pass