def main(): config = config_parser.parse_args()['config'] # Parse config file taskvals, config = config_parser.parse_config(config) visname = va(taskvals, 'data', 'vis', str) keepmms = va(taskvals, 'crosscal', 'keepmms', bool) calfiles, caldir = bookkeeping.bookkeeping(visname) fields = bookkeeping.get_field_ids(taskvals['fields']) msmd.open(visname) if not os.path.exists(PLOT_DIR): os.mkdir(PLOT_DIR) #Plot solutions for bandpass calibrator plotms(vis=calfiles.bpassfile, xaxis='Real', yaxis='Imag', coloraxis='corr', plotfile='{0}/bpass_real_imag.png'.format(PLOT_DIR),showgui=False) plotms(vis=calfiles.bpassfile, xaxis='freq', yaxis='Amp', coloraxis='antenna1', plotfile='{0}/bpass_freq_amp.png'.format(PLOT_DIR),showgui=False) plotms(vis=calfiles.bpassfile, xaxis='freq', yaxis='Phase', coloraxis='antenna1', plotfile='{0}/bpass_freq_phase.png'.format(PLOT_DIR),showgui=False) #Plot solutions for phase calibrator plotms(vis=calfiles.gainfile, xaxis='Real', yaxis='Imag', coloraxis='corr', plotfile='{0}/phasecal_real_imag.png'.format(PLOT_DIR),showgui=False) plotms(vis=calfiles.gainfile, xaxis='Time', yaxis='Amp', coloraxis='antenna1', plotfile='{0}/phasecal_time_amp.png'.format(PLOT_DIR),showgui=False) plotms(vis=calfiles.gainfile, xaxis='Time', yaxis='Phase', coloraxis='antenna1', plotfile='{0}/phasecal_time_phase.png'.format(PLOT_DIR),showgui=False) #Plot solutions for individual antennas of bandpass and phase calibrator in 3x2 panels plot_antennas('bpass',fields,calfiles,xaxis='freq',yaxis='amp') plot_antennas('bpass',fields,calfiles,xaxis='freq',yaxis='phase') plot_antennas('phasecal',fields,calfiles,xaxis='time',yaxis='amp') plot_antennas('phasecal',fields,calfiles,xaxis='time',yaxis='phase') extn = 'mms' if keepmms else 'ms' for field in fields: for subf in field.split(','): fname = msmd.namesforfields(int(subf))[0] inname = '%s.%s.%s' % (os.path.splitext(visname)[0], fname, extn) if not os.path.exists('{0}/{1}_freq_amp.png'.format(PLOT_DIR,fname)): plotms(vis=inname, xaxis='freq', yaxis='Amp', coloraxis='corr', plotfile='{0}/{1}_freq_amp.png'.format(PLOT_DIR,fname),showgui=False) plotms(vis=inname, xaxis='Real', yaxis='Imag', coloraxis='corr', plotfile='{0}/{1}_real_imag.png'.format(PLOT_DIR,fname),showgui=False) msmd.close() msmd.done()
def main(): config = config_parser.parse_args()['config'] # Parse config file taskvals, config = config_parser.parse_config(config) visname = va(taskvals, 'data', 'vis', str) calfiles, caldir = bookkeeping.bookkeeping(visname) fields = bookkeeping.get_field_ids(taskvals['fields']) #Plot solutions for bandpass calibrator fastplot(calfiles.bpassfile, col='CPARAM', xaxis='Real', yaxis='Imag', fname='bpass_real_imag.png') fastplot(calfiles.bpassfile, col='CPARAM', xaxis='chan', yaxis='Amp', logy=True, fname='bpass_chan_amp.png') fastplot(calfiles.bpassfile, col='CPARAM', xaxis='chan', yaxis='Phase', fname='bpass_chan_phase.png') #Plot solutions for phase calibrator fastplot(calfiles.gainfile, col='CPARAM', xaxis='Amp', yaxis='Time', fname='phasecal_time_amp.png', markersize=2, extent=1e-8) fastplot(calfiles.gainfile, col='CPARAM', xaxis='Phase', yaxis='Time', fname='phasecal_time_phase.png', markersize=2, extent=1e-8)
overwrite=True, writeflags=True) # now flag using 'rflag' option flagdata(vis=visname, mode="rflag", datacolumn="corrected", field=fields.targetfield, timecutoff=5.0, freqcutoff=5.0, timefit="poly", freqfit="poly", flagdimension="freqtime", extendflags=False, timedevscale=5.0, freqdevscale=5.0, spectralmax=500.0, extendpols=False, growaround=False, flagneartime=False, flagnearfreq=False, action="apply", flagbackup=True, overwrite=True, writeflags=True) # Now summary flagdata(vis=visname, mode="summary", datacolumn="corrected", extendflags=True, name=visname + 'summary.split', action="apply", flagbackup=True, overwrite=True, writeflags=True) if __name__ == '__main__': # Get the name of the config file args = config_parser.parse_args() # Parse config file taskvals, config = config_parser.parse_config(args['config']) visname = va(taskvals, 'data', 'vis', str) calfiles, caldir = bookkeeping.bookkeeping(visname) fields = bookkeeping.get_field_ids(taskvals['fields']) do_pre_flag_2(visname, fields)