@@ -636,17 +636,20 class Spectra(JROData): | |||
|
636 | 636 | return freqrange |
|
637 | 637 | |
|
638 | 638 | def getAcfRange(self, extrapoints=0): |
|
639 | #print "GET ACF RANGE" | |
|
639 | 640 | #print "NFFTPoints",self.nFFTPoints |
|
640 | 641 | #print "IPPFactor", self.ippFactor |
|
641 | deltafreq = 10. / ( self.getFmax() / (self.nFFTPoints * self.ippFactor) ) | |
|
642 | #print "deltafreq",deltafreq | |
|
642 | #deltafreq = 10. / ( self.getFmax() / (self.nFFTPoints * self.ippFactor) ) | |
|
643 | deltatime = 1./(self.getFmax()/ self.ippFactor) | |
|
644 | #print "getFmax",self.getFmax() | |
|
643 | 645 | #import time |
|
644 | 646 | #time.sleep(30) |
|
645 |
|
|
|
647 | timerange = deltatime * \ | |
|
646 | 648 | (numpy.arange(self.nFFTPoints + extrapoints) - |
|
647 |
self.nFFTPoints / 2.) |
|
|
648 | ||
|
649 | return freqrange | |
|
649 | self.nFFTPoints / 2.) | |
|
650 | #- deltafreq / 2 | |
|
651 | #print "timerange",timerange | |
|
652 | return timerange | |
|
650 | 653 | |
|
651 | 654 | def getFreqRange(self, extrapoints=0): |
|
652 | 655 |
@@ -318,7 +318,7 class ACFPlot(Figure): | |||
|
318 | 318 | |
|
319 | 319 | #z = numpy.where(numpy.isfinite(z), z, numpy.NAN) |
|
320 | 320 | shape = dataOut.data_acf.shape |
|
321 | print "shape_plot",shape | |
|
321 | #print "shape_plot",shape | |
|
322 | 322 | hei_index = numpy.arange(shape[2]) |
|
323 | 323 | hei_plot = numpy.arange(nSamples)*resFactor |
|
324 | 324 | |
@@ -348,8 +348,9 class ACFPlot(Figure): | |||
|
348 | 348 | ylabel = "Power (dB)" |
|
349 | 349 | |
|
350 | 350 | elif xaxis == "time": |
|
351 | delta= dataOut.getAcfRange()[1]-dataOut.getAcfRange()[0] | |
|
352 | x = dataOut.getAcfRange()+delta/2.0 | |
|
351 | #delta= dataOut.getAcfRange()[1]-dataOut.getAcfRange()[0] | |
|
352 | #x = dataOut.getAcfRange()+delta/2.0 | |
|
353 | x = dataOut.getAcfRange()*1000 | |
|
353 | 354 | zdB = z[channel0,:,hei_plot] |
|
354 | 355 | xlabel = "Time (ms)" |
|
355 | 356 | ylabel = "ACF" |
@@ -372,8 +373,8 class ACFPlot(Figure): | |||
|
372 | 373 | wintitle=wintitle, |
|
373 | 374 | show=show) |
|
374 | 375 | |
|
375 | if xmin == None: xmin = numpy.nanmin(x)*0.9 | |
|
376 | if xmax == None: xmax = numpy.nanmax(x)*1.1 | |
|
376 | if xmin == None: xmin = numpy.nanmin(x)#*0.9 | |
|
377 | if xmax == None: xmax = numpy.nanmax(x)#*1.1 | |
|
377 | 378 | if ymin == None: ymin = numpy.nanmin(zdB) |
|
378 | 379 | if ymax == None: ymax = numpy.nanmax(zdB) |
|
379 | 380 |
@@ -141,63 +141,26 class SpectraAFCProc(ProcessingUnit): | |||
|
141 | 141 | if self.dataIn.type == "Spectra": |
|
142 | 142 | self.dataOut.copy(self.dataIn) |
|
143 | 143 | spc = self.dataOut.data_spc |
|
144 |
|
|
|
145 |
data = numpy.fft. |
|
|
144 | data = numpy.fft.fftshift( spc, axes=(1,)) | |
|
145 | data = numpy.fft.ifft(data, axis=1) | |
|
146 | data = numpy.fft.fftshift( data, axes=(1,)) | |
|
146 | 147 | acf = numpy.abs(data) # Autocorrelacion LLAMAR A ESTE VALOR ACF |
|
147 | 148 | if real: |
|
148 | 149 | acf = data.real |
|
149 | 150 | if imag: |
|
150 | 151 | acf = data.imag |
|
151 | shape = acf.shape # nchannels, nprofiles, nsamples | |
|
152 | ||
|
153 | #import matplotlib.pyplot as plt | |
|
154 | #print "test",acf.shape | |
|
155 | #acf_tmp=acf[0,:,] | |
|
156 | #plt.plot(acf_tmp) | |
|
157 | #plt.show() | |
|
158 | #import time | |
|
159 | #time.sleep(10) | |
|
160 | ||
|
152 | shape = acf.shape # nchannels, nprofiles, nsamples //nchannles, lags , alturas | |
|
153 | ||
|
161 | 154 | for j in range(shape[0]): |
|
162 |
for i in range(shape[ |
|
|
163 | tmp = numpy.argmax(acf[j,:,i]) | |
|
164 | if i>30: | |
|
165 | value = (acf[j,:,i][tmp+3]+acf[j,:,i][tmp+4])/2.0 | |
|
166 | acf[j,:,i][tmp] = value | |
|
167 | acf[j,:,i][tmp-1] = value | |
|
168 | acf[j,:,i][tmp+1] = value | |
|
169 | acf[j,:,i][tmp-2] = value | |
|
170 | acf[j,:,i][tmp+2] = value | |
|
171 | ||
|
172 | import scipy as sp | |
|
173 | from scipy import signal | |
|
174 | #acf[3,:,i] = sp.signal.medfilt(acf[3,:,i],21) | |
|
175 | ||
|
176 | ||
|
177 | ||
|
178 | #print numpy.argmax(acf[0,:,85]) | |
|
179 | #import matplotlib.pyplot as plt | |
|
180 | #plt.plot(acf[0,:,85]) | |
|
181 | #a= acf[0,:,85] | |
|
182 | #b= acf[0,:,0] | |
|
183 | #print a[200],a[198],a[199], a[201],a[202],a[203] | |
|
184 | #plt.show() | |
|
185 | #import time | |
|
186 | #time.sleep(10) | |
|
187 | ||
|
188 | ||
|
155 | for i in range(shape[2]): | |
|
156 | tmp = shape[1]/2 | |
|
157 | value = (acf[j,:,i][tmp-1]+acf[j,:,i][tmp+1])/2.0 | |
|
158 | acf[j,:,i][tmp] = value | |
|
189 | 159 | # Normalizando |
|
190 | 160 | for i in range(shape[0]): |
|
191 | 161 | for j in range(shape[2]): |
|
192 | 162 | acf[i,:,j]= acf[i,:,j] / numpy.max(numpy.abs(acf[i,:,j])) |
|
193 | 163 | |
|
194 | #import matplotlib.pyplot as plt | |
|
195 | #plt.plot(acf[0,:,85]) | |
|
196 | #plt.show() | |
|
197 | #import time | |
|
198 | #time.sleep(20) | |
|
199 | ||
|
200 | ||
|
201 | 164 | self.dataOut.data_acf = acf |
|
202 | 165 | return True |
|
203 | 166 |
@@ -1316,8 +1316,7 class SSheightProfiles(Operation): | |||
|
1316 | 1316 | for i in range(self.buffer.shape[1]): |
|
1317 | 1317 | #self.buffer[:,i] = numpy.flip(dataOut.data[:,i*self.step:i*self.step + self.nsamples]) |
|
1318 | 1318 | self.buffer[:,i] = dataOut.data[:,i*self.step:i*self.step + self.nsamples] |
|
1319 | ||
|
1320 | #self.buffer[:,j,self.__nHeis-j*self.step - self.nheights:self.__nHeis-j*self.step] = numpy.flip(dataOut.data[:,j*self.step:j*self.step + self.nheights]) | |
|
1319 | #self.buffer[:,j,self.__nHeis-j*self.step - self.nheights:self.__nHeis-j*self.step] = numpy.flip(dataOut.data[:,j*self.step:j*self.step + self.nheights]) | |
|
1321 | 1320 | |
|
1322 | 1321 | for j in range(self.buffer.shape[0]): |
|
1323 | 1322 | self.sshProfiles[j] = numpy.transpose(self.buffer[j]) |
@@ -1325,6 +1324,7 class SSheightProfiles(Operation): | |||
|
1325 | 1324 | profileIndex = self.nsamples |
|
1326 | 1325 | deltaHeight = dataOut.heightList[1] - dataOut.heightList[0] |
|
1327 | 1326 | ippSeconds = (deltaHeight*1.0e-6)/(0.15) |
|
1327 | #print "ippSeconds",ippSeconds | |
|
1328 | 1328 | try: |
|
1329 | 1329 | if dataOut.concat_m is not None: |
|
1330 | 1330 | ippSeconds= ippSeconds/float(dataOut.concat_m) |
@@ -74,9 +74,10 if __name__ == '__main__': | |||
|
74 | 74 | # procUnitConfObj1SPC.addParameter(name='pairsList', value='(1,0),(3,2),(5,4),(7,6)', format='pairsList') |
|
75 | 75 | |
|
76 | 76 | opObj11 = procUnitConfObj1SPC.addOperation(name='IncohInt', optype='other') |
|
77 |
opObj11.addParameter(name='timeInterval', value=' |
|
|
77 | opObj11.addParameter(name='timeInterval', value='10', format='int') | |
|
78 | 78 | |
|
79 | 79 | procUnitConfObj2SPC = controllerObj.addProcUnit(datatype='SpectraAFCProc', inputId=procUnitConfObj1SPC.getId()) |
|
80 | procUnitConfObj2SPC.addParameter(name='real', value='1', format='int') | |
|
80 | 81 | |
|
81 | 82 | opObj11 = procUnitConfObj1SPC.addOperation(name='SpectraPlot', optype='other') |
|
82 | 83 | opObj11.addParameter(name='id', value='1', format='int') |
@@ -113,8 +114,8 if __name__ == '__main__': | |||
|
113 | 114 | opObj11.addParameter(name='wintitle', value = 'October 2019', format='str') |
|
114 | 115 | opObj11.addParameter(name='xaxis', value='time', format='str') |
|
115 | 116 | opObj11.addParameter(name='channel', value='0', format='int') |
|
116 |
opObj11.addParameter(name='nSampleList', value='( |
|
|
117 |
opObj11.addParameter(name='resolutionFactor', value=' |
|
|
117 | #opObj11.addParameter(name='nSampleList', value='(50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70)', format='intList') | |
|
118 | opObj11.addParameter(name='resolutionFactor', value='15', format='int') | |
|
118 | 119 | #opObj11.addParameter(name='zmin', value=0.5, format='int') |
|
119 | 120 | #opObj11.addParameter(name='zmax', value=-0.5, format='int') |
|
120 | 121 | #opObj11.addParameter(name='ymin', value='0', format='int') |
General Comments 0
You need to be logged in to leave comments.
Login now