@@ -1,3 +1,4 | |||||
|
1 | # MASTER | |||
1 | # Copyright (c) 2012-2021 Jicamarca Radio Observatory |
|
2 | # Copyright (c) 2012-2021 Jicamarca Radio Observatory | |
2 | # All rights reserved. |
|
3 | # All rights reserved. | |
3 | # |
|
4 | # | |
@@ -43,7 +44,12 class SpectraPlot(Plot): | |||||
43 | spc = 10*numpy.log10(dataOut.data_spc/dataOut.normFactor) |
|
44 | spc = 10*numpy.log10(dataOut.data_spc/dataOut.normFactor) | |
44 | data['spc'] = spc |
|
45 | data['spc'] = spc | |
45 | data['rti'] = dataOut.getPower() |
|
46 | data['rti'] = dataOut.getPower() | |
46 | data['noise'] = 10*numpy.log10(dataOut.getNoise()/dataOut.normFactor) |
|
47 | if hasattr(dataOut, 'LagPlot'): #Double Pulse | |
|
48 | max_hei_id = dataOut.nHeights - 2*dataOut.LagPlot | |||
|
49 | data['noise'] = 10*numpy.log10(dataOut.getNoise(ymin_index=53,ymax_index=max_hei_id)/dataOut.normFactor) | |||
|
50 | data['noise'][0] = 10*numpy.log10(dataOut.getNoise(ymin_index=53)[0]/dataOut.normFactor) | |||
|
51 | else: | |||
|
52 | data['noise'] = 10*numpy.log10(dataOut.getNoise()/dataOut.normFactor) | |||
47 | meta['xrange'] = (dataOut.getFreqRange(1)/1000., dataOut.getAcfRange(1), dataOut.getVelRange(1)) |
|
53 | meta['xrange'] = (dataOut.getFreqRange(1)/1000., dataOut.getAcfRange(1), dataOut.getVelRange(1)) | |
48 |
|
54 | |||
49 | if self.CODE == 'spc_moments': |
|
55 | if self.CODE == 'spc_moments': | |
@@ -66,6 +72,7 class SpectraPlot(Plot): | |||||
66 | self.xlabel = "Velocity (m/s)" |
|
72 | self.xlabel = "Velocity (m/s)" | |
67 |
|
73 | |||
68 | if (self.CODE == 'spc_moments') | (self.CODE == 'gaussian_fit'): |
|
74 | if (self.CODE == 'spc_moments') | (self.CODE == 'gaussian_fit'): | |
|
75 | print("data",self.data.shape) | |||
69 | x = self.data.xrange[2] |
|
76 | x = self.data.xrange[2] | |
70 | self.xlabel = "Velocity (m/s)" |
|
77 | self.xlabel = "Velocity (m/s)" | |
71 |
|
78 | |||
@@ -77,9 +84,10 class SpectraPlot(Plot): | |||||
77 | data = self.data[-1] |
|
84 | data = self.data[-1] | |
78 | z = data['spc'] |
|
85 | z = data['spc'] | |
79 |
|
86 | |||
|
87 | self.CODE2 = 'spc_oblique' | |||
|
88 | ||||
80 | for n, ax in enumerate(self.axes): |
|
89 | for n, ax in enumerate(self.axes): | |
81 | noise = data['noise'][n] |
|
90 | noise = data['noise'][n] | |
82 |
|
||||
83 | if self.CODE == 'spc_moments': |
|
91 | if self.CODE == 'spc_moments': | |
84 | mean = data['moments'][n, 1] |
|
92 | mean = data['moments'][n, 1] | |
85 | if self.CODE == 'gaussian_fit': |
|
93 | if self.CODE == 'gaussian_fit': | |
@@ -87,13 +95,16 class SpectraPlot(Plot): | |||||
87 | gau1 = data['gaussfit'][n][2,:,1] |
|
95 | gau1 = data['gaussfit'][n][2,:,1] | |
88 | if ax.firsttime: |
|
96 | if ax.firsttime: | |
89 | self.xmax = self.xmax if self.xmax else numpy.nanmax(x) |
|
97 | self.xmax = self.xmax if self.xmax else numpy.nanmax(x) | |
90 |
self.xmin = self.xmin if self.xmin else |
|
98 | self.xmin = self.xmin if self.xmin else numpy.nanmin(x)#-self.xmax | |
91 | self.zmin = self.zmin if self.zmin else numpy.nanmin(z) |
|
99 | #self.zmin = self.zmin if self.zmin else numpy.nanmin(z) | |
92 | self.zmax = self.zmax if self.zmax else numpy.nanmax(z) |
|
100 | #self.zmax = self.zmax if self.zmax else numpy.nanmax(z) | |
|
101 | if self.zlimits is not None: | |||
|
102 | self.zmin, self.zmax = self.zlimits[n] | |||
|
103 | # CORREGIR CON matplotlib==3.3.4 | |||
93 | ax.plt = ax.pcolormesh(x, y, z[n].T, |
|
104 | ax.plt = ax.pcolormesh(x, y, z[n].T, | |
94 | vmin=self.zmin, |
|
105 | vmin=self.zmin, | |
95 | vmax=self.zmax, |
|
106 | vmax=self.zmax, | |
96 | cmap=plt.get_cmap(self.colormap) |
|
107 | cmap=plt.get_cmap(self.colormap), | |
97 | ) |
|
108 | ) | |
98 |
|
109 | |||
99 | if self.showprofile: |
|
110 | if self.showprofile: | |
@@ -107,6 +118,8 class SpectraPlot(Plot): | |||||
107 | ax.plt_gau0 = ax.plot(gau0, y, color='r', lw=1)[0] |
|
118 | ax.plt_gau0 = ax.plot(gau0, y, color='r', lw=1)[0] | |
108 | ax.plt_gau1 = ax.plot(gau1, y, color='y', lw=1)[0] |
|
119 | ax.plt_gau1 = ax.plot(gau1, y, color='y', lw=1)[0] | |
109 | else: |
|
120 | else: | |
|
121 | if self.zlimits is not None: | |||
|
122 | self.zmin, self.zmax = self.zlimits[n] | |||
110 | ax.plt.set_array(z[n].T.ravel()) |
|
123 | ax.plt.set_array(z[n].T.ravel()) | |
111 | if self.showprofile: |
|
124 | if self.showprofile: | |
112 | ax.plt_profile.set_data(data['rti'][n], y) |
|
125 | ax.plt_profile.set_data(data['rti'][n], y) | |
@@ -374,7 +387,6 class CrossSpectra4Plot(Plot): | |||||
374 | cmap=plt.get_cmap(self.colormap) |
|
387 | cmap=plt.get_cmap(self.colormap) | |
375 | ) |
|
388 | ) | |
376 | else: |
|
389 | else: | |
377 |
|
||||
378 | ax.plt.set_array(nspc[pair[0]].T.ravel()) |
|
390 | ax.plt.set_array(nspc[pair[0]].T.ravel()) | |
379 | self.titles.append('CH {}: {:3.2f}dB'.format(pair[0], noise[pair[0]])) |
|
391 | self.titles.append('CH {}: {:3.2f}dB'.format(pair[0], noise[pair[0]])) | |
380 |
|
392 |
General Comments 0
You need to be logged in to leave comments.
Login now