##// END OF EJS Templates
jrodata se cambio los atrituos de pulsepair,jroplot_voltage se cambio el ploteo de la potencial y la senal, jroIO_simulator se anadio la modificacion de bloquesporarchivo y perfilesporbloque,jro_proc_voltage se corrigio el calculo de noise con remocion DC y se asignaron nuevos nombres al dataOut, jroproc_parameters se anadio los nuevos atributos del dataOut jroproc_voltage pulsepair,test_sim0009.py es el nuevo test de escritura
jrodata se cambio los atrituos de pulsepair,jroplot_voltage se cambio el ploteo de la potencial y la senal, jroIO_simulator se anadio la modificacion de bloquesporarchivo y perfilesporbloque,jro_proc_voltage se corrigio el calculo de noise con remocion DC y se asignaron nuevos nombres al dataOut, jroproc_parameters se anadio los nuevos atributos del dataOut jroproc_voltage pulsepair,test_sim0009.py es el nuevo test de escritura

File last commit:

r1311:816ce18b0db1 v3-devel-julio
r1311:816ce18b0db1 v3-devel-julio
Show More
jroplot_voltage.py
302 lines | 9.5 KiB | text/x-python | PythonLexer
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487 '''
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 Created on Jul 9, 2014
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 @author: roj-idl71
'''
import os
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487 import datetime
import numpy
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285 from schainpy.model.graphics.jroplot_base import Plot, plt
George Yong
Multiprocessing for voltage (all operations) working
r1173
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285
class ScopePlot(Plot):
'''
Plot for Scope
update for weather radar options
r1296 '''
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285
CODE = 'scope'
plot_name = 'Scope'
plot_type = 'scatter'
update for weather radar options
r1296
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285 def setup(self):
self.xaxis = 'Range (Km)'
self.ncols = 1
self.nrows = 1
self.nplots = 1
self.ylabel = 'Intensity [dB]'
self.titles = ['Scope']
self.colorbar = False
self.width = 6
self.height = 4
def plot_iq(self, x, y, channelIndexList, thisDatetime, wintitle):
update for weather radar options
r1296
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487 yreal = y[channelIndexList,:].real
yimag = y[channelIndexList,:].imag
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285 title = wintitle + " Scope: %s" %(thisDatetime.strftime("%d-%b-%Y"))
self.xlabel = "Range (Km)"
self.ylabel = "Intensity - IQ"
update for weather radar options
r1296
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285 self.y = yreal
self.x = x
self.xmin = min(x)
self.xmax = max(x)
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487
update for weather radar options
r1296
self.titles[0] = title
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285 for i,ax in enumerate(self.axes):
title = "Channel %d" %(i)
if ax.firsttime:
ax.plt_r = ax.plot(x, yreal[i,:], color='b')[0]
ax.plt_i = ax.plot(x, yimag[i,:], color='r')[0]
else:
ax.plt_r.set_data(x, yreal[i,:])
ax.plt_i.set_data(x, yimag[i,:])
update for weather radar options
r1296
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285 def plot_power(self, x, y, channelIndexList, thisDatetime, wintitle):
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487 y = y[channelIndexList,:] * numpy.conjugate(y[channelIndexList,:])
yreal = y.real
update for weather radar options
r1296 yreal = 10*numpy.log10(yreal)
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285 self.y = yreal
title = wintitle + " Scope: %s" %(thisDatetime.strftime("%d-%b-%Y"))
self.xlabel = "Range (Km)"
self.ylabel = "Intensity"
self.xmin = min(x)
self.xmax = max(x)
update for weather radar options
r1296
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285 self.titles[0] = title
for i,ax in enumerate(self.axes):
title = "Channel %d" %(i)
update for weather radar options
r1296
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285 ychannel = yreal[i,:]
update for weather radar options
r1296
if ax.firsttime:
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285 ax.plt_r = ax.plot(x, ychannel)[0]
else:
#pass
ax.plt_r.set_data(x, ychannel)
update for weather radar options
r1296
def plot_weatherpower(self, x, y, channelIndexList, thisDatetime, wintitle):
y = y[channelIndexList,:]
yreal = y.real
yreal = 10*numpy.log10(yreal)
self.y = yreal
title = wintitle + " Scope: %s" %(thisDatetime.strftime("%d-%b-%Y %H:%M:%S"))
self.xlabel = "Range (Km)"
self.ylabel = "Intensity"
self.xmin = min(x)
self.xmax = max(x)
self.titles[0] =title
for i,ax in enumerate(self.axes):
title = "Channel %d" %(i)
ychannel = yreal[i,:]
if ax.firsttime:
ax.plt_r = ax.plot(x, ychannel)[0]
else:
#pass
ax.plt_r.set_data(x, ychannel)
def plot_weathervelocity(self, x, y, channelIndexList, thisDatetime, wintitle):
x = x[channelIndexList,:]
yreal = y
self.y = yreal
title = wintitle + " Scope: %s" %(thisDatetime.strftime("%d-%b-%Y %H:%M:%S"))
self.xlabel = "Velocity (m/s)"
self.ylabel = "Range (Km)"
self.xmin = numpy.min(x)
self.xmax = numpy.max(x)
self.titles[0] =title
for i,ax in enumerate(self.axes):
title = "Channel %d" %(i)
xchannel = x[i,:]
if ax.firsttime:
ax.plt_r = ax.plot(xchannel, yreal)[0]
else:
#pass
ax.plt_r.set_data(xchannel, yreal)
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487
graficos de ploteo pulsepair
r1305 def plot_weatherspecwidth(self, x, y, channelIndexList, thisDatetime, wintitle):
x = x[channelIndexList,:]
yreal = y
self.y = yreal
title = wintitle + " Scope: %s" %(thisDatetime.strftime("%d-%b-%Y %H:%M:%S"))
self.xlabel = "width "
self.ylabel = "Range (Km)"
self.xmin = numpy.min(x)
self.xmax = numpy.max(x)
self.titles[0] =title
for i,ax in enumerate(self.axes):
title = "Channel %d" %(i)
xchannel = x[i,:]
if ax.firsttime:
ax.plt_r = ax.plot(xchannel, yreal)[0]
else:
#pass
ax.plt_r.set_data(xchannel, yreal)
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285 def plot(self):
if self.channels:
channels = self.channels
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487 else:
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285 channels = self.data.channels
thisDatetime = datetime.datetime.utcfromtimestamp(self.data.times[-1])
update for weather radar options
r1296 if self.CODE == "pp_power":
scope = self.data['pp_power']
jrodata se cambio los atrituos de pulsepair,jroplot_voltage se cambio el ploteo de la potencial y la senal, jroIO_simulator se anadio la modificacion de bloquesporarchivo y perfilesporbloque,jro_proc_voltage se corrigio el calculo de noise con remocion DC y se asignaron nuevos nombres al dataOut, jroproc_parameters se anadio los nuevos atributos del dataOut jroproc_voltage pulsepair,test_sim0009.py es el nuevo test de escritura
r1311 elif self.CODE == "pp_signal":
scope = self.data["pp_signal"]
update for weather radar options
r1296 elif self.CODE == "pp_velocity":
scope = self.data["pp_velocity"]
graficos de ploteo pulsepair
r1305 elif self.CODE == "pp_specwidth":
scope = self.data["pp_specwidth"]
update for weather radar options
r1296 else:
scope =self.data["scope"]
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285 if self.data.flagDataAsBlock:
update for weather radar options
r1296
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285 for i in range(self.data.nProfiles):
wintitle1 = " [Profile = %d] " %i
update for weather radar options
r1296 if self.CODE =="scope":
if self.type == "power":
self.plot_power(self.data.heights,
scope[:,i,:],
channels,
thisDatetime,
wintitle1
)
if self.type == "iq":
self.plot_iq(self.data.heights,
scope[:,i,:],
channels,
thisDatetime,
wintitle1
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285 )
update for weather radar options
r1296 if self.CODE=="pp_power":
self.plot_weatherpower(self.data.heights,
scope[:,i,:],
channels,
thisDatetime,
wintitle
)
jrodata se cambio los atrituos de pulsepair,jroplot_voltage se cambio el ploteo de la potencial y la senal, jroIO_simulator se anadio la modificacion de bloquesporarchivo y perfilesporbloque,jro_proc_voltage se corrigio el calculo de noise con remocion DC y se asignaron nuevos nombres al dataOut, jroproc_parameters se anadio los nuevos atributos del dataOut jroproc_voltage pulsepair,test_sim0009.py es el nuevo test de escritura
r1311 if self.CODE=="pp_signal":
self.plot_weatherpower(self.data.heights,
scope[:,i,:],
channels,
thisDatetime,
wintitle
)
update for weather radar options
r1296 if self.CODE=="pp_velocity":
self.plot_weathervelocity(scope[:,i,:],
self.data.heights,
channels,
thisDatetime,
wintitle
)
graficos de ploteo pulsepair
r1305 if self.CODE=="pp_spcwidth":
self.plot_weatherspecwidth(scope[:,i,:],
self.data.heights,
channels,
thisDatetime,
wintitle
)
update for weather radar options
r1296 else:
wintitle = " [Profile = %d] " %self.data.profileIndex
if self.CODE== "scope":
if self.type == "power":
self.plot_power(self.data.heights,
scope,
channels,
thisDatetime,
wintitle
)
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285
if self.type == "iq":
update for weather radar options
r1296 self.plot_iq(self.data.heights,
scope,
channels,
thisDatetime,
wintitle
Juan C. Espinoza
Update and fix plot modules #TODO: correlation & spectraheis
r1285 )
update for weather radar options
r1296 if self.CODE=="pp_power":
self.plot_weatherpower(self.data.heights,
scope,
channels,
thisDatetime,
wintitle
)
jrodata se cambio los atrituos de pulsepair,jroplot_voltage se cambio el ploteo de la potencial y la senal, jroIO_simulator se anadio la modificacion de bloquesporarchivo y perfilesporbloque,jro_proc_voltage se corrigio el calculo de noise con remocion DC y se asignaron nuevos nombres al dataOut, jroproc_parameters se anadio los nuevos atributos del dataOut jroproc_voltage pulsepair,test_sim0009.py es el nuevo test de escritura
r1311 if self.CODE=="pp_signal":
self.plot_weatherpower(self.data.heights,
scope,
channels,
thisDatetime,
wintitle
)
update for weather radar options
r1296 if self.CODE=="pp_velocity":
self.plot_weathervelocity(scope,
self.data.heights,
channels,
thisDatetime,
wintitle
)
graficos de ploteo pulsepair
r1305 if self.CODE=="pp_specwidth":
self.plot_weatherspecwidth(scope,
self.data.heights,
channels,
thisDatetime,
wintitle
)
update for weather radar options
r1296
class PulsepairPowerPlot(ScopePlot):
'''
jrodata se cambio los atrituos de pulsepair,jroplot_voltage se cambio el ploteo de la potencial y la senal, jroIO_simulator se anadio la modificacion de bloquesporarchivo y perfilesporbloque,jro_proc_voltage se corrigio el calculo de noise con remocion DC y se asignaron nuevos nombres al dataOut, jroproc_parameters se anadio los nuevos atributos del dataOut jroproc_voltage pulsepair,test_sim0009.py es el nuevo test de escritura
r1311 Plot for P= S+N
update for weather radar options
r1296 '''
CODE = 'pp_power'
plot_name = 'PulsepairPower'
plot_type = 'scatter'
buffering = False
class PulsepairVelocityPlot(ScopePlot):
'''
jrodata se cambio los atrituos de pulsepair,jroplot_voltage se cambio el ploteo de la potencial y la senal, jroIO_simulator se anadio la modificacion de bloquesporarchivo y perfilesporbloque,jro_proc_voltage se corrigio el calculo de noise con remocion DC y se asignaron nuevos nombres al dataOut, jroproc_parameters se anadio los nuevos atributos del dataOut jroproc_voltage pulsepair,test_sim0009.py es el nuevo test de escritura
r1311 Plot for VELOCITY
update for weather radar options
r1296 '''
CODE = 'pp_velocity'
plot_name = 'PulsepairVelocity'
plot_type = 'scatter'
buffering = False
graficos de ploteo pulsepair
r1305
class PulsepairSpecwidthPlot(ScopePlot):
'''
jrodata se cambio los atrituos de pulsepair,jroplot_voltage se cambio el ploteo de la potencial y la senal, jroIO_simulator se anadio la modificacion de bloquesporarchivo y perfilesporbloque,jro_proc_voltage se corrigio el calculo de noise con remocion DC y se asignaron nuevos nombres al dataOut, jroproc_parameters se anadio los nuevos atributos del dataOut jroproc_voltage pulsepair,test_sim0009.py es el nuevo test de escritura
r1311 Plot for WIDTH
graficos de ploteo pulsepair
r1305 '''
CODE = 'pp_specwidth'
plot_name = 'PulsepairSpecwidth'
plot_type = 'scatter'
buffering = False
jrodata se cambio los atrituos de pulsepair,jroplot_voltage se cambio el ploteo de la potencial y la senal, jroIO_simulator se anadio la modificacion de bloquesporarchivo y perfilesporbloque,jro_proc_voltage se corrigio el calculo de noise con remocion DC y se asignaron nuevos nombres al dataOut, jroproc_parameters se anadio los nuevos atributos del dataOut jroproc_voltage pulsepair,test_sim0009.py es el nuevo test de escritura
r1311
class PulsepairSignalPlot(ScopePlot):
'''
Plot for S
'''
CODE = 'pp_signal'
plot_name = 'PulsepairSignal'
plot_type = 'scatter'
buffering = False