def __init__ (self,filenames,y=True,hier_interpol=True,spline_order=3,theta_step=1,phi_step=1,rotate=0,verbose=0): self._spline_order = spline_order; self._ampl_interpol = True; self._theta_step = theta_step; self._rotate = rotate*DEG; _verbosity.set_verbose(verbose); self.read(filenames,y=y);
def __init__(self, filenames, y=True, hier_interpol=True, spline_order=3, theta_step=1, phi_step=1, rotate=0, rotate_xy=True, proj_theta=False, normalization_factor=1, verbose=0): InterpolatedVoltageBeam.__init__(self, spline_order=spline_order, hier_interpol=hier_interpol) self._theta_step = theta_step self._phi_step = phi_step self._rotate = rotate * DEG self._freq_warning = False _verbosity.set_verbose(verbose) if verbose: _verbosity.enable_timestamps(True) self.read(filenames, y=y, rotate_xy=rotate_xy, proj_theta=proj_theta, normalization_factor=normalization_factor)
def __init__ (self,filenames,y=True,hier_interpol=True,spline_order=3,theta_step=1,phi_step=1,rotate=0, rotate_xy=True,proj_theta=False,normalization_factor=1,verbose=0): InterpolatedVoltageBeam.__init__(self,spline_order=spline_order,hier_interpol=hier_interpol); self._theta_step = theta_step; self._phi_step = phi_step; self._rotate = rotate*DEG; self._freq_warning = False; _verbosity.set_verbose(verbose); if verbose: _verbosity.enable_timestamps(True); self.read(filenames,y=y,rotate_xy=rotate_xy,proj_theta=proj_theta,normalization_factor=normalization_factor);
beam = beam.reshape(beam.shape[:len(used_axes)]) beamcube[:, :, ifreq] = beam[:, :, 0] # done reading the beam cube dprint(1, "beam array has shape", beamcube.shape) dprint(2, "l grid is", self._axes.grid(laxis)) dprint(2, "m grid is", self._axes.grid(maxis)) dprint(2, "freq grid is", freqs) self.setFreqGrid(freqs) freqmap = interpolate.interp1d(freqs, range(len(freqs)), 'linear') # prefilter beam for interpolator self.setBeamCube(beamcube, lmap=lmap, mmap=mmap, freqmap=freqmap) if __name__ == "__main__": import sys _verbosity.set_verbose(5) vb = MultifreqFITSVoltageBeam(spline_order=3) vb.read([("mk_1455MHz_feed_5deg_xxreal.fits", "mk_1455MHz_feed_5deg_xximag.fits"), ("mk_1460MHz_feed_5deg_xxreal.fits", "mk_1460MHz_feed_5deg_xximag.fits")]) l0 = numpy.array([-2, 0, 2]) * DEG l = numpy.vstack([l0] * len(l0)) a = vb.interpolate(l, l.T, freq=[1.456e+9], freqaxis=2) b = vb.interpolate(l, l.T, freq=[1.456e+9, 1.457e+9, 1.458e+9], freqaxis=2) c = vb.interpolate(l, l.T, freq=[1.455e+9, 1.457e+9, 1.458e+9, 1.46e+9],
beam = beam.reshape(beam.shape[:len(used_axes)]); beamcube[:,:,ifreq] = beam[:,:,0]; # done reading the beam cube dprint(1,"beam array has shape",beamcube.shape); dprint(2,"l grid is",self._axes.grid(laxis)); dprint(2,"m grid is",self._axes.grid(maxis)); dprint(2,"freq grid is",freqs); self.setFreqGrid(freqs); freqmap = interpolate.interp1d(freqs,range(len(freqs)),'linear'); # prefilter beam for interpolator self.setBeamCube(beamcube,lmap=lmap,mmap=mmap,freqmap=freqmap); if __name__ == "__main__": import sys _verbosity.set_verbose(5); vb = MultifreqFITSVoltageBeam(spline_order=3); vb.read( [("mk_1455MHz_feed_5deg_xxreal.fits","mk_1455MHz_feed_5deg_xximag.fits"), ("mk_1460MHz_feed_5deg_xxreal.fits","mk_1460MHz_feed_5deg_xximag.fits")]); l0 = numpy.array([-2,0,2])*DEG; l = numpy.vstack([l0]*len(l0)); a = vb.interpolate(l,l.T,freq=[1.456e+9],freqaxis=2); b = vb.interpolate(l,l.T,freq=[1.456e+9,1.457e+9,1.458e+9],freqaxis=2); c = vb.interpolate(l,l.T,freq=[1.455e+9,1.457e+9,1.458e+9,1.46e+9],freqaxis=2); print "C",c.shape,c; print "B",b.shape,b;