From b323193ace396286d23e29911c22b021663f5642 2018-01-11 18:41:07 From: jespinoza Date: 2018-01-11 18:41:07 Subject: [PATCH] Fix saving shifted pdata, add shift_fft parameter in SpectraProc to correct shifted pdata --- diff --git a/schainpy/model/io/jroIO_spectra.py b/schainpy/model/io/jroIO_spectra.py index d4f55df..bebef63 100644 --- a/schainpy/model/io/jroIO_spectra.py +++ b/schainpy/model/io/jroIO_spectra.py @@ -263,7 +263,7 @@ class SpectraReader(JRODataReader, ProcessingUnit): dc = dc.reshape( (self.systemHeaderObj.nChannels, self.processingHeaderObj.nHeights) ) #transforma a un arreglo 2D - if not(self.processingHeaderObj.shif_fft): + if self.processingHeaderObj.shif_fft: #desplaza a la derecha en el eje 2 determinadas posiciones shift = int(self.processingHeaderObj.profilesPerBlock/2) spc = numpy.roll( spc, shift , axis=2 ) @@ -510,7 +510,7 @@ class SpectraWriter(JRODataWriter, Operation): """ spc = numpy.transpose( self.data_spc, (0,2,1) ) - if not( self.processingHeaderObj.shif_fft ): + if self.processingHeaderObj.shif_fft: spc = numpy.roll( spc, self.processingHeaderObj.profilesPerBlock/2, axis=2 ) #desplaza a la derecha en el eje 2 determinadas posiciones data = spc.reshape((-1)) data = data.astype(self.dtype[0]) @@ -519,7 +519,7 @@ class SpectraWriter(JRODataWriter, Operation): if self.data_cspc is not None: data = numpy.zeros( self.shape_cspc_Buffer, self.dtype ) cspc = numpy.transpose( self.data_cspc, (0,2,1) ) - if not( self.processingHeaderObj.shif_fft ): + if self.processingHeaderObj.shif_fft: cspc = numpy.roll( cspc, self.processingHeaderObj.profilesPerBlock/2, axis=2 ) #desplaza a la derecha en el eje 2 determinadas posiciones data['real'] = cspc.real data['imag'] = cspc.imag diff --git a/schainpy/model/proc/jroproc_spectra.py b/schainpy/model/proc/jroproc_spectra.py index dff41e9..d4285a6 100644 --- a/schainpy/model/proc/jroproc_spectra.py +++ b/schainpy/model/proc/jroproc_spectra.py @@ -116,7 +116,7 @@ class SpectraProc(ProcessingUnit): self.dataOut.blockSize = blocksize self.dataOut.flagShiftFFT = True - def run(self, nProfiles=None, nFFTPoints=None, pairsList=[], ippFactor=None): + def run(self, nProfiles=None, nFFTPoints=None, pairsList=[], ippFactor=None, shift_fft=False): self.dataOut.flagNoData = True @@ -126,6 +126,15 @@ class SpectraProc(ProcessingUnit): pairsList = itertools.combinations(self.dataOut.channelList, 2) if self.dataOut.data_cspc is not None: self.__selectPairs(pairsList) + if shift_fft: + #desplaza a la derecha en el eje 2 determinadas posiciones + shift = int(self.dataOut.nFFTPoints/2) + self.dataOut.data_spc = numpy.roll(self.dataOut.data_spc, shift , axis=1) + + if self.dataOut.data_cspc is not None: + #desplaza a la derecha en el eje 2 determinadas posiciones + self.dataOut.data_cspc = numpy.roll(self.dataOut.cspc, shift, axis=1) + return True if self.dataIn.type == "Voltage":