コード例 #1
0
ファイル: RotMeasTest.py プロジェクト: nkern/capo
    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):
    QiUsim_rm.append(np.fft.fft(QiUsim_l2[i]))
    RM_samp.append(np.fft.fftfreq(len(spec), l2[i][1] - l2[i][0]) * RMT.twopi)
#plot3(RM_samp,np.abs(QiUsim_rm),RMlabel,'RM $(m^{-2})$','FFTed')

#TEST THE DFT METHOD

RM_samp, W = RMT.RMTmat(fq)
for i, spec in enumerate(QiUsim):
    QiUsim_rm[i] = RMT.RMT(spec, W)
plot3(RM_samp, np.abs(QiUsim_rm), RMlabel, '$RM (m^2)$ ', 'DFT')

there_and_back_again = []
fuck_ups = []
iW = RMT.iRMTmat(fq)
for i, spec in enumerate(QiUsim_rm):
    there_and_back_again.append(RMT.iRMT(spec, iW))
    fuck_ups.append(there_and_back_again[-1] / QiUsim[i])

plot3(fq, there_and_back_again, RMlabel, 'Frequency (GHz)', 'iDFT')

plot3(fq, np.abs(fuck_ups), RMlabel, 'Frequency (GHz)',
      'Recovered / Original [amp]')
plot3(fq, np.angle(fuck_ups), RMlabel, 'Frequency (GHz)',
      'Recovered / Original [phase]')
コード例 #2
0
              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,
              axes=('ra--sin', 'dec--sin', 'freq'),
              ra=kwds['ra'],
              dec=kwds['dec'],
              d_ra=kwds['d_ra'],
              d_dec=kwds['d_dec'],