def optimiseP(self,loP=-0.005,hiP=0.005,Pstep=0.000005): periods = numpy.arange(loP,hiP,float(Pstep)) pcurve = numpy.empty_like(periods) for jj,p in enumerate(periods): nTimePhase = numpy.empty_like(self.timePhase) delays = self.getPdelays(p) for ii in range(self.nints): nTimePhase[ii] = rollArray(self.timePhase[ii],delays[ii],0) pcurve[jj] = chisquare(nTimePhase.sum(axis=0))[0] return pcurve
def optimiseDM(self,hidm=50,lodm=-50,dmstep=1): dms = numpy.arange(lodm,hidm,float(dmstep)) dmcurve = numpy.empty_like(dms) for jj,dm in enumerate(dms): nFreqPhase = numpy.empty_like(self.freqPhase) delays = self.getDMdelays(dm) for ii in range(self.nbands): nFreqPhase[ii] = rollArray(self.freqPhase[ii],delays[ii],0) dmcurve[jj] = chisquare(nFreqPhase.sum(axis=0))[0] return dmcurve