from SSINS import SS from SSINS import Catalog_Plot as cp import argparse parser = argparse.ArgumentParser() parser.add_argument('obs') parser.add_argument('inpath') parser.add_argument('outpath') args = parser.parse_args() read_kwargs = {'ant_str': 'cross', 'file_type': 'uvfits'} MF_kwargs = { 'sig_thresh': 5, 'shape_dict': { 'TV6': [1.74e8, 1.81e8], 'TV7': [1.81e8, 1.88e8], 'TV8': [1.88e8, 1.95e8] }, 'N_thresh': 20 } ss = SS(obs=args.obs, inpath=args.inpath, outpath=args.outpath, read_kwargs=read_kwargs, bad_time_indices=[0, -1, -2, -3]) ss.MF_prepare(**MF_kwargs) cp.MF_plot(ss.MF)
parser.add_argument('obs') parser.add_argument('inpath') parser.add_argument('outpath') args = parser.parse_args() ss = SS(inpath=args.inpath, outpath=args.outpath, obs=args.obs, flag_choice='original', bad_time_indices=[0, -1, -2, -3, -4, -5], read_kwargs={'ant_str': 'cross'}) ss.INS_prepare() ss.INS.save() cp.INS_plot(ss.INS) for sig_thresh in [5, 10, 20, 40, 80]: ss.MF_prepare(sig_thresh=sig_thresh, N_thresh=15, shape_dict={ 'TV6': [1.74e8, 1.81e8], 'TV7': [1.81e8, 1.88e8], 'TV8': [1.88e8, 1.95e8], 'broad6': [1.72e8, 1.83e8], 'broad7': [1.79e8, 1.9e8], 'broad8': [1.86e8, 1.97e8] }) ss.MF.apply_match_test() cp.INS_plot(ss.INS, sig_thresh=sig_thresh) del ss.INS del ss.MF ss.INS_prepare()
} ss.INS_prepare() ss.INS.save() cp.INS_plot(ss.INS, ms_vmin=-5, ms_vmax=5, vmin=0, vmax=0.03, aspect=ss.UV.Nfreqs / ss.UV.Ntimes) ss.INS.data[:, 0, :82] = np.ma.masked ss.INS.data[:, 0, -21:] = np.ma.masked ss.INS.data_ms = ss.INS.mean_subtract(order=1) ss.MF_prepare(sig_thresh=5, N_thresh=20, shape_dict=shape_dict) ss.MF.apply_match_test(apply_N_thresh=True, order=1) ss.INS.data[ss.INS.data > 0.03] = np.ma.masked ss.INS.data_ms = ss.INS.mean_subtract(order=0) ss.INS.save() cp.MF_plot(ss.MF, ms_vmin=-5, ms_vmax=5, vmin=0, vmax=0.03, aspect=ss.UV.Nfreqs / ss.UV.Ntimes) ss.apply_flags(choice='INS', INS=ss.INS) ss.UV.data_array.mask[:, auto_bls] = True
sys.stdout.write("Finished reading in observation at %s" % time.strftime("%H:%M:%S")) sys.stdout.write("Beginning flagging at %s" % time.strftime("%H:%M:%S")) auto_bls = ss.UV.ant_1_array[:ss.UV.Nbls] == ss.UV.ant_2_array[:ss.UV.Nbls] custom = np.copy(ss.UV.flag_array) custom[:, auto_bls] = 1 custom[-4:-1] = 1 ss.apply_flags(choice='custom', custom=custom) ss.MF_prepare(sig_thresh=5, shape_dict={ 'TV6': [1.74e8, 1.81e8], 'TV7': [1.81e8, 1.88e8], 'TV8': [1.88e8, 1.95e8], 'TV7_broad': [1.79e8, 1.9e8] }) ss.MF.apply_match_test() ss.apply_flags(choice='INS', INS=ss.INS) sys.stdout.write("Done with flagging at %s" % time.strftime("%H:%M:%S")) sys.stdout.write("Beginning writing at %s" % time.strftime("%H:%M:%S")) ss.write('%s/%s.uvfits' % (args.outpath, args.obs), 'uvfits', inpath=args.inpath, nsample_default=8)
UV.read(args.inpath, file_type='uvfits') JD = np.unique(UV.time_array)[-2] where = np.where(UV.time_array == JD) UV.flag_array[where] = 1 auto_bl = np.where(UV.ant_1_array == UV.ant_2_array) UV.flag_array[auto_bl] = 1 return (UV) UV = UV_construct(args) shape_dict = { 'TV6': [1.74e8, 1.81e8], 'TV7': [1.81e8, 1.88e8], 'TV8': [1.88e8, 1.95e8], 'broad6': [1.72e8, 1.83e8], 'broad7': [1.79e8, 1.9e8], 'broad8': [1.86e8, 1.97e8] } sky_sub = SS(obs=args.obs, UV=UV, outpath=args.outpath, flag_choice='original') sky_sub.INS_prepare() sky_sub.MF_prepare(sig_thresh=5, shape_dict=shape_dict, N_thresh=15) sky_sub.MF.apply_match_test(apply_N_thresh=True) sky_sub.apply_flags(choice='INS', INS=sky_sub.INS) sky_sub.write('%s/%s.uvfits' % (args.outpath, args.obs), 'uvfits', UV=UV_construct(args))