#yticks([]) xlabel(xlabels) suptitle(title) #subplots_adjust(hspace=0) draw() nfig += 1 #GENERATE A FEW SIMULATED SPECTRA fq = np.linspace(0.1, 0.2, 512) RMsim = [10., np.sqrt(200.)] RMlabel = ['$10\ m^{-2}$', '10$\sqrt{2}\ m^{-2}$', 'Sum'] QiUsim = [] for r in RMsim: QiUsim.append(RMT.gen_rm_spec(fq, r)) QiUsim.append(np.sum(QiUsim, axis=0) / 2.) plot3(fq, QiUsim, RMlabel, 'Frequency (GHz)', 'Simulated Spectra $\Re\{Q + iU\}$') ##TEST THE REBIN/FFT METHOD l2, QiUsim_l2 = [], [] for i, spec in enumerate(QiUsim): l2i, spec_l2 = RMT.rebin_nu2lam2(fq, spec) l2.append(l2i) QiUsim_l2.append(spec_l2) #plot3(l2,QiUsim_l2,RMlabel,'$\lambda^2\ (m^2)$ ','Rebinned into $\lambda^2$') RM_samp, QiUsim_rm = [], []
import numpy as np import RotMeasTools as RMT from pylab import * N = 15 fq = np.linspace(0.12, 0.18, N) W = RMT.gen_RMtau_ker(fq) Wt = RMT.gen_RMtau_ker(fq, inv=True).T print W.shape, Wt.shape KER = np.dot(Wt, W) TEST = np.dot(W, Wt) figure() subplot(311) imshow(np.abs(KER)) subplot(312) INV = np.linalg.inv(KER) imshow(np.abs(INV)) subplot(313) one = np.dot(INV, KER) imshow(np.abs(one)) draw() figure() TEST2 = np.zeros((N, N)) TEST2[N / 2, N / 2] = 1. TEST2 = TEST2.flatten()
import numpy as np from aipy import dsp import RotMeasTools as RMT from pylab import * import pspec c = 0.3 #m/ns twopi = 2.*np.pi N = 512 fq = np.linspace(0.1,0.2,N) L2 = RMT.better_guess_l2(fq) Rms,W = RMT.RMTmat(fq) plot_me = np.zeros((N,N),dtype=np.complex) delays = np.fft.fftshift(np.fft.fftfreq(N,fq[1]-fq[0])) wgt = dsp.gen_window(N,window='blackman-harris') Rm0 = 5. for i,Rm in enumerate(Rms): QiUi = RMT.gen_rm_spec(fq,Rm+Rm0) plot_me[:,i] = np.fft.fftshift(np.fft.ifft(QiUi*wgt)) plot_me1 = plot_me*np.conjugate(plot_me) plot_me1 = plot_me1.real plot_me1 /= np.max(plot_me1) figure(0) imshow(10.*np.log10(plot_me1),aspect='auto',interpolation='nearest', extent=[delays[0],delays[-1],Rms[-1],Rms[0]], vmax=0,vmin=-100) ylabel('Rotation Measure [$m^{-2}$]')
freq=fq[Nchan / 2], d_freq=fq[1] - fq[0]) a.img.to_fits('Fq_cube_U_1:00_-30.fits', Pcube.imag, clobber=True, axes=('ra--sin', 'dec--sin', 'freq'), ra=kwds['ra'], dec=kwds['dec'], d_ra=kwds['d_ra'], d_dec=kwds['d_dec'], freq=fq[Nchan / 2], d_freq=fq[1] - fq[0]) #Do the RM transform print "Beginning Rotation Measure Synthesis" RMs, W = RMT.RMTmat(fq) RMcube = np.zeros_like(Pcube) for i in range(Nra): for j in range(Ndec): RMcube[:, i, j] = RMT.RMT(Pcube[:, i, j], W) t2 = time.time() print "\t --- Done in %3.3f s" % (t2 - t1) plot(RMs, RMcube[:, Nra / 2, Ndec / 2].real) show() print "Writing to FITS file" a.img.to_fits('RM_cube_real_1:00_-30.fits', RMcube.real, clobber=True,
import numpy as np import RotMeasTools as RMT from pylab import * N = 15 fq = np.linspace(0.12,0.18,N) W = RMT.gen_RMtau_ker(fq) Wt= RMT.gen_RMtau_ker(fq,inv=True).T print W.shape,Wt.shape KER = np.dot(Wt,W) TEST = np.dot(W,Wt) figure() subplot(311) imshow(np.abs(KER)) subplot(312) INV = np.linalg.inv(KER) imshow(np.abs(INV)) subplot(313) one = np.dot(INV,KER) imshow(np.abs(one)) draw() figure() TEST2 = np.zeros((N,N)) TEST2[N/2,N/2] = 1. TEST2 = TEST2.flatten()
#yticks([]) xlabel(xlabels) suptitle(title) #subplots_adjust(hspace=0) draw() nfig += 1 #GENERATE A FEW SIMULATED SPECTRA fq = np.linspace(0.1,0.2,512) RMsim = [10.,np.sqrt(200.)] RMlabel = ['$10\ m^{-2}$','10$\sqrt{2}\ m^{-2}$','Sum'] QiUsim = [] for r in RMsim: QiUsim.append(RMT.gen_rm_spec(fq,r)) QiUsim.append(np.sum(QiUsim,axis=0)/2.) plot3(fq,QiUsim,RMlabel,'Frequency (GHz)','Simulated Spectra $\Re\{Q + iU\}$') ##TEST THE REBIN/FFT METHOD l2,QiUsim_l2 = [],[] for i,spec in enumerate(QiUsim): l2i,spec_l2 = RMT.rebin_nu2lam2(fq,spec) l2.append(l2i) QiUsim_l2.append(spec_l2) #plot3(l2,QiUsim_l2,RMlabel,'$\lambda^2\ (m^2)$ ','Rebinned into $\lambda^2$') RM_samp,QiUsim_rm = [],[] for i,spec in enumerate(QiUsim_l2):