##// END OF EJS Templates
Se cambio el driver por defecto de las rutinas graficas a "xwin"
Se cambio el driver por defecto de las rutinas graficas a "xwin"

File last commit:

r44:0f5a49de205d
r44:0f5a49de205d
Show More
SpectraPlot.py
170 lines | 5.2 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
if self.m_Spectra.noise != None:
noise = '%4.2fdB' %(self.m_Spectra.noise[i])
else:
noise = '--'
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
Modulo de lectura de espectros corregido y testeado....
r25 def iniPlot(self):
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
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
Modulo de lectura de espectros corregido y testeado....
r25 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):
if not(self.__isPlotConfig):
self.setup(titleList,
xlabelList,
ylabelList,
showColorbar,
showPowerProfile,
XAxisAsTime)
if not(self.__isPlotIni):
self.iniPlot()
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
nX, nY, nChan = numpy.shape(data)
x = numpy.arange(nX)
y = self.m_Spectra.heights
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