コード例 #1
0
ファイル: RotMeasTest.py プロジェクト: nkern/capo
        #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 = [], []
コード例 #2
0
ファイル: test_deconv.py プロジェクト: nkern/capo
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()
コード例 #3
0
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}$]')
コード例 #4
0
              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,
コード例 #5
0
ファイル: test_deconv.py プロジェクト: SaulAryehKohn/capo
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()
コード例 #6
0
ファイル: RotMeasTest.py プロジェクト: SaulAryehKohn/capo
        #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):