##// END OF EJS Templates
cambios para amisr ISR getNoise
cambios para amisr ISR getNoise

File last commit:

r1465:65c0d2b45bc1
r1468:1fb12846b034
Show More
jroplot_heispectra.py
107 lines | 3.4 KiB | text/x-python | PythonLexer
Add update method to plots to pass data (no more changes in jrodata)
r1343 # Copyright (c) 2012-2020 Jicamarca Radio Observatory
# All rights reserved.
#
# Distributed under the terms of the BSD 3-clause license.
"""Classes to plo Specra Heis data
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
Add update method to plots to pass data (no more changes in jrodata)
r1343 """
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Add update method to plots to pass data (no more changes in jrodata)
r1343 import numpy
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Add update method to plots to pass data (no more changes in jrodata)
r1343 from schainpy.model.graphics.jroplot_base import Plot, plt
Adicionada operación Clean Rayleigh a Spectra Proc
r1385 import matplotlib.pyplot as plt
George Yong
Multiprocessing for heispectra (Fits) all working
r1191
Add update method to plots to pass data (no more changes in jrodata)
r1343 class SpectraHeisPlot(Plot):
George Yong
Multiprocessing for heispectra (Fits) all working
r1191
Add update method to plots to pass data (no more changes in jrodata)
r1343 CODE = 'spc_heis'
cambios para amisr ISR
r1465 channelList = []
Add update method to plots to pass data (no more changes in jrodata)
r1343 def setup(self):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Add update method to plots to pass data (no more changes in jrodata)
r1343 self.nplots = len(self.data.channels)
self.ncols = int(numpy.sqrt(self.nplots) + 0.9)
self.nrows = int((1.0 * self.nplots / self.ncols) + 0.9)
self.height = 2.6 * self.nrows
self.width = 3.5 * self.ncols
self.plots_adjust.update({'wspace': 0.4, 'hspace':0.4, 'left': 0.1, 'right': 0.95, 'bottom': 0.08})
self.ylabel = 'Intensity [dB]'
self.xlabel = 'Frequency [KHz]'
self.colorbar = False
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Add update method to plots to pass data (no more changes in jrodata)
r1343 def update(self, dataOut):
cambios para amisr ISR
r1465 if len(self.channelList) == 0:
self.channelList = dataOut.channelList
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Add update method to plots to pass data (no more changes in jrodata)
r1343 data = {}
meta = {}
spc = 10*numpy.log10(dataOut.data_spc / dataOut.normFactor)
data['spc_heis'] = spc
Adicionada operación Clean Rayleigh a Spectra Proc
r1385
return data, meta
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Add update method to plots to pass data (no more changes in jrodata)
r1343 def plot(self):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Add update method to plots to pass data (no more changes in jrodata)
r1343 c = 3E8
Adicionada operación Clean Rayleigh a Spectra Proc
r1385 deltaHeight = self.data.yrange[1] - self.data.yrange[0] # yrange = heightList
Add update method to plots to pass data (no more changes in jrodata)
r1343 x = numpy.arange(-1*len(self.data.yrange)/2., len(self.data.yrange)/2.)*(c/(2*deltaHeight*len(self.data.yrange)*1000))
self.y = self.data[-1]['spc_heis']
self.titles = []
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Adicionada operación Clean Rayleigh a Spectra Proc
r1385 Maintitle = "Range from %d km to %d km" %(int(self.data.yrange[0]),int(self.data.yrange[-1]))
Add update method to plots to pass data (no more changes in jrodata)
r1343 for n, ax in enumerate(self.axes):
ychannel = self.y[n,:]
if ax.firsttime:
self.xmin = min(x) if self.xmin is None else self.xmin
self.xmax = max(x) if self.xmax is None else self.xmax
ax.plt = ax.plot(x, ychannel, lw=1, color='b')[0]
cambios para amisr ISR
r1465 ax.set_ylim(ymin=self.zmin, ymax=self.zmax)
ax.set_xlim(xmin=self.xmin, xmax=self.xmax)
Add update method to plots to pass data (no more changes in jrodata)
r1343 else:
ax.plt.set_data(x, ychannel)
cambios para amisr ISR
r1465 ax.set_ylim(ymin=self.zmin, ymax=self.zmax)
ax.set_xlim(xmin=self.xmin, xmax=self.xmax)
Add update method to plots to pass data (no more changes in jrodata)
r1343 self.titles.append("Channel {}: {:4.2f}dB".format(n, numpy.max(ychannel)))
Adicionada operación Clean Rayleigh a Spectra Proc
r1385 plt.suptitle(Maintitle)
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Add update method to plots to pass data (no more changes in jrodata)
r1343 class RTIHeisPlot(Plot):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Add update method to plots to pass data (no more changes in jrodata)
r1343 CODE = 'rti_heis'
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Add update method to plots to pass data (no more changes in jrodata)
r1343 def setup(self):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Add update method to plots to pass data (no more changes in jrodata)
r1343 self.xaxis = 'time'
self.ncols = 1
self.nrows = 1
self.nplots = 1
self.ylabel = 'Intensity [dB]'
self.xlabel = 'Time'
self.titles = ['RTI']
self.colorbar = False
self.height = 4
self.plots_adjust.update({'right': 0.85 })
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Add update method to plots to pass data (no more changes in jrodata)
r1343 def update(self, dataOut):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Add update method to plots to pass data (no more changes in jrodata)
r1343 data = {}
meta = {}
spc = dataOut.data_spc / dataOut.normFactor
spc = 10*numpy.log10(numpy.average(spc, axis=1))
data['rti_heis'] = spc
Adicionada operación Clean Rayleigh a Spectra Proc
r1385
return data, meta
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Add update method to plots to pass data (no more changes in jrodata)
r1343 def plot(self):
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Add update method to plots to pass data (no more changes in jrodata)
r1343 x = self.data.times
Y = self.data['rti_heis']
José Chávez
cambiados los kwargs para cada operacion/unidad de procesamiento
r897
Add update method to plots to pass data (no more changes in jrodata)
r1343 if self.axes[0].firsttime:
self.ymin = numpy.nanmin(Y) - 5 if self.ymin == None else self.ymin
self.ymax = numpy.nanmax(Y) + 5 if self.ymax == None else self.ymax
for ch in self.data.channels:
y = Y[ch]
self.axes[0].plot(x, y, lw=1, label='Ch{}'.format(ch))
plt.legend(bbox_to_anchor=(1.18, 1.0))
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:
Add update method to plots to pass data (no more changes in jrodata)
r1343 for ch in self.data.channels:
y = Y[ch]
self.axes[0].lines[ch].set_data(x, y)