##// END OF EJS Templates
-Se agrego el perfil de potencia al grafico de espectros
Miguel Valdez -
r204:af44731cc0d0
parent child
Show More
@@ -598,36 +598,59 if __name__ == '__main__':
598 procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=readUnitConfObj.getId())
598 procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=readUnitConfObj.getId())
599
599
600 opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
600 opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
601 opObj10.addParameter(name='channelList', value='0,1', format='intlist')
601 opObj10.addParameter(name='channelList', value='0,1,2,4,6,7', format='intlist')
602
602
603 opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other')
603 opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other')
604 opObj11.addParameter(name='idfigure', value='1', format='int')
604 opObj11.addParameter(name='idfigure', value='1', format='int')
605 opObj11.addParameter(name='wintitle', value='SpectraPlot', format='str')
605 opObj11.addParameter(name='wintitle', value='SpectraPlot', format='str')
606 # opObj11.addParameter(name='zmin', value='60', format='int')
606 # opObj11.addParameter(name='zmin', value='70', format='int')
607 # opObj11.addParameter(name='zmax', value='100', format='int')
607 # opObj11.addParameter(name='zmax', value='90', format='int')
608 opObj11.addParameter(name='showprofile', value='1', format='int')
609
610 opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
611 opObj10.addParameter(name='channelList', value='0,2,4,6', format='intlist')
608
612
609 opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='other')
613 opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='other')
610 opObj12.addParameter(name='n', value='30', format='int')
614 opObj12.addParameter(name='n', value='2', format='int')
611
615
612 opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other')
616 opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other')
613 opObj11.addParameter(name='idfigure', value='2', format='int')
617 opObj11.addParameter(name='idfigure', value='2', format='int')
614 opObj11.addParameter(name='wintitle', value='SpectraPlot10', format='str')
618 opObj11.addParameter(name='wintitle', value='SpectraPlot10', format='str')
615 # opObj11.addParameter(name='zmin', value='60', format='int')
619 opObj11.addParameter(name='zmin', value='70', format='int')
616 # opObj11.addParameter(name='zmax', value='100', format='int')
620 opObj11.addParameter(name='zmax', value='90', format='int')
617
621
622 opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
623 opObj10.addParameter(name='channelList', value='2,6', format='intlist')
624
625 opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='other')
626 opObj12.addParameter(name='n', value='2', format='int')
627
628 opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other')
629 opObj11.addParameter(name='idfigure', value='3', format='int')
630 opObj11.addParameter(name='wintitle', value='SpectraPlot10', format='str')
631 opObj11.addParameter(name='zmin', value='70', format='int')
632 opObj11.addParameter(name='zmax', value='90', format='int')
633
634
618 # opObj12 = procUnitConfObj1.addOperation(name='decoder')
635 # opObj12 = procUnitConfObj1.addOperation(name='decoder')
619 # opObj12.addParameter(name='ncode', value='2', format='int')
636 # opObj12.addParameter(name='ncode', value='2', format='int')
620 # opObj12.addParameter(name='nbauds', value='8', format='int')
637 # opObj12.addParameter(name='nbauds', value='8', format='int')
621 # opObj12.addParameter(name='code0', value='001110011', format='int')
638 # opObj12.addParameter(name='code0', value='001110011', format='int')
622 # opObj12.addParameter(name='code1', value='001110011', format='int')
639 # opObj12.addParameter(name='code1', value='001110011', format='int')
623
640
624 # procUnitConfObj2 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj1.getId())
625
641
642
643 procUnitConfObj2 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj1.getId())
626
644
627 # opObj21 = procUnitConfObj2.addOperation(name='IncohInt', optype='other')
645 opObj21 = procUnitConfObj2.addOperation(name='IncohInt', optype='other')
628 # opObj21.addParameter(name='nCohInt', value='10', format='int')
646 opObj21.addParameter(name='n', value='2', format='int')
629
630
647
648 opObj11 = procUnitConfObj2.addOperation(name='SpectraPlot', optype='other')
649 opObj11.addParameter(name='idfigure', value='4', format='int')
650 opObj11.addParameter(name='wintitle', value='SpectraPlot OBJ 2', format='str')
651 opObj11.addParameter(name='zmin', value='70', format='int')
652 opObj11.addParameter(name='zmax', value='90', format='int')
653
631 print "Escribiendo el archivo XML"
654 print "Escribiendo el archivo XML"
632
655
633 controllerObj.writeXml(filename)
656 controllerObj.writeXml(filename)
@@ -39,18 +39,24 class Figure:
39 return width, height
39 return width, height
40
40
41 def init(self, idfigure, nplots, wintitle):
41 def init(self, idfigure, nplots, wintitle):
42
43 raise ValueError, "This method has been replaced with createFigure"
44
45 def createFigure(self, idfigure, wintitle):
42
46
43 """
47 """
44 Inicializa la figura de acuerdo al driver seleccionado
48 Crea la figura de acuerdo al driver y parametros seleccionados seleccionados.
49 Las dimensiones de la pantalla es calculada a partir de los atributos self.WIDTH
50 y self.HEIGHT y el numero de subplots (nrow, ncol)
51
45 Input:
52 Input:
46 *args : Los parametros necesarios son
53 idfigure : Los parametros necesarios son
47 idfigure, wintitle, width, height
54 wintitle :
55
48 """
56 """
49
57
50 self.idfigure = idfigure
58 self.idfigure = idfigure
51
59
52 self.nplots = nplots
53
54 self.wintitle = wintitle
60 self.wintitle = wintitle
55
61
56 self.width, self.height = self.getScreenDim()
62 self.width, self.height = self.getScreenDim()
@@ -113,6 +119,8 class Axes:
113
119
114 firsttime = None
120 firsttime = None
115
121
122 __showprofile = False
123
116 def __init__(self, *args):
124 def __init__(self, *args):
117
125
118 """
126 """
@@ -155,6 +163,7 class Axes:
155 **kwargs : Los parametros aceptados son
163 **kwargs : Los parametros aceptados son
156
164
157 ticksize
165 ticksize
166 ytick_visible
158 """
167 """
159
168
160 if self.firsttime:
169 if self.firsttime:
@@ -134,20 +134,44 def printLabels(ax, xlabel, ylabel, title):
134 ax.set_ylabel(ylabel, size=11)
134 ax.set_ylabel(ylabel, size=11)
135 ax.set_title(title, size=12)
135 ax.set_title(title, size=12)
136
136
137 def createPline(ax, x, y, xmin, xmax, ymin, ymax, xlabel='', ylabel='', title='', ticksize = 9):
137 def createPline(ax, x, y, xmin, xmax, ymin, ymax, xlabel='', ylabel='', title='',
138 ticksize=9, xtick_visible=True, ytick_visible=True,
139 nxticks=4, nyticks=10,
140 grid=None):
138
141
142 """
143
144 Input:
145 grid : None, 'both', 'x', 'y'
146 """
147
139 ax.plot(x, y)
148 ax.plot(x, y)
140 ax.set_xlim([xmin,xmax])
149 ax.set_xlim([xmin,xmax])
141 ax.set_ylim([ymin,ymax])
150 ax.set_ylim([ymin,ymax])
142
151
143 printLabels(ax, xlabel, ylabel, title)
152 printLabels(ax, xlabel, ylabel, title)
144
153
145 for tick in ax.yaxis.get_major_ticks():
154 ######################################################
146 tick.label.set_fontsize(ticksize)
155 xtickspos = numpy.arange(nxticks)*int((xmax-xmin)/nxticks) + int(xmin)
156 ax.set_xticks(xtickspos)
157
158 for tick in ax.get_xticklabels():
159 tick.set_visible(xtick_visible)
147
160
148 for tick in ax.xaxis.get_major_ticks():
161 for tick in ax.xaxis.get_major_ticks():
149 tick.label.set_fontsize(ticksize)
162 tick.label.set_fontsize(ticksize)
150
163
164 ######################################################
165 for tick in ax.get_yticklabels():
166 tick.set_visible(ytick_visible)
167
168 for tick in ax.yaxis.get_major_ticks():
169 tick.label.set_fontsize(ticksize)
170
171 ######################################################
172 if grid != None:
173 ax.grid(b=True, which='major', axis=grid)
174
151 matplotlib.pyplot.tight_layout()
175 matplotlib.pyplot.tight_layout()
152
176
153 iplot = ax.lines[-1]
177 iplot = ax.lines[-1]
@@ -5,58 +5,61 from graphics.figure import *
5 class SpectraPlot(Figure):
5 class SpectraPlot(Figure):
6
6
7 __isConfig = None
7 __isConfig = None
8 __nsubplots = None
9
10 WIDTHPROF = None
11 HEIGHTPROF = None
8
12
9 def __init__(self):
13 def __init__(self):
10
14
11 self.__isConfig = False
15 self.__isConfig = False
16 self.__nsubplots = 1
17
12 self.WIDTH = 300
18 self.WIDTH = 300
13 self.HEIGHT = 400
19 self.HEIGHT = 400
20 self.WIDTHPROF = 120
21 self.HEIGHTPROF = 0
14
22
15 def getSubplots(self):
23 def getSubplots(self):
16
24
17 ncol = int(numpy.sqrt(self.nplots)+0.9)
25 ncol = int(numpy.sqrt(self.nplots)+0.9)
18 nrow = int(self.nplots*1./ncol + 0.9)
26 nrow = int(self.nplots*1./ncol + 0.9)
19 return nrow, ncol
20
27
21 def setAxesWithOutProfiles(self, nrow, ncol):
28 return nrow, ncol
29
30 def setup(self, idfigure, nplots, wintitle, showprofile=True):
31
32 self.__showprofile = showprofile
33 self.nplots = nplots
22
34
35 ncolspan = 1
23 colspan = 1
36 colspan = 1
24 rowspan = 1
37 if showprofile:
25 counter = 0
38 ncolspan = 3
39 colspan = 2
40 self.__nsubplots = 2
41 self.WIDTH += self.WIDTHPROF
42 self.HEIGHT += self.HEIGHTPROF
43
44 self.createFigure(idfigure, wintitle)
26
45
27 for y in range(nrow):
46 nrow, ncol = self.getSubplots()
28 for x in range(ncol):
29 if counter < self.nplots:
30 self.addAxes(nrow, ncol, y, x, colspan, rowspan)
31 counter += 1
32
33 def setAxesWithProfiles(self, nrow, ncol):
34
47
35 colspan = 1
36 rowspan = 1
37 factor = 2
38 ncol = ncol*factor
39 counter = 0
48 counter = 0
40
41 for y in range(nrow):
49 for y in range(nrow):
42 for x in range(ncol):
50 for x in range(ncol):
43 if counter < self.nplots*factor:
51
44 # plt.subplot2grid((nrow, ncol), (y, x), colspan=colspan, rowspan=rowspan)
52 if counter >= self.nplots:
45 self.addAxes(nrow, ncol, y, x, colspan, rowspan)
53 break
54
55 self.addAxes(nrow, ncol*ncolspan, y, x*ncolspan, colspan, 1)
56
57 if showprofile:
58 self.addAxes(nrow, ncol*ncolspan, y, x*ncolspan+2, 1, 1)
59
46 counter += 1
60 counter += 1
47
61
48 def setup(self, idfigure, nplots, wintitle, showprofile=True):
62 def run(self, dataOut, idfigure, wintitle="", channelList=None, showprofile='True',
49
50 self.init(idfigure, nplots, wintitle)
51
52 nrow, ncol = self.getSubplots()
53
54 if showprofile:
55 self.setAxesWithProfiles(nrow, ncol)
56 else:
57 self.setAxesWithOutProfiles(nrow, ncol)
58
59 def run(self, dataOut, idfigure, wintitle="", channelList=None, showprofile=False,
60 xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None):
63 xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None):
61
64
62 """
65 """
@@ -115,15 +118,24 class SpectraPlot(Figure):
115
118
116 self.setWinTitle(title)
119 self.setWinTitle(title)
117
120
121 if self.__showprofile:
122 avg = numpy.average(z, axis=1)
123
118 for i in range(self.nplots):
124 for i in range(self.nplots):
119 title = "Channel %d: %4.2fdB" %(dataOut.channelList[i], noise[i])
125 title = "Channel %d: %4.2fdB" %(dataOut.channelList[i], noise[i])
120 zchannel = z[i,:,:]
126 axes = self.axesList[i*self.__nsubplots]
121
127 axes.pcolor(x, y, z[i,:,:],
122 axes = self.axesList[i]
123 axes.pcolor(x, y, zchannel,
124 xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax, zmin=zmin, zmax=zmax,
128 xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax, zmin=zmin, zmax=zmax,
125 xlabel=xlabel, ylabel=ylabel, title=title,
129 xlabel=xlabel, ylabel=ylabel, title=title,
126 ticksize=9, cblabel='dB')
130 ticksize=9, cblabel='')
131
132 if self.__showprofile:
133 axes = self.axesList[i*self.__nsubplots +1]
134 axes.pline(avg[i], y,
135 xmin=zmin, xmax=zmax, ymin=ymin, ymax=ymax,
136 xlabel='dB', ylabel='', title='',
137 ytick_visible=False,
138 grid='x')
127
139
128 self.draw()
140 self.draw()
129
141
@@ -145,7 +157,7 class Scope(Figure):
145
157
146 def setup(self, idfigure, nplots, wintitle):
158 def setup(self, idfigure, nplots, wintitle):
147
159
148 self.init(idfigure, nplots, wintitle)
160 self.createFigure(idfigure, wintitle)
149
161
150 nrow,ncol = self.getSubplots()
162 nrow,ncol = self.getSubplots()
151 colspan = 3
163 colspan = 3
@@ -153,6 +165,8 class Scope(Figure):
153
165
154 for i in range(nplots):
166 for i in range(nplots):
155 self.addAxes(nrow, ncol, i, 0, colspan, rowspan)
167 self.addAxes(nrow, ncol, i, 0, colspan, rowspan)
168
169 self.nplots = nplots
156
170
157 def run(self, dataOut, idfigure, wintitle="", channelList=None,
171 def run(self, dataOut, idfigure, wintitle="", channelList=None,
158 xmin=None, xmax=None, ymin=None, ymax=None):
172 xmin=None, xmax=None, ymin=None, ymax=None):
General Comments 0
You need to be logged in to leave comments. Login now