def plotProjections(m): d = numpy.array(m.vect()) d.shape = m.nx, m.ny xproj = d.sum(axis=1) yproj = d.sum(axis=0) pyxplot.vect(numpy.arange(len(xproj)), xproj, "o/xproj.eps", xlabel=r"$x_i$", ylabel=r"$\sum_i b_i$ ") pyxplot.vect(numpy.arange(len(yproj)), yproj, "o/yproj.eps", xlabel=r"$y_i$", ylabel=r"$\sum_i b_i$ ") return xproj, yproj
def PlotElScan(fnamein, fnameout ): eloff, tant, modtant = LoadElScanData(fnamein) pyxplot.vect( [ eloff, eloff], [ tant, modtant], fnameout, yax=pyxplot.axis(r"$T_{\rm Ant}\,({\rm K})$", xmin=82, xmax=90), xax=pyxplot.axis(r"$\delta E\,({\rm arcmin})$",xmin=-1.5, xmax=1.5), multi=True)
def CmpRandomV2(): obsd=pyfits.open("moonscand/obs79.fits")[1].data m250 = pyfits.open("moonscand/model500rms.fits")[1].data pyxplot.vect( [ obsd.field("dx") , m250.field("dx")] , [ obsd.field("fnu") - obsd.field("fnu").max() , m250.field("fnu") - m250.field("fnu").max()] , "plots/moonscanrandcom.eps", xax=pyxplot.axis("Azimuth Offset (arcmin)", xmin=None, xmax=None), yax=pyxplot.axis("Rel Gain (B)"), multi=1, width=pyxplot.THESIS)
def PlotModDataR(modname, fnameout): obsd=pyfits.open("moonscand/obs75-right.fits")[1].data m250 = pyfits.open(modname)[1].data pyxplot.vect( [ obsd.field("dx") , m250.field("dx")] , [ obsd.field("fnu") - obsd.field("fnu").max() , m250.field("fnu") - m250.field("fnu").max()] , fnameout, xax=pyxplot.axis("Azimuth Offset (arcmin)", xmin=None, xmax=None), yax=pyxplot.axis("Rel Gain (B)"), multi=1, width=pyxplot.THESIS)
def PlotObsData(): dnorm= pyfits.open("moonscand/obs75_full.fits")[1].data drand= pyfits.open("moonscand/obs79_full.fits")[1].data pyxplot.vect( [ dnorm.field("dx") , drand.field("dx")] , [ dnorm.field("fnu") - dnorm.field("fnu").max() , drand.field("fnu") - drand.field("fnu").max()] , "plots/obsdata.eps", xax=pyxplot.axis("Azimuth Offset (arcmin)", xmin=None, xmax=None), yax=pyxplot.axis("Rel Gain (B)", xmin=-3), multi=1, width=pyxplot.THESIS)
def PlotSignal(fnamein, pixel_l, fnameout, hdu=1, trange=None): din = pyfits.open(fnamein)[hdu].data xv, yv = [], [] for c, r in pixel_l: mask = SelectCR(din, c, r) time = din.field("time") if trange is not None: mask = numarray.logical_and(mask, time >= trange[0]) mask = numarray.logical_and(mask, time < trange[1]) xv.append(time[mask]) yv.append(din.field("fnu")[mask]) pyxplot.vect(xv, yv, fnameout, multi=True, xax=pyxplot.axis(r"$t\,$(s)"), yax=pyxplot.axis(r"$F_{\nu}$"))
def PlotSFN(r, fnameout, fid, **kwargs): mask = numarray.logical_and( r[:,1] > 0, r[:,2] > 0) xvals= r[:,0] yvals= (r[:,1])[mask]/(r[:,2])[mask] m2= (xvals > 0) yfid= 6.88* (xvals[m2]/float(fid))**(2.0/3) pyxplot.vect( [xvals[mask], xvals[m2] ], [yvals, yfid ], fnameout, xax=pyxplot.axis(r"$d$", type="log"), yax=pyxplot.axis(r"$D(d)$", type="log", xmax=12), multi=True)
def PlotF( fnamelist, fnameout="plots/ruze.eps"): xvv, yvv = [] , [] for fname in fnamelist: data=GetData(fname) xvv.append( data[0] ) yvv.append( data[1] ) print data[1].max() , data[1].min() pyxplot.vect( xvv, yvv, fnameout, xax=pyxplot.axis("Azimuth Offset (arcmin)", xmin=-2, xmax=1), yax=pyxplot.axis("Antenna T / Cal T"), multi=1, width=pyxplot.THESIS)