def Loader(self): fname = QtGui.QFileDialog.getOpenFileName(self,'Open file', 'C:/Users/pstraus/Documents') #print fname fname = str(fname) self.rawData = p2d.import2D(fname) #self.rawData.data[10,:] = 0.5 * self.rawData.data[11,:] + 0.5 * self.rawData.data[9,:] #self.rawData.data[14,:] = 0.5 * self.rawData.data[15,:] + 0.5 * self.rawData.data[13,:] self.rawData.data[:, 9] = 0.5 * self.rawData.data[:, 10] + 0.5 * self.rawData.data[:,8] self.rawData.data[:, 13] = 0.5 * self.rawData.data[:,14] + 0.5 * self.rawData.data[:,12] self.nrDataRaw, self.rDataRaw = p2d.splitRawData(self.rawData, self.Parameters) #Make sure that the tau data is a non-empty set if self.rawData.tauAxis != []: self.FileIndicator.setText("File %s Loaded successfully!" % fname) #get the default MC offset... self.set_MC_Offset() self.Parameters.centerWavelength = self.rawData.centerWavelength #Guess a good amount for the first FT TransformTime = int((min(self.rDataRaw.probeAxis) * 3e10) ** -1 * 1e15)* 230 #default transform time self.TransformTime.setText(str(TransformTime))
def Loader(self): fname = QtGui.QFileDialog.getOpenFileName(self,'Open file', 'C:/Users/pstraus/Documents') print fname fname = str(fname) self.rawData = p2d.import2D(fname) self.nrDataRaw, self.rDataRaw = p2d.splitRawData(self.rawData, self.Parameters) if self.rawData.tauAxis != []: self.label.setText("File %s Loaded successfully!" % fname)
def doFT1(self): '''Fourier transforms along the probe axis into the time domain. We can then filter out unwanted artifacts, particularly those due to the local oscillator.''' TransformTime = float(self.TransformTime.text()) NyquistMult = self.NyquistMult.value() tZero = unicode(self.FT1tZero.text()) print tZero tZero = float(tZero) self.tZeroBox.setText(self.FT1tZero.text()) self.Parameters.tZero = tZero self.Parameters.dLambda = float(self.dLambdaBox.text()) phaseGuess = float(self.phaseGuess.text()) fitVars = p2d.relPhase2D(self.rDataRaw, self.nrDataRaw, phaseGuess) self.rDataRawPhased.data = self.rDataRaw.data self.rDataRawPhased.probeAxis = self.rDataRaw.probeAxis self.rDataRawPhased.tauAxis = self.rDataRaw.tauAxis self.RelativePhaseBox.setText(str(fitVars[0])) self.Parameters.rel_phase = fitVars[0] #make a copy of rephasing data so we can phase it while keeping the raw data intact #self.rDataRawPhased.data = p2d.phaseRtoNR(self.rDataRaw.data, *fitVars) self.RelPhasePlot.axes.plot(self.rDataRaw.probeAxis, self.rDataRaw.zeroSlice(), 'b',self.rDataRaw.probeAxis, self.nrDataRaw.zeroSlice()* np.exp(2j * np.pi * fitVars[0]),'g') #self.RelPhasePlot.axes.plot(self.rDataRaw.probeAxis, self.nrDataRaw.zeroSlice()) self.RelPhasePlot.draw() #plt.figure() #plt.plot(self.rDataRawPhased.probeAxis, self.rDataRawPhased.zeroSlice(),self.nrDataRaw.probeAxis, self.nrDataRaw.zeroSlice()) #self.rData.data = p2d.phasefitfunc(self.rData.data, *fitVars) self.nrDataTime = p2d.FT1(self.nrDataRaw, tZero, NyquistMult, TransformTime) self.rDataTime = p2d.FT1(self.rDataRaw, tZero, NyquistMult, TransformTime) plt.figure() plt.plot(self.nrDataTime.probeAxis, self.nrDataTime.zeroSlice(), self.rDataTime.probeAxis, self.rDataTime.zeroSlice()* np.exp(-2j * np.pi * fitVars[0]) * fitVars[1]) plt.show()