from typing import Dict, Optional, Tuple, Union
from .mstools import write_history
from casatools import table, ms, mstransformer
from casatools import measures as me
from casatasks import casalog
from .parallel.parallel_data_helper import ParallelDataHelper
observation: Optional[str],
datacolumn: Optional[str],
phasecenter: Union[str, dict],
Changes the phase center for either short or large
offsets/angles w.r.t. the original
casalog.origin("phaseshift")
if len(phasecenter) == 0:
raise ValueError("phasecenter parameter must be specified")
pdh = ParallelDataHelper("phaseshift", locals())
except Exception as instance:
casalog.post(str(instance), "ERROR")
raise RuntimeError(str(instance))
if pdh.isMMSAndNotServer(vis) and keepmms:
if not pdh.validateInputParams():
raise RuntimeError("Unable to continue with MMS processing")
pdh.setupCluster("phaseshift")
except Exception as instance:
casalog.post(str(instance), "ERROR")
raise RuntimeError(str(instance))
config = pdh.setupParameters(
colnames = _get_col_names(vis)
datacolumn = datacolumn.upper()
if datacolumn == "CORRECTED":
if "CORRECTED_DATA" not in colnames:
"Input data column CORRECTED_DATA does not exist. Will use DATA", "WARN"
casalog.post(f"Will use datacolumn = {datacolumn}", "DEBUG")
config["datacolumn"] = datacolumn
config["tviphaseshift"] = True
config["reindex"] = False
tviphaseshift_config = {"phasecenter": phasecenter}
config["tviphaseshiftlib"] = tviphaseshift_config