subdelays2 = psr_utils.delay_from_DM(fold_pfd.bestdm, sumsubfreqs) - \ psr_utils.delay_from_DM(fold_pfd.bestdm, sumsubfreqs_hi) else: fold_pfd.subfreqs = Num.asarray([0.0]) sumsubfreqs = Num.asarray([0.0]) sumsubdelays = Num.asarray([0.0]) subdelays2 = Num.asarray([0.0]) sumsubdelays_phs = Num.asarray([0.0]) # Read the template profile if templatefilenm is not None: template = psr_utils.read_profile(templatefilenm, normalize=1) else: if (gaussfitfile): template = psr_utils.read_gaussfitfile(gaussfitfile, fold_pfd.proflen) else: template = psr_utils.gaussian_profile(fold_pfd.proflen, 0.0, gaussianwidth) template = template / max(template) #from Pgplot import * #plotxy(template) #closeplot() # Determine the Telescope used if (not fold.topo): obs = '@' # Solarsystem Barycenter else: try: if t2format: obs = scopes2[fold_pfd.telescope.split()[0]] else: obs = scopes[fold_pfd.telescope.split()[0]]
if o in ("-s", "--sefd"): SEFD = float(a) print("Creating a summed profile of length %d bins using DM = %f" % (numbins, DM)) # Read the template profile or create an appropriate Gaussian if templatefilenm is not None: template = psr_utils.read_profile(templatefilenm) # Resample the template profile to have the correct number of bins (if required) if not len(template) == numbins: oldlen = len(template) template = sinc_interp.periodic_interp(template, numbins)[::oldlen] else: if gaussfitfile is not None: template = psr_utils.read_gaussfitfile(gaussfitfile, numbins) else: template = psr_utils.gaussian_profile(numbins, 0.0, gaussianwidth) # Normalize it template -= min(template) template /= max(template) # Rotate it so that it becomes a "true" template according to FFTFIT shift, eshift, snr, esnr, b, errb, ngood = measure_phase( template, template) template = psr_utils.fft_rotate(template, shift) # Determine the off-pulse bins if bkgd_vals is not None: Pgplot.plotxy(template, labx="Phase bins") Pgplot.plotxy(template[bkgd_vals], Num.arange(numbins)[bkgd_vals],