} aprtr = APR.Aperture(pol_type=ant_pol_type, kernel_type=ant_kerntype, shape=ant_kernshape, parms=ant_kernshapeparms, lkpinfo=ant_lookupinfo, load_lookup=True) ants = [] aar = AA.AntennaArray() # for ai in xrange(nant): for ai in select_ant_ind: ant = AA.Antenna('{0}'.format(ant_id[ai]), '0', latitude, longitude, antpos[ai, :], f0, nsamples=nchan, aperture=aprtr) ant.f = channels ants += [ant] aar = aar + ant aar.pairTypetags() aar.grid(uvspacing=0.4, xypad=2.0 * NP.max([ant_sizex, ant_sizey])) antpos_info = aar.antenna_positions(sort=True, centering=True) MOFF_tbinsize = None max_ntimes = 256 dstream = DI.DataStreamer()
(NP.abs(antpos[:, 1]) < max_antenna_radius)) # core_ind = NP.logical_and((NP.abs(antpos[:,0]) <= NP.max(NP.abs(antpos[:,0]))), (NP.abs(antpos[:,1]) < NP.max(NP.abs(antpos[:,1])))) antid = antid[core_ind] antpos = antpos[core_ind, :] ant_info = NP.hstack((antid.reshape(-1, 1), antpos)) n_antennas = ant_info.shape[0] ant_data = ant_data[:, core_ind, :, :] with PyCallGraph(output=graphviz, config=config): ants = [] aar = AA.AntennaArray() for i in xrange(n_antennas): ant = AA.Antenna('{0:0d}'.format(int(ant_info[i, 0])), lat, ant_info[i, 1:], f0, nsamples=nts) ant.f = ant.f0 + DSP.spectax(2 * nts, dt, shift=True) ants += [ant] aar = aar + ant aar.grid() antpos_info = aar.antenna_positions(sort=True) if max_n_timestamps is None: max_n_timestamps = len(timestamps) else: max_n_timestamps = min(max_n_timestamps, len(timestamps))
echan = 963 max_antenna_radius = 75.0 antid = hdulist['Antenna Positions'].data['Antenna'] antpos = hdulist['Antenna Positions'].data['Position'] # antpos -= NP.mean(antpos, axis=0).reshape(1,-1) core_ind = NP.logical_and((NP.abs(antpos[:, 0]) < max_antenna_radius), (NP.abs(antpos[:, 1]) < max_antenna_radius)) # core_ind = NP.logical_and((NP.abs(antpos[:,0]) <= NP.max(NP.abs(antpos[:,0]))), (NP.abs(antpos[:,1]) < NP.max(NP.abs(antpos[:,1])))) ant_info = NP.hstack((antid[core_ind].reshape(-1, 1), antpos[core_ind, :])) n_antennas = ant_info.shape[0] ants = [] for i in xrange(n_antennas): ants += [ AA.Antenna('{0:0d}'.format(int(ant_info[i, 0])), lat, ant_info[i, 1:], f0) ] aar = AA.AntennaArray() for ant in ants: aar = aar + ant antpos_info = aar.antenna_positions() timestamps = hdulist['TIMESTAMPS'].data['timestamp'] if max_n_timestamps is None: max_n_timestamps = len(timestamps) else: max_n_timestamps = min(max_n_timestamps, len(timestamps)) timestamps = timestamps[:max_n_timestamps]
kernel_type=ant_kerntype, shape=ant_kernshape, parms=ant_kernshapeparms, lkpinfo=ant_lookupinfo, load_lookup=True) if identical_antennas: ant_aprtrs = [ant_aprtr] * n_antennas # ant_info[:,3]=0.0 #### COMMENT OUT WHEN RUNNING FOR REAL! # Set up antenna array ants = [] aar = AA.AntennaArray() for i in xrange(n_antennas): ant = AA.Antenna('{0:0d}'.format(int(ant_info[i, 0])), lat, ant_info[i, 1:], f0, nsamples=nts, aperture=ant_aprtrs[i]) ant.f = ant.f0 + DSP.spectax(2 * nts, dt, shift=True) ants += [ant] aar = aar + ant aar.grid(uvspacing=0.25, xypad=2 * NP.max([ant_sizex, ant_sizey])) antpos_info = aar.antenna_positions(sort=True, centering=True) # Select time steps if max_n_timestamps is None: max_n_timestamps = len(timestamps) else: max_n_timestamps = min(max_n_timestamps, len(timestamps))
ant_info = NP.loadtxt(antenna_file, skiprows=6, comments='#', usecols=(0,1,2,3)) ant_info[:,1] -= NP.mean(ant_info[:,1]) ant_info[:,2] -= NP.mean(ant_info[:,2]) #ant_info[:,3] -= NP.mean(ant_info[:,3]) ant_info[:,3] = 0.0 core_ind = NP.logical_and((NP.abs(ant_info[:,1]) < 150.0), (NP.abs(ant_info[:,2]) < 150.0)) ant_info = ant_info[core_ind,:] n_antennas = ant_info.shape[0] # set up antenna array ants = [] for i in xrange(n_antennas): ants += [AA.Antenna('A'+'{0:d}'.format(int(ant_info[i,0])),lat,ant_info[i,1:],f0)] # build antenna array aar = AA.AntennaArray() for ant in ants: aar = aar + ant antpos_info = aar.antenna_positions(sort=True) nchan = 4 f_center = f0 channel_width = 40e3 bandwidth = nchan * channel_width dt = 1/bandwidth freqs = arange(f0-nchan/2*channel_width,f0+nchan/2*channel_width,channel_width)
ant_seed = 10 randstate = NP.random.RandomState(ant_seed) randint = NP.sort( randstate.choice(ant_info2.shape[0], final_n_antennas, replace=False)) ant_info2 = ant_info2[randint, :] ant_id2 = ant_id2[randint] n_antennas = ant_info2.shape[0] for ti in nts: ants = [] aar = AA.AntennaArray() for ai in xrange(n_antennas): ant = AA.Antenna('{0:0d}'.format(int(ant_id2[ai])), 0.0, ant_info2[ai, :], f0, nsamples=ti) ant.f = ant.f0 + DSP.spectax( 2 * ti, 1 / (2 * ti * freq_resolution), shift=True) ants += [ant] aar = aar + ant aar.grid(xypad=2 * NP.max([ant_sizex, ant_sizey])) du = aar.gridu[0, 1] - aar.gridu[0, 0] dv = aar.gridv[1, 0] - aar.gridv[0, 0] dxdy = du * dv * (FCNST.c / aar.f.max())**2 if layout.split('-')[0] == 'MWA': fillfrac = n_antennas * ant_sizex * ant_sizey / ( dxdy * aar.gridu.size) * 100 elif layout.split('-')[0] == 'HEX':
parms=ant_kernshapeparms, lkpinfo=ant_lookupinfo, load_lookup=True) if identical_antennas: ant_aprtrs = [ant_aprtr] * n_antennas # Set up antenna array ants = [] aar = AA.AntennaArray() for i in xrange(n_antennas): if i in flags: continue ant = AA.Antenna('{0:0d}'.format(int(ant_info[i, 0])), '0', lat0, lon0, ant_info[i, 1:], f0, nsamples=nchan, aperture=ant_aprtrs[i]) ant.f = channels ants += [ant] aar = aar + ant aar.grid(uvspacing=0.4, xypad=2 * np.max([ant_sizex, ant_sizey])) antpos_info = aar.antenna_positions(sort=True, centering=True) # Select time steps if max_n_timestamps is None: max_n_timestamps = ntimes else: max_n_timestamps = min(max_n_timestamps, ntimes)