def plotms(pipeline, recipe, config, plotname, msname, field, iobs, label, prefix, opts, ftype, fid, output_dir, corr_label=None): step = 'plot-{0:s}-{1:d}-{2:d}'.format(plotname, iobs, fid) colouraxis = opts.get("colouraxis", None) recipe.add("cab/casa_plotms", step, { "vis": msname, "field": field, "correlation": opts['corr'], "timerange": '', "antenna": '', "xaxis": opts['xaxis'], "xdatacolumn": config[plotname]['col'], "yaxis": opts['yaxis'], "ydatacolumn": config[plotname]['col'], "avgtime": config[plotname]['avgtime'], "avgchannel": config[plotname]['avgchan'], "coloraxis": sdm(colouraxis), "iteraxis": sdm(opts.get('iteraxis', None)), "plotfile": '{0:s}-{1:s}-{2:s}-{3:s}-{4:s}.png'.format(prefix, label, ftype, field, plotname), "expformat": 'png', "exprange": 'all', "overwrite": True, "showgui": False, "uvrange": config["uvrange"], }, input=pipeline.input, output=output_dir, label="{0:s}:: Plotting corrected {1:s}".format(step, plotname))
def ragavi_vis(pipeline, recipe, config, plotname, msname, field, iobs, label, prefix, opts, ftype, fid, output_dir, corr_label=None): step = 'plot-{0:s}-{1:d}-{2:d}'.format(plotname, iobs, fid) col = config[plotname]['col'] if col == "corrected": col = "CORRECTED_DATA" elif col == "data": col = "DATA" if corr_label: corr_label = "Corr" + corr_label else: opts['corr'] = "0:" corr_label = "" recipe.add("cab/ragavi_vis", step, { "ms": msname, "xaxis": opts['xaxis'], "yaxis": opts['yaxis'], "canvas-height": opts['canvas-height'], "canvas-width": opts['canvas-width'], "corr": opts["corr"], "mem-limit" : opts['mem-limit'], "num-cores" : opts['num-cores'], # "cbin": int(config[plotname]['avgchan']), # "colour-axis": opts.get("colour-axis", None), "data-column": col, "field": str(fid), "htmlname": "{0:s}-{1:s}-{2:s}-{3:s}-{4:s}-{5:s}".format(prefix, label, ftype, field, plotname, corr_label), "iter-axis": sdm(opts.get('iter-axis', None)), # "tbin": float(config[plotname]['avgtime']), }, input=pipeline.input, output=output_dir, label="{0:s}:: Plotting corrected {1:s}".format(step, plotname))
def test_dismissable(self): global MSDIR global INPUT global OUTPUT stimela.register_globals() rrr = stimela.Recipe("testdismissable", ms_dir=MSDIR) assert os.path.exists(MSDIR) rrr.add("cab/custom", "test1", { "bla1": "a", # only accepts a, b or c "bla4": sdm("abc"), "bla3": sdm(None) }, input=INPUT, output=OUTPUT) rrr.run() #validate and run assert rrr.jobs[0].job._cab.parameters[0].value == "a" assert rrr.jobs[0].job._cab.parameters[1].value is None assert rrr.jobs[0].job._cab.parameters[2].value is None assert rrr.jobs[0].job._cab.parameters[3].value == ["abc"]
"config": "mk_rfi_flagging_pol_mask.yaml", }, input=INPUT, output=OUTPUT, label="mask_poldata") # First solve for crosshand delays with respect to the refant # A stronly polarized source is needed for SNR purposes for icf, cf in enumerate(all_cals): recipe.add("cab/casa47_setjy", "set_model_calms_%d" % icf, { "msname": BP_CAL_MS, "field": cf, "standard": all_cals[cf]["standard"], "fluxdensity": sdm(all_cals[cf]["fluxdensity"]), "spix": sdm(all_cals[cf]["spix"]), "reffreq": sdm(all_cals[cf]["reffreq"]), "polindex": sdm(all_cals[cf]["polindex"]), "polangle": sdm(all_cals[cf]["polangle"]), }, input=INPUT, output=OUTPUT, label="set_model_calms_%d" % icf) def __correct_feed_convention(ms): from pyrap.tables import table as tbl import numpy as np with tbl("%s::FEED" % ms, readonly=False) as t: ang = t.getcol("RECEPTOR_ANGLE")