from casatasks import casalog
from casatools import agentflagger, calibrater, ms, singledishms
from .mstools import write_history
def importasap(infile=None, outputvis=None, flagbackup=None, overwrite=None, parallel=None):
if infile is None or outputvis is None:
raise RuntimeError('Error: infile and outputvis must be specified.')
if os.path.exists(outputvis) and not overwrite:
raise RuntimeError('%s exists.' % (outputvis))
if not _is_scantable(infile):
raise RuntimeError('%s is not a valid Scantable.' % (infile))
status = mysdms.importasap(infile, outputvis, parallel)
flagversions = outputvis.rstrip('/') + '.flagversions'
if os.path.exists(flagversions):
os.system('rm -rf %s' % (flagversions))
mycb.open(outputvis, compress=False, addcorr=False, addmodel=False)
mycb.initweights(wtmode='nyq')
comment='Original flags at import into CASA using importasap',
raise RuntimeError('Failure in importasap')
param_names = importasap.__code__.co_varnames[:importasap.__code__.co_argcount]
param_vals = [vars[p] for p in param_names]
write_history(myms, outputvis, 'importasap', param_names,
def _is_scantable(filename):
"""Check if given data is Scantable or not."""
if os.path.isdir(filename) and os.path.exists(filename + '/table.info') \
and os.path.exists(filename + '/table.dat'):
with open(filename + '/table.info') as f:
match_pattern = '^Type = (Scantable)? *$'
ret = re.match(match_pattern, lines) is not None