Esempio n. 1
0
}
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()
Esempio n. 2
0
                          (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]
Esempio n. 4
0
                         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':
Esempio n. 7
0
                         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)